diff options
author | Fabio M. De Francesco <fmdefrancesco@gmail.com> | 2022-04-13 22:22:10 +0100 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@kernel.org> | 2022-07-08 17:34:07 +0100 |
commit | aab1c42a9d77fb3f243aaab7f9f7ca14a6ffa7d2 (patch) | |
tree | 7ed4159c4b86886b36a7b3f7b3ddf5397c7d91d8 | |
parent | 2ad935a15ffa38c7b4739c4f81665318f103b03d (diff) | |
download | linux-aab1c42a9d77fb3f243aaab7f9f7ca14a6ffa7d2.tar.gz |
media: staging: media: atomisp: Use kmap_local_page() in hmm_set()
The use of kmap() is being deprecated in favor of kmap_local_page()
where it is feasible. In file pci/hmm/hmm.c, function hmm_set() calls
kmap() / kunmap() where kmap_local_page() can instead do the mapping.
With kmap_local_page(), the mapping is per thread, CPU local and not
globally visible. Therefore, hmm_set()() is a function where the use
of kmap_local_page() in place of kmap() is correctly suited.
Convert the calls of kmap() / kunmap() to kmap_local_page() /
kunmap_local().
Link: https://lore.kernel.org/linux-media/20220413212210.18494-1-fmdefrancesco@gmail.com
Signed-off-by: Fabio M. De Francesco <fmdefrancesco@gmail.com>
Reviewed-by: Ira Weiny <ira.weiny@intel.com>
Tested-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
-rw-r--r-- | drivers/staging/media/atomisp/pci/hmm/hmm.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/staging/media/atomisp/pci/hmm/hmm.c b/drivers/staging/media/atomisp/pci/hmm/hmm.c index 74cc388a0eef..2b015de56823 100644 --- a/drivers/staging/media/atomisp/pci/hmm/hmm.c +++ b/drivers/staging/media/atomisp/pci/hmm/hmm.c @@ -508,7 +508,7 @@ int hmm_set(ia_css_ptr virt, int c, unsigned int bytes) idx = (virt - bo->start) >> PAGE_SHIFT; offset = (virt - bo->start) - (idx << PAGE_SHIFT); - des = (char *)kmap(bo->pages[idx]) + offset; + des = (char *)kmap_local_page(bo->pages[idx]) + offset; if ((bytes + offset) >= PAGE_SIZE) { len = PAGE_SIZE - offset; @@ -524,7 +524,7 @@ int hmm_set(ia_css_ptr virt, int c, unsigned int bytes) clflush_cache_range(des, len); - kunmap(bo->pages[idx]); + kunmap_local(des); } return 0; |