Commit cc5ea594 authored by David Herrmann's avatar David Herrmann Committed by Dave Airlie

drm: move AGP definitions harder

Move drm_agp_head to drm_agpsupport.h and drm_agp_mem into drm_legacy.h.
Unfortunately, drivers still heavily access drm_agp_head so we cannot
move it to drm_legacy.h. However, at least it's no longer visible in
drmP.h now (it's directly included from it, though).
Signed-off-by: default avatarDavid Herrmann <dh.herrmann@gmail.com>
Reviewed-by: default avatarThierry Reding <treding@nvidia.com>
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent cc33db0a
...@@ -34,6 +34,7 @@ ...@@ -34,6 +34,7 @@
#include <drm/drmP.h> #include <drm/drmP.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/slab.h> #include <linux/slab.h>
#include "drm_legacy.h"
#if __OS_HAS_AGP #if __OS_HAS_AGP
......
...@@ -28,6 +28,9 @@ ...@@ -28,6 +28,9 @@
* should no longer be using. They cannot be removed as legacy * should no longer be using. They cannot be removed as legacy
* drivers use them, and removing them are API breaks. * drivers use them, and removing them are API breaks.
*/ */
#include <linux/list.h>
struct agp_memory;
struct drm_device; struct drm_device;
struct drm_file; struct drm_file;
...@@ -68,4 +71,16 @@ int drm_legacy_freebufs(struct drm_device *d, void *v, struct drm_file *f); ...@@ -68,4 +71,16 @@ int drm_legacy_freebufs(struct drm_device *d, void *v, struct drm_file *f);
int drm_legacy_mapbufs(struct drm_device *d, void *v, struct drm_file *f); int drm_legacy_mapbufs(struct drm_device *d, void *v, struct drm_file *f);
int drm_legacy_dma_ioctl(struct drm_device *d, void *v, struct drm_file *f); int drm_legacy_dma_ioctl(struct drm_device *d, void *v, struct drm_file *f);
/*
* AGP Support
*/
struct drm_agp_mem {
unsigned long handle;
struct agp_memory *memory;
unsigned long bound;
int pages;
struct list_head head;
};
#endif /* __DRM_LEGACY_H__ */ #endif /* __DRM_LEGACY_H__ */
...@@ -36,6 +36,7 @@ ...@@ -36,6 +36,7 @@
#include <linux/highmem.h> #include <linux/highmem.h>
#include <linux/export.h> #include <linux/export.h>
#include <drm/drmP.h> #include <drm/drmP.h>
#include "drm_legacy.h"
#if __OS_HAS_AGP #if __OS_HAS_AGP
static void *agp_remap(unsigned long offset, unsigned long size, static void *agp_remap(unsigned long offset, unsigned long size,
......
...@@ -40,6 +40,7 @@ ...@@ -40,6 +40,7 @@
#include <linux/efi.h> #include <linux/efi.h>
#include <linux/slab.h> #include <linux/slab.h>
#endif #endif
#include "drm_legacy.h"
struct drm_vma_entry { struct drm_vma_entry {
struct list_head head; struct list_head head;
......
...@@ -80,6 +80,7 @@ struct module; ...@@ -80,6 +80,7 @@ struct module;
struct drm_file; struct drm_file;
struct drm_device; struct drm_device;
struct drm_agp_head;
struct device_node; struct device_node;
struct videomode; struct videomode;
...@@ -439,35 +440,6 @@ struct drm_device_dma { ...@@ -439,35 +440,6 @@ struct drm_device_dma {
}; };
/**
* AGP memory entry. Stored as a doubly linked list.
*/
struct drm_agp_mem {
unsigned long handle; /**< handle */
struct agp_memory *memory;
unsigned long bound; /**< address */
int pages;
struct list_head head;
};
/**
* AGP data.
*
* \sa drm_agp_init() and drm_device::agp.
*/
struct drm_agp_head {
struct agp_kern_info agp_info; /**< AGP device information */
struct list_head memory;
unsigned long mode; /**< AGP mode */
struct agp_bridge_data *bridge;
int enabled; /**< whether the AGP bus as been enabled */
int acquired; /**< whether the AGP device has been acquired */
unsigned long base;
int agp_mtrr;
int cant_use_aperture;
unsigned long page_mask;
};
/** /**
* Scatter-gather memory. * Scatter-gather memory.
*/ */
......
...@@ -8,6 +8,19 @@ ...@@ -8,6 +8,19 @@
#include <linux/agp_backend.h> #include <linux/agp_backend.h>
#include <drm/drmP.h> #include <drm/drmP.h>
struct drm_agp_head {
struct agp_kern_info agp_info;
struct list_head memory;
unsigned long mode;
struct agp_bridge_data *bridge;
int enabled;
int acquired;
unsigned long base;
int agp_mtrr;
int cant_use_aperture;
unsigned long page_mask;
};
#if __OS_HAS_AGP #if __OS_HAS_AGP
void drm_free_agp(struct agp_memory * handle, int pages); void drm_free_agp(struct agp_memory * handle, int pages);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment