From ceff4bdb60c0483f3e500844fb56c468e3077d0a Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Wed, 15 Jun 2022 21:50:25 +0100 Subject: [PATCH] media: atomisp: add hmm_create_from_userdata() helper Most hmm_alloc() callers want BO_PRIVATE type memory. Add a hmm_create_from_userdata() helper for other cases so that the hmm_alloc() calls for all the callers who don't want this can be simplied. Link: https://lore.kernel.org/linux-media/20220615205037.16549-29-hdegoede@redhat.com Reviewed-by: Andy Shevchenko Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab --- drivers/staging/media/atomisp/include/hmm/hmm.h | 1 + drivers/staging/media/atomisp/pci/hmm/hmm.c | 5 +++++ drivers/staging/media/atomisp/pci/runtime/frame/src/frame.c | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/staging/media/atomisp/include/hmm/hmm.h b/drivers/staging/media/atomisp/include/hmm/hmm.h index 99bf7d01f9ef9..615805d0dd915 100644 --- a/drivers/staging/media/atomisp/include/hmm/hmm.h +++ b/drivers/staging/media/atomisp/include/hmm/hmm.h @@ -39,6 +39,7 @@ void hmm_cleanup(void); ia_css_ptr hmm_alloc(size_t bytes, enum hmm_bo_type type, int from_highmem, const void __user *userptr, const uint16_t attrs); +ia_css_ptr hmm_create_from_userdata(size_t bytes, const void __user *userptr); void hmm_free(ia_css_ptr ptr); int hmm_load(ia_css_ptr virt, void *data, unsigned int bytes); int hmm_store(ia_css_ptr virt, const void *data, unsigned int bytes); diff --git a/drivers/staging/media/atomisp/pci/hmm/hmm.c b/drivers/staging/media/atomisp/pci/hmm/hmm.c index bbb5f8775e956..a71db7969e1d8 100644 --- a/drivers/staging/media/atomisp/pci/hmm/hmm.c +++ b/drivers/staging/media/atomisp/pci/hmm/hmm.c @@ -221,6 +221,11 @@ create_bo_err: return 0; } +ia_css_ptr hmm_create_from_userdata(size_t bytes, const void __user *userptr) +{ + return hmm_alloc(bytes, HMM_BO_USER, 0, userptr, 0); +} + void hmm_free(ia_css_ptr virt) { struct hmm_buffer_object *bo; diff --git a/drivers/staging/media/atomisp/pci/runtime/frame/src/frame.c b/drivers/staging/media/atomisp/pci/runtime/frame/src/frame.c index f3b80650e1ad1..b0ce288b76be3 100644 --- a/drivers/staging/media/atomisp/pci/runtime/frame/src/frame.c +++ b/drivers/staging/media/atomisp/pci/runtime/frame/src/frame.c @@ -171,7 +171,7 @@ int ia_css_frame_map(struct ia_css_frame **frame, goto error; } - me->data = hmm_alloc(me->data_bytes, HMM_BO_USER, 0, data, 0); + me->data = hmm_create_from_userdata(me->data_bytes, data); if (me->data == mmgr_NULL) err = -EINVAL; -- 2.30.2