]> www.infradead.org Git - users/jedix/linux-maple.git/commit
PCI: mediatek-gen3: Move reset delay in mtk_pcie_en7581_power_up()
authorLorenzo Bianconi <lorenzo@kernel.org>
Wed, 8 Jan 2025 09:50:43 +0000 (10:50 +0100)
committerKrzysztof Wilczyński <kwilczynski@kernel.org>
Mon, 13 Jan 2025 07:07:18 +0000 (07:07 +0000)
commit90d4e466c9ea2010f33880a36317a8486ccbe082
treee936e580dbd8f630ecf87e594e9664c80f4fd1e7
parent0c9d2d2ef0d916b490a9222ed20ff4616fca876d
PCI: mediatek-gen3: Move reset delay in mtk_pcie_en7581_power_up()

Airoha EN7581 has a hw bug asserting/releasing PCIE_PE_RSTB signal
causing occasional PCIe link down issues. In order to overcome the
problem, PCIe block is reset using REG_PCI_CONTROL (0x88) and
REG_RESET_CONTROL (0x834) registers available in the clock module
running clk_bulk_prepare_enable() in mtk_pcie_en7581_power_up().

In order to make the code more readable, move the wait for the time
needed to complete the PCIe reset from en7581_pci_enable() to
mtk_pcie_en7581_power_up().

Reduce reset timeout from 250ms to the standard PCIE_T_PVPERL_MS value
(100ms) since it has no impact on the driver behavior.

Link: https://lore.kernel.org/r/20250108-pcie-en7581-fixes-v6-4-21ac939a3b9b@kernel.org
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Acked-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/clk-en7523.c
drivers/pci/controller/pcie-mediatek-gen3.c