fix up drm_alloc_agp to take a dev arg and not pass crappy agpgart around

main
Dave Airlie 2005-06-17 09:09:17 +00:00
parent 0569fe7a52
commit 71df0eed34
6 changed files with 8 additions and 19 deletions

View File

@ -786,11 +786,7 @@ extern void *drm_calloc(size_t nmemb, size_t size, int area);
extern void *drm_realloc(void *oldpt, size_t oldsize, size_t size, int area);
extern unsigned long drm_alloc_pages(int order, int area);
extern void drm_free_pages(unsigned long address, int order, int area);
#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,11)
extern DRM_AGP_MEM *drm_alloc_agp(int pages, u32 type);
#else
extern DRM_AGP_MEM *drm_alloc_agp(struct agp_bridge_data *bridge, int pages, u32 type);
#endif
extern DRM_AGP_MEM *drm_alloc_agp(drm_device_t *dev, int pages, u32 type);
extern int drm_free_agp(DRM_AGP_MEM * handle, int pages);
extern int drm_bind_agp(DRM_AGP_MEM * handle, unsigned int start);
extern int drm_unbind_agp(DRM_AGP_MEM * handle);

View File

@ -251,17 +251,10 @@ int drm_agp_alloc(struct inode *inode, struct file *filp,
pages = (request.size + PAGE_SIZE - 1) / PAGE_SIZE;
type = (u32) request.type;
#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,11)
if (!(memory = drm_alloc_agp(pages, type))) {
if (!(memory = drm_alloc_agp(dev, pages, type))) {
drm_free(entry, sizeof(*entry), DRM_MEM_AGPLISTS);
return -ENOMEM;
}
#else
if (!(memory = drm_alloc_agp(dev->agp->bridge, pages, type))) {
drm_free(entry, sizeof(*entry), DRM_MEM_AGPLISTS);
return -ENOMEM;
}
#endif
entry->handle = (unsigned long)memory->key + 1;
entry->memory = memory;

View File

@ -152,14 +152,14 @@ void drm_free_pages(unsigned long address, int order, int area)
#if __OS_HAS_AGP
/** Wrapper around agp_allocate_memory() */
#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,11)
DRM_AGP_MEM *drm_alloc_agp(int pages, u32 type)
DRM_AGP_MEM *drm_alloc_agp(drm_device_t *dev, int pages, u32 type)
{
return drm_agp_allocate_memory(pages, type);
}
#else
DRM_AGP_MEM *drm_alloc_agp(struct agp_bridge_data *bridge, int pages, u32 type)
DRM_AGP_MEM *drm_alloc_agp(drm_device_t *dev, int pages, u32 type)
{
return drm_agp_allocate_memory(bridge, pages, type);
return drm_agp_allocate_memory(dev->agp->bridge, pages, type);
}
#endif
EXPORT_SYMBOL(drm_alloc_agp);

View File

@ -365,7 +365,7 @@ EXPORT_SYMBOL(drm_ioremapfree);
#if __OS_HAS_AGP
DRM_AGP_MEM *drm_alloc_agp(int pages, u32 type)
DRM_AGP_MEM *drm_alloc_agp(drm_device_t *dev, int pages, u32 type)
{
DRM_AGP_MEM *handle;

View File

@ -346,7 +346,7 @@ void drm_ioremapfree (void *pt, unsigned long size, drm_device_t * dev) {
#if __OS_HAS_AGP
DRM_AGP_MEM *drm_alloc_agp (int pages, u32 type) {
DRM_AGP_MEM *drm_alloc_agp (drm_device_t *dev, int pages, u32 type) {
DRM_AGP_MEM *handle;
if (!pages) {

View File

@ -475,7 +475,7 @@ static int mga_do_agp_dma_bootstrap(drm_device_t * dev,
/* Allocate and bind AGP memory. */
dev_priv->agp_pages = agp_size / PAGE_SIZE;
dev_priv->agp_mem = drm_alloc_agp( dev_priv->agp_pages, 0 );
dev_priv->agp_mem = drm_alloc_agp( dev, dev_priv->agp_pages, 0 );
if (dev_priv->agp_mem == NULL) {
dev_priv->agp_pages = 0;
DRM_ERROR("Unable to allocate %uMB AGP memory\n",