diff options
| author | Dave Airlie <airlied@linux.ie> | 2004-10-23 06:59:15 +0000 | 
|---|---|---|
| committer | Dave Airlie <airlied@linux.ie> | 2004-10-23 06:59:15 +0000 | 
| commit | 182a0e5dac5e2ae3751abc2eaa0398aa0150a131 (patch) | |
| tree | ec9525a5a06709b6ed7aabd5f3cf02fe9df6376c /linux-core | |
| parent | 8d7e798d4c73650ed240a3ad194744b94043e31f (diff) | |
fix pfn vs page for older kernels (2.6.9-rc kernels many not work..)
Diffstat (limited to 'linux-core')
| -rw-r--r-- | linux-core/drm_compat.h | 12 | ||||
| -rw-r--r-- | linux-core/drm_vm.c | 2 | ||||
| -rw-r--r-- | linux-core/i810_dma.c | 2 | ||||
| -rw-r--r-- | linux-core/i830_dma.c | 2 | 
4 files changed, 15 insertions, 3 deletions
| diff --git a/linux-core/drm_compat.h b/linux-core/drm_compat.h index b7fc56ef..4733ba33 100644 --- a/linux-core/drm_compat.h +++ b/linux-core/drm_compat.h @@ -181,6 +181,18 @@ static inline void radeon_delete_i2c_busses(struct drm_device *dev)  #define VM_OFFSET(vma) ((vma)->vm_pgoff << PAGE_SHIFT) +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,9) +static inline int remap_pfn_range(struct vm_area_struct *vma, unsigned long from, unsigned long pfn, unsigned long size, pgprot_t pgprot) +{ +  return remap_page_range(DRM_RPR_ARG(vma) from,  +			  pfn << PAGE_SHIFT, +			  size, +			  pgprot); +} +#endif + +extern const drm_agp_t drm_agp_entry; +  /* old architectures */  #ifdef __AMD64__  #define __x86_64__ diff --git a/linux-core/drm_vm.c b/linux-core/drm_vm.c index 66bfec17..9b49efdc 100644 --- a/linux-core/drm_vm.c +++ b/linux-core/drm_vm.c @@ -645,7 +645,7 @@ int drm_mmap(struct file *filp, struct vm_area_struct *vma)  					vma->vm_end - vma->vm_start,  					vma->vm_page_prot, 0))  #else -		if (remap_pfn_range(DRM_RPR_ARG(vma) vma->vm_start, +		if (remap_pfn_range(vma, vma->vm_start,  				     (VM_OFFSET(vma) + offset) >> PAGE_SHIFT,  				     vma->vm_end - vma->vm_start,  				     vma->vm_page_prot)) diff --git a/linux-core/i810_dma.c b/linux-core/i810_dma.c index 0f28a864..81551be8 100644 --- a/linux-core/i810_dma.c +++ b/linux-core/i810_dma.c @@ -130,7 +130,7 @@ int i810_mmap_buffers(struct file *filp, struct vm_area_struct *vma)  	buf_priv->currently_mapped = I810_BUF_MAPPED;  	unlock_kernel(); -	if (remap_pfn_range(DRM_RPR_ARG(vma) vma->vm_start, +	if (remap_pfn_range(vma, vma->vm_start,  			    VM_OFFSET(vma) >> PAGE_SHIFT,  			    vma->vm_end - vma->vm_start,  			    vma->vm_page_prot)) diff --git a/linux-core/i830_dma.c b/linux-core/i830_dma.c index c89331f7..a753ffd8 100644 --- a/linux-core/i830_dma.c +++ b/linux-core/i830_dma.c @@ -131,7 +131,7 @@ int i830_mmap_buffers(struct file *filp, struct vm_area_struct *vma)  	buf_priv->currently_mapped = I830_BUF_MAPPED;  	unlock_kernel(); -	if (remap_pfn_range(DRM_RPR_ARG(vma) vma->vm_start, +	if (remap_pfn_range(vma, vma->vm_start,  			    VM_OFFSET(vma) >> PAGE_SHIFT,  			    vma->vm_end - vma->vm_start,  			    vma->vm_page_prot)) | 
