diff options
Diffstat (limited to 'drivers/gpu/drm/drm_scatter.c')
-rw-r--r-- | drivers/gpu/drm/drm_scatter.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/gpu/drm/drm_scatter.c b/drivers/gpu/drm/drm_scatter.c index a4a076ff1757..dd8a6480065c 100644 --- a/drivers/gpu/drm/drm_scatter.c +++ b/drivers/gpu/drm/drm_scatter.c | |||
@@ -46,7 +46,7 @@ static inline void *drm_vmalloc_dma(unsigned long size) | |||
46 | #endif | 46 | #endif |
47 | } | 47 | } |
48 | 48 | ||
49 | void drm_sg_cleanup(struct drm_sg_mem * entry) | 49 | static void drm_sg_cleanup(struct drm_sg_mem * entry) |
50 | { | 50 | { |
51 | struct page *page; | 51 | struct page *page; |
52 | int i; | 52 | int i; |
@@ -64,6 +64,14 @@ void drm_sg_cleanup(struct drm_sg_mem * entry) | |||
64 | kfree(entry); | 64 | kfree(entry); |
65 | } | 65 | } |
66 | 66 | ||
67 | void drm_legacy_sg_cleanup(struct drm_device *dev) | ||
68 | { | ||
69 | if (drm_core_check_feature(dev, DRIVER_SG) && dev->sg && | ||
70 | !drm_core_check_feature(dev, DRIVER_MODESET)) { | ||
71 | drm_sg_cleanup(dev->sg); | ||
72 | dev->sg = NULL; | ||
73 | } | ||
74 | } | ||
67 | #ifdef _LP64 | 75 | #ifdef _LP64 |
68 | # define ScatterHandle(x) (unsigned int)((x >> 32) + (x & ((1L << 32) - 1))) | 76 | # define ScatterHandle(x) (unsigned int)((x >> 32) + (x & ((1L << 32) - 1))) |
69 | #else | 77 | #else |