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

Sascha Hauer s.hauer at pengutronix.de
Wed Mar 30 02:45:56 PDT 2022


On Wed, Mar 30, 2022 at 10:41:56AM +0200, piotro.oniszczuk at google.com wrote:
> 
> 
> > Wiadomość napisana przez Sascha Hauer <s.hauer at pengutronix.de> w dniu 30.03.2022, o godz. 09:28:
> > 
> >> 
> >> You can easily reproduce with modetest utility:
> >> 
> >> modetest -P 43 at 67:1920x1080 at 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 at 67:1920x1080 at NV12" doesn't change this, still no mode set. Hence my
question: How did you set a mode initially?

> > 
> 
> 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   
> 
> > I did with "modetest -s 69 at 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 at 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 |



More information about the linux-arm-kernel mailing list