Re: [PATCH v2 2/2] PCI: mediatek: Fixup class type for MT7622
From: Bjorn Helgaas
Date: Thu Dec 21 2017 - 22:15:55 EST
On Fri, Dec 22, 2017 at 08:56:34AM +0800, Honghui Zhang wrote:
> There's an internal control register that control the Vendor ID and
> device ID values, our designer leave the default value un-touched. I
> will set these values in that way for the next version of fix.
Then there's no problem. The mtk_pcie driver is a platform driver
that claims the host controller based on an of_device_id from a device
tree.
Apparently the bridge is also materialized in PCI config space, which
is typical for x86 host bridges, and makes the bridge appear in
"lspci". But drivers generally don't claim bridges that way.
You can just program the Vendor and Device IDs by writing the internal
control registers somewhere in the mtk_pci_probe() path.
Then you can set the class code the same way, using an internal
control register (if that's possible), or using a quirk with the
correct Mediatek Vendor ID (if there is no internal writable
register).
Bjorn