Call dwpcie_link_config() when initializing the RK3568 PCIe controllers.
authorkettenis <kettenis@openbsd.org>
Wed, 5 Apr 2023 10:48:12 +0000 (10:48 +0000)
committerkettenis <kettenis@openbsd.org>
Wed, 5 Apr 2023 10:48:12 +0000 (10:48 +0000)
This makes sure the PCIe link runs at the maximum possible speed.

Prompted by a diff from dlg@, who also tested this alternative diff.

ok dlg@

sys/dev/fdt/dwpcie.c

index d839406..ab4a538 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: dwpcie.c,v 1.43 2023/03/30 20:07:49 kn Exp $  */
+/*     $OpenBSD: dwpcie.c,v 1.44 2023/04/05 10:48:12 kettenis Exp $    */
 /*
  * Copyright (c) 2018 Mark Kettenis <kettenis@openbsd.org>
  *
@@ -1307,6 +1307,8 @@ dwpcie_rk3568_init(struct dwpcie_softc *sc)
        if (reset_gpiolen > 0)
                gpio_controller_set_pin(reset_gpio, 0);
 
+       dwpcie_link_config(sc);
+
        /* Enable LTSSM. */
        bus_space_write_4(sc->sc_iot, sc->sc_glue_ioh, PCIE_CLIENT_GENERAL_CON,
            PCIE_CLIENT_LINK_REQ_RST_GRT | PCIE_CLIENT_APP_LTSSM_ENABLE);