Re: alpha iommu fixes

From: Tom Vier (tmv5@home.com)
Date: Sat May 19 2001 - 15:58:54 EST


On Sat, May 19, 2001 at 02:48:15PM +0400, Ivan Kokshaysky wrote:
> This is incorrect. If you want directly mapped PCI window then you don't
> need the iommu_arena for it. If you want scatter-gather mapping, you
> should write address of the SG page table into the T3_BASE register.

i've tried both direct mapped and sg, but it still get pci_map_sg() failures
in sym53c8xx. the sg version, below, won't boot (scsi commands all timeout).
while the added direct map version does boot, it suffers the same problem as
the stock code.

third direct map:
        hose->sg_pci = NULL;
        hose->sg_isa = iommu_arena_new(hose, 0x00800000, 0x00800000, 32768);
        __direct_map_base = 0x40000000;
        __direct_map_size = 0x88000000;

        *(vip)CIA_IOC_PCI_W3_BASE = 0xc0000000 | 1;
        *(vip)CIA_IOC_PCI_W3_MASK = (0x08000000 - 1) & 0xfff00000;
        *(vip)CIA_IOC_PCI_T3_BASE = 0x80000000 >> 2;

sg (doesn't work):

        hose->sg_isa = iommu_arena_new(hose, 0x00800000, 0x00800000, 32768);
        hose->sg_pci = iommu_arena_new(hose, 0xc0000000, 0x08000000, 32768);
        __direct_map_base = 0x40000000;
        __direct_map_size = 0x80000000;

        *(vip)CIA_IOC_PCI_W3_BASE = hose->sg_pci->dma_base | 3;
        *(vip)CIA_IOC_PCI_W3_MASK = (hose->sg_pci->size - 1) & 0xfff00000;
        *(vip)CIA_IOC_PCI_T3_BASE = virt_to_phys(hose->sg_pci->ptes) >> 2;

-- 
Tom Vier <tmv5@home.com>
DSA Key id 0x27371A2C
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed May 23 2001 - 21:00:34 EST