[PATCH 0/5] drm/exynos: rework layer blending setup

2015-05-22 Thread Joonyoung Shim
Hi Tobias,

On 05/22/2015 05:07 PM, Tobias Jakobi wrote:
> Hello Joonyoung,
> 
> On 2015-05-22 06:04, Joonyoung Shim wrote:
>> Hi Tobias,
>>
>> On 05/22/2015 05:44 AM, Tobias Jakobi wrote:
>>> Gentle reminder that I still haven't heard anything about the series by
>>> the Samsung guys ;)
>>>
>>
>> Sorry for late, i'm busy and i think whether it's possible any way for
>> this blending from exynos drm framework after atomic feature of exynos
>> merged.
> the code is largely independent of Gustavo's patches. It doesn't really make 
> a lot of difference if it's merged before or after atomic. In fact I've 
> already tested it with and without atomic.
> 
> If possible I would like this to be merged now, so that it can go into 4.2. I 
> also have the patches fixing the zpos issue waiting, which I'm planning to 
> base on Gustavo's next cleanup series. But for this both the atomic and the 
> layer work series need to get merged first.
> 

Sorry for not detailed review, i don't know what is Inki's opinion but i
feel they need to be improved more.

Please run ./scripts/checkpatch.pl before posting and could you use word
wrap? it's too long so difficult to read.

Thanks.


[PATCH 0/5] drm/exynos: rework layer blending setup

2015-05-22 Thread Joonyoung Shim
Hi Tobias,

On 05/22/2015 05:44 AM, Tobias Jakobi wrote:
> Gentle reminder that I still haven't heard anything about the series by
> the Samsung guys ;)
> 

Sorry for late, i'm busy and i think whether it's possible any way for
this blending from exynos drm framework after atomic feature of exynos
merged.

Thanks.

> With best wishes,
> Tobias
> 
> 
> Tobias Jakobi wrote:
>> 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 ARGB
>>
>>  drivers/gpu/drm/exynos/exynos_mixer.c | 246 
>> +-
>>  drivers/gpu/drm/exynos/regs-mixer.h   |   1 +
>>  2 files changed, 213 insertions(+), 34 deletions(-)
>>
> 
> 



[PATCH 0/5] drm/exynos: rework layer blending setup

2015-05-22 Thread Tobias Jakobi
Hello Joonyoung,

On 2015-05-22 06:04, Joonyoung Shim wrote:
> Hi Tobias,
> 
> On 05/22/2015 05:44 AM, Tobias Jakobi wrote:
>> Gentle reminder that I still haven't heard anything about the series 
>> by
>> the Samsung guys ;)
>> 
> 
> Sorry for late, i'm busy and i think whether it's possible any way for
> this blending from exynos drm framework after atomic feature of exynos
> merged.
the code is largely independent of Gustavo's patches. It doesn't really 
make a lot of difference if it's merged before or after atomic. In fact 
I've already tested it with and without atomic.

If possible I would like this to be merged now, so that it can go into 
4.2. I also have the patches fixing the zpos issue waiting, which I'm 
planning to base on Gustavo's next cleanup series. But for this both the 
atomic and the layer work series need to get merged first.

With best wishes,
Tobias


> 
> Thanks.
> 
>> With best wishes,
>> Tobias
>> 
>> 
>> Tobias Jakobi wrote:
>>> 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 ARGB
>>> 
>>>  drivers/gpu/drm/exynos/exynos_mixer.c | 246 
>>> +-
>>>  drivers/gpu/drm/exynos/regs-mixer.h   |   1 +
>>>  2 files changed, 213 insertions(+), 34 deletions(-)
>>> 
>> 
>> 



[PATCH 0/5] drm/exynos: rework layer blending setup

2015-05-21 Thread Tobias Jakobi
Gentle reminder that I still haven't heard anything about the series by
the Samsung guys ;)

With best wishes,
Tobias


Tobias Jakobi wrote:
> 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 ARGB
> 
>  drivers/gpu/drm/exynos/exynos_mixer.c | 246 
> +-
>  drivers/gpu/drm/exynos/regs-mixer.h   |   1 +
>  2 files changed, 213 insertions(+), 34 deletions(-)
> 



[PATCH 0/5] drm/exynos: rework layer blending setup

2015-05-07 Thread Gustavo Padovan
2015-05-06 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).


The whole series works fine for me on Samsung Snow 5250 (which doesn't
have a VP).

Tested-by: Gustavo Padovan 

Gustavo


[PATCH 0/5] drm/exynos: rework layer blending setup

2015-05-06 Thread 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 ARGB

 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