Lines Matching refs:hba

111 static inline struct lba_device *LBA_DEV(struct pci_hba_data *hba)  in LBA_DEV()  argument
113 return container_of(hba, struct lba_device, hba); in LBA_DEV()
191 u8 first_bus = d->hba.hba_bus->busn_res.start; in lba_device_present()
192 u8 last_sub_bus = d->hba.hba_bus->busn_res.end; in lba_device_present()
207 error_config = READ_REG32(d->hba.base_addr + LBA_ERROR_CONFIG); \
210 status_control = READ_REG32(d->hba.base_addr + LBA_STAT_CTL); \
216 arb_mask = READ_REG32(d->hba.base_addr + LBA_ARB_MASK); \
222 WRITE_REG32(0x1, d->hba.base_addr + LBA_ARB_MASK); \
228 WRITE_REG32(error_config | LBA_SMART_MODE, d->hba.base_addr + LBA_ERROR_CONFIG); \
237 WRITE_REG32(tok | PCI_VENDOR_ID, (d)->hba.base_addr + LBA_PCI_CFG_ADDR);\
242 lba_t32 = READ_REG32((d)->hba.base_addr + LBA_PCI_CFG_ADDR); \
247 WRITE_REG32(~0, (d)->hba.base_addr + LBA_PCI_CFG_DATA); \
252 lba_t32 = READ_REG32((d)->hba.base_addr + LBA_PCI_CFG_ADDR); \
307 WRITE_REG32(((addr) & ~3), (d)->hba.base_addr + LBA_PCI_CFG_ADDR);
310 WRITE_REG32(((addr) & ~3), (d)->hba.base_addr + LBA_PCI_CFG_ADDR); \
315 lba_t32 = READ_REG32((d)->hba.base_addr + LBA_PCI_CFG_ADDR); \
347 LBA_CFG_MASTER_ABORT_CHECK(d, d->hba.base_addr, tok, error); in lba_rd_cfg()
349 void __iomem *data_reg = d->hba.base_addr + LBA_PCI_CFG_DATA; in lba_rd_cfg()
358 LBA_CFG_RESTORE(d, d->hba.base_addr); in lba_rd_cfg()
368 void __iomem *data_reg = d->hba.base_addr + LBA_PCI_CFG_DATA; in elroy_cfg_read()
411 void __iomem *data_reg = d->hba.base_addr + LBA_PCI_CFG_DATA; in lba_wr_cfg()
420 LBA_CFG_MASTER_ABORT_CHECK(d, d->hba.base_addr, tok, error); in lba_wr_cfg()
421 LBA_CFG_RESTORE(d, d->hba.base_addr); in lba_wr_cfg()
456 case 1: WRITE_REG8 (data, d->hba.base_addr + LBA_PCI_CFG_DATA + (pos & 3)); in elroy_cfg_write()
458 case 2: WRITE_REG16(data, d->hba.base_addr + LBA_PCI_CFG_DATA + (pos & 2)); in elroy_cfg_write()
460 case 4: WRITE_REG32(data, d->hba.base_addr + LBA_PCI_CFG_DATA); in elroy_cfg_write()
464 lba_t32 = READ_REG32(d->hba.base_addr + LBA_PCI_CFG_ADDR); in elroy_cfg_write()
485 void __iomem *data_reg = d->hba.base_addr + LBA_PCI_CFG_DATA; in mercury_cfg_read()
515 void __iomem *data_reg = d->hba.base_addr + LBA_PCI_CFG_DATA; in mercury_cfg_write()
538 lba_t32 = READ_U32(d->hba.base_addr + LBA_PCI_CFG_ADDR); in mercury_cfg_write()
739 ldev->hba.io_space.name, in lba_fixup_bus()
740 ldev->hba.io_space.start, ldev->hba.io_space.end, in lba_fixup_bus()
741 ldev->hba.io_space.flags); in lba_fixup_bus()
743 ldev->hba.lmmio_space.name, in lba_fixup_bus()
744 ldev->hba.lmmio_space.start, ldev->hba.lmmio_space.end, in lba_fixup_bus()
745 ldev->hba.lmmio_space.flags); in lba_fixup_bus()
747 err = request_resource(&ioport_resource, &(ldev->hba.io_space)); in lba_fixup_bus()
753 if (ldev->hba.elmmio_space.flags) { in lba_fixup_bus()
755 &(ldev->hba.elmmio_space)); in lba_fixup_bus()
760 (long)ldev->hba.elmmio_space.start, in lba_fixup_bus()
761 (long)ldev->hba.elmmio_space.end); in lba_fixup_bus()
768 if (ldev->hba.lmmio_space.flags) { in lba_fixup_bus()
769 err = request_resource(&iomem_resource, &(ldev->hba.lmmio_space)); in lba_fixup_bus()
773 (long)ldev->hba.lmmio_space.start, in lba_fixup_bus()
774 (long)ldev->hba.lmmio_space.end); in lba_fixup_bus()
780 if (ldev->hba.gmmio_space.flags) { in lba_fixup_bus()
781 err = request_resource(&iomem_resource, &(ldev->hba.gmmio_space)); in lba_fixup_bus()
785 (long)ldev->hba.gmmio_space.start, in lba_fixup_bus()
786 (long)ldev->hba.gmmio_space.end); in lba_fixup_bus()
1073 lba_dev->hba.bus_num.start = p->start; in lba_pat_resources()
1074 lba_dev->hba.bus_num.end = p->end; in lba_pat_resources()
1075 lba_dev->hba.bus_num.flags = IORESOURCE_BUS; in lba_pat_resources()
1080 if (!lba_dev->hba.lmmio_space.flags) { in lba_pat_resources()
1083 lba_len = ~READ_REG32(lba_dev->hba.base_addr in lba_pat_resources()
1089 sprintf(lba_dev->hba.lmmio_name, in lba_pat_resources()
1091 (int)lba_dev->hba.bus_num.start); in lba_pat_resources()
1092 lba_dev->hba.lmmio_space_offset = p->start - in lba_pat_resources()
1094 r = &lba_dev->hba.lmmio_space; in lba_pat_resources()
1095 r->name = lba_dev->hba.lmmio_name; in lba_pat_resources()
1096 } else if (!lba_dev->hba.elmmio_space.flags) { in lba_pat_resources()
1097 sprintf(lba_dev->hba.elmmio_name, in lba_pat_resources()
1099 (int)lba_dev->hba.bus_num.start); in lba_pat_resources()
1100 r = &lba_dev->hba.elmmio_space; in lba_pat_resources()
1101 r->name = lba_dev->hba.elmmio_name; in lba_pat_resources()
1116 sprintf(lba_dev->hba.gmmio_name, "PCI%02x GMMIO", in lba_pat_resources()
1117 (int)lba_dev->hba.bus_num.start); in lba_pat_resources()
1118 r = &lba_dev->hba.gmmio_space; in lba_pat_resources()
1119 r->name = lba_dev->hba.gmmio_name; in lba_pat_resources()
1139 sprintf(lba_dev->hba.io_name, "PCI%02x Ports", in lba_pat_resources()
1140 (int)lba_dev->hba.bus_num.start); in lba_pat_resources()
1141 r = &lba_dev->hba.io_space; in lba_pat_resources()
1142 r->name = lba_dev->hba.io_name; in lba_pat_resources()
1143 r->start = HBA_PORT_BASE(lba_dev->hba.hba_num); in lba_pat_resources()
1177 lba_dev->hba.lmmio_space_offset = PCI_F_EXTEND; in lba_legacy_resources()
1186 lba_num = READ_REG32(lba_dev->hba.base_addr + LBA_FW_SCRATCH); in lba_legacy_resources()
1187 r = &(lba_dev->hba.bus_num); in lba_legacy_resources()
1196 r = &(lba_dev->hba.lmmio_space); in lba_legacy_resources()
1197 sprintf(lba_dev->hba.lmmio_name, "PCI%02x LMMIO", in lba_legacy_resources()
1198 (int)lba_dev->hba.bus_num.start); in lba_legacy_resources()
1199 r->name = lba_dev->hba.lmmio_name; in lba_legacy_resources()
1268 r->start = READ_REG32(lba_dev->hba.base_addr + LBA_LMMIO_BASE); in lba_legacy_resources()
1275 r->start = PCI_HOST_ADDR(&lba_dev->hba, r->start); in lba_legacy_resources()
1276 rsize = ~ READ_REG32(lba_dev->hba.base_addr + LBA_LMMIO_MASK); in lba_legacy_resources()
1305 r = &(lba_dev->hba.elmmio_space); in lba_legacy_resources()
1306 sprintf(lba_dev->hba.elmmio_name, "PCI%02x ELMMIO", in lba_legacy_resources()
1307 (int)lba_dev->hba.bus_num.start); in lba_legacy_resources()
1308 r->name = lba_dev->hba.elmmio_name; in lba_legacy_resources()
1314 r->start = READ_REG32(lba_dev->hba.base_addr + LBA_ELMMIO_BASE); in lba_legacy_resources()
1321 r->start = PCI_HOST_ADDR(&lba_dev->hba, r->start); in lba_legacy_resources()
1322 rsize = READ_REG32(lba_dev->hba.base_addr + LBA_ELMMIO_MASK); in lba_legacy_resources()
1327 r = &(lba_dev->hba.io_space); in lba_legacy_resources()
1328 sprintf(lba_dev->hba.io_name, "PCI%02x Ports", in lba_legacy_resources()
1329 (int)lba_dev->hba.bus_num.start); in lba_legacy_resources()
1330 r->name = lba_dev->hba.io_name; in lba_legacy_resources()
1332 r->start = READ_REG32(lba_dev->hba.base_addr + LBA_IOS_BASE) & ~1L; in lba_legacy_resources()
1333 …r->end = r->start + (READ_REG32(lba_dev->hba.base_addr + LBA_IOS_MASK) ^ (HBA_PORT_SPACE_SIZE - … in lba_legacy_resources()
1336 lba_num = HBA_PORT_BASE(lba_dev->hba.hba_num); in lba_legacy_resources()
1362 d->hba.base_addr, in lba_hw_init()
1363 READ_REG64(d->hba.base_addr + LBA_STAT_CTL), in lba_hw_init()
1364 READ_REG64(d->hba.base_addr + LBA_ERROR_CONFIG), in lba_hw_init()
1365 READ_REG64(d->hba.base_addr + LBA_ERROR_STATUS), in lba_hw_init()
1366 READ_REG64(d->hba.base_addr + LBA_DMA_CTL) ); in lba_hw_init()
1368 READ_REG64(d->hba.base_addr + LBA_ARB_MASK), in lba_hw_init()
1369 READ_REG64(d->hba.base_addr + LBA_ARB_PRI), in lba_hw_init()
1370 READ_REG64(d->hba.base_addr + LBA_ARB_MODE), in lba_hw_init()
1371 READ_REG64(d->hba.base_addr + LBA_ARB_MTLT) ); in lba_hw_init()
1373 READ_REG64(d->hba.base_addr + LBA_HINT_CFG)); in lba_hw_init()
1377 printk(" %Lx", READ_REG64(d->hba.base_addr + i)); in lba_hw_init()
1391 bus_reset = READ_REG32(d->hba.base_addr + LBA_STAT_CTL + 4) & 1; in lba_hw_init()
1396 stat = READ_REG32(d->hba.base_addr + LBA_ERROR_CONFIG); in lba_hw_init()
1400 WRITE_REG32(stat, d->hba.base_addr + LBA_ERROR_CONFIG); in lba_hw_init()
1418 stat = READ_REG32(d->hba.base_addr + LBA_STAT_CTL); in lba_hw_init()
1420 WRITE_REG32(stat | HF_ENABLE, d->hba.base_addr + LBA_STAT_CTL); in lba_hw_init()
1422 WRITE_REG32(stat & ~HF_ENABLE, d->hba.base_addr + LBA_STAT_CTL); in lba_hw_init()
1433 if (0 == READ_REG32(d->hba.base_addr + LBA_ARB_MASK)) { in lba_hw_init()
1444 WRITE_REG32(0x3, d->hba.base_addr + LBA_ARB_MASK); in lba_hw_init()
1558 lba_dev->hba.base_addr = addr; in lba_driver_probe()
1559 lba_dev->hba.dev = dev; in lba_driver_probe()
1561 lba_dev->hba.iommu = sba_get_iommu(dev); /* get iommu data */ in lba_driver_probe()
1566 pcibios_register_hba(&lba_dev->hba); in lba_driver_probe()
1590 if (lba_dev->hba.bus_num.start < lba_next_bus) in lba_driver_probe()
1591 lba_dev->hba.bus_num.start = lba_next_bus; in lba_driver_probe()
1603 &(lba_dev->hba.lmmio_space))) { in lba_driver_probe()
1605 (long)lba_dev->hba.lmmio_space.start, in lba_driver_probe()
1606 (long)lba_dev->hba.lmmio_space.end); in lba_driver_probe()
1607 lba_dev->hba.lmmio_space.flags = 0; in lba_driver_probe()
1610 pci_add_resource_offset(&resources, &lba_dev->hba.io_space, in lba_driver_probe()
1611 HBA_PORT_BASE(lba_dev->hba.hba_num)); in lba_driver_probe()
1612 if (lba_dev->hba.elmmio_space.flags) in lba_driver_probe()
1613 pci_add_resource_offset(&resources, &lba_dev->hba.elmmio_space, in lba_driver_probe()
1614 lba_dev->hba.lmmio_space_offset); in lba_driver_probe()
1615 if (lba_dev->hba.lmmio_space.flags) in lba_driver_probe()
1616 pci_add_resource_offset(&resources, &lba_dev->hba.lmmio_space, in lba_driver_probe()
1617 lba_dev->hba.lmmio_space_offset); in lba_driver_probe()
1618 if (lba_dev->hba.gmmio_space.flags) { in lba_driver_probe()
1624 pci_add_resource(&resources, &lba_dev->hba.bus_num); in lba_driver_probe()
1627 lba_bus = lba_dev->hba.hba_bus = in lba_driver_probe()
1628 pci_create_root_bus(&dev->dev, lba_dev->hba.bus_num.start, in lba_driver_probe()
1649 lba_dump_res(&lba_dev->hba.io_space, 2); in lba_driver_probe()
1651 lba_dump_res(&lba_dev->hba.lmmio_space, 2); in lba_driver_probe()