mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-19 19:28:36 +00:00
Merge branch 'pci'
This commit is contained in:
commit
d5e78b7bf4
2 changed files with 21 additions and 0 deletions
|
@ -2,6 +2,11 @@
|
|||
Changes since U-Boot 1.1.4:
|
||||
======================================================================
|
||||
|
||||
* Fixed PCI indirect config ops to handle multiple PCI controllers
|
||||
We need to adjust the bus number we are trying to access based
|
||||
on which PCI controller its on
|
||||
Patch by Kumar Gala 12 Jan 2006
|
||||
|
||||
* Add helper function for generic flat device tree fixups for mpc83xx
|
||||
Patch by Kumar Gala 11 Jan 2006
|
||||
|
||||
|
|
|
@ -36,6 +36,10 @@ static int \
|
|||
indirect_##rw##_config_##size(struct pci_controller *hose, \
|
||||
pci_dev_t dev, int offset, type val) \
|
||||
{ \
|
||||
u32 b, d,f; \
|
||||
b = PCI_BUS(dev); d = PCI_DEV(dev); f = PCI_FUNC(dev); \
|
||||
b = b - hose->first_busno; \
|
||||
dev = PCI_BDF(b, d, f); \
|
||||
out_le32(hose->cfg_addr, dev | (offset & 0xfc) | 0x80000000); \
|
||||
sync(); \
|
||||
cfg_##rw(val, hose->cfg_data + (offset & mask), type, op); \
|
||||
|
@ -47,6 +51,10 @@ static int \
|
|||
indirect_##rw##_config_##size(struct pci_controller *hose, \
|
||||
pci_dev_t dev, int offset, type val) \
|
||||
{ \
|
||||
u32 b, d,f; \
|
||||
b = PCI_BUS(dev); d = PCI_DEV(dev); f = PCI_FUNC(dev); \
|
||||
b = b - hose->first_busno; \
|
||||
dev = PCI_BDF(b, d, f); \
|
||||
*(hose->cfg_addr) = dev | (offset & 0xfc) | 0x80000000; \
|
||||
sync(); \
|
||||
cfg_##rw(val, hose->cfg_data + (offset & mask), type, op); \
|
||||
|
@ -58,6 +66,10 @@ static int \
|
|||
indirect_##rw##_config_##size(struct pci_controller *hose, \
|
||||
pci_dev_t dev, int offset, type val) \
|
||||
{ \
|
||||
u32 b, d,f; \
|
||||
b = PCI_BUS(dev); d = PCI_DEV(dev); f = PCI_FUNC(dev); \
|
||||
b = b - hose->first_busno; \
|
||||
dev = PCI_BDF(b, d, f); \
|
||||
if (PCI_BUS(dev) > 0) \
|
||||
out_le32(hose->cfg_addr, dev | (offset & 0xfc) | 0x80000001); \
|
||||
else \
|
||||
|
@ -71,6 +83,10 @@ static int \
|
|||
indirect_##rw##_config_##size(struct pci_controller *hose, \
|
||||
pci_dev_t dev, int offset, type val) \
|
||||
{ \
|
||||
u32 b, d,f; \
|
||||
b = PCI_BUS(dev); d = PCI_DEV(dev); f = PCI_FUNC(dev); \
|
||||
b = b - hose->first_busno; \
|
||||
dev = PCI_BDF(b, d, f); \
|
||||
out_le32(hose->cfg_addr, dev | (offset & 0xfc) | 0x80000000); \
|
||||
cfg_##rw(val, hose->cfg_data + (offset & mask), type, op); \
|
||||
return 0; \
|
||||
|
|
Loading…
Reference in a new issue