Lines Matching refs:lba_dev
1021 lba_pat_resources(struct parisc_device *pa_dev, struct lba_device *lba_dev) in lba_pat_resources() argument
1076 lba_dev->hba.bus_num.start = p->start; in lba_pat_resources()
1077 lba_dev->hba.bus_num.end = p->end; in lba_pat_resources()
1078 lba_dev->hba.bus_num.flags = IORESOURCE_BUS; in lba_pat_resources()
1083 if (!lba_dev->hba.lmmio_space.flags) { in lba_pat_resources()
1086 lba_len = ~READ_REG32(lba_dev->hba.base_addr in lba_pat_resources()
1092 sprintf(lba_dev->hba.lmmio_name, in lba_pat_resources()
1094 (int)lba_dev->hba.bus_num.start); in lba_pat_resources()
1095 lba_dev->hba.lmmio_space_offset = p->start - in lba_pat_resources()
1097 r = &lba_dev->hba.lmmio_space; in lba_pat_resources()
1098 r->name = lba_dev->hba.lmmio_name; in lba_pat_resources()
1099 } else if (!lba_dev->hba.elmmio_space.flags) { in lba_pat_resources()
1100 sprintf(lba_dev->hba.elmmio_name, in lba_pat_resources()
1102 (int)lba_dev->hba.bus_num.start); in lba_pat_resources()
1103 r = &lba_dev->hba.elmmio_space; in lba_pat_resources()
1104 r->name = lba_dev->hba.elmmio_name; in lba_pat_resources()
1119 sprintf(lba_dev->hba.gmmio_name, "PCI%02x GMMIO", in lba_pat_resources()
1120 (int)lba_dev->hba.bus_num.start); in lba_pat_resources()
1121 r = &lba_dev->hba.gmmio_space; in lba_pat_resources()
1122 r->name = lba_dev->hba.gmmio_name; in lba_pat_resources()
1140 lba_dev->iop_base = ioremap_nocache(p->start, 64 * 1024 * 1024); in lba_pat_resources()
1142 sprintf(lba_dev->hba.io_name, "PCI%02x Ports", in lba_pat_resources()
1143 (int)lba_dev->hba.bus_num.start); in lba_pat_resources()
1144 r = &lba_dev->hba.io_space; in lba_pat_resources()
1145 r->name = lba_dev->hba.io_name; in lba_pat_resources()
1146 r->start = HBA_PORT_BASE(lba_dev->hba.hba_num); in lba_pat_resources()
1166 #define lba_pat_resources(pa_dev, lba_dev) argument
1175 lba_legacy_resources(struct parisc_device *pa_dev, struct lba_device *lba_dev) in lba_legacy_resources() argument
1180 lba_dev->hba.lmmio_space_offset = PCI_F_EXTEND; in lba_legacy_resources()
1189 lba_num = READ_REG32(lba_dev->hba.base_addr + LBA_FW_SCRATCH); in lba_legacy_resources()
1190 r = &(lba_dev->hba.bus_num); in lba_legacy_resources()
1199 r = &(lba_dev->hba.lmmio_space); in lba_legacy_resources()
1200 sprintf(lba_dev->hba.lmmio_name, "PCI%02x LMMIO", in lba_legacy_resources()
1201 (int)lba_dev->hba.bus_num.start); in lba_legacy_resources()
1202 r->name = lba_dev->hba.lmmio_name; in lba_legacy_resources()
1271 r->start = READ_REG32(lba_dev->hba.base_addr + LBA_LMMIO_BASE); in lba_legacy_resources()
1278 r->start = PCI_HOST_ADDR(HBA_DATA(lba_dev), r->start); in lba_legacy_resources()
1279 rsize = ~ READ_REG32(lba_dev->hba.base_addr + LBA_LMMIO_MASK); in lba_legacy_resources()
1308 r = &(lba_dev->hba.elmmio_space); in lba_legacy_resources()
1309 sprintf(lba_dev->hba.elmmio_name, "PCI%02x ELMMIO", in lba_legacy_resources()
1310 (int)lba_dev->hba.bus_num.start); in lba_legacy_resources()
1311 r->name = lba_dev->hba.elmmio_name; in lba_legacy_resources()
1317 r->start = READ_REG32(lba_dev->hba.base_addr + LBA_ELMMIO_BASE); in lba_legacy_resources()
1324 r->start = PCI_HOST_ADDR(HBA_DATA(lba_dev), r->start); in lba_legacy_resources()
1325 rsize = READ_REG32(lba_dev->hba.base_addr + LBA_ELMMIO_MASK); in lba_legacy_resources()
1330 r = &(lba_dev->hba.io_space); in lba_legacy_resources()
1331 sprintf(lba_dev->hba.io_name, "PCI%02x Ports", in lba_legacy_resources()
1332 (int)lba_dev->hba.bus_num.start); in lba_legacy_resources()
1333 r->name = lba_dev->hba.io_name; in lba_legacy_resources()
1335 r->start = READ_REG32(lba_dev->hba.base_addr + LBA_IOS_BASE) & ~1L; in lba_legacy_resources()
1336 …r->end = r->start + (READ_REG32(lba_dev->hba.base_addr + LBA_IOS_MASK) ^ (HBA_PORT_SPACE_SIZE - … in lba_legacy_resources()
1339 lba_num = HBA_PORT_BASE(lba_dev->hba.hba_num); in lba_legacy_resources()
1475 struct lba_device *lba_dev; in lba_driver_probe() local
1547 lba_dev = kzalloc(sizeof(struct lba_device), GFP_KERNEL); in lba_driver_probe()
1548 if (!lba_dev) { in lba_driver_probe()
1556 lba_dev->hw_rev = func_class; in lba_driver_probe()
1557 lba_dev->hba.base_addr = addr; in lba_driver_probe()
1558 lba_dev->hba.dev = dev; in lba_driver_probe()
1559 lba_dev->iosapic_obj = tmp_obj; /* save interrupt handle */ in lba_driver_probe()
1560 lba_dev->hba.iommu = sba_get_iommu(dev); /* get iommu data */ in lba_driver_probe()
1561 parisc_set_drvdata(dev, lba_dev); in lba_driver_probe()
1565 pcibios_register_hba(HBA_DATA(lba_dev)); in lba_driver_probe()
1566 spin_lock_init(&lba_dev->lba_lock); in lba_driver_probe()
1568 if (lba_hw_init(lba_dev)) in lba_driver_probe()
1577 lba_pat_resources(dev, lba_dev); in lba_driver_probe()
1586 lba_legacy_resources(dev, lba_dev); in lba_driver_probe()
1589 if (lba_dev->hba.bus_num.start < lba_next_bus) in lba_driver_probe()
1590 lba_dev->hba.bus_num.start = lba_next_bus; in lba_driver_probe()
1602 &(lba_dev->hba.lmmio_space))) { in lba_driver_probe()
1604 (long)lba_dev->hba.lmmio_space.start, in lba_driver_probe()
1605 (long)lba_dev->hba.lmmio_space.end); in lba_driver_probe()
1606 lba_dev->hba.lmmio_space.flags = 0; in lba_driver_probe()
1609 pci_add_resource_offset(&resources, &lba_dev->hba.io_space, in lba_driver_probe()
1610 HBA_PORT_BASE(lba_dev->hba.hba_num)); in lba_driver_probe()
1611 if (lba_dev->hba.elmmio_space.flags) in lba_driver_probe()
1612 pci_add_resource_offset(&resources, &lba_dev->hba.elmmio_space, in lba_driver_probe()
1613 lba_dev->hba.lmmio_space_offset); in lba_driver_probe()
1614 if (lba_dev->hba.lmmio_space.flags) in lba_driver_probe()
1615 pci_add_resource_offset(&resources, &lba_dev->hba.lmmio_space, in lba_driver_probe()
1616 lba_dev->hba.lmmio_space_offset); in lba_driver_probe()
1617 if (lba_dev->hba.gmmio_space.flags) { in lba_driver_probe()
1623 pci_add_resource(&resources, &lba_dev->hba.bus_num); in lba_driver_probe()
1625 dev->dev.platform_data = lba_dev; in lba_driver_probe()
1626 lba_bus = lba_dev->hba.hba_bus = in lba_driver_probe()
1627 pci_create_root_bus(&dev->dev, lba_dev->hba.bus_num.start, in lba_driver_probe()
1648 lba_dump_res(&lba_dev->hba.io_space, 2); in lba_driver_probe()
1650 lba_dump_res(&lba_dev->hba.lmmio_space, 2); in lba_driver_probe()
1660 lba_dev->flags |= LBA_FLAG_SKIP_PROBE; in lba_driver_probe()