Re: [PATCH v5 0/2] drm/rockchip: vop: Add NV15, NV20 and NV30 support

From: Jonas Karlman
Date: Mon Oct 23 2023 - 18:37:33 EST


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(-)
>>