Commit a1978b6
PCI: dwc: Use custom pci_ops for root bus DBI vs ECAM config access
When the vendor configuration space is 256MB aligned, the DesignWare PCIe
host driver enables ECAM access and sets the DBI base to the start of the
config space. This causes vendor drivers to incorrectly program iATU
regions, as they rely on the DBI address for internal accesses.
To fix this, avoid overwriting the DBI base when ECAM is enabled. Instead,
introduce a custom pci_ops that accesses the DBI region directly for the
root bus and uses ECAM for other buses.
Fixes: f6fd357 ("PCI: dwc: Prepare the driver for enabling ECAM mechanism using iATU 'CFG Shift Feature'")
Reported-by: Ron Economos <[email protected]>
Closes: https://lore.kernel.org/all/[email protected]/
Suggested-by: Manivannan Sadhasivam <[email protected]>
Signed-off-by: Krishna Chaitanya Chundru <[email protected]>
[bhelgaas: commit log]
Signed-off-by: Bjorn Helgaas <[email protected]>
Tested-by: Ron Economos <[email protected]>
Link: https://patch.msgid.link/[email protected]1 parent 3a86608 commit a1978b6
1 file changed
+24
-4
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| 26 | + | |
26 | 27 | | |
27 | 28 | | |
28 | 29 | | |
| |||
471 | 472 | | |
472 | 473 | | |
473 | 474 | | |
474 | | - | |
475 | | - | |
476 | | - | |
477 | 475 | | |
478 | 476 | | |
479 | 477 | | |
| |||
529 | 527 | | |
530 | 528 | | |
531 | 529 | | |
532 | | - | |
| 530 | + | |
533 | 531 | | |
534 | 532 | | |
535 | 533 | | |
| |||
842 | 840 | | |
843 | 841 | | |
844 | 842 | | |
| 843 | + | |
| 844 | + | |
| 845 | + | |
| 846 | + | |
| 847 | + | |
| 848 | + | |
| 849 | + | |
| 850 | + | |
| 851 | + | |
| 852 | + | |
| 853 | + | |
| 854 | + | |
| 855 | + | |
| 856 | + | |
| 857 | + | |
| 858 | + | |
845 | 859 | | |
846 | 860 | | |
847 | 861 | | |
848 | 862 | | |
849 | 863 | | |
850 | 864 | | |
| 865 | + | |
| 866 | + | |
| 867 | + | |
| 868 | + | |
| 869 | + | |
| 870 | + | |
851 | 871 | | |
852 | 872 | | |
853 | 873 | | |
| |||
0 commit comments