On Tue, Mar 06, 2018 at 08:30:44PM +0000, Mark Cave-Ayland wrote: > [This is for New World Machines: there is a follow-up patch for Old World > Machines] > > This patchset is a combination of uninorth fixes/cleanup with the final aim > of removing the remaining custom init functions and switching IRQ arrays over > to qdev GPIOs. > > The first couple of patches apply some style fixups and remove what appears to > be an obsolete set of uninorth registers according to my testing. > > Following on from this, the next few patches QOMify the PCI/AGP host bridges > and change the existing _init() functions to return the device itself. This > allows the memory regions to be setup during device init, and using a > temporary > qdev pointer property allows moving the remaining initialisation to device > realize. > > Next we fix the mixup between the PCI/AGP host bridges making sure that the > correct > PCI bus instance is instantiated for the corresponding host bridge , and > enabling > the third PCI host bridge. This allows potential handling of any accesses > although > it should be ignored for all OSs that correctly parse the DT since OpenBIOS > currently > only supports (and exposes) a single PCI host bridge. > > Once the legacy _init() functions have been removed and all devices are > instantiated via the qdev API, it is then possible to wire up the PCI IO > space to the relevant PCI bus. > > After this we implement a separate uninorth device (equivalent to uni-n in the > Mac New World DT) as suggested by the TODO comment and wire it up as part of > the > board initialisation. > > Finally once this is done we can remove the temporary pics IRQ array and > instead > wire up the macio_newworld device to the PIC directly using the existing > object > link. > > Signed-off-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk>
I've applied the patches up to 16/19 to ppc-for-2.13. > > Mark Cave-Ayland (19): > uninorth: trivial style fixups > uninorth: remove second set of uninorth token registers > uninorth: QOMify PCI and AGP host bridges > uninorth: remove stray PCIBus realize from mac_newworld.c > uninorth: move uninorth definitions into uninorth.h > uninorth: alter pci_pmac_init() and pci_pmac_u3_init() to return > uninorth device > uninorth: move PCI mmio memory region initialisation into init > function > uninorth: introduce temporary pic_irqs device property > uninorth: move PCI host bridge bus initialisation into device realize > uninorth: fix PCI and AGP bus mixup > uninorth: enable internal PCI host bridge > uninorth: remove obsolete pci_pmac_init() function > uninorth: remove obsolete pci_pmac_u3_init() function > uninorth: use object link to pass OpenPIC object to uninorth > uninorth: move PCI IO (ISA) memory region into the uninorth device > uninorth: rename UNINState to UNINHostState > uninorth: create new uninorth device > mac_newworld: remove pics IRQ array and wire up macio to OpenPIC > directly > mac_newworld: move wiring of macio IRQs to macio_newworld_realize() > > hw/misc/macio/macio.c | 37 ++-- > hw/pci-host/trace-events | 2 + > hw/pci-host/uninorth.c | 415 > ++++++++++++++++++++++++----------------- > hw/ppc/mac.h | 20 +- > hw/ppc/mac_newworld.c | 124 ++++++------ > hw/ppc/trace-events | 4 - > include/hw/misc/macio/macio.h | 1 - > include/hw/pci-host/uninorth.h | 65 +++++++ > 8 files changed, 404 insertions(+), 264 deletions(-) > create mode 100644 include/hw/pci-host/uninorth.h > -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature