diff options
author | Greg Roth <groth@nvidia.com> | 2011-03-16 13:44:47 -0700 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-11-30 21:37:10 -0800 |
commit | 417ccc5672fbc48cde134b02a093b33e612d393f (patch) | |
tree | 2f0300c94d63645e3ee88bf471b35d9b69092183 /drivers/video/tegra/nvmap | |
parent | 8332679a3b04db571950bf30cbc44dd4a7838e14 (diff) |
video: tegra: nvmap: perform cache maintenance for rw_handle
Need cache maintenance on rw_handle to remove
display garbage issue which happens randomly.
Change-Id: I73606ae6551c0e75058e055f4a19e5f074a47004
Signed-off-by: Greg Roth <groth@nvidia.com>
Diffstat (limited to 'drivers/video/tegra/nvmap')
-rw-r--r-- | drivers/video/tegra/nvmap/nvmap_ioctl.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/video/tegra/nvmap/nvmap_ioctl.c b/drivers/video/tegra/nvmap/nvmap_ioctl.c index b943065a44c0..d9fcab954945 100644 --- a/drivers/video/tegra/nvmap/nvmap_ioctl.c +++ b/drivers/video/tegra/nvmap/nvmap_ioctl.c @@ -614,12 +614,20 @@ static ssize_t rw_handle(struct nvmap_client *client, struct nvmap_handle *h, break; } + if(is_read) + cache_maint(client, h, h_offs, + h_offs + elem_size, NVMAP_CACHE_OP_INV); + ret = rw_handle_page(h, is_read, h_offs, sys_addr, elem_size, (unsigned long)addr, *pte); if (ret) break; + if(!is_read) + cache_maint(client, h, h_offs, + h_offs + elem_size, NVMAP_CACHE_OP_WB); + copied += elem_size; sys_addr += sys_stride; h_offs += h_stride; |