[PATCH v6 0/7] drm/vc4: hdmi: Yet Another Approach to HDMI YUV output
Ville Syrjälä
ville.syrjala at linux.intel.com
Thu Mar 24 10:27:04 UTC 2022
On Tue, Feb 22, 2022 at 05:40:35PM +0100, Maxime Ripard wrote:
> Hi,
>
> This is another attempt at supporting the HDMI YUV output in the vc4 HDMI
> driver.
>
> This is a follow-up of
> https://lore.kernel.org/dri-devel/20210317154352.732095-1-maxime@cerno.tech/
>
> And the discussions that occured recently on the mailing lists and IRC about
> this.
>
> The series mentioned above had multiple issues, the main one being that it was
> a bit too much complicated for what we wanted to achieve. This series is taking
> a much simpler approach with an ad-hoc solution.
>
> I think some parts of it could still be moved to KMS helpers (notably, the
> output format enum, and the helper to set the infoframe for it) and structures
> (the output format stored in drm_connector_state). This would also interact
> nicely with the work done here:
>
> https://lore.kernel.org/dri-devel/20211118103814.524670-1-maxime@cerno.tech/
>
> This can come as a second step though.
>
> The other issues with the first attempt was that nothing was reported to
> userspace about the decision we made about the format, and that this decision
> was essentially policy, without any way for the userspace to influence it.
>
> Those two points however are being worked on by Werner in a cross-driver
> effort:
>
> https://lore.kernel.org/dri-devel/e452775c-5b95-bbfd-e818-f1480f556336@tuxedocomputers.com/
>
> Since it's a KMS decision, I don't think we should hold off any driver as long
> as it's consistent with what the other drivers are doing.
>
> Let me know what you think,
High level view looks fine to me. No clue about the low level hw bits.
Acked-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> Maxime
>
> ---
>
> Changes from v5:
> - Renamed pixel_rate to tmds_char_rate
> - used do_div when necessary
> - Used limited range YUV matrixes
> - Rebased on current drm-misc-next
>
> Changes from v4:
> - Fix a clock calculation
> - Rebased on latest drm-misc-next tag
>
> Changes from v3:
> - Rebased on latest next
> - Fixed build error
>
> Changes from v2:
> - Rename the output format enum
> - Split the edid_hdmi_dc_modes in two for RGB444 and YUV444
> - Remove color_formats modifications from _parse_deep_color entirely
> - Fixed comment formatting
> - Fixed mode_valid that would always return true
> - Fixed max_tmds_clock handling
>
> Changes from v1:
> - Fixed an EDID parsing error for YUV422
> - Fixed the scrambling setup when using a bpc > 8
> - Added some logging
> - Fixed some build-bot warnings
> - Fixed a number of HDMI specifications and EDID issues
> - Try to max out the bpc every time
>
> Maxime Ripard (7):
> drm/vc4: hdmi: Rename pixel_rate variable
> drm/vc4: hdmi: Move clock validation to its own function
> drm/vc4: hdmi: Move clock calculation into its own function
> drm/vc4: hdmi: Take the sink maximum TMDS clock into account
> drm/vc4: hdmi: Take bpp into account for the scrambler
> drm/vc4: hdmi: Always try to have the highest bpc
> drm/vc4: hdmi: Support HDMI YUV output
>
> drivers/gpu/drm/vc4/vc4_hdmi.c | 429 +++++++++++++++++++++++++---
> drivers/gpu/drm/vc4/vc4_hdmi.h | 23 +-
> drivers/gpu/drm/vc4/vc4_hdmi_phy.c | 2 +-
> drivers/gpu/drm/vc4/vc4_hdmi_regs.h | 6 +
> drivers/gpu/drm/vc4/vc4_regs.h | 16 ++
> 5 files changed, 427 insertions(+), 49 deletions(-)
>
> --
> 2.35.1
>
--
Ville Syrjälä
Intel
More information about the dri-devel
mailing list