PCI: mediatek: Configure FC and FTS for functions other than 0
authorRyder Lee <ryder.lee@mediatek.com>
Wed, 4 Nov 2020 20:58:33 +0000 (04:58 +0800)
committerLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Mon, 29 Mar 2021 15:01:31 +0000 (16:01 +0100)
"PCI_FUNC(port->slot << 3)" is always 0, so previously
mtk_pcie_startup_port() only configured FC credits and FTs for function
0.

Compute "func" correctly so we also configure functions other than
0. This affects MT2701 and MT7623.

Link: https://lore.kernel.org/r/c529dbfc066f4bda9b87edbdbf771f207e69b84e.1604510053.git.ryder.lee@mediatek.com
Signed-off-by: Ryder Lee <ryder.lee@mediatek.com>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Reviewed-by: Krzysztof WilczyƄski <kw@linux.com>
drivers/pci/controller/pcie-mediatek.c

index 23548b5..8af0484 100644 (file)
@@ -760,7 +760,7 @@ static struct pci_ops mtk_pcie_ops = {
 static int mtk_pcie_startup_port(struct mtk_pcie_port *port)
 {
        struct mtk_pcie *pcie = port->pcie;
-       u32 func = PCI_FUNC(port->slot << 3);
+       u32 func = PCI_FUNC(port->slot);
        u32 slot = PCI_SLOT(port->slot << 3);
        u32 val;
        int err;