Searched refs:sba_dev (Results 1 - 1 of 1) sorted by relevance
/linux-4.1.27/drivers/parisc/ |
H A D | sba_iommu.c | 1087 sba_get_pat_resources(struct sba_device *sba_dev) sba_get_pat_resources() argument 1508 static void __iomem *ioc_remap(struct sba_device *sba_dev, unsigned int offset) ioc_remap() argument 1510 return ioremap_nocache(sba_dev->dev->hpa.start + offset, SBA_FUNC_SIZE); ioc_remap() 1513 static void sba_hw_init(struct sba_device *sba_dev) sba_hw_init() argument 1563 if (!IS_PLUTO(sba_dev->dev)) { sba_hw_init() 1564 ioc_ctl = READ_REG(sba_dev->sba_hpa+IOC_CTRL); sba_hw_init() 1566 __func__, sba_dev->sba_hpa, ioc_ctl); sba_hw_init() 1572 WRITE_REG(ioc_ctl, sba_dev->sba_hpa+IOC_CTRL); sba_hw_init() 1575 ioc_ctl = READ_REG64(sba_dev->sba_hpa+IOC_CTRL); sba_hw_init() 1580 if (IS_ASTRO(sba_dev->dev)) { sba_hw_init() 1582 sba_dev->ioc[0].ioc_hpa = ioc_remap(sba_dev, ASTRO_IOC_OFFSET); sba_hw_init() 1585 sba_dev->chip_resv.name = "Astro Intr Ack"; sba_hw_init() 1586 sba_dev->chip_resv.start = PCI_F_EXTEND | 0xfef00000UL; sba_hw_init() 1587 sba_dev->chip_resv.end = PCI_F_EXTEND | (0xff000000UL - 1) ; sba_hw_init() 1588 err = request_resource(&iomem_resource, &(sba_dev->chip_resv)); sba_hw_init() 1591 } else if (IS_PLUTO(sba_dev->dev)) { sba_hw_init() 1594 sba_dev->ioc[0].ioc_hpa = ioc_remap(sba_dev, PLUTO_IOC_OFFSET); sba_hw_init() 1597 sba_dev->chip_resv.name = "Pluto Intr/PIOP/VGA"; sba_hw_init() 1598 sba_dev->chip_resv.start = PCI_F_EXTEND | 0xfee00000UL; sba_hw_init() 1599 sba_dev->chip_resv.end = PCI_F_EXTEND | (0xff200000UL - 1); sba_hw_init() 1600 err = request_resource(&iomem_resource, &(sba_dev->chip_resv)); sba_hw_init() 1603 sba_dev->iommu_resv.name = "IOVA Space"; sba_hw_init() 1604 sba_dev->iommu_resv.start = 0x40000000UL; sba_hw_init() 1605 sba_dev->iommu_resv.end = 0x50000000UL - 1; sba_hw_init() 1606 err = request_resource(&iomem_resource, &(sba_dev->iommu_resv)); sba_hw_init() 1610 sba_dev->ioc[0].ioc_hpa = ioc_remap(sba_dev, IKE_IOC_OFFSET(0)); sba_hw_init() 1611 sba_dev->ioc[1].ioc_hpa = ioc_remap(sba_dev, IKE_IOC_OFFSET(1)); sba_hw_init() 1618 sba_dev->num_ioc = num_ioc; sba_hw_init() 1620 void __iomem *ioc_hpa = sba_dev->ioc[i].ioc_hpa; sba_hw_init() 1631 if (IS_PLUTO(sba_dev->dev)) { sba_hw_init() 1648 READ_REG(sba_dev->ioc[i].ioc_hpa + ROPE7_CTL); sba_hw_init() 1652 READ_REG(sba_dev->ioc[i].ioc_hpa + 0x40), sba_hw_init() 1653 READ_REG(sba_dev->ioc[i].ioc_hpa + 0x50) sba_hw_init() 1656 READ_REG(sba_dev->ioc[i].ioc_hpa + 0x108), sba_hw_init() 1657 READ_REG(sba_dev->ioc[i].ioc_hpa + 0x400) sba_hw_init() 1660 if (IS_PLUTO(sba_dev->dev)) { sba_hw_init() 1661 sba_ioc_init_pluto(sba_dev->dev, &(sba_dev->ioc[i]), i); sba_hw_init() 1663 sba_ioc_init(sba_dev->dev, &(sba_dev->ioc[i]), i); sba_hw_init() 1669 sba_common_init(struct sba_device *sba_dev) sba_common_init() argument 1676 sba_dev->next = sba_list; sba_common_init() 1677 sba_list = sba_dev; sba_common_init() 1679 for(i=0; i< sba_dev->num_ioc; i++) { sba_common_init() 1688 res_size = sba_dev->ioc[i].pdir_size/sizeof(u64); /* entries */ sba_common_init() 1699 sba_dev->ioc[i].res_size = res_size; sba_common_init() 1700 sba_dev->ioc[i].res_map = (char *) __get_free_pages(GFP_KERNEL, get_order(res_size)); sba_common_init() 1703 iterate_pages( sba_dev->ioc[i].res_map, res_size, sba_common_init() 1707 if (NULL == sba_dev->ioc[i].res_map) sba_common_init() 1713 memset(sba_dev->ioc[i].res_map, 0, res_size); sba_common_init() 1715 sba_dev->ioc[i].res_hint = (unsigned long *) sba_common_init() 1716 &(sba_dev->ioc[i].res_map[L1_CACHE_BYTES]); sba_common_init() 1720 sba_dev->ioc[i].res_map[0] = 0x80; sba_common_init() 1721 sba_dev->ioc[i].pdir_base[0] = 0xeeffc0addbba0080ULL; sba_common_init() 1730 long *p_start = (long *) &(sba_dev->ioc[i].res_map[idx_start]); sba_common_init() 1731 long *p_end = (long *) &(sba_dev->ioc[i].res_map[idx_end]); sba_common_init() 1740 iterate_pages( sba_dev->ioc[i].res_map, res_size, sba_common_init() 1742 iterate_pages( sba_dev->ioc[i].pdir_base, sba_dev->ioc[i].pdir_size, sba_common_init() 1747 __func__, i, res_size, sba_dev->ioc[i].res_map); sba_common_init() 1750 spin_lock_init(&sba_dev->sba_lock); sba_common_init() 1770 struct sba_device *sba_dev = sba_list; sba_proc_info() local 1771 struct ioc *ioc = &sba_dev->ioc[0]; /* FIXME: Multi-IOC support! */ sba_proc_info() 1779 sba_dev->name, sba_proc_info() 1780 (sba_dev->hw_rev & 0x7) + 1, sba_proc_info() 1781 (sba_dev->hw_rev & 0x18) >> 3); sba_proc_info() 1790 READ_REG32(sba_dev->sba_hpa + LMMIO_DIST_BASE), sba_proc_info() 1791 READ_REG32(sba_dev->sba_hpa + LMMIO_DIST_MASK), sba_proc_info() 1792 READ_REG32(sba_dev->sba_hpa + LMMIO_DIST_ROUTE)); sba_proc_info() 1797 READ_REG32(sba_dev->sba_hpa + LMMIO_DIRECT0_BASE + i*0x18), sba_proc_info() 1798 READ_REG32(sba_dev->sba_hpa + LMMIO_DIRECT0_MASK + i*0x18), sba_proc_info() 1799 READ_REG32(sba_dev->sba_hpa + LMMIO_DIRECT0_ROUTE + i*0x18)); sba_proc_info() 1855 struct sba_device *sba_dev = sba_list; sba_proc_bitmap_info() local 1856 struct ioc *ioc = &sba_dev->ioc[0]; /* FIXME: Multi-IOC support! */ sba_proc_bitmap_info() 1909 struct sba_device *sba_dev; sba_driver_callback() local 1960 sba_dev = kzalloc(sizeof(struct sba_device), GFP_KERNEL); sba_driver_callback() 1961 if (!sba_dev) { sba_driver_callback() 1966 parisc_set_drvdata(dev, sba_dev); sba_driver_callback() 1969 spin_lock_init(&(sba_dev->ioc[i].res_lock)); sba_driver_callback() 1971 sba_dev->dev = dev; sba_driver_callback() 1972 sba_dev->hw_rev = func_class; sba_driver_callback() 1973 sba_dev->name = dev->name; sba_driver_callback() 1974 sba_dev->sba_hpa = sba_addr; sba_driver_callback() 1976 sba_get_pat_resources(sba_dev); sba_driver_callback() 1977 sba_hw_init(sba_dev); sba_driver_callback() 1978 sba_common_init(sba_dev); sba_driver_callback() 2022 struct parisc_device *sba_dev = parisc_parent(pci_hba); sba_get_iommu() local 2023 struct sba_device *sba = dev_get_drvdata(&sba_dev->dev); sba_get_iommu() 2024 char t = sba_dev->id.hw_type; sba_get_iommu() 2043 struct parisc_device *sba_dev = parisc_parent(pci_hba); sba_directed_lmmio() local 2044 struct sba_device *sba = dev_get_drvdata(&sba_dev->dev); sba_directed_lmmio() 2045 char t = sba_dev->id.hw_type; sba_directed_lmmio() 2086 struct parisc_device *sba_dev = parisc_parent(pci_hba); sba_distributed_lmmio() local 2087 struct sba_device *sba = dev_get_drvdata(&sba_dev->dev); sba_distributed_lmmio() 2088 char t = sba_dev->id.hw_type; sba_distributed_lmmio()
|
Completed in 41 milliseconds