2019-06-27 15:54:15

by Steven Price

[permalink] [raw]
Subject: [PATCH v4 1/2] drm/gem: Rename drm_gem_dumb_map_offset() to drm_gem_map_offset()

drm_gem_dumb_map_offset() is a useful helper for non-dumb clients, so
rename it to remove the _dumb and add a comment that it can be used by
shmem clients.

Signed-off-by: Steven Price <[email protected]>
---
drivers/gpu/drm/drm_dumb_buffers.c | 4 ++--
drivers/gpu/drm/drm_gem.c | 9 ++++++---
drivers/gpu/drm/exynos/exynos_drm_gem.c | 3 +--
include/drm/drm_gem.h | 4 ++--
4 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/drm_dumb_buffers.c b/drivers/gpu/drm/drm_dumb_buffers.c
index d18a740fe0f1..b55cfc9e8772 100644
--- a/drivers/gpu/drm/drm_dumb_buffers.c
+++ b/drivers/gpu/drm/drm_dumb_buffers.c
@@ -48,7 +48,7 @@
* To support dumb objects drivers must implement the &drm_driver.dumb_create
* operation. &drm_driver.dumb_destroy defaults to drm_gem_dumb_destroy() if
* not set and &drm_driver.dumb_map_offset defaults to
- * drm_gem_dumb_map_offset(). See the callbacks for further details.
+ * drm_gem_map_offset(). See the callbacks for further details.
*
* Note that dumb objects may not be used for gpu acceleration, as has been
* attempted on some ARM embedded platforms. Such drivers really must have
@@ -127,7 +127,7 @@ int drm_mode_mmap_dumb_ioctl(struct drm_device *dev,
args->handle,
&args->offset);
else
- return drm_gem_dumb_map_offset(file_priv, dev, args->handle,
+ return drm_gem_map_offset(file_priv, dev, args->handle,
&args->offset);
}

diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c
index a8c4468f03d9..62842b7701bb 100644
--- a/drivers/gpu/drm/drm_gem.c
+++ b/drivers/gpu/drm/drm_gem.c
@@ -298,7 +298,7 @@ drm_gem_handle_delete(struct drm_file *filp, u32 handle)
EXPORT_SYMBOL(drm_gem_handle_delete);

