All of lore.kernel.org
 help / color / mirror / Atom feed
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: Hemant Hariyani <hemanthariyani@ti.com>,
	Jyri Sarha <jsarha@ti.com>,
	dri-devel@lists.freedesktop.org
Subject: Re: [PATCHv3 06/30] drm/omap: Add support for render nodes
Date: Wed, 29 Mar 2017 11:22:14 +0300	[thread overview]
Message-ID: <2164229.gCdKc2AyjO@avalon> (raw)
In-Reply-To: <1490706496-4959-7-git-send-email-tomi.valkeinen@ti.com>

Hi Tomi,

Thank you for the patch.

On Tuesday 28 Mar 2017 16:07:52 Tomi Valkeinen wrote:
> From: Hemant Hariyani <hemanthariyani@ti.com>
> 
> Add support for render nodes in omap driver and allow required
> ioctls to be accessible via render nodes.

But the OMAP DSS doesn't perform rendering... This seems an abuse of render 
nodes, I think the API should instead be implemented by the GPU driver.

> This enables unprivileged clients to allocate resources like GEM buffers
> for rendering their content into. Mode setting (KMS ioctls) is not
> allowed using render nodes. These buffers are then shared with
> a previleged process (e.g compositor) that has mode setting access.
> 
> An example of this use case is Android where the hardware composer is
> the only master and has mode setting access. Every other client then
> uses render node(e.g /dev/dri/renderD128 to allocate and use its buffers.
> 
> Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
> ---
>  drivers/gpu/drm/omapdrm/omap_drv.c | 20 +++++++++++++-------
>  1 file changed, 13 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/gpu/drm/omapdrm/omap_drv.c
> b/drivers/gpu/drm/omapdrm/omap_drv.c index fe83efbbf127..ce0a1c04403d
> 100644
> --- a/drivers/gpu/drm/omapdrm/omap_drv.c
> +++ b/drivers/gpu/drm/omapdrm/omap_drv.c
> @@ -629,12 +629,18 @@ static int ioctl_gem_info(struct drm_device *dev, void
> *data, }
> 
>  static const struct drm_ioctl_desc ioctls[DRM_COMMAND_END -
> DRM_COMMAND_BASE] = { -	DRM_IOCTL_DEF_DRV(OMAP_GET_PARAM, 
ioctl_get_param,
> DRM_AUTH),
> -	DRM_IOCTL_DEF_DRV(OMAP_SET_PARAM, ioctl_set_param,
> DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), -	DRM_IOCTL_DEF_DRV(OMAP_GEM_NEW,
> ioctl_gem_new, DRM_AUTH),
> -	DRM_IOCTL_DEF_DRV(OMAP_GEM_CPU_PREP, ioctl_gem_cpu_prep, DRM_AUTH),
> -	DRM_IOCTL_DEF_DRV(OMAP_GEM_CPU_FINI, ioctl_gem_cpu_fini, DRM_AUTH),
> -	DRM_IOCTL_DEF_DRV(OMAP_GEM_INFO, ioctl_gem_info, DRM_AUTH),
> +	DRM_IOCTL_DEF_DRV(OMAP_GET_PARAM, ioctl_get_param,
> +			  DRM_AUTH | DRM_RENDER_ALLOW),
> +	DRM_IOCTL_DEF_DRV(OMAP_SET_PARAM, ioctl_set_param,
> +			  DRM_AUTH | DRM_MASTER | DRM_ROOT_ONLY),
> +	DRM_IOCTL_DEF_DRV(OMAP_GEM_NEW, ioctl_gem_new,
> +			  DRM_AUTH | DRM_RENDER_ALLOW),
> +	DRM_IOCTL_DEF_DRV(OMAP_GEM_CPU_PREP, ioctl_gem_cpu_prep,
> +			  DRM_AUTH | DRM_RENDER_ALLOW),
> +	DRM_IOCTL_DEF_DRV(OMAP_GEM_CPU_FINI, ioctl_gem_cpu_fini,
> +			  DRM_AUTH | DRM_RENDER_ALLOW),
> +	DRM_IOCTL_DEF_DRV(OMAP_GEM_INFO, ioctl_gem_info,
> +			  DRM_AUTH | DRM_RENDER_ALLOW),
>  };
> 
>  /*
> @@ -724,7 +730,7 @@ static const struct file_operations omapdriver_fops = {
> 
>  static struct drm_driver omap_drm_driver = {
>  	.driver_features = DRIVER_MODESET | DRIVER_GEM  | DRIVER_PRIME |
> -		DRIVER_ATOMIC,
> +		DRIVER_ATOMIC | DRIVER_RENDER,
>  	.open = dev_open,
>  	.lastclose = dev_lastclose,
>  #ifdef CONFIG_DEBUG_FS

-- 
Regards,

Laurent Pinchart

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2017-03-29  8:21 UTC|newest]

Thread overview: 71+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-28 13:07 [PATCHv3 00/30] drm/omap: miscallaneous improvements Tomi Valkeinen
2017-03-28 13:07 ` [PATCHv3 01/30] drm/omap: work-around for errata i886 Tomi Valkeinen
2017-03-29  8:00   ` Laurent Pinchart
2017-03-28 13:07 ` [PATCHv3 02/30] drm/omap: refactor CRTC HW property setup Tomi Valkeinen
2017-03-29  8:05   ` Laurent Pinchart
2017-03-29  8:12     ` Tomi Valkeinen
2017-03-28 13:07 ` [PATCHv3 03/30] drm/omap: remove divider constraint from hsdiv Tomi Valkeinen
2017-03-29  8:09   ` Laurent Pinchart
2017-03-28 13:07 ` [PATCHv3 04/30] drm/omap: decrease min width & height Tomi Valkeinen
2017-03-29  8:13   ` Laurent Pinchart
2017-03-29  8:23     ` Tomi Valkeinen
2017-03-29  8:24       ` Laurent Pinchart
2017-03-29  8:26         ` Tomi Valkeinen
2017-03-29  8:30           ` Laurent Pinchart
2017-03-29  8:43             ` Tomi Valkeinen
2017-03-28 13:07 ` [PATCHv3 05/30] drm/omap: improve DPI clock selection on DRA7xx Tomi Valkeinen
2017-03-29  8:19   ` Laurent Pinchart
2017-03-29  8:36     ` Tomi Valkeinen
2017-03-28 13:07 ` [PATCHv3 06/30] drm/omap: Add support for render nodes Tomi Valkeinen
2017-03-29  8:22   ` Laurent Pinchart [this message]
2017-03-29  8:58     ` Tomi Valkeinen
2017-03-29 12:20       ` Laurent Pinchart
2017-03-29 12:51         ` David Herrmann
2017-03-29 21:42           ` Laurent Pinchart
2017-03-30  6:44             ` David Herrmann
2017-03-30  7:43               ` Daniel Vetter
2017-03-28 13:07 ` [PATCHv3 07/30] drm/omap: fix HDMI sync polarities Tomi Valkeinen
2017-03-29  8:26   ` Laurent Pinchart
2017-03-28 13:07 ` [PATCHv3 08/30] drm/omap: add omapdss-base.ko Tomi Valkeinen
2017-03-28 13:07 ` [PATCHv3 09/30] drm/omap: move dss_initialized to omapdss-base Tomi Valkeinen
2017-03-28 13:07 ` [PATCHv3 10/30] drm/omap: output: use dev_err instead of DSSERR Tomi Valkeinen
2017-03-29  8:32   ` Laurent Pinchart
2017-03-28 13:07 ` [PATCHv3 11/30] drm/omap: display: don't use dsi_get_pixel_size() Tomi Valkeinen
2017-03-28 13:07 ` [PATCHv3 12/30] drm/omap: move display, dss-of, output to omapdss-base Tomi Valkeinen
2017-03-28 13:07 ` [PATCHv3 13/30] drm/omap: move dispc related dss-feat funcs to dispc Tomi Valkeinen
2017-03-28 13:08 ` [PATCHv3 14/30] drm/omap: add dispc_ops Tomi Valkeinen
2017-03-28 13:08 ` [PATCHv3 15/30] drm/omap: fill dispc_ops Tomi Valkeinen
2017-03-28 13:08 ` [PATCHv3 16/30] drm/omap: use dispc_ops Tomi Valkeinen
2017-03-28 13:08 ` [PATCHv3 17/30] drm/omap: remove all EXPORT_SYMBOLs from dispc.c Tomi Valkeinen
2017-03-28 13:08 ` [PATCHv3 18/30] drm/omap: remove unused dispc_wb_enable & dispc_wb_is_enabled Tomi Valkeinen
2017-03-29 11:46   ` Laurent Pinchart
2017-03-28 13:08 ` [PATCHv3 19/30] drm/omap: fix replication logic Tomi Valkeinen
2017-03-29 11:45   ` Laurent Pinchart
2017-03-28 13:08 ` [PATCHv3 20/30] drm/omap: dss: Functions to check components in the display/output list Tomi Valkeinen
2017-03-28 13:08 ` [PATCHv3 21/30] drm/omap: dss: Support for detecting display stack readiness Tomi Valkeinen
2017-03-28 13:08 ` [PATCHv3 22/30] drm/omap: Use omapdss_stack_is_ready() to check that the display stack is up Tomi Valkeinen
2017-03-28 13:08 ` [PATCHv3 23/30] drm/omap: fix plane update warning when crtc is disabled Tomi Valkeinen
2017-03-29 10:30   ` Laurent Pinchart
2017-03-30 10:28     ` Tomi Valkeinen
2017-03-28 13:08 ` [PATCHv3 24/30] drm/omap: display: Add displays in sorted order to the panel_list Tomi Valkeinen
2017-03-29 10:08   ` Laurent Pinchart
2017-03-30 10:58     ` Tomi Valkeinen
2017-03-28 13:08 ` [PATCHv3 25/30] drm/omap: poll only connectors where the connect/disconnect can be checked Tomi Valkeinen
2017-03-29  9:26   ` Laurent Pinchart
2017-03-28 13:08 ` [PATCHv3 26/30] drm/omap: displays: panel-dpi: Support for handling backlight devices Tomi Valkeinen
2017-03-29  9:13   ` Laurent Pinchart
2017-03-28 13:08 ` [PATCHv3 27/30] drm/omap: dispc: improve debug print of display flags Tomi Valkeinen
2017-03-29  9:00   ` Laurent Pinchart
2017-03-29 10:27     ` Tomi Valkeinen
2017-03-28 13:08 ` [PATCHv3 28/30] drm/omap: fix display SYNC/DE flags Tomi Valkeinen
2017-03-29  8:58   ` Laurent Pinchart
2017-03-29 10:09     ` Tomi Valkeinen
2017-03-28 13:08 ` [PATCHv3 29/30] drm/omap: use drm_atomic_helper_shutdown() Tomi Valkeinen
2017-03-29  8:49   ` Laurent Pinchart
2017-03-29  9:08     ` Tomi Valkeinen
2017-03-29  9:11       ` Laurent Pinchart
2017-03-29  9:22         ` Tomi Valkeinen
2017-03-28 13:08 ` [PATCHv3 30/30] drm/omap: fix crash on module unload Tomi Valkeinen
2017-03-29  8:38   ` Laurent Pinchart
2017-03-29 12:09 ` [PATCHv3 00/30] drm/omap: miscallaneous improvements Laurent Pinchart
2017-03-29 14:19   ` Tomi Valkeinen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2164229.gCdKc2AyjO@avalon \
    --to=laurent.pinchart@ideasonboard.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=hemanthariyani@ti.com \
    --cc=jsarha@ti.com \
    --cc=tomi.valkeinen@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.