From: Gustavo Padovan <gustavo@padovan.org>
To: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Javier Martinez Canillas <javier@osg.samsung.com>,
Krzysztof Kozlowski <k.kozlowski@samsung.com>,
linux-samsung-soc@vger.kernel.org,
Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
Seung-Woo Kim <sw0312.kim@samsung.com>,
dri-devel@lists.freedesktop.org,
Andrzej Hajda <a.hajda@samsung.com>,
Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
Subject: Re: [PATCH 14/25] drm/exynos: introduce exynos_drm_plane_config structure
Date: Fri, 13 Nov 2015 10:08:59 -0200 [thread overview]
Message-ID: <20151113120859.GJ2264@joana> (raw)
In-Reply-To: <1447161821-1877-15-git-send-email-m.szyprowski@samsung.com>
Hi Marek,
2015-11-10 Marek Szyprowski <m.szyprowski@samsung.com>:
> This patch adds common structure for keeping plane configuration and
> capabilities data. This patch is inspired by similar code developed by
> Tobias Jakobi.
>
> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> ---
> drivers/gpu/drm/exynos/exynos5433_drm_decon.c | 18 +++++++---
> drivers/gpu/drm/exynos/exynos7_drm_decon.c | 23 +++++++-----
> drivers/gpu/drm/exynos/exynos_drm_drv.h | 22 ++++++++++++
> drivers/gpu/drm/exynos/exynos_drm_fimd.c | 25 ++++++++-----
> drivers/gpu/drm/exynos/exynos_drm_plane.c | 34 ++++++++----------
> drivers/gpu/drm/exynos/exynos_drm_plane.h | 7 ++--
> drivers/gpu/drm/exynos/exynos_drm_vidi.c | 25 ++++++++-----
> drivers/gpu/drm/exynos/exynos_mixer.c | 51 ++++++++++++++++-----------
> 8 files changed, 131 insertions(+), 74 deletions(-)
>
> diff --git a/drivers/gpu/drm/exynos/exynos5433_drm_decon.c b/drivers/gpu/drm/exynos/exynos5433_drm_decon.c
> index 27039468364b..3c8b8e0240fe 100644
> --- a/drivers/gpu/drm/exynos/exynos5433_drm_decon.c
> +++ b/drivers/gpu/drm/exynos/exynos5433_drm_decon.c
> @@ -26,7 +26,6 @@
> #include "exynos_drm_iommu.h"
>
> #define WINDOWS_NR 3
> -#define CURSOR_WIN 2
> #define MIN_FB_WIDTH_FOR_16WORD_BURST 128
>
> static const char * const decon_clks_name[] = {
> @@ -57,6 +56,7 @@ struct decon_context {
> struct drm_device *drm_dev;
> struct exynos_drm_crtc *crtc;
> struct exynos_drm_plane planes[WINDOWS_NR];
> + struct exynos_drm_plane_config configs[WINDOWS_NR];
> void __iomem *addr;
> struct clk *clks[ARRAY_SIZE(decon_clks_name)];
> int pipe;
> @@ -72,6 +72,12 @@ static const uint32_t decon_formats[] = {
> DRM_FORMAT_ARGB8888,
> };
>
> +static const enum drm_plane_type decon_win_types[WINDOWS_NR] = {
> + DRM_PLANE_TYPE_PRIMARY,
> + DRM_PLANE_TYPE_OVERLAY,
> + DRM_PLANE_TYPE_CURSOR,
> +};
> +
> static inline void decon_set_bits(struct decon_context *ctx, u32 reg, u32 mask,
> u32 val)
> {
> @@ -499,7 +505,6 @@ static int decon_bind(struct device *dev, struct device *master, void *data)
> struct exynos_drm_private *priv = drm_dev->dev_private;
> struct exynos_drm_plane *exynos_plane;
> enum exynos_drm_output_type out_type;
> - enum drm_plane_type type;
> unsigned int win;
> int ret;
>
> @@ -509,10 +514,13 @@ static int decon_bind(struct device *dev, struct device *master, void *data)
> for (win = ctx->first_win; win < WINDOWS_NR; win++) {
> int tmp = (win == ctx->first_win) ? 0 : win;
>
> - type = exynos_plane_get_type(tmp, CURSOR_WIN);
> + ctx->configs[win].pixel_formats = decon_formats;
> + ctx->configs[win].num_pixel_formats = ARRAY_SIZE(decon_formats);
> + ctx->configs[win].zpos = win;
> + ctx->configs[win].type = decon_win_types[tmp];
> +
> ret = exynos_plane_init(drm_dev, &ctx->planes[win],
> - 1 << ctx->pipe, type, decon_formats,
> - ARRAY_SIZE(decon_formats), win);
> + 1 << ctx->pipe, &ctx->configs[win]);
> if (ret)
> return ret;
> }
> diff --git a/drivers/gpu/drm/exynos/exynos7_drm_decon.c b/drivers/gpu/drm/exynos/exynos7_drm_decon.c
> index 7868d30d8eac..6b28e3f73e4e 100644
> --- a/drivers/gpu/drm/exynos/exynos7_drm_decon.c
> +++ b/drivers/gpu/drm/exynos/exynos7_drm_decon.c
> @@ -41,13 +41,13 @@
> #define MIN_FB_WIDTH_FOR_16WORD_BURST 128
>
> #define WINDOWS_NR 2
> -#define CURSOR_WIN 1
>
> struct decon_context {
> struct device *dev;
> struct drm_device *drm_dev;
> struct exynos_drm_crtc *crtc;
> struct exynos_drm_plane planes[WINDOWS_NR];
> + struct exynos_drm_plane_config configs[WINDOWS_NR];
> struct clk *pclk;
> struct clk *aclk;
> struct clk *eclk;
> @@ -82,6 +82,11 @@ static const uint32_t decon_formats[] = {
> DRM_FORMAT_BGRA8888,
> };
>
> +static const enum drm_plane_type decon_win_types[WINDOWS_NR] = {
> + DRM_PLANE_TYPE_PRIMARY,
> + DRM_PLANE_TYPE_CURSOR,
> +};
> +
> static void decon_wait_for_vblank(struct exynos_drm_crtc *crtc)
> {
> struct decon_context *ctx = crtc->ctx;
> @@ -672,8 +677,7 @@ static int decon_bind(struct device *dev, struct device *master, void *data)
> struct decon_context *ctx = dev_get_drvdata(dev);
> struct drm_device *drm_dev = data;
> struct exynos_drm_plane *exynos_plane;
> - enum drm_plane_type type;
> - unsigned int zpos;
> + unsigned int i;
> int ret;
>
> ret = decon_ctx_initialize(ctx, drm_dev);
> @@ -682,11 +686,14 @@ static int decon_bind(struct device *dev, struct device *master, void *data)
> return ret;
> }
>
> - for (zpos = 0; zpos < WINDOWS_NR; zpos++) {
> - type = exynos_plane_get_type(zpos, CURSOR_WIN);
> - ret = exynos_plane_init(drm_dev, &ctx->planes[zpos],
> - 1 << ctx->pipe, type, decon_formats,
> - ARRAY_SIZE(decon_formats), zpos);
> + for (i = 0; i < WINDOWS_NR; i++) {
> + ctx->configs[i].pixel_formats = decon_formats;
> + ctx->configs[i].num_pixel_formats = ARRAY_SIZE(decon_formats);
> + ctx->configs[i].zpos = i;
> + ctx->configs[i].type = decon_win_types[i];
> +
> + ret = exynos_plane_init(drm_dev, &ctx->planes[i],
> + 1 << ctx->pipe, &ctx->configs[i]);
> if (ret)
> return ret;
> }
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.h b/drivers/gpu/drm/exynos/exynos_drm_drv.h
> index 482ed2c2ed89..9624855128a1 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_drv.h
> +++ b/drivers/gpu/drm/exynos/exynos_drm_drv.h
> @@ -84,10 +84,32 @@ to_exynos_plane_state(struct drm_plane_state *state)
>
> struct exynos_drm_plane {
> struct drm_plane base;
> + const struct exynos_drm_plane_config *config;
> unsigned int zpos;
> struct drm_framebuffer *pending_fb;
> };
>
> +#define EXYNOS_DRM_PLANE_CAP_DOUBLE_X (1 << 0)
> +#define EXYNOS_DRM_PLANE_CAP_DOUBLE_Y (1 << 1)
I would leave this for a follow-up patch and keep only the change to
plane config on this one.
> +
> +/*
> + * Exynos DRM plane configuration structure.
> + *
> + * @zpos: z-position of the plane.
> + * @type: type of the plane (primary, cursor or overlay).
> + * @pixel_formats: supported pixel formats.
> + * @num_pixel_formats: number of elements in 'pixel_formats'.
> + * @capabilities: supported features (see EXYNOS_DRM_PLANE_CAP_*)
> + */
> +
> +struct exynos_drm_plane_config {
> + unsigned int zpos;
> + enum drm_plane_type type;
> + const uint32_t *pixel_formats;
> + unsigned int num_pixel_formats;
> + unsigned int capabilities;
> +};
> +
> /*
> * Exynos drm crtc ops
> *
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
> index 40fa621e3963..44226b2b46c7 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
> @@ -88,7 +88,6 @@
>
> /* FIMD has totally five hardware windows. */
> #define WINDOWS_NR 5
> -#define CURSOR_WIN 4
>
> struct fimd_driver_data {
> unsigned int timing_base;
> @@ -151,6 +150,7 @@ struct fimd_context {
> struct drm_device *drm_dev;
> struct exynos_drm_crtc *crtc;
> struct exynos_drm_plane planes[WINDOWS_NR];
> + struct exynos_drm_plane_config configs[WINDOWS_NR];
> struct clk *bus_clk;
> struct clk *lcd_clk;
> void __iomem *regs;
> @@ -188,6 +188,14 @@ static const struct of_device_id fimd_driver_dt_match[] = {
> };
> MODULE_DEVICE_TABLE(of, fimd_driver_dt_match);
>
> +static const enum drm_plane_type fimd_win_types[WINDOWS_NR] = {
> + DRM_PLANE_TYPE_PRIMARY,
> + DRM_PLANE_TYPE_OVERLAY,
> + DRM_PLANE_TYPE_OVERLAY,
> + DRM_PLANE_TYPE_OVERLAY,
> + DRM_PLANE_TYPE_CURSOR,
> +};
> +
> static const uint32_t fimd_formats[] = {
> DRM_FORMAT_C8,
> DRM_FORMAT_XRGB1555,
> @@ -944,18 +952,19 @@ static int fimd_bind(struct device *dev, struct device *master, void *data)
> struct drm_device *drm_dev = data;
> struct exynos_drm_private *priv = drm_dev->dev_private;
> struct exynos_drm_plane *exynos_plane;
> - enum drm_plane_type type;
> - unsigned int zpos;
> + unsigned int i;
> int ret;
>
> ctx->drm_dev = drm_dev;
> ctx->pipe = priv->pipe++;
>
> - for (zpos = 0; zpos < WINDOWS_NR; zpos++) {
> - type = exynos_plane_get_type(zpos, CURSOR_WIN);
> - ret = exynos_plane_init(drm_dev, &ctx->planes[zpos],
> - 1 << ctx->pipe, type, fimd_formats,
> - ARRAY_SIZE(fimd_formats), zpos);
> + for (i = 0; i < WINDOWS_NR; i++) {
> + ctx->configs[i].pixel_formats = fimd_formats;
> + ctx->configs[i].num_pixel_formats = ARRAY_SIZE(fimd_formats);
> + ctx->configs[i].zpos = i;
> + ctx->configs[i].type = fimd_win_types[i];
> + ret = exynos_plane_init(drm_dev, &ctx->planes[i],
> + 1 << ctx->pipe, &ctx->configs[i]);
> if (ret)
> return ret;
> }
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_plane.c b/drivers/gpu/drm/exynos/exynos_drm_plane.c
> index 365a738042e2..b620d7a76799 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_plane.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_plane.c
> @@ -246,28 +246,20 @@ static void exynos_plane_attach_zpos_property(struct drm_plane *plane,
> drm_object_attach_property(&plane->base, prop, zpos);
> }
>
> -enum drm_plane_type exynos_plane_get_type(unsigned int zpos,
> - unsigned int cursor_win)
> -{
> - if (zpos == DEFAULT_WIN)
> - return DRM_PLANE_TYPE_PRIMARY;
> - else if (zpos == cursor_win)
> - return DRM_PLANE_TYPE_CURSOR;
> - else
> - return DRM_PLANE_TYPE_OVERLAY;
> -}
> -
> int exynos_plane_init(struct drm_device *dev,
> struct exynos_drm_plane *exynos_plane,
> - unsigned long possible_crtcs, enum drm_plane_type type,
> - const uint32_t *formats, unsigned int fcount,
> - unsigned int zpos)
> + unsigned long possible_crtcs,
> + const struct exynos_drm_plane_config *config)
> {
> int err;
>
> - err = drm_universal_plane_init(dev, &exynos_plane->base, possible_crtcs,
> - &exynos_plane_funcs, formats, fcount,
> - type);
> + err = drm_universal_plane_init(dev, &exynos_plane->base,
> + possible_crtcs,
> + &exynos_plane_funcs,
> + config->pixel_formats,
> + config->num_pixel_formats,
> + config->type);
> +
> if (err) {
> DRM_ERROR("failed to initialize plane\n");
> return err;
> @@ -275,10 +267,12 @@ int exynos_plane_init(struct drm_device *dev,
>
> drm_plane_helper_add(&exynos_plane->base, &plane_helper_funcs);
>
> - exynos_plane->zpos = zpos;
> + exynos_plane->zpos = config->zpos;
> + exynos_plane->config = config;
>
> - if (type == DRM_PLANE_TYPE_OVERLAY)
> - exynos_plane_attach_zpos_property(&exynos_plane->base, zpos);
> + if (config->type == DRM_PLANE_TYPE_OVERLAY)
> + exynos_plane_attach_zpos_property(&exynos_plane->base,
> + config->zpos);
>
> return 0;
> }
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_plane.h b/drivers/gpu/drm/exynos/exynos_drm_plane.h
> index abb641e64c23..0dd096548284 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_plane.h
> +++ b/drivers/gpu/drm/exynos/exynos_drm_plane.h
> @@ -9,10 +9,7 @@
> *
> */
>
> -enum drm_plane_type exynos_plane_get_type(unsigned int zpos,
> - unsigned int cursor_win);
> int exynos_plane_init(struct drm_device *dev,
> struct exynos_drm_plane *exynos_plane,
> - unsigned long possible_crtcs, enum drm_plane_type type,
> - const uint32_t *formats, unsigned int fcount,
> - unsigned int zpos);
> + unsigned long possible_crtcs,
> + const struct exynos_drm_plane_config *config);
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_vidi.c b/drivers/gpu/drm/exynos/exynos_drm_vidi.c
> index 3ce141236fad..90701647aef1 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_vidi.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_vidi.c
> @@ -30,7 +30,6 @@
>
> /* vidi has totally three virtual windows. */
> #define WINDOWS_NR 3
> -#define CURSOR_WIN 2
>
> #define ctx_from_connector(c) container_of(c, struct vidi_context, \
> connector)
> @@ -90,6 +89,12 @@ static const uint32_t formats[] = {
> DRM_FORMAT_NV12,
> };
>
> +static const enum drm_plane_type vidi_win_types[WINDOWS_NR] = {
> + DRM_PLANE_TYPE_PRIMARY,
> + DRM_PLANE_TYPE_OVERLAY,
> + DRM_PLANE_TYPE_CURSOR,
> +};
> +
> static int vidi_enable_vblank(struct exynos_drm_crtc *crtc)
> {
> struct vidi_context *ctx = crtc->ctx;
> @@ -442,17 +447,21 @@ static int vidi_bind(struct device *dev, struct device *master, void *data)
> struct drm_device *drm_dev = data;
> struct drm_encoder *encoder = &ctx->encoder;
> struct exynos_drm_plane *exynos_plane;
> - enum drm_plane_type type;
> - unsigned int zpos;
> + struct exynos_drm_plane_config plane_config = { 0 };
> + unsigned int i;
> int pipe, ret;
>
> vidi_ctx_initialize(ctx, drm_dev);
>
> - for (zpos = 0; zpos < WINDOWS_NR; zpos++) {
> - type = exynos_plane_get_type(zpos, CURSOR_WIN);
> - ret = exynos_plane_init(drm_dev, &ctx->planes[zpos],
> - 1 << ctx->pipe, type, formats,
> - ARRAY_SIZE(formats), zpos);
> + plane_config.pixel_formats = formats;
> + plane_config.num_pixel_formats = ARRAY_SIZE(formats);
> +
> + for (i = 0; i < WINDOWS_NR; i++) {
> + plane_config.zpos = i;
> + plane_config.type = vidi_win_types(i);
> +
> + ret = exynos_plane_init(drm_dev, &ctx->planes[i],
> + 1 << ctx->pipe, &plane_config);
> if (ret)
> return ret;
> }
> diff --git a/drivers/gpu/drm/exynos/exynos_mixer.c b/drivers/gpu/drm/exynos/exynos_mixer.c
> index 015e85cabcc9..cdec3c1827c6 100644
> --- a/drivers/gpu/drm/exynos/exynos_mixer.c
> +++ b/drivers/gpu/drm/exynos/exynos_mixer.c
> @@ -43,7 +43,6 @@
>
> #define MIXER_WIN_NR 3
> #define VP_DEFAULT_WIN 2
> -#define CURSOR_WIN 1
>
> /* The pixelformats that are natively supported by the mixer. */
> #define MXR_FORMAT_RGB565 4
> @@ -112,6 +111,31 @@ struct mixer_drv_data {
> bool has_sclk;
> };
>
> +static const struct exynos_drm_plane_config plane_configs[MIXER_WIN_NR] = {
> + {
> + .zpos = 0,
> + .type = DRM_PLANE_TYPE_PRIMARY,
> + .pixel_formats = mixer_formats,
> + .num_pixel_formats = ARRAY_SIZE(mixer_formats),
> + .capabilities = EXYNOS_DRM_PLANE_CAP_DOUBLE_X |
> + EXYNOS_DRM_PLANE_CAP_DOUBLE_Y,
> + }, {
> + .zpos = 1,
> + .type = DRM_PLANE_TYPE_CURSOR,
> + .pixel_formats = mixer_formats,
> + .num_pixel_formats = ARRAY_SIZE(mixer_formats),
> + .capabilities = EXYNOS_DRM_PLANE_CAP_DOUBLE_X |
> + EXYNOS_DRM_PLANE_CAP_DOUBLE_Y,
> + }, {
> + .zpos = 2,
> + .type = DRM_PLANE_TYPE_OVERLAY,
> + .pixel_formats = vp_formats,
> + .num_pixel_formats = ARRAY_SIZE(vp_formats),
> + .capabilities = EXYNOS_DRM_PLANE_CAP_DOUBLE_X |
> + EXYNOS_DRM_PLANE_CAP_DOUBLE_Y,
> + },
> +};
> +
> static const u8 filter_y_horiz_tap8[] = {
> 0, -1, -1, -1, -1, -1, -1, -1,
> -1, -1, -1, -1, -1, 0, 0, 0,
> @@ -1188,38 +1212,25 @@ static struct of_device_id mixer_match_types[] = {
> };
> MODULE_DEVICE_TABLE(of, mixer_match_types);
>
> +
nitpick: Extra blank line here.
Gustavo
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2015-11-13 12:08 UTC|newest]
Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-10 13:23 [PATCH 00/25] Exynos DRM: new life of IPP (Image Post Processing) subsystem Marek Szyprowski
2015-11-10 13:23 ` [PATCH 01/25] ARM: dts: exynos4: add rotator nodes Marek Szyprowski
2015-11-13 2:23 ` Krzysztof Kozlowski
2015-11-13 8:31 ` Marek Szyprowski
2015-11-13 8:35 ` Krzysztof Kozlowski
2015-11-13 13:29 ` [PATCH v2 1/4] " Marek Szyprowski
2015-11-13 13:29 ` [PATCH v2 2/4] ARM: dts: exynos4: fix power domain for sysmmu-rotator device Marek Szyprowski
2015-11-14 11:37 ` Krzysztof Kozlowski
2015-11-13 13:29 ` [PATCH v2 3/4] ARM: dts: exynos5250: add rotator node Marek Szyprowski
2015-11-14 11:37 ` Krzysztof Kozlowski
2015-11-13 13:29 ` [PATCH v2 4/4] ARM: dts: exynos542x: " Marek Szyprowski
2015-11-14 11:37 ` Krzysztof Kozlowski
2015-11-14 11:37 ` [PATCH v2 1/4] ARM: dts: exynos4: add rotator nodes Krzysztof Kozlowski
2015-11-13 2:29 ` [PATCH 01/25] " Krzysztof Kozlowski
2015-11-13 8:32 ` Marek Szyprowski
2015-11-13 8:36 ` Krzysztof Kozlowski
2015-11-10 13:23 ` [PATCH 02/25] ARM: dts: exynos542x: add rotator node Marek Szyprowski
2015-11-13 2:28 ` Krzysztof Kozlowski
2015-11-10 13:23 ` [PATCH 03/25] drm/exynos: gsc: prepare and unprepare gsc clock Marek Szyprowski
2015-11-12 15:11 ` Gustavo Padovan
2015-11-10 13:23 ` [PATCH 04/25] drm/exynos: gsc: fix wrong pm_runtime state Marek Szyprowski
2015-11-12 15:12 ` Gustavo Padovan
2015-11-10 13:23 ` [PATCH 05/25] drm/exynos: gsc: add device tree support and remove usage of static mappings Marek Szyprowski
2015-11-10 13:23 ` [PATCH 06/25] drm/exynos: fix to calculate offset of each plane for ipp fimc Marek Szyprowski
2015-11-12 15:20 ` Tobias Jakobi
2015-11-13 9:19 ` Marek Szyprowski
2015-11-10 13:23 ` [PATCH 07/25] drm/exynos: fix to calculate offset of each plane for ipp gsc Marek Szyprowski
2015-11-10 13:23 ` [PATCH 08/25] drm/exynos: rotator: convert to common clock framework Marek Szyprowski
2015-11-12 18:13 ` Gustavo Padovan
2015-11-10 13:23 ` [PATCH 09/25] drm/exynos: exynos7-decon: remove excessive check Marek Szyprowski
2015-11-12 18:15 ` Gustavo Padovan
2015-11-10 13:23 ` [PATCH 10/25] drm/exynos: move dma_addr attribute from exynos plane to exynos fb Marek Szyprowski
2015-11-12 18:25 ` Gustavo Padovan
2015-11-10 13:23 ` [PATCH 11/25] drm/exynos: introduce exynos_drm_plane_state structure Marek Szyprowski
2015-11-13 11:46 ` Gustavo Padovan
2015-11-10 13:23 ` [PATCH 12/25] drm/exynos: mixer: use crtc->state->adjusted_mode instead of crtc->mode Marek Szyprowski
2015-11-13 11:47 ` Gustavo Padovan
2015-11-10 13:23 ` [PATCH 13/25] drm/exynos: mixer: enable video overlay plane only when VP is available Marek Szyprowski
2015-11-13 11:49 ` Gustavo Padovan
2015-11-10 13:23 ` [PATCH 14/25] drm/exynos: introduce exynos_drm_plane_config structure Marek Szyprowski
2015-11-13 12:08 ` Gustavo Padovan [this message]
2015-11-17 18:00 ` Tobias Jakobi
2015-11-18 10:25 ` Marek Szyprowski
2015-11-18 15:40 ` Tobias Jakobi
2015-11-19 10:34 ` Marek Szyprowski
2015-11-10 13:23 ` [PATCH 15/25] drm/exynos: add generic check for plane state Marek Szyprowski
2015-11-13 12:30 ` Gustavo Padovan
2015-11-10 13:23 ` [PATCH 16/25] drm/exynos: mixer: use ratio precalculated in exynos_state Marek Szyprowski
2015-11-13 12:35 ` Gustavo Padovan
2015-11-10 13:23 ` [PATCH 17/25] drm/exynos: fix clipping when scalling is enabled Marek Szyprowski
2015-11-17 18:17 ` Tobias Jakobi
2015-11-10 13:23 ` [PATCH 18/25] drm/exynos: fimd: fix dma burst size setting for small plane size Marek Szyprowski
2015-11-12 15:17 ` Tobias Jakobi
2015-11-12 15:23 ` Daniel Stone
2015-11-10 13:23 ` [PATCH 19/25] drm/exynos: add fb pointer to exynos_drm_plane_state Marek Szyprowski
2015-11-10 13:23 ` [PATCH 20/25] drm/exynos: gem: set default alignment for dumb GEM buffers Marek Szyprowski
2015-11-10 13:23 ` [PATCH 21/25] drm/exynos: gem: remove old unused prototypes Marek Szyprowski
2015-11-10 13:23 ` [PATCH 22/25] drm/exynos: gem: simplify access to exynos gem object Marek Szyprowski
2015-11-10 13:23 ` [PATCH 23/25] drm/exynos: ipp: make framework context global Marek Szyprowski
2015-11-10 13:23 ` [PATCH 24/25] drm/exynos: add generic plane rotation property support Marek Szyprowski
2015-11-10 13:23 ` [PATCH 25/25] drm/exynos: add support for plane scaling Marek Szyprowski
2015-11-10 16:23 ` [PATCH 00/25] Exynos DRM: new life of IPP (Image Post Processing) subsystem Tobias Jakobi
2015-11-11 22:30 ` Emil Velikov
2015-11-12 11:14 ` Daniel Stone
2015-11-12 12:44 ` Tobias Jakobi
2015-11-12 14:46 ` Daniel Stone
2015-11-12 15:10 ` Tobias Jakobi
2015-11-16 11:35 ` Marek Szyprowski
2015-11-16 11:52 ` Daniel Stone
2015-11-17 18:13 ` Tobias Jakobi
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=20151113120859.GJ2264@joana \
--to=gustavo@padovan.org \
--cc=a.hajda@samsung.com \
--cc=b.zolnierkie@samsung.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=javier@osg.samsung.com \
--cc=k.kozlowski@samsung.com \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=m.szyprowski@samsung.com \
--cc=sw0312.kim@samsung.com \
--cc=tjakobi@math.uni-bielefeld.de \
/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.