On Sat, Nov 30, 2024 at 12:20:10AM +0100, Lorenzo Bianconi wrote: > Even if this is not a real issue since Airoha EN7581 SoC does not require > the mac reset line, add missing reset_control_deassert() for mac reset > line in mtk_pcie_en7581_power_up() callback. s/mac/MAC/ in English text since "mac" is an acronym, not a real word This doesn't really say why we need this patch. This adds both assert and deassert, so it doesn't really look like adding a *missing* deassert. On EN7581, is mac_reset optional or always absent? If mac_reset is always absent for EN7581, why add this patch at all? If it's optional, say so. > Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx> > Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx> > Signed-off-by: Lorenzo Bianconi <lorenzo@xxxxxxxxxx> > --- > drivers/pci/controller/pcie-mediatek-gen3.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/pci/controller/pcie-mediatek-gen3.c b/drivers/pci/controller/pcie-mediatek-gen3.c > index 64ef8ff71b0357b9bf9ad8484095b7aa60c22271..4d1c797a32c236faf79428eb8a83708e9c4f21d8 100644 > --- a/drivers/pci/controller/pcie-mediatek-gen3.c > +++ b/drivers/pci/controller/pcie-mediatek-gen3.c > @@ -942,6 +942,9 @@ static int mtk_pcie_en7581_power_up(struct mtk_gen3_pcie *pcie) > */ > mdelay(PCIE_EN7581_RESET_TIME_MS); > > + /* MAC power on and enable transaction layer clocks */ > + reset_control_deassert(pcie->mac_reset); > + > pm_runtime_enable(dev); > pm_runtime_get_sync(dev); > > @@ -976,6 +979,7 @@ static int mtk_pcie_en7581_power_up(struct mtk_gen3_pcie *pcie) > err_clk_prepare: > pm_runtime_put_sync(dev); > pm_runtime_disable(dev); > + reset_control_assert(pcie->mac_reset); > reset_control_bulk_assert(pcie->soc->phy_resets.num_resets, pcie->phy_resets); > err_phy_deassert: > phy_power_off(pcie->phy); > > -- > 2.47.0 >