]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
PCI: imx6: Skip controller_id generation logic for i.MX7D
authorRichard Zhu <hongxing.zhu@nxp.com>
Sun, 4 May 2025 19:13:56 +0000 (15:13 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 9 May 2025 07:43:55 +0000 (09:43 +0200)
[ Upstream commit f068ffdd034c93f0c768acdc87d4d2d7023c1379 ]

The i.MX7D only has one PCIe controller, so controller_id should always be
0. The previous code is incorrect although yielding the correct result.

Fix by removing "IMX7D" from the switch case branch.

Fixes: 2d8ed461dbc9 ("PCI: imx6: Add support for i.MX8MQ")
Link: https://lore.kernel.org/r/20241126075702.4099164-5-hongxing.zhu@nxp.com
Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
Signed-off-by: Krzysztof WilczyƄski <kwilczynski@kernel.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
[Because this switch case does more than just controller_id
 logic, move the "IMX7D" case label instead of removing it entirely.]
Signed-off-by: Ryan Matthews <ryanmatthews@fastmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/pci/controller/dwc/pci-imx6.c

index 20c8f2cba45367c6fa814ad40d686868bafc15fe..cedfbd4258631dc0d6b656af7f8e8851446df67b 100644 (file)
@@ -1281,10 +1281,10 @@ static int imx6_pcie_probe(struct platform_device *pdev)
        switch (imx6_pcie->drvdata->variant) {
        case IMX8MQ:
        case IMX8MQ_EP:
-       case IMX7D:
                if (dbi_base->start == IMX8MQ_PCIE2_BASE_ADDR)
                        imx6_pcie->controller_id = 1;
-
+               fallthrough;
+       case IMX7D:
                imx6_pcie->pciephy_reset = devm_reset_control_get_exclusive(dev,
                                                                            "pciephy");
                if (IS_ERR(imx6_pcie->pciephy_reset)) {