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: David Herrmann <dh.herrmann@gmail.com> Reviewed-by: Thierry Reding <treding@nvidia.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
Родитель
cc33db0a61
Коммит
cc5ea5947a
|
@ -34,6 +34,7 @@
|
|||
#include <drm/drmP.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/slab.h>
|
||||
#include "drm_legacy.h"
|
||||
|
||||
#if __OS_HAS_AGP
|
||||
|
||||
|
|
|
@ -28,6 +28,9 @@
|
|||
* should no longer be using. They cannot be removed as legacy
|
||||
* drivers use them, and removing them are API breaks.
|
||||
*/
|
||||
#include <linux/list.h>
|
||||
|
||||
struct agp_memory;
|
||||
struct drm_device;
|
||||
struct drm_file;
|
||||
|
||||
|
@ -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_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__ */
|
||||
|
|
|
@ -36,6 +36,7 @@
|
|||
#include <linux/highmem.h>
|
||||
#include <linux/export.h>
|
||||
#include <drm/drmP.h>
|
||||
#include "drm_legacy.h"
|
||||
|
||||
#if __OS_HAS_AGP
|
||||
static void *agp_remap(unsigned long offset, unsigned long size,
|
||||
|
|
|
@ -40,6 +40,7 @@
|
|||
#include <linux/efi.h>
|
||||
#include <linux/slab.h>
|
||||
#endif
|
||||
#include "drm_legacy.h"
|
||||
|
||||
struct drm_vma_entry {
|
||||
struct list_head head;
|
||||
|
|
|
@ -80,6 +80,7 @@ struct module;
|
|||
|
||||
struct drm_file;
|
||||
struct drm_device;
|
||||
struct drm_agp_head;
|
||||
|
||||
struct device_node;
|
||||
struct videomode;
|
||||
|
@ -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.
|
||||
*/
|
||||
|
|
|
@ -8,6 +8,19 @@
|
|||
#include <linux/agp_backend.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
|
||||
|
||||
void drm_free_agp(struct agp_memory * handle, int pages);
|
||||
|
|
Загрузка…
Ссылка в новой задаче