|
@@ -776,9 +776,20 @@ void omap_gem_dma_sync(struct drm_gem_object *obj,
|
|
|
|
|
|
for (i = 0; i < npages; i++) {
|
|
|
if (!omap_obj->addrs[i]) {
|
|
|
- omap_obj->addrs[i] = dma_map_page(dev->dev, pages[i], 0,
|
|
|
+ dma_addr_t addr;
|
|
|
+
|
|
|
+ addr = dma_map_page(dev->dev, pages[i], 0,
|
|
|
PAGE_SIZE, DMA_BIDIRECTIONAL);
|
|
|
+
|
|
|
+ if (dma_mapping_error(dev->dev, addr)) {
|
|
|
+ dev_warn(dev->dev,
|
|
|
+ "%s: failed to map page\n",
|
|
|
+ __func__);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
dirty = true;
|
|
|
+ omap_obj->addrs[i] = addr;
|
|
|
}
|
|
|
}
|
|
|
|