|
@@ -132,17 +132,19 @@ static void put_pages(struct drm_gem_object *obj)
|
|
|
struct msm_gem_object *msm_obj = to_msm_bo(obj);
|
|
|
|
|
|
if (msm_obj->pages) {
|
|
|
- /* For non-cached buffers, ensure the new pages are clean
|
|
|
- * because display controller, GPU, etc. are not coherent:
|
|
|
- */
|
|
|
- if (msm_obj->flags & (MSM_BO_WC|MSM_BO_UNCACHED))
|
|
|
- dma_unmap_sg(obj->dev->dev, msm_obj->sgt->sgl,
|
|
|
- msm_obj->sgt->nents, DMA_BIDIRECTIONAL);
|
|
|
+ if (msm_obj->sgt) {
|
|
|
+ /* For non-cached buffers, ensure the new
|
|
|
+ * pages are clean because display controller,
|
|
|
+ * GPU, etc. are not coherent:
|
|
|
+ */
|
|
|
+ if (msm_obj->flags & (MSM_BO_WC|MSM_BO_UNCACHED))
|
|
|
+ dma_unmap_sg(obj->dev->dev, msm_obj->sgt->sgl,
|
|
|
+ msm_obj->sgt->nents,
|
|
|
+ DMA_BIDIRECTIONAL);
|
|
|
|
|
|
- if (msm_obj->sgt)
|
|
|
sg_free_table(msm_obj->sgt);
|
|
|
-
|
|
|
- kfree(msm_obj->sgt);
|
|
|
+ kfree(msm_obj->sgt);
|
|
|
+ }
|
|
|
|
|
|
if (use_pages(obj))
|
|
|
drm_gem_put_pages(obj, msm_obj->pages, true, false);
|