This series add support for displaying 10-bit 4:2:0 and 4:2:2 formats produced
by the Rockchip Video Decoder on RK322X, RK3288, RK3328, RK3368 and RK3399.
Also include 10-bit 4:4:4 support since VOP can support that also.
First patch adds new fourcc 10-bit YUV formats with 4:2:2/4:4:4 sub-sampling.
Second patch adds support for displaying the new fourcc formats.
These patches have been in use by LibreELEC and other distros for the
past 3+ years, hoping they can be merged this time around.
A rough libdrm/modetest patch [2] have been used to validate use of
NV15, NV20 and NV30 formats on RK3288, RK3328 and RK3399 boards.
modetest -s <connector_id>@<crtc_id>:<mode>-<vrefresh>@<format>
Tinker Board R2.0 (rk3288w):
modetest -s 50:1920x1080-60@NV15
Rock Pi 4 (rk3399):
modetest -s 52@44:1920x1080-60@NV15
Rock64 (rk3328):
modetest -s 42:1920x1080-60@NV15
Changes in v5:
- Use drm_format_info_min_pitch() for correct bpp
- Add missing NV21, NV61 and NV42 formats
Changes in v4:
- Rework RK3328/RK3399 win0/1 data to not affect RK3368
Changes in v3:
- No changes, rebased on next-20230616
- R-B tags was collected
Changes in v2:
- Add NV30 format
- R-B tags was not collected due to NV30 changes
This series is also available at [1] and libdrm/modetest patch at [2].
[1] https://github.com/Kwiboo/linux-rockchip/commits/v6.6-rc7-vop-nv15
[2] https://github.com/Kwiboo/libdrm/commits/nv15
Jonas Karlman (2):
drm/fourcc: Add NV20 and NV30 YUV formats
drm/rockchip: vop: Add NV15, NV20 and NV30 support
drivers/gpu/drm/drm_fourcc.c | 8 +++
drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 36 ++++++++---
drivers/gpu/drm/rockchip/rockchip_drm_vop.h | 1 +
drivers/gpu/drm/rockchip/rockchip_vop_reg.c | 66 +++++++++++++++++----
include/uapi/drm/drm_fourcc.h | 2 +
5 files changed, 96 insertions(+), 17 deletions(-)
--
2.42.0
Hi Jonas,
On Mon, 2023-10-23 at 17:37 +0000, Jonas Karlman wrote:
> This series add support for displaying 10-bit 4:2:0 and 4:2:2 formats
> produced
> by the Rockchip Video Decoder on RK322X, RK3288, RK3328, RK3368 and RK3399.
> Also include 10-bit 4:4:4 support since VOP can support that also.
>
> First patch adds new fourcc 10-bit YUV formats with 4:2:2/4:4:4 sub-
> sampling.
> Second patch adds support for displaying the new fourcc formats.
>
> These patches have been in use by LibreELEC and other distros for the
> past 3+ years, hoping they can be merged this time around.
>
> A rough libdrm/modetest patch [2] have been used to validate use of
> NV15, NV20 and NV30 formats on RK3288, RK3328 and RK3399 boards.
>
> modetest -s <connector_id>@<crtc_id>:<mode>-<vrefresh>@<format>
>
> Tinker Board R2.0 (rk3288w):
> modetest -s 50:1920x1080-60@NV15
>
> Rock Pi 4 (rk3399):
> modetest -s 52@44:1920x1080-60@NV15
>
> Rock64 (rk3328):
> modetest -s 42:1920x1080-60@NV15
>
> Changes in v5:
> - Use drm_format_info_min_pitch() for correct bpp
> - Add missing NV21, NV61 and NV42 formats
>
> Changes in v4:
> - Rework RK3328/RK3399 win0/1 data to not affect RK3368
>
> Changes in v3:
> - No changes, rebased on next-20230616
> - R-B tags was collected
>
> Changes in v2:
> - Add NV30 format
> - R-B tags was not collected due to NV30 changes
>
> This series is also available at [1] and libdrm/modetest patch at [2].
>
> [1] https://github.com/Kwiboo/linux-rockchip/commits/v6.6-rc7-vop-nv15
> [2] https://github.com/Kwiboo/libdrm/commits/nv15
Could you open a draft merge request for libdrm upstream at
https://gitlab.freedesktop.org/mesa/drm pointing to this series? If there are
subsequent revisions of this series, it'd be great to link that merge request
in the cover letter.
Cheers!
Chris
>
> Jonas Karlman (2):
> drm/fourcc: Add NV20 and NV30 YUV formats
> drm/rockchip: vop: Add NV15, NV20 and NV30 support
>
> drivers/gpu/drm/drm_fourcc.c | 8 +++
> drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 36 ++++++++---
> drivers/gpu/drm/rockchip/rockchip_drm_vop.h | 1 +
> drivers/gpu/drm/rockchip/rockchip_vop_reg.c | 66 +++++++++++++++++----
> include/uapi/drm/drm_fourcc.h | 2 +
> 5 files changed, 96 insertions(+), 17 deletions(-)
>
Hi Chris,
On 2023-10-23 19:52, Christopher Obbard wrote:
> Hi Jonas,
>
> On Mon, 2023-10-23 at 17:37 +0000, Jonas Karlman wrote:
>> This series add support for displaying 10-bit 4:2:0 and 4:2:2 formats
>> produced
>> by the Rockchip Video Decoder on RK322X, RK3288, RK3328, RK3368 and RK3399.
>> Also include 10-bit 4:4:4 support since VOP can support that also.
>>
>> First patch adds new fourcc 10-bit YUV formats with 4:2:2/4:4:4 sub-
>> sampling.
>> Second patch adds support for displaying the new fourcc formats.
>>
>> These patches have been in use by LibreELEC and other distros for the
>> past 3+ years, hoping they can be merged this time around.
>>
>> A rough libdrm/modetest patch [2] have been used to validate use of
>> NV15, NV20 and NV30 formats on RK3288, RK3328 and RK3399 boards.
>>
>> modetest -s <connector_id>@<crtc_id>:<mode>-<vrefresh>@<format>
>>
>> Tinker Board R2.0 (rk3288w):
>> modetest -s 50:1920x1080-60@NV15
>>
>> Rock Pi 4 (rk3399):
>> modetest -s 52@44:1920x1080-60@NV15
>>
>> Rock64 (rk3328):
>> modetest -s 42:1920x1080-60@NV15
>>
>> Changes in v5:
>> - Use drm_format_info_min_pitch() for correct bpp
>> - Add missing NV21, NV61 and NV42 formats
>>
>> Changes in v4:
>> - Rework RK3328/RK3399 win0/1 data to not affect RK3368
>>
>> Changes in v3:
>> - No changes, rebased on next-20230616
>> - R-B tags was collected
>>
>> Changes in v2:
>> - Add NV30 format
>> - R-B tags was not collected due to NV30 changes
>>
>> This series is also available at [1] and libdrm/modetest patch at [2].
>>
>> [1] https://github.com/Kwiboo/linux-rockchip/commits/v6.6-rc7-vop-nv15
>> [2] https://github.com/Kwiboo/libdrm/commits/nv15
>
> Could you open a draft merge request for libdrm upstream at
> https://gitlab.freedesktop.org/mesa/drm pointing to this series? If there are
> subsequent revisions of this series, it'd be great to link that merge request
> in the cover letter.
Have created a draft merge reguest for libdrm/modetest changes now.
https://gitlab.freedesktop.org/mesa/drm/-/merge_requests/329
The pattern code could really need some improvements/refactoring, in
current form it should at least be enough to create a test pattern to
help test/validate this series :-)
Regards,
Jonas
>
>
> Cheers!
>
> Chris
>
>>
>> Jonas Karlman (2):
>> drm/fourcc: Add NV20 and NV30 YUV formats
>> drm/rockchip: vop: Add NV15, NV20 and NV30 support
>>
>> drivers/gpu/drm/drm_fourcc.c | 8 +++
>> drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 36 ++++++++---
>> drivers/gpu/drm/rockchip/rockchip_drm_vop.h | 1 +
>> drivers/gpu/drm/rockchip/rockchip_vop_reg.c | 66 +++++++++++++++++----
>> include/uapi/drm/drm_fourcc.h | 2 +
>> 5 files changed, 96 insertions(+), 17 deletions(-)
>>
On Mon, 23 Oct 2023 17:37:13 +0000, Jonas Karlman wrote:
> This series add support for displaying 10-bit 4:2:0 and 4:2:2 formats produced
> by the Rockchip Video Decoder on RK322X, RK3288, RK3328, RK3368 and RK3399.
> Also include 10-bit 4:4:4 support since VOP can support that also.
>
> First patch adds new fourcc 10-bit YUV formats with 4:2:2/4:4:4 sub-sampling.
> Second patch adds support for displaying the new fourcc formats.
>
> [...]
Applied, thanks!
[1/2] drm/fourcc: Add NV20 and NV30 YUV formats
commit: 728c15b4b5f3369cbde73d5e0f14701ab370f985
[2/2] drm/rockchip: vop: Add NV15, NV20 and NV30 support
commit: d4b384228562848e4b76b608a5876c92160e993c
Best regards,
--
Heiko Stuebner <[email protected]>