[PATCH v2 3/3] imx: gallium driver for imx-drm scanout driver

Emil Velikov emil.l.velikov at gmail.com
Tue Jan 10 13:22:24 UTC 2017


Hi Christian,

Similar to 2/3 there's a few trivial nitpicks which can be addressed
at a later stage.

On 23 December 2016 at 22:04, Christian Gmeiner
<christian.gmeiner at gmail.com> wrote:
> Changes from V1 -> V2:
>  - updated Copyright
>  - added $(top_srcdir)/src/gallium/winsys to include path (suggested by Emil)
>  - adapted driver to new renderonly API
>
> Signed-off-by: Christian Gmeiner <christian.gmeiner at gmail.com>
> ---
>  configure.ac                                       | 12 ++++++
>  src/gallium/Makefile.am                            |  4 ++
>  .../auxiliary/pipe-loader/pipe_loader_drm.c        |  5 +++
>  src/gallium/auxiliary/target-helpers/drm_helper.h  | 24 +++++++++++
>  .../auxiliary/target-helpers/drm_helper_public.h   |  3 ++
>  src/gallium/drivers/imx/Automake.inc               |  9 ++++
>  src/gallium/drivers/imx/Makefile.am                |  9 ++++
>  src/gallium/targets/dri/Makefile.am                |  1 +
>  src/gallium/targets/dri/target.c                   |  8 ++++
>  src/gallium/winsys/imx/drm/Makefile.am             | 34 +++++++++++++++
>  src/gallium/winsys/imx/drm/Makefile.sources        |  3 ++
>  src/gallium/winsys/imx/drm/imx_drm_public.h        | 34 +++++++++++++++
>  src/gallium/winsys/imx/drm/imx_drm_winsys.c        | 50 ++++++++++++++++++++++
>  13 files changed, 196 insertions(+)
>  create mode 100644 src/gallium/drivers/imx/Automake.inc
>  create mode 100644 src/gallium/drivers/imx/Makefile.am
>  create mode 100644 src/gallium/winsys/imx/drm/Makefile.am
>  create mode 100644 src/gallium/winsys/imx/drm/Makefile.sources
>  create mode 100644 src/gallium/winsys/imx/drm/imx_drm_public.h
>  create mode 100644 src/gallium/winsys/imx/drm/imx_drm_winsys.c
>
> diff --git a/configure.ac b/configure.ac
> index 0b98ce8..59c4064 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -2512,6 +2512,9 @@ if test -n "$with_gallium_drivers"; then
>              PKG_CHECK_MODULES([ETNAVIV], [libdrm_etnaviv >= $LIBDRM_ETNAVIV_REQUIRED])
>              require_libdrm "etnaviv"
>              ;;
> +       ximx)
> +            HAVE_GALLIUM_IMX=yes
> +            ;;
Update help string for --with-gallium-drivers.


> --- /dev/null
> +++ b/src/gallium/drivers/imx/Makefile.am
> @@ -0,0 +1,9 @@
> +include $(top_srcdir)/src/gallium/Automake.inc
> +
> +AM_CPPFLAGS = \
> +       $(GALLIUM_CFLAGS) \
> +       $(IMX_CFLAGS)
IMX_CFLAGS is empty, please remove.


> new file mode 100644
> index 0000000..d155b2e
> --- /dev/null
> +++ b/src/gallium/winsys/imx/drm/Makefile.am


> +include Makefile.sources
> +include $(top_srcdir)/src/gallium/Automake.inc
> +
> +AM_CFLAGS = \
> +       -I$(top_srcdir)/src/gallium/drivers \
> +       -I$(top_srcdir)/src/gallium/winsys \
> +       $(GALLIUM_WINSYS_CFLAGS) \
> +       $(IMX_CFLAGS)
Ditto.

> +
> +noinst_LTLIBRARIES = libimxdrm.la
> +
> +libimxdrm_la_SOURCES = $(C_SOURCES)
> \ No newline at end of file
Add newline ?

> diff --git a/src/gallium/winsys/imx/drm/Makefile.sources b/src/gallium/winsys/imx/drm/Makefile.sources
> new file mode 100644
> index 0000000..3c0d6fb
> --- /dev/null
> +++ b/src/gallium/winsys/imx/drm/Makefile.sources
> @@ -0,0 +1,3 @@
> +C_SOURCES := \
> +   imx_drm_public.h \
> +   imx_drm_winsys.c
> \ No newline at end of file
Ditto.

> --- /dev/null
> +++ b/src/gallium/winsys/imx/drm/imx_drm_winsys.c

> +struct pipe_screen *imx_drm_screen_create(int fd)
> +{
> +   struct renderonly ro = {
> +      .create_for_resource = renderonly_create_kms_dumb_buffer_for_resource,
> +      .kms_fd = fd,
> +      .gpu_fd = open("/dev/dri/renderD128", O_RDWR | O_CLOEXEC)
As we get Thierry's libdrm work we can polish the heuristics. But this
will be fine for now.

Emil


More information about the etnaviv mailing list