drm: add chipset flushing via agp support
parent
2489062a33
commit
17f0882d50
|
@ -1133,6 +1133,7 @@ extern int drm_agp_free_memory(DRM_AGP_MEM * handle);
|
|||
extern int drm_agp_bind_memory(DRM_AGP_MEM * handle, off_t start);
|
||||
extern int drm_agp_unbind_memory(DRM_AGP_MEM * handle);
|
||||
extern struct drm_ttm_backend *drm_agp_init_ttm(struct drm_device *dev);
|
||||
extern void drm_agp_chipset_flush(struct drm_device *dev);
|
||||
/* Stub support (drm_stub.h) */
|
||||
extern int drm_get_dev(struct pci_dev *pdev, const struct pci_device_id *ent,
|
||||
struct drm_driver *driver);
|
||||
|
|
|
@ -650,4 +650,12 @@ struct drm_ttm_backend *drm_agp_init_ttm(struct drm_device *dev)
|
|||
}
|
||||
EXPORT_SYMBOL(drm_agp_init_ttm);
|
||||
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25)
|
||||
void drm_agp_flush_chipset(struct drm_device *dev)
|
||||
{
|
||||
agp_flush_chipset(dev->agp->bridge);
|
||||
}
|
||||
EXPORT_SYMBOL(drm_agp_flush_chipset);
|
||||
#endif
|
||||
|
||||
#endif /* __OS_HAS_AGP */
|
||||
|
|
|
@ -1043,6 +1043,7 @@ static int i915_execbuffer(struct drm_device *dev, void *data,
|
|||
|
||||
/* make sure all previous memory operations have passed */
|
||||
DRM_MEMORYBARRIER();
|
||||
drm_agp_chipset_flush(dev);
|
||||
|
||||
/* submit buffer */
|
||||
batch->start = buffers[num_buffers-1]->offset;
|
||||
|
|
Loading…
Reference in New Issue