sba_dev          1093 drivers/parisc/sba_iommu.c sba_get_pat_resources(struct sba_device *sba_dev)
sba_dev          1514 drivers/parisc/sba_iommu.c static void __iomem *ioc_remap(struct sba_device *sba_dev, unsigned int offset)
sba_dev          1516 drivers/parisc/sba_iommu.c 	return ioremap_nocache(sba_dev->dev->hpa.start + offset, SBA_FUNC_SIZE);
sba_dev          1519 drivers/parisc/sba_iommu.c static void sba_hw_init(struct sba_device *sba_dev)
sba_dev          1569 drivers/parisc/sba_iommu.c 	if (!IS_PLUTO(sba_dev->dev)) {
sba_dev          1570 drivers/parisc/sba_iommu.c 		ioc_ctl = READ_REG(sba_dev->sba_hpa+IOC_CTRL);
sba_dev          1572 drivers/parisc/sba_iommu.c 			__func__, sba_dev->sba_hpa, ioc_ctl);
sba_dev          1578 drivers/parisc/sba_iommu.c 		WRITE_REG(ioc_ctl, sba_dev->sba_hpa+IOC_CTRL);
sba_dev          1581 drivers/parisc/sba_iommu.c 		ioc_ctl = READ_REG64(sba_dev->sba_hpa+IOC_CTRL);
sba_dev          1586 drivers/parisc/sba_iommu.c 	if (IS_ASTRO(sba_dev->dev)) {
sba_dev          1588 drivers/parisc/sba_iommu.c 		sba_dev->ioc[0].ioc_hpa = ioc_remap(sba_dev, ASTRO_IOC_OFFSET);
sba_dev          1591 drivers/parisc/sba_iommu.c 		sba_dev->chip_resv.name = "Astro Intr Ack";
sba_dev          1592 drivers/parisc/sba_iommu.c 		sba_dev->chip_resv.start = PCI_F_EXTEND | 0xfef00000UL;
sba_dev          1593 drivers/parisc/sba_iommu.c 		sba_dev->chip_resv.end   = PCI_F_EXTEND | (0xff000000UL - 1) ;
sba_dev          1594 drivers/parisc/sba_iommu.c 		err = request_resource(&iomem_resource, &(sba_dev->chip_resv));
sba_dev          1597 drivers/parisc/sba_iommu.c 	} else if (IS_PLUTO(sba_dev->dev)) {
sba_dev          1600 drivers/parisc/sba_iommu.c 		sba_dev->ioc[0].ioc_hpa = ioc_remap(sba_dev, PLUTO_IOC_OFFSET);
sba_dev          1603 drivers/parisc/sba_iommu.c 		sba_dev->chip_resv.name = "Pluto Intr/PIOP/VGA";
sba_dev          1604 drivers/parisc/sba_iommu.c 		sba_dev->chip_resv.start = PCI_F_EXTEND | 0xfee00000UL;
sba_dev          1605 drivers/parisc/sba_iommu.c 		sba_dev->chip_resv.end   = PCI_F_EXTEND | (0xff200000UL - 1);
sba_dev          1606 drivers/parisc/sba_iommu.c 		err = request_resource(&iomem_resource, &(sba_dev->chip_resv));
sba_dev          1609 drivers/parisc/sba_iommu.c 		sba_dev->iommu_resv.name = "IOVA Space";
sba_dev          1610 drivers/parisc/sba_iommu.c 		sba_dev->iommu_resv.start = 0x40000000UL;
sba_dev          1611 drivers/parisc/sba_iommu.c 		sba_dev->iommu_resv.end   = 0x50000000UL - 1;
sba_dev          1612 drivers/parisc/sba_iommu.c 		err = request_resource(&iomem_resource, &(sba_dev->iommu_resv));
sba_dev          1616 drivers/parisc/sba_iommu.c 		sba_dev->ioc[0].ioc_hpa = ioc_remap(sba_dev, IKE_IOC_OFFSET(0));
sba_dev          1617 drivers/parisc/sba_iommu.c 		sba_dev->ioc[1].ioc_hpa = ioc_remap(sba_dev, IKE_IOC_OFFSET(1));
sba_dev          1624 drivers/parisc/sba_iommu.c 	sba_dev->num_ioc = num_ioc;
sba_dev          1626 drivers/parisc/sba_iommu.c 		void __iomem *ioc_hpa = sba_dev->ioc[i].ioc_hpa;
sba_dev          1637 drivers/parisc/sba_iommu.c 			if (IS_PLUTO(sba_dev->dev)) {
sba_dev          1654 drivers/parisc/sba_iommu.c 		READ_REG(sba_dev->ioc[i].ioc_hpa + ROPE7_CTL);
sba_dev          1658 drivers/parisc/sba_iommu.c 				READ_REG(sba_dev->ioc[i].ioc_hpa + 0x40),
sba_dev          1659 drivers/parisc/sba_iommu.c 				READ_REG(sba_dev->ioc[i].ioc_hpa + 0x50)
sba_dev          1662 drivers/parisc/sba_iommu.c 				READ_REG(sba_dev->ioc[i].ioc_hpa + 0x108),
sba_dev          1663 drivers/parisc/sba_iommu.c 				READ_REG(sba_dev->ioc[i].ioc_hpa + 0x400)
sba_dev          1666 drivers/parisc/sba_iommu.c 		if (IS_PLUTO(sba_dev->dev)) {
sba_dev          1667 drivers/parisc/sba_iommu.c 			sba_ioc_init_pluto(sba_dev->dev, &(sba_dev->ioc[i]), i);
sba_dev          1669 drivers/parisc/sba_iommu.c 			sba_ioc_init(sba_dev->dev, &(sba_dev->ioc[i]), i);
sba_dev          1675 drivers/parisc/sba_iommu.c sba_common_init(struct sba_device *sba_dev)
sba_dev          1682 drivers/parisc/sba_iommu.c 	sba_dev->next = sba_list;
sba_dev          1683 drivers/parisc/sba_iommu.c 	sba_list = sba_dev;
sba_dev          1685 drivers/parisc/sba_iommu.c 	for(i=0; i< sba_dev->num_ioc; i++) {
sba_dev          1694 drivers/parisc/sba_iommu.c 		res_size = sba_dev->ioc[i].pdir_size/sizeof(u64); /* entries */
sba_dev          1705 drivers/parisc/sba_iommu.c 		sba_dev->ioc[i].res_size = res_size;
sba_dev          1706 drivers/parisc/sba_iommu.c 		sba_dev->ioc[i].res_map = (char *) __get_free_pages(GFP_KERNEL, get_order(res_size));
sba_dev          1709 drivers/parisc/sba_iommu.c 		iterate_pages( sba_dev->ioc[i].res_map, res_size,
sba_dev          1713 drivers/parisc/sba_iommu.c 		if (NULL == sba_dev->ioc[i].res_map)
sba_dev          1719 drivers/parisc/sba_iommu.c 		memset(sba_dev->ioc[i].res_map, 0, res_size);
sba_dev          1721 drivers/parisc/sba_iommu.c 		sba_dev->ioc[i].res_hint = (unsigned long *)
sba_dev          1722 drivers/parisc/sba_iommu.c 				&(sba_dev->ioc[i].res_map[L1_CACHE_BYTES]);
sba_dev          1726 drivers/parisc/sba_iommu.c 		sba_dev->ioc[i].res_map[0] = 0x80;
sba_dev          1727 drivers/parisc/sba_iommu.c 		sba_dev->ioc[i].pdir_base[0] = 0xeeffc0addbba0080ULL;
sba_dev          1736 drivers/parisc/sba_iommu.c 			long *p_start = (long *) &(sba_dev->ioc[i].res_map[idx_start]);
sba_dev          1737 drivers/parisc/sba_iommu.c 			long *p_end   = (long *) &(sba_dev->ioc[i].res_map[idx_end]);
sba_dev          1746 drivers/parisc/sba_iommu.c 		iterate_pages( sba_dev->ioc[i].res_map, res_size,
sba_dev          1748 drivers/parisc/sba_iommu.c 		iterate_pages( sba_dev->ioc[i].pdir_base, sba_dev->ioc[i].pdir_size,
sba_dev          1753 drivers/parisc/sba_iommu.c 			__func__, i, res_size, sba_dev->ioc[i].res_map);
sba_dev          1756 drivers/parisc/sba_iommu.c 	spin_lock_init(&sba_dev->sba_lock);
sba_dev          1776 drivers/parisc/sba_iommu.c 	struct sba_device *sba_dev = sba_list;
sba_dev          1777 drivers/parisc/sba_iommu.c 	struct ioc *ioc = &sba_dev->ioc[0];	/* FIXME: Multi-IOC support! */
sba_dev          1785 drivers/parisc/sba_iommu.c 		   sba_dev->name,
sba_dev          1786 drivers/parisc/sba_iommu.c 		   (sba_dev->hw_rev & 0x7) + 1,
sba_dev          1787 drivers/parisc/sba_iommu.c 		   (sba_dev->hw_rev & 0x18) >> 3);
sba_dev          1796 drivers/parisc/sba_iommu.c 		   READ_REG32(sba_dev->sba_hpa + LMMIO_DIST_BASE),
sba_dev          1797 drivers/parisc/sba_iommu.c 		   READ_REG32(sba_dev->sba_hpa + LMMIO_DIST_MASK),
sba_dev          1798 drivers/parisc/sba_iommu.c 		   READ_REG32(sba_dev->sba_hpa + LMMIO_DIST_ROUTE));
sba_dev          1803 drivers/parisc/sba_iommu.c 			   READ_REG32(sba_dev->sba_hpa + LMMIO_DIRECT0_BASE  + i*0x18),
sba_dev          1804 drivers/parisc/sba_iommu.c 			   READ_REG32(sba_dev->sba_hpa + LMMIO_DIRECT0_MASK  + i*0x18),
sba_dev          1805 drivers/parisc/sba_iommu.c 			   READ_REG32(sba_dev->sba_hpa + LMMIO_DIRECT0_ROUTE + i*0x18));
sba_dev          1847 drivers/parisc/sba_iommu.c 	struct sba_device *sba_dev = sba_list;
sba_dev          1848 drivers/parisc/sba_iommu.c 	struct ioc *ioc = &sba_dev->ioc[0];	/* FIXME: Multi-IOC support! */
sba_dev          1882 drivers/parisc/sba_iommu.c 	struct sba_device *sba_dev;
sba_dev          1933 drivers/parisc/sba_iommu.c 	sba_dev = kzalloc(sizeof(struct sba_device), GFP_KERNEL);
sba_dev          1934 drivers/parisc/sba_iommu.c 	if (!sba_dev) {
sba_dev          1939 drivers/parisc/sba_iommu.c 	parisc_set_drvdata(dev, sba_dev);
sba_dev          1942 drivers/parisc/sba_iommu.c 		spin_lock_init(&(sba_dev->ioc[i].res_lock));
sba_dev          1944 drivers/parisc/sba_iommu.c 	sba_dev->dev = dev;
sba_dev          1945 drivers/parisc/sba_iommu.c 	sba_dev->hw_rev = func_class;
sba_dev          1946 drivers/parisc/sba_iommu.c 	sba_dev->name = dev->name;
sba_dev          1947 drivers/parisc/sba_iommu.c 	sba_dev->sba_hpa = sba_addr;
sba_dev          1949 drivers/parisc/sba_iommu.c 	sba_get_pat_resources(sba_dev);
sba_dev          1950 drivers/parisc/sba_iommu.c 	sba_hw_init(sba_dev);
sba_dev          1951 drivers/parisc/sba_iommu.c 	sba_common_init(sba_dev);
sba_dev          1993 drivers/parisc/sba_iommu.c 	struct parisc_device *sba_dev = parisc_parent(pci_hba);
sba_dev          1994 drivers/parisc/sba_iommu.c 	struct sba_device *sba = dev_get_drvdata(&sba_dev->dev);
sba_dev          1995 drivers/parisc/sba_iommu.c 	char t = sba_dev->id.hw_type;
sba_dev          2014 drivers/parisc/sba_iommu.c 	struct parisc_device *sba_dev = parisc_parent(pci_hba);
sba_dev          2015 drivers/parisc/sba_iommu.c 	struct sba_device *sba = dev_get_drvdata(&sba_dev->dev);
sba_dev          2016 drivers/parisc/sba_iommu.c 	char t = sba_dev->id.hw_type;
sba_dev          2057 drivers/parisc/sba_iommu.c 	struct parisc_device *sba_dev = parisc_parent(pci_hba);
sba_dev          2058 drivers/parisc/sba_iommu.c 	struct sba_device *sba = dev_get_drvdata(&sba_dev->dev);
sba_dev          2059 drivers/parisc/sba_iommu.c 	char t = sba_dev->id.hw_type;