mt_PCI
if( ai->mapped_memory[mt_PCI].area > 0 )
delete_area( ai->mapped_memory[mt_PCI].area );
if( ai->si->memory[mt_PCI].area > 0 ) {
ai->mapped_memory[mt_PCI].area = clone_area( "Radeon PCI GART area",
(void **)&ai->mapped_memory[mt_PCI].data, B_ANY_ADDRESS,
B_READ_AREA | B_WRITE_AREA, ai->si->memory[mt_PCI].area );
if( ai->mapped_memory[mt_PCI].area < 0 ) {
result = ai->mapped_memory[mt_PCI].area;
if( ai->mapped_memory[mt_PCI].area > 0 )
delete_area( ai->mapped_memory[mt_PCI].area );
memory_type = mt_PCI;
FREE_MEM( mt_PCI, di->si->cp.feedback.mem_handle );
(memory_type == mt_PCI ? di->pci_gart.buffer.ptr : di->agp_gart.buffer.ptr)) \
if( di->memmgr[mt_PCI] )
mem_freetag( di->memmgr[mt_PCI], dev );
si->memory[mt_PCI].area = di->pci_gart.buffer.area;
si->memory[mt_PCI].size = di->pci_gart.buffer.size;
si->nonlocal_type = mt_PCI;
di->memmgr[mt_PCI] = mem_init("radeon PCI GART memory", 0, di->pci_gart.buffer.size, 4096,
if (di->memmgr[mt_PCI] == NULL) {
mem_destroy( di->memmgr[mt_PCI] );
if( di->memmgr[mt_PCI] )
mem_destroy( di->memmgr[mt_PCI] );
si->memory[mt_PCI].virtual_addr_start = ((((tom >> 16) + 1) << 16) + 4095) & ~4095;
si->memory[mt_PCI].virtual_size = ATI_MAX_PCIGART_PAGES * ATI_PCIGART_PAGE_SIZE;
(si->memory[mt_PCI].virtual_addr_start +
si->memory[mt_PCI].virtual_size + 0x3fffff) & ~0x3fffff;
si->memory[mt_PCI].virtual_size, si->memory[mt_PCI].virtual_addr_start );
OUTREG( regs, RADEON_AIC_LO_ADDR, si->memory[mt_PCI].virtual_addr_start );
OUTREG( regs, RADEON_AIC_HI_ADDR, si->memory[mt_PCI].virtual_addr_start +
si->memory[mt_PCI].virtual_size/*di->pci_gart.buffer.size*/ - 1 );
si->memory[mt_PCI].virtual_addr_start = (getTopOfRam() + 4095) & ~4095;
si->memory[mt_PCI].virtual_size = ATI_MAX_PCIGART_PAGES * ATI_PCIGART_PAGE_SIZE;
(si->memory[mt_PCI].virtual_addr_start + si->memory[mt_PCI].virtual_size
si->memory[mt_PCI].virtual_size = ATI_MAX_PCIGART_PAGES * ATI_PCIGART_PAGE_SIZE;
si->memory[mt_PCI].virtual_addr_start = 0 - si->memory[mt_PCI].virtual_size;
si->memory[mt_PCI].virtual_addr_start -