Using the generic host PCIe driver
Mason
slash.tmp at free.fr
Mon Feb 27 09:02:36 PST 2017
On 27/02/2017 17:44, Bjorn Helgaas wrote:
> On Mon, Feb 27, 2017 at 05:14:15PM +0100, Mason wrote:
>
>> Bug #2
>>
>> Bus 0 cannot be enumerated, because it reports garbage data for
>> devices and functions other than 0, i.e. only 0/0/0 works.
>>
>> How do I work around that issue?
>
> There are several drivers that provide their own "ECAM-like" config
> accessors. Look at "struct pci_ecam_ops" structures, e.g.,
> hisi_pcie_ops, pci_thunder_ecam_ops, xgene_v1_pcie_ecam_ops, etc.
If I understand correctly, I do need to write my own driver then,
if I need specific quirks to work around some issues?
I'm slightly confused because you originally said "The native drivers
in drivers/pci/host are a huge maintenance hassle for no real benefit."
But I do need to write one, correct?
> You can also work around Bug #1 in a custom accessor instead of a
> quirk.
By checking for the device ID and vendor ID, and returning the
expected class code, instead of the contents of the reg?
Do you consider this a better solution?
Regards.
More information about the linux-arm-kernel
mailing list