/**
- * drm_gem_dumb_map_offset - return the fake mmap offset for a gem object
+ * drm_gem_map_offset - return the fake mmap offset for a gem object
* @file: drm file-private structure containing the gem object
* @dev: corresponding drm_device
* @handle: gem object handle
@@ -307,10 +307,13 @@ EXPORT_SYMBOL(drm_gem_handle_delete);
* This implements the &drm_driver.dumb_map_offset kms driver callback for
* drivers which use gem to manage their backing storage.
*
+ * It can also be used by drivers using the shmem backend as they have the
+ * same restriction that imported objects cannot be mapped.
+ *
* Returns:
* 0 on success or a negative error code on failure.
*/
-int drm_gem_dumb_map_offset(struct drm_file *file, struct drm_device *dev,
+int drm_gem_map_offset(struct drm_file *file, struct drm_device *dev,
u32 handle, u64 *offset)
{
struct drm_gem_object *obj;
@@ -336,7 +339,7 @@ int drm_gem_dumb_map_offset(struct drm_file *file, struct drm_device *dev,

return ret;
}
-EXPORT_SYMBOL_GPL(drm_gem_dumb_map_offset);
+EXPORT_SYMBOL_GPL(drm_gem_map_offset);

/**
* drm_gem_dumb_destroy - dumb fb callback helper for gem based drivers
diff --git a/drivers/gpu/drm/exynos/exynos_drm_gem.c b/drivers/gpu/drm/exynos/exynos_drm_gem.c
index d8f1fe9b68d8..3b8cffc7a8e0 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_gem.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_gem.c
@@ -272,8 +272,7 @@ int exynos_drm_gem_map_ioctl(struct drm_device *dev, void *data,
{
struct drm_exynos_gem_map *args = data;

- return drm_gem_dumb_map_offset(file_priv, dev, args->handle,
- &args->offset);
+ return drm_gem_map_offset(file_priv, dev, args->handle, &args->offset);
}

struct exynos_drm_gem *exynos_drm_gem_get(struct drm_file *filp,
diff --git a/include/drm/drm_gem.h b/include/drm/drm_gem.h
index a9121fe66ea2..65b884930583 100644
--- a/include/drm/drm_gem.h
+++ b/include/drm/drm_gem.h
@@ -395,8 +395,8 @@ int drm_gem_fence_array_add(struct xarray *fence_array,
int drm_gem_fence_array_add_implicit(struct xarray *fence_array,
struct drm_gem_object *obj,
bool write);
-int drm_gem_dumb_map_offset(struct drm_file *file, struct drm_device *dev,
- u32 handle, u64 *offset);
+int drm_gem_map_offset(struct drm_file *file, struct drm_device *dev,
+ u32 handle, u64 *offset);
int drm_gem_dumb_destroy(struct drm_file *file,
struct drm_device *dev,
uint32_t handle);
--
2.20.1


2019-06-27 17:58:19

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH v4 1/2] drm/gem: Rename drm_gem_dumb_map_offset() to drm_gem_map_offset()

On Thu, Jun 27, 2019 at 9:53 AM Steven Price <[email protected]> wrote:
>
> drm_gem_dumb_map_offset() is a useful helper for non-dumb clients, so
> rename it to remove the _dumb and add a comment that it can be used by
> shmem clients.
>
> Signed-off-by: Steven Price <[email protected]>
> ---
> drivers/gpu/drm/drm_dumb_buffers.c | 4 ++--
> drivers/gpu/drm/drm_gem.c | 9 ++++++---
> drivers/gpu/drm/exynos/exynos_drm_gem.c | 3 +--
> include/drm/drm_gem.h | 4 ++--
> 4 files changed, 11 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_dumb_buffers.c b/drivers/gpu/drm/drm_dumb_buffers.c
> index d18a740fe0f1..b55cfc9e8772 100644
> --- a/drivers/gpu/drm/drm_dumb_buffers.c
> +++ b/drivers/gpu/drm/drm_dumb_buffers.c
> @@ -48,7 +48,7 @@
> * To support dumb objects drivers must implement the &drm_driver.dumb_create
> * operation. &drm_driver.dumb_destroy defaults to drm_gem_dumb_destroy() if
> * not set and &drm_driver.dumb_map_offset defaults to
> - * drm_gem_dumb_map_offset(). See the callbacks for further details.
> + * drm_gem_map_offset(). See the callbacks for further details.
> *
> * Note that dumb objects may not be used for gpu acceleration, as has been
> * attempted on some ARM embedded platforms. Such drivers really must have
> @@ -127,7 +127,7 @@ int drm_mode_mmap_dumb_ioctl(struct drm_device *dev,
> args->handle,
> &args->offset);
> else
> - return drm_gem_dumb_map_offset(file_priv, dev, args->handle,
> + return drm_gem_map_offset(file_priv, dev, args->handle,
> &args->offset);
> }
>
> diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c
> index a8c4468f03d9..62842b7701bb 100644
> --- a/drivers/gpu/drm/drm_gem.c
> +++ b/drivers/gpu/drm/drm_gem.c
> @@ -298,7 +298,7 @@ drm_gem_handle_delete(struct drm_file *filp, u32 handle)
> EXPORT_SYMBOL(drm_gem_handle_delete);
>
> /**
> - * drm_gem_dumb_map_offset - return the fake mmap offset for a gem object
> + * drm_gem_map_offset - return the fake mmap offset for a gem object
> * @file: drm file-private structure containing the gem object
> * @dev: corresponding drm_device
> * @handle: gem object handle
> @@ -307,10 +307,13 @@ EXPORT_SYMBOL(drm_gem_handle_delete);
> * This implements the &drm_driver.dumb_map_offset kms driver callback for
> * drivers which use gem to manage their backing storage.
> *
> + * It can also be used by drivers using the shmem backend as they have the
> + * same restriction that imported objects cannot be mapped.

Maybe better not to say 'shmem' explicitly or just mention it as an
example so when we have a 2nd case we don't have to update the
comment.

...drivers with GEM BO implementations which have the same...

I can fix up and apply. Some other acks would be nice first.

Rob

2019-06-27 21:37:08

by Daniel Vetter

[permalink] [raw]
Subject: Re: [PATCH v4 1/2] drm/gem: Rename drm_gem_dumb_map_offset() to drm_gem_map_offset()

On Thu, Jun 27, 2019 at 11:57:34AM -0600, Rob Herring wrote:
> On Thu, Jun 27, 2019 at 9:53 AM Steven Price <[email protected]> wrote:
> >
> > drm_gem_dumb_map_offset() is a useful helper for non-dumb clients, so
> > rename it to remove the _dumb and add a comment that it can be used by
> > shmem clients.
> >
> > Signed-off-by: Steven Price <[email protected]>
> > ---
> > drivers/gpu/drm/drm_dumb_buffers.c | 4 ++--
> > drivers/gpu/drm/drm_gem.c | 9 ++++++---
> > drivers/gpu/drm/exynos/exynos_drm_gem.c | 3 +--
> > include/drm/drm_gem.h | 4 ++--
> > 4 files changed, 11 insertions(+), 9 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/drm_dumb_buffers.c b/drivers/gpu/drm/drm_dumb_buffers.c
> > index d18a740fe0f1..b55cfc9e8772 100644
> > --- a/drivers/gpu/drm/drm_dumb_buffers.c
> > +++ b/drivers/gpu/drm/drm_dumb_buffers.c
> > @@ -48,7 +48,7 @@
> > * To support dumb objects drivers must implement the &drm_driver.dumb_create
> > * operation. &drm_driver.dumb_destroy defaults to drm_gem_dumb_destroy() if
> > * not set and &drm_driver.dumb_map_offset defaults to
> > - * drm_gem_dumb_map_offset(). See the callbacks for further details.
> > + * drm_gem_map_offset(). See the callbacks for further details.
> > *
> > * Note that dumb objects may not be used for gpu acceleration, as has been
> > * attempted on some ARM embedded platforms. Such drivers really must have
> > @@ -127,7 +127,7 @@ int drm_mode_mmap_dumb_ioctl(struct drm_device *dev,
> > args->handle,
> > &args->offset);
> > else
> > - return drm_gem_dumb_map_offset(file_priv, dev, args->handle,
> > + return drm_gem_map_offset(file_priv, dev, args->handle,
> > &args->offset);
> > }
> >
> > diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c
> > index a8c4468f03d9..62842b7701bb 100644
> > --- a/drivers/gpu/drm/drm_gem.c
> > +++ b/drivers/gpu/drm/drm_gem.c
> > @@ -298,7 +298,7 @@ drm_gem_handle_delete(struct drm_file *filp, u32 handle)
> > EXPORT_SYMBOL(drm_gem_handle_delete);
> >
> > /**
> > - * drm_gem_dumb_map_offset - return the fake mmap offset for a gem object
> > + * drm_gem_map_offset - return the fake mmap offset for a gem object
> > * @file: drm file-private structure containing the gem object
> > * @dev: corresponding drm_device
> > * @handle: gem object handle
> > @@ -307,10 +307,13 @@ EXPORT_SYMBOL(drm_gem_handle_delete);
> > * This implements the &drm_driver.dumb_map_offset kms driver callback for
> > * drivers which use gem to manage their backing storage.
> > *
> > + * It can also be used by drivers using the shmem backend as they have the
> > + * same restriction that imported objects cannot be mapped.
>
> Maybe better not to say 'shmem' explicitly or just mention it as an
> example so when we have a 2nd case we don't have to update the
> comment.
>
> ...drivers with GEM BO implementations which have the same...
>
> I can fix up and apply. Some other acks would be nice first.

Yeah kerneldoc is a bit suboptimal, with that polished, a-b: me. Yours
should be good enough though.
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch