FreeBSD/sys/dev/drm2/radeon/radeon_gart.c
/**
 * radeon_gart_table_ram_free - free system ram for gart page table
 *
 * @rdev: radeon_device pointer
 *
 * Free system memory for GART page table
 * (r1xx-r3xx, non-pcie r4xx, rs400).  These asics require the
 * gart table to be in system memory.
 */
free system ram for gart page table
@rdev: radeon_device pointer

Free system memory for GART page table
(r1xx-r3xx, non-pcie r4xx, rs400).  These asics require the
gart table to be in system memory.
free system ram for gart page table @rdev : radeon_device pointer Free system memory for GART page table ( r1xx - r3xx non - pcie r4xx rs400 ) . These asics require the gart table to be in system memory .
void radeon_gart_table_ram_free(struct radeon_device *rdev)
{
	if (rdev->gart.ptr == NULL) {
		return;
	}
#ifdef CONFIG_X86
	if (rdev->family == CHIP_RS400 || rdev->family == CHIP_RS480 ||
	    rdev->family == CHIP_RS690 || rdev->family == CHIP_RS740) {
		pmap_change_attr((vm_offset_t)rdev->gart.ptr,
		    rdev->gart.table_size >> PAGE_SHIFT, PAT_WRITE_COMBINING);
	}
#endif
	drm_pci_free(rdev->ddev, rdev->gart.dmah);
	rdev->gart.dmah = NULL;
	rdev->gart.ptr = NULL;
	rdev->gart.table_addr = 0;
}
void radeon_gart_table_ram_free ( struct radeon_device * rdev ) { if ( rdev -> gart . ptr == NULL ) { return ; } #ifdef CONFIG_X86 if ( rdev -> family == CHIP_RS400 || rdev -> family == CHIP_RS480 || rdev -> family == CHIP_RS690 || rdev -> family == CHIP_RS740 ) { pmap_change_attr ( ( vm_offset_t ) rdev -> gart . ptr , rdev -> gart . table_size >> PAGE_SHIFT , PAT_WRITE_COMBINING ) ; } #endif drm_pci_free ( rdev -> ddev , rdev -> gart . dmah ) ; rdev -> gart . dmah = NULL ; rdev -> gart . ptr = NULL ; rdev -> gart . table_addr = 0 ; }
radeon_gart_table_ram_free - free system ram for gart page table
 @rdev: radeon_device pointer
radeon_gart_table_ram_free - free system ram for gart page table @rdev : radeon_device pointer