|
@@ -1251,50 +1251,6 @@ static void schizo_scan_bus(struct pci_controller_info *p)
|
|
|
schizo_register_error_handlers(p);
|
|
|
}
|
|
|
|
|
|
-static void schizo_base_address_update(struct pci_dev *pdev, int resource)
|
|
|
-{
|
|
|
- struct pci_pbm_info *pbm = pdev->dev.archdata.host_controller;
|
|
|
- struct resource *res, *root;
|
|
|
- u32 reg;
|
|
|
- int where, size, is_64bit;
|
|
|
-
|
|
|
- res = &pdev->resource[resource];
|
|
|
- if (resource < 6) {
|
|
|
- where = PCI_BASE_ADDRESS_0 + (resource * 4);
|
|
|
- } else if (resource == PCI_ROM_RESOURCE) {
|
|
|
- where = pdev->rom_base_reg;
|
|
|
- } else {
|
|
|
- /* Somebody might have asked allocation of a non-standard resource */
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- is_64bit = 0;
|
|
|
- if (res->flags & IORESOURCE_IO)
|
|
|
- root = &pbm->io_space;
|
|
|
- else {
|
|
|
- root = &pbm->mem_space;
|
|
|
- if ((res->flags & PCI_BASE_ADDRESS_MEM_TYPE_MASK)
|
|
|
- == PCI_BASE_ADDRESS_MEM_TYPE_64)
|
|
|
- is_64bit = 1;
|
|
|
- }
|
|
|
-
|
|
|
- size = res->end - res->start;
|
|
|
- pci_read_config_dword(pdev, where, ®);
|
|
|
- reg = ((reg & size) |
|
|
|
- (((u32)(res->start - root->start)) & ~size));
|
|
|
- if (resource == PCI_ROM_RESOURCE) {
|
|
|
- reg |= PCI_ROM_ADDRESS_ENABLE;
|
|
|
- res->flags |= IORESOURCE_ROM_ENABLE;
|
|
|
- }
|
|
|
- pci_write_config_dword(pdev, where, reg);
|
|
|
-
|
|
|
- /* This knows that the upper 32-bits of the address
|
|
|
- * must be zero. Our PCI common layer enforces this.
|
|
|
- */
|
|
|
- if (is_64bit)
|
|
|
- pci_write_config_dword(pdev, where + 4, 0);
|
|
|
-}
|
|
|
-
|
|
|
#define SCHIZO_STRBUF_CONTROL (0x02800UL)
|
|
|
#define SCHIZO_STRBUF_FLUSH (0x02808UL)
|
|
|
#define SCHIZO_STRBUF_FSYNC (0x02810UL)
|
|
@@ -1661,7 +1617,6 @@ static void __schizo_init(struct device_node *dp, char *model_name, int chip_typ
|
|
|
|
|
|
p->index = pci_num_controllers++;
|
|
|
p->scan_bus = schizo_scan_bus;
|
|
|
- p->base_address_update = schizo_base_address_update;
|
|
|
p->pci_ops = &schizo_ops;
|
|
|
|
|
|
/* Like PSYCHO we have a 2GB aligned area for memory space. */
|