mbox series

[v3,00/15] VOP Support for rk3576

Message ID 20240920081626.6433-1-andyshrk@163.com (mailing list archive)
Headers show
Series VOP Support for rk3576 | expand

Message

Andy Yan Sept. 20, 2024, 8:16 a.m. UTC
From: Andy Yan <andy.yan@rock-chips.com>


Thanks for the basic work from Collabora, I can bringup a HDMI
display out on rk3576.

PATCH 1 is a carryover from the working when add support for rk3588,
        is very usefull when some people want me help debug some issue
        online, so I really hope it can be merged at this round.
PATCH 2~5 are bugfix of rk3588 alpha blending which report and test by
         Derek
PATCH 6~13 are preparations for rk3576 support
PATCH 14~15 are real support for rk376

The hdmi depends on WIP patch from Cristian[1]
I test it with a 1080P/4K HDMI output with modetest and weston output.

If there are some one want to have a try, I have a tree here[2]

[0] https://patchwork.kernel.org/project/linux-rockchip/cover/20231211115547.1784587-1-andyshrk@163.com/
[1] https://lore.kernel.org/lkml/20240819-b4-rk3588-bridge-upstream-v4-0-6417c72a2749@collabora.com/
[2] https://github.com/andyshrk/linux/tree/rk3576-vop2-upstream-v3

Changes in v3:
- Add comments for why we should treat rk3566 with special care.
- Add hardware version check
- Add description for newly added interrupt
- Share the alpha setup function with rk3568
- recoder the code block by soc

Changes in v2:
- split it from main patch add support for rk3576
- Add platform specific callback
- Introduce vop hardware version
- Add dt bindings
- Add platform specific callback

Andy Yan (15):
  drm/rockchip: vop2: Add debugfs support
  drm/rockchip: Set dma mask to 64 bit
  drm/rockchip: vop2: Fix cluster windows alpha ctrl regsiters offset
  drm/rockchip: vop2: Fix the mixer alpha setup for layer 0
  drm/rockchip: vop2: Fix the windows switch between different layers
  drm/rockchip: vop2: include rockchip_drm_drv.h
  drm/rockchip: vop2: Support 32x8 superblock afbc
  drm/rockchip: vop2: Add platform specific callback
  drm/rockchip: vop2: Support for different layer selet configuration
    between VPs
  drm/rockchip: vop2: Introduce vop hardware version
  drm/rockchip: vop2: Register the primary plane and overlay plane
    separately
  drm/rockchip: vop2: Set plane possible crtcs by possible vp mask
  drm/rockchip: vop2: Add uv swap for cluster window
  dt-bindings: display: vop2: Add rk3576 support
  drm/rockchip: vop2: Add support for rk3576

 .../display/rockchip/rockchip-vop2.yaml       |   13 +-
 drivers/gpu/drm/rockchip/rockchip_drm_drv.c   |    4 +-
 drivers/gpu/drm/rockchip/rockchip_drm_vop2.c  | 1572 ++++---------
 drivers/gpu/drm/rockchip/rockchip_drm_vop2.h  |  274 ++-
 drivers/gpu/drm/rockchip/rockchip_vop2_reg.c  | 1948 ++++++++++++++++-
 5 files changed, 2683 insertions(+), 1128 deletions(-)

Comments

Michael Riesch Sept. 24, 2024, 9:34 a.m. UTC | #1
Hi Andy,

On 9/20/24 10:16, Andy Yan wrote:
> [...]

A few minor nitpicks:

> Andy Yan (15):
>   drm/rockchip: vop2: Add debugfs support

There is an extra space in the extended commit message ("...summary:
dump..." -> "...summary: dump...".

>   drm/rockchip: Set dma mask to 64 bit
>   drm/rockchip: vop2: Fix cluster windows alpha ctrl regsiters offset

Typo "regsiters" -> "registers".

>   drm/rockchip: vop2: Fix the mixer alpha setup for layer 0
>   drm/rockchip: vop2: Fix the windows switch between different layers
>   drm/rockchip: vop2: include rockchip_drm_drv.h
>   drm/rockchip: vop2: Support 32x8 superblock afbc
>   drm/rockchip: vop2: Add platform specific callback
>   drm/rockchip: vop2: Support for different layer selet configuration

Typo "selet" -> "select"?

>     between VPs
>   drm/rockchip: vop2: Introduce vop hardware version
>   drm/rockchip: vop2: Register the primary plane and overlay plane
>     separately
>   drm/rockchip: vop2: Set plane possible crtcs by possible vp mask
>   drm/rockchip: vop2: Add uv swap for cluster window
>   dt-bindings: display: vop2: Add rk3576 support
>   drm/rockchip: vop2: Add support for rk3576
> 
>  .../display/rockchip/rockchip-vop2.yaml       |   13 +-
>  drivers/gpu/drm/rockchip/rockchip_drm_drv.c   |    4 +-
>  drivers/gpu/drm/rockchip/rockchip_drm_vop2.c  | 1572 ++++---------
>  drivers/gpu/drm/rockchip/rockchip_drm_vop2.h  |  274 ++-
>  drivers/gpu/drm/rockchip/rockchip_vop2_reg.c  | 1948 ++++++++++++++++-
>  5 files changed, 2683 insertions(+), 1128 deletions(-)

I gave your changes a quick test on my RK3568 device and did not find
any regressions ->

Tested-by: Michael Riesch <michael.riesch@wolfvision.net> # on RK3568

Thanks and best regards,
Michael
Andy Yan Sept. 25, 2024, 9:54 a.m. UTC | #2
Hi Michael,

At 2024-09-24 17:34:52, "Michael Riesch" <michael.riesch@wolfvision.net> wrote:
>Hi Andy,
>
>On 9/20/24 10:16, Andy Yan wrote:
>> [...]
>
>A few minor nitpicks:
>
>> Andy Yan (15):
>>   drm/rockchip: vop2: Add debugfs support
>
>There is an extra space in the extended commit message ("...summary:
>dump..." -> "...summary: dump...".
>
>>   drm/rockchip: Set dma mask to 64 bit
>>   drm/rockchip: vop2: Fix cluster windows alpha ctrl regsiters offset
>
>Typo "regsiters" -> "registers".
>
>>   drm/rockchip: vop2: Fix the mixer alpha setup for layer 0
>>   drm/rockchip: vop2: Fix the windows switch between different layers
>>   drm/rockchip: vop2: include rockchip_drm_drv.h
>>   drm/rockchip: vop2: Support 32x8 superblock afbc
>>   drm/rockchip: vop2: Add platform specific callback
>>   drm/rockchip: vop2: Support for different layer selet configuration
>
>Typo "selet" -> "select"?

Thanks, all typos will be fixed in next version.

>
>>     between VPs
>>   drm/rockchip: vop2: Introduce vop hardware version
>>   drm/rockchip: vop2: Register the primary plane and overlay plane
>>     separately
>>   drm/rockchip: vop2: Set plane possible crtcs by possible vp mask
>>   drm/rockchip: vop2: Add uv swap for cluster window
>>   dt-bindings: display: vop2: Add rk3576 support
>>   drm/rockchip: vop2: Add support for rk3576
>> 
>>  .../display/rockchip/rockchip-vop2.yaml       |   13 +-
>>  drivers/gpu/drm/rockchip/rockchip_drm_drv.c   |    4 +-
>>  drivers/gpu/drm/rockchip/rockchip_drm_vop2.c  | 1572 ++++---------
>>  drivers/gpu/drm/rockchip/rockchip_drm_vop2.h  |  274 ++-
>>  drivers/gpu/drm/rockchip/rockchip_vop2_reg.c  | 1948 ++++++++++++++++-
>>  5 files changed, 2683 insertions(+), 1128 deletions(-)
>
>I gave your changes a quick test on my RK3568 device and did not find
>any regressions ->

Thanks again, I also tested  this series on rk3566/rk3588.

>
>Tested-by: Michael Riesch <michael.riesch@wolfvision.net> # on RK3568
>
>Thanks and best regards,
>Michael
Detlev Casanova Sept. 30, 2024, 7:32 p.m. UTC | #3
Hi Andy,

I tested these on the RK3576 Armsom Sige 5 board:

Tested-by: Detlev Casanova <detlev.casanova@collabora.com>

Regards,
Detlev.

On Friday, 20 September 2024 04:16:24 EDT Andy Yan wrote:
> From: Andy Yan <andy.yan@rock-chips.com>
> 
> 
> Thanks for the basic work from Collabora, I can bringup a HDMI
> display out on rk3576.
> 
> PATCH 1 is a carryover from the working when add support for rk3588,
>         is very usefull when some people want me help debug some issue
>         online, so I really hope it can be merged at this round.
> PATCH 2~5 are bugfix of rk3588 alpha blending which report and test by
>          Derek
> PATCH 6~13 are preparations for rk3576 support
> PATCH 14~15 are real support for rk376
> 
> The hdmi depends on WIP patch from Cristian[1]
> I test it with a 1080P/4K HDMI output with modetest and weston output.
> 
> If there are some one want to have a try, I have a tree here[2]
> 
> [0]
> https://patchwork.kernel.org/project/linux-rockchip/cover/20231211115547.17
> 84587-1-andyshrk@163.com/ [1]
> https://lore.kernel.org/lkml/20240819-b4-rk3588-bridge-upstream-v4-0-6417c7
> 2a2749@collabora.com/ [2]
> https://github.com/andyshrk/linux/tree/rk3576-vop2-upstream-v3
> 
> Changes in v3:
> - Add comments for why we should treat rk3566 with special care.
> - Add hardware version check
> - Add description for newly added interrupt
> - Share the alpha setup function with rk3568
> - recoder the code block by soc
> 
> Changes in v2:
> - split it from main patch add support for rk3576
> - Add platform specific callback
> - Introduce vop hardware version
> - Add dt bindings
> - Add platform specific callback
> 
> Andy Yan (15):
>   drm/rockchip: vop2: Add debugfs support
>   drm/rockchip: Set dma mask to 64 bit
>   drm/rockchip: vop2: Fix cluster windows alpha ctrl regsiters offset
>   drm/rockchip: vop2: Fix the mixer alpha setup for layer 0
>   drm/rockchip: vop2: Fix the windows switch between different layers
>   drm/rockchip: vop2: include rockchip_drm_drv.h
>   drm/rockchip: vop2: Support 32x8 superblock afbc
>   drm/rockchip: vop2: Add platform specific callback
>   drm/rockchip: vop2: Support for different layer selet configuration
>     between VPs
>   drm/rockchip: vop2: Introduce vop hardware version
>   drm/rockchip: vop2: Register the primary plane and overlay plane
>     separately
>   drm/rockchip: vop2: Set plane possible crtcs by possible vp mask
>   drm/rockchip: vop2: Add uv swap for cluster window
>   dt-bindings: display: vop2: Add rk3576 support
>   drm/rockchip: vop2: Add support for rk3576
> 
>  .../display/rockchip/rockchip-vop2.yaml       |   13 +-
>  drivers/gpu/drm/rockchip/rockchip_drm_drv.c   |    4 +-
>  drivers/gpu/drm/rockchip/rockchip_drm_vop2.c  | 1572 ++++---------
>  drivers/gpu/drm/rockchip/rockchip_drm_vop2.h  |  274 ++-
>  drivers/gpu/drm/rockchip/rockchip_vop2_reg.c  | 1948 ++++++++++++++++-
>  5 files changed, 2683 insertions(+), 1128 deletions(-)