* Re: [PATCH 5/9] drm/xen/xen_drm_front_gem.c: Convert to use vm_insert_range
2019-01-11 15:10 [PATCH 5/9] drm/xen/xen_drm_front_gem.c: Convert to use vm_insert_range Souptick Joarder
@ 2019-01-11 15:10 ` Oleksandr Andrushchenko
0 siblings, 0 replies; 3+ messages in thread
From: Oleksandr Andrushchenko @ 2019-01-11 15:10 UTC (permalink / raw)
To: Souptick Joarder, akpm, willy, mhocko, airlied, linux, robin.murphy
Cc: linux-kernel, linux-mm, dri-devel, xen-devel, Oleksandr_Andrushchenko
On 1/11/19 5:10 PM, Souptick Joarder wrote:
> Convert to use vm_insert_range() to map range of kernel
> memory to user vma.
>
> Signed-off-by: Souptick Joarder <jrdr.linux@gmail.com>
Reviewed-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> ---
> drivers/gpu/drm/xen/xen_drm_front_gem.c | 18 +++++-------------
> 1 file changed, 5 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/gpu/drm/xen/xen_drm_front_gem.c b/drivers/gpu/drm/xen/xen_drm_front_gem.c
> index 47ff019..9990c2f 100644
> --- a/drivers/gpu/drm/xen/xen_drm_front_gem.c
> +++ b/drivers/gpu/drm/xen/xen_drm_front_gem.c
> @@ -225,8 +225,7 @@ struct drm_gem_object *
> static int gem_mmap_obj(struct xen_gem_object *xen_obj,
> struct vm_area_struct *vma)
> {
> - unsigned long addr = vma->vm_start;
> - int i;
> + int ret;
>
> /*
> * clear the VM_PFNMAP flag that was set by drm_gem_mmap(), and set the
> @@ -247,18 +246,11 @@ static int gem_mmap_obj(struct xen_gem_object *xen_obj,
> * FIXME: as we insert all the pages now then no .fault handler must
> * be called, so don't provide one
> */
> - for (i = 0; i < xen_obj->num_pages; i++) {
> - int ret;
> -
> - ret = vm_insert_page(vma, addr, xen_obj->pages[i]);
> - if (ret < 0) {
> - DRM_ERROR("Failed to insert pages into vma: %d\n", ret);
> - return ret;
> - }
> + ret = vm_insert_range(vma, xen_obj->pages, xen_obj->num_pages);
> + if (ret < 0)
> + DRM_ERROR("Failed to insert pages into vma: %d\n", ret);
>
> - addr += PAGE_SIZE;
> - }
> - return 0;
> + return ret;
> }
>
> int xen_drm_front_gem_mmap(struct file *filp, struct vm_area_struct *vma)
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH 5/9] drm/xen/xen_drm_front_gem.c: Convert to use vm_insert_range
@ 2019-01-11 15:10 Souptick Joarder
2019-01-11 15:10 ` Oleksandr Andrushchenko
0 siblings, 1 reply; 3+ messages in thread
From: Souptick Joarder @ 2019-01-11 15:10 UTC (permalink / raw)
To: akpm, willy, mhocko, oleksandr_andrushchenko, airlied, linux,
robin.murphy
Cc: linux-kernel, linux-mm, dri-devel, xen-devel
Convert to use vm_insert_range() to map range of kernel
memory to user vma.
Signed-off-by: Souptick Joarder <jrdr.linux@gmail.com>
---
drivers/gpu/drm/xen/xen_drm_front_gem.c | 18 +++++-------------
1 file changed, 5 insertions(+), 13 deletions(-)
diff --git a/drivers/gpu/drm/xen/xen_drm_front_gem.c b/drivers/gpu/drm/xen/xen_drm_front_gem.c
index 47ff019..9990c2f 100644
--- a/drivers/gpu/drm/xen/xen_drm_front_gem.c
+++ b/drivers/gpu/drm/xen/xen_drm_front_gem.c
@@ -225,8 +225,7 @@ struct drm_gem_object *
static int gem_mmap_obj(struct xen_gem_object *xen_obj,
struct vm_area_struct *vma)
{
- unsigned long addr = vma->vm_start;
- int i;
+ int ret;
/*
* clear the VM_PFNMAP flag that was set by drm_gem_mmap(), and set the
@@ -247,18 +246,11 @@ static int gem_mmap_obj(struct xen_gem_object *xen_obj,
* FIXME: as we insert all the pages now then no .fault handler must
* be called, so don't provide one
*/
- for (i = 0; i < xen_obj->num_pages; i++) {
- int ret;
-
- ret = vm_insert_page(vma, addr, xen_obj->pages[i]);
- if (ret < 0) {
- DRM_ERROR("Failed to insert pages into vma: %d\n", ret);
- return ret;
- }
+ ret = vm_insert_range(vma, xen_obj->pages, xen_obj->num_pages);
+ if (ret < 0)
+ DRM_ERROR("Failed to insert pages into vma: %d\n", ret);
- addr += PAGE_SIZE;
- }
- return 0;
+ return ret;
}
int xen_drm_front_gem_mmap(struct file *filp, struct vm_area_struct *vma)
--
1.9.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH 5/9] drm/xen/xen_drm_front_gem.c: Convert to use vm_insert_range
@ 2018-11-15 15:49 Souptick Joarder
0 siblings, 0 replies; 3+ messages in thread
From: Souptick Joarder @ 2018-11-15 15:49 UTC (permalink / raw)
To: akpm, willy, mhocko, oleksandr_andrushchenko, airlied
Cc: linux-kernel, linux-mm, dri-devel, xen-devel
Convert to use vm_insert_range() to map range of kernel
memory to user vma.
Signed-off-by: Souptick Joarder <jrdr.linux@gmail.com>
Reviewed-by: Matthew Wilcox <willy@infradead.org>
---
drivers/gpu/drm/xen/xen_drm_front_gem.c | 20 ++++++--------------
1 file changed, 6 insertions(+), 14 deletions(-)
diff --git a/drivers/gpu/drm/xen/xen_drm_front_gem.c b/drivers/gpu/drm/xen/xen_drm_front_gem.c
index 47ff019..a3eade6 100644
--- a/drivers/gpu/drm/xen/xen_drm_front_gem.c
+++ b/drivers/gpu/drm/xen/xen_drm_front_gem.c
@@ -225,8 +225,7 @@ struct drm_gem_object *
static int gem_mmap_obj(struct xen_gem_object *xen_obj,
struct vm_area_struct *vma)
{
- unsigned long addr = vma->vm_start;
- int i;
+ int err;
/*
* clear the VM_PFNMAP flag that was set by drm_gem_mmap(), and set the
@@ -247,18 +246,11 @@ static int gem_mmap_obj(struct xen_gem_object *xen_obj,
* FIXME: as we insert all the pages now then no .fault handler must
* be called, so don't provide one
*/
- for (i = 0; i < xen_obj->num_pages; i++) {
- int ret;
-
- ret = vm_insert_page(vma, addr, xen_obj->pages[i]);
- if (ret < 0) {
- DRM_ERROR("Failed to insert pages into vma: %d\n", ret);
- return ret;
- }
-
- addr += PAGE_SIZE;
- }
- return 0;
+ err = vm_insert_range(vma, vma->vm_start, xen_obj->pages,
+ xen_obj->num_pages);
+ if (err < 0)
+ DRM_ERROR("Failed to insert pages into vma: %d\n", err);
+ return err;
}
int xen_drm_front_gem_mmap(struct file *filp, struct vm_area_struct *vma)
--
1.9.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2019-01-11 15:10 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-11 15:10 [PATCH 5/9] drm/xen/xen_drm_front_gem.c: Convert to use vm_insert_range Souptick Joarder
2019-01-11 15:10 ` Oleksandr Andrushchenko
-- strict thread matches above, loose matches on Subject: below --
2018-11-15 15:49 Souptick Joarder
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).