fixup GFP_COMP for older kernels and get_page/put_page for newer
parent
30a5787d36
commit
d365f03129
|
@ -59,7 +59,8 @@ static void *drm_ati_alloc_pcigart_table(void)
|
||||||
int i;
|
int i;
|
||||||
DRM_DEBUG("%s\n", __FUNCTION__);
|
DRM_DEBUG("%s\n", __FUNCTION__);
|
||||||
|
|
||||||
address = __get_free_pages(GFP_KERNEL, ATI_PCIGART_TABLE_ORDER);
|
address = __get_free_pages(GFP_KERNEL | __GFP_COMP,
|
||||||
|
ATI_PCIGART_TABLE_ORDER);
|
||||||
if (address == 0UL) {
|
if (address == 0UL) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -67,7 +68,9 @@ static void *drm_ati_alloc_pcigart_table(void)
|
||||||
page = virt_to_page(address);
|
page = virt_to_page(address);
|
||||||
|
|
||||||
for (i = 0; i < ATI_PCIGART_TABLE_PAGES; i++, page++) {
|
for (i = 0; i < ATI_PCIGART_TABLE_PAGES; i++, page++) {
|
||||||
|
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,15)
|
||||||
get_page(page);
|
get_page(page);
|
||||||
|
#endif
|
||||||
SetPageReserved(page);
|
SetPageReserved(page);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -84,7 +87,9 @@ static void drm_ati_free_pcigart_table(void *address)
|
||||||
page = virt_to_page((unsigned long)address);
|
page = virt_to_page((unsigned long)address);
|
||||||
|
|
||||||
for (i = 0; i < ATI_PCIGART_TABLE_PAGES; i++, page++) {
|
for (i = 0; i < ATI_PCIGART_TABLE_PAGES; i++, page++) {
|
||||||
|
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,15)
|
||||||
__put_page(page);
|
__put_page(page);
|
||||||
|
#endif
|
||||||
ClearPageReserved(page);
|
ClearPageReserved(page);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -169,10 +169,14 @@ static inline void radeon_delete_i2c_busses(struct drm_device *dev)
|
||||||
#define __user
|
#define __user
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef __put_page
|
#if !defined(__put_page)
|
||||||
#define __put_page(p) atomic_dec(&(p)->count)
|
#define __put_page(p) atomic_dec(&(p)->count)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if !defined(__GFP_COMP)
|
||||||
|
#define __GFP_COMP 0
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef REMAP_PAGE_RANGE_5_ARGS
|
#ifndef REMAP_PAGE_RANGE_5_ARGS
|
||||||
#define DRM_RPR_ARG(vma)
|
#define DRM_RPR_ARG(vma)
|
||||||
#else
|
#else
|
||||||
|
|
Loading…
Reference in New Issue