[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1513822277-18329-3-git-send-email-honghui.zhang@mediatek.com>
Date: Thu, 21 Dec 2017 10:11:17 +0800
From: <honghui.zhang@...iatek.com>
To: <bhelgaas@...gle.com>, <matthias.bgg@...il.com>,
<linux-arm-kernel@...ts.infradead.org>,
<linux-mediatek@...ts.infradead.org>, <linux-pci@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <devicetree@...r.kernel.org>,
<yingjoe.chen@...iatek.com>, <eddie.huang@...iatek.com>,
<ryder.lee@...iatek.com>, <lorenzo.pieralisi@....com>
CC: <honghui.zhang@...iatek.com>, <hongkun.cao@...iatek.com>,
<youlin.pei@...iatek.com>, <yong.wu@...iatek.com>,
<yt.shen@...iatek.com>, <sean.wang@...iatek.com>,
<xinping.qian@...iatek.com>
Subject: [PATCH v2 2/2] PCI: mediatek: Fixup class type for MT7622
From: Honghui Zhang <honghui.zhang@...iatek.com>
The host bridge of MT7622 has hardware code the class code to an
arbitrary, meaningless value, fix that.
Signed-off-by: Honghui Zhang <honghui.zhang@...iatek.com>
---
drivers/pci/host/pcie-mediatek.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/drivers/pci/host/pcie-mediatek.c b/drivers/pci/host/pcie-mediatek.c
index 3248771..ae8d367 100644
--- a/drivers/pci/host/pcie-mediatek.c
+++ b/drivers/pci/host/pcie-mediatek.c
@@ -1174,3 +1174,15 @@ static struct platform_driver mtk_pcie_driver = {
},
};
builtin_platform_driver(mtk_pcie_driver);
+
+/* The host bridge of MT7622 advertises the wrong device class. */
+static void mtk_fixup_class(struct pci_dev *dev)
+{
+ dev->class = PCI_CLASS_BRIDGE_PCI << 8;
+}
+
+/*
+ * The HW default value of vendor id and device id for mt7622 are 0x0e8d,
+ * 0x3258, which are arbitrary, meaningless values.
+ */
+DECLARE_PCI_FIXUP_EARLY(0x0e8d, 0x3258, mtk_fixup_class);
--
2.6.4
Powered by blists - more mailing lists