mirror of https://gitee.com/openkylin/linux.git
drm/i810: drop device_is_agp callback
Use the same trick we used for i915 when we still had ums support: Just initialize the agp support unconditionally in the driver load function. Unfortunately that means we need to export drm_agp_init again, but I think that's a lesser evil. Acked-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/20170125062657.19270-9-daniel.vetter@ffwll.ch
This commit is contained in:
parent
aec97460e9
commit
49d66d8de2
|
@ -421,6 +421,8 @@ struct drm_agp_head *drm_agp_init(struct drm_device *dev)
|
|||
head->base = head->agp_info.aper_base;
|
||||
return head;
|
||||
}
|
||||
/* Only exported for i810.ko */
|
||||
EXPORT_SYMBOL(drm_agp_init);
|
||||
|
||||
/**
|
||||
* drm_legacy_agp_clear - Clear AGP resource list
|
||||
|
|
|
@ -1190,6 +1190,14 @@ static int i810_flip_bufs(struct drm_device *dev, void *data,
|
|||
|
||||
int i810_driver_load(struct drm_device *dev, unsigned long flags)
|
||||
{
|
||||
dev->agp = drm_agp_init(dev);
|
||||
if (dev->agp) {
|
||||
dev->agp->agp_mtrr = arch_phys_wc_add(
|
||||
dev->agp->agp_info.aper_base,
|
||||
dev->agp->agp_info.aper_size *
|
||||
1024 * 1024);
|
||||
}
|
||||
|
||||
/* Our userspace depends upon the agp mapping support. */
|
||||
if (!dev->agp)
|
||||
return -EINVAL;
|
||||
|
@ -1249,19 +1257,3 @@ const struct drm_ioctl_desc i810_ioctls[] = {
|
|||
};
|
||||
|
||||
int i810_max_ioctl = ARRAY_SIZE(i810_ioctls);
|
||||
|
||||
/**
|
||||
* Determine if the device really is AGP or not.
|
||||
*
|
||||
* All Intel graphics chipsets are treated as AGP, even if they are really
|
||||
* PCI-e.
|
||||
*
|
||||
* \param dev The device to be tested.
|
||||
*
|
||||
* \returns
|
||||
* A value of 1 is always retured to indictate every i810 is AGP.
|
||||
*/
|
||||
int i810_driver_device_is_agp(struct drm_device *dev)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
|
|
@ -60,7 +60,6 @@ static struct drm_driver driver = {
|
|||
.lastclose = i810_driver_lastclose,
|
||||
.preclose = i810_driver_preclose,
|
||||
.set_busid = drm_pci_set_busid,
|
||||
.device_is_agp = i810_driver_device_is_agp,
|
||||
.dma_quiescent = i810_driver_dma_quiescent,
|
||||
.ioctls = i810_ioctls,
|
||||
.fops = &i810_driver_fops,
|
||||
|
|
|
@ -124,7 +124,6 @@ extern int i810_driver_load(struct drm_device *, unsigned long flags);
|
|||
extern void i810_driver_lastclose(struct drm_device *dev);
|
||||
extern void i810_driver_preclose(struct drm_device *dev,
|
||||
struct drm_file *file_priv);
|
||||
extern int i810_driver_device_is_agp(struct drm_device *dev);
|
||||
|
||||
extern long i810_ioctl(struct file *file, unsigned int cmd, unsigned long arg);
|
||||
extern const struct drm_ioctl_desc i810_ioctls[];
|
||||
|
|
Loading…
Reference in New Issue