mbox series

[v2,0/3] vc4 VEC (analogue video) updates - margins and monochrome

Message ID 20240619153913.2804051-1-dave.stevenson@raspberrypi.com (mailing list archive)
Headers show
Series vc4 VEC (analogue video) updates - margins and monochrome | expand

Message

Dave Stevenson June 19, 2024, 3:39 p.m. UTC
Changes since v1:

- (Patch adding DRM_MODE_TV_MODE_MONOCHROME has already been merged)
- Added kunit tests as requested by Maxime
- Fixed error in vc4_vec_connector_get_property which was returning the value
  rather than setting *val.
- The legacy driver property has to be updated with the new value as returning 
  an error from get_property will crash modetest (or similar) when it queries
  the value.
- Added Maxime's R-b on patch 3.

Hi All

A couple of patches to vc4, including adding a new "TV mode" enum for monochrome
output (yes we have some users who wish for monochrome).

Adding mono has raised a query here as to whether the the TV_MODE is meant to
describe the timing, or just the colour encoding.

The description for NTSC references "CCIR System M (aka 525-lines)", and PAL
references "CCIR System B" which is the 625 line standard.

PAL-60 is absent from the enum, but support has been added to vc4 by selecting 
DRM_MODE_TV_MODE_PAL but with the NTSC (CCIR System M) timings. Is that the
correct implementation? In which case the description for PAL should drop the
CCIR System B reference as selecting the "TV mode" doesn't dictate the timing.

Monochrome is in the same boat as it can adopt either 525 or 625 line timing,
or indeed anything else. Pi5 can support System A 405-line and the French
819-line mono modes as well.

If "TV mode" does dictate the timing as well as the colour encoding, then we
need to add PAL-60, and 2 modes for mono (extending to 4 for 405 and 819 line
modes later). If not, we ought to update the description.

Thoughts?

Thanks
  Dave

Dave Stevenson (3):
  drm/tests: Add tests for the new Monochrome value of tv_mode
  drm/vc4: Add monochrome mode to the VEC.
  drm/vc4: vec: Add the margin properties to the connector

 .../gpu/drm/tests/drm_cmdline_parser_test.c   | 20 ++++++------
 drivers/gpu/drm/tests/drm_connector_test.c    |  1 +
 drivers/gpu/drm/tests/drm_modes_test.c        | 31 +++++++++++++++++++
 drivers/gpu/drm/vc4/vc4_vec.c                 | 31 ++++++++++++++++++-
 4 files changed, 73 insertions(+), 10 deletions(-)