Thread (81 messages) 81 messages, 7 authors, 2022-04-25

Re: [PATCH v9 00/23] drm/rockchip: RK356x VOP2 support

From: Sascha Hauer <s.hauer@pengutronix.de>
Date: 2022-03-30 09:46:36
Also in: dri-devel, linux-arm-kernel, linux-rockchip

On Wed, Mar 30, 2022 at 10:41:56AM +0200, piotro.oniszczuk@google.com wrote:
quoted
Wiadomość napisana przez Sascha Hauer [off-list ref] w dniu 30.03.2022, o godz. 09:28:
quoted
You can easily reproduce with modetest utility:

modetest -P 43@67:1920x1080@NV12
This only sets the overlay, but how did you get something on the screen
initially?
Let me rephrase this: The above sets a plane, but it doesn't set a mode
on the crtc. When my system boots up then the output of modetest looks
like this:

Encoders:
id      crtc    type    possible crtcs  possible clones
68      0       TMDS    0x00000001      0x00000001
Connectors:
id      encoder status          name            size (mm)       modes  encoders
69      0       connected       HDMI-A-1        530x300         9      68
CRTCs:
id      fb      pos     size
67      0       (0,0)   (0x0)
  #0  nan 0 0 0 0 0 0 0 0 0 flags: ; type: 

No mode is set on the CRTC and the encoder/connector/crtc are not bound
to each other, consequently the screen is in standby. "modetest -P
43@67:1920x1080@NV12" doesn't change this, still no mode set. Hence my
question: How did you set a mode initially?
quoted
I'm not sure that above command only sets plane.
On other SoCs i’m testing it gives expected results: diagonal colored stripes.
There is single exception: rk356x with vop2 - where screen is green unless i „fix/enable” by playing with plane #69   
quoted
I did with "modetest -s 69@67:1920x1080 -d" and with this it works as
expected, I can't reproduce any green screen issue here.
I see you are using plane #69.
Why not #43?
I used "modetest -s 69@67:1920x1080 -d" to set a mode. The '69' is the
connector id, not a plane.
Is plane #43 working ok for you?
Yes.
I’m using plane #43 because: application (player) - at start -  queries all planes and selects first plane offering format being within offered formats by provider (video decoder; NV12 from rk356x hantro video decoder).

pls look on app log regarding planes discovery and election: https://pastebin.com/edAhbcvU

Now - looking what VOP2 reports: https://pastebin.com/8ujkaV9n
is see first plane accepting NV12 is #43 - so my app is electing this plane to use for displaying video.

This strategy works well for all 13 platforms i’m supporting (only 13 i have in my testbed).

If this approach is - by Yours VOP2 patches goal - is not supported - then OK.
I understand this :-)

But - if You want to support DRM features in the same way like other SOC are doing (and working well with KODI/MythTV/mpv/etc) - then i think:

1\ DRM plane #43 not supports NV12 - but code wrongly reports NV12 format is supported, or
2\ DRM plane #43 is supported - but code has bug resulting with green screen.
plane #43 should support NV12 and it seems to work fine here.

I believe you that there's a problem, but I can't reproduce it here and
I might need further assistence to reproduce it.

Sascha

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help