public inbox for linux-samsung-soc@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/5] drm/exynos: rework layer blending setup
@ 2015-05-06 13:36 Tobias Jakobi
  2015-05-06 13:36 ` [PATCH 1/5] drm/exynos: mixer: refactor layer setup Tobias Jakobi
                   ` (6 more replies)
  0 siblings, 7 replies; 18+ messages in thread
From: Tobias Jakobi @ 2015-05-06 13:36 UTC (permalink / raw)
  To: linux-samsung-soc
  Cc: dri-devel, gustavo.padovan, jy0922.shim, inki.dae, Tobias Jakobi

Hello,

this is a rework of the layer blending setup in the Exynos DRM mixer. The current setup is static and spread out through the mixer code. This rework pushes all the configuration details into a layer_config array, which specifies the priority of each layer.

Two arrays are currently found in the code, one for SoC versions with a video processor (VP) and one for SoC versions without VP. The VP gives us one additional layer, the video layer, which natively supports the NV12/NV21 pixelformat.

The blending setup roughly works like this:
1) Find the bottom-most enabled layer. Disable all blending for this layer. This is done because we currently don't expose modification of the mixer background to userspace. Once this is done we can add more flexibility here.
2) Find the next enabled layer in our layer stack. If the layer has a framebuffer with an alpha-pixelformat attached, enable blending for this layer. If not, disable blending.
3) Iterate (2) until all enabled layers are processed.

The series has been tested on a Hardkernel Odroid-X2 (Exynos4412, which has a VP).

If you want to use libdrm's modetest to check the series, please apply patches [1] and [2]. This should make it possible to also test a plane with NV12 format (which is located 'behind' the primary plane).

With best wishes,
Tobias

[1] https://patchwork.kernel.org/patch/6349241/
[2] https://patchwork.kernel.org/patch/6349261/


Tobias Jakobi (5):
  drm/exynos: mixer: refactor layer setup
  drm/exynos: mixer: introduce mixer_layer_blending()
  drm/exynos: mixer: remove all static blending setup
  drm/exynos: mixer: do blending setup in mixer_cfg_layer()
  drm/exynos: mixer: also allow ARGB1555 and ARGB4444

 drivers/gpu/drm/exynos/exynos_mixer.c | 246 +++++++++++++++++++++++++++++-----
 drivers/gpu/drm/exynos/regs-mixer.h   |   1 +
 2 files changed, 213 insertions(+), 34 deletions(-)

-- 
2.0.5

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2015-05-22 16:01 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-06 13:36 [PATCH 0/5] drm/exynos: rework layer blending setup Tobias Jakobi
2015-05-06 13:36 ` [PATCH 1/5] drm/exynos: mixer: refactor layer setup Tobias Jakobi
2015-05-22  9:12   ` Joonyoung Shim
2015-05-22  9:47     ` Tobias Jakobi
2015-05-22 16:01     ` Tobias Jakobi
2015-05-06 13:36 ` [PATCH 2/5] drm/exynos: mixer: introduce mixer_layer_blending() Tobias Jakobi
2015-05-22  9:12   ` Joonyoung Shim
2015-05-22  9:49     ` Tobias Jakobi
2015-05-06 13:36 ` [PATCH 3/5] drm/exynos: mixer: remove all static blending setup Tobias Jakobi
2015-05-06 13:36 ` [PATCH 4/5] drm/exynos: mixer: do blending setup in mixer_cfg_layer() Tobias Jakobi
2015-05-22  9:12   ` Joonyoung Shim
2015-05-22  9:50     ` Tobias Jakobi
2015-05-06 13:36 ` [PATCH 5/5] drm/exynos: mixer: also allow ARGB1555 and ARGB4444 Tobias Jakobi
2015-05-07 20:57 ` [PATCH 0/5] drm/exynos: rework layer blending setup Gustavo Padovan
2015-05-21 20:44 ` Tobias Jakobi
2015-05-22  4:04   ` Joonyoung Shim
2015-05-22  8:07     ` Tobias Jakobi
2015-05-22  9:13       ` Joonyoung Shim

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox