[PATCH v4 00/12] drm/vc4: hdmi: Support the 4k @ 60Hz modes

From: Maxime Ripard
Date: Fri May 07 2021 - 11:05:32 EST


Hi,

Here is a series that enables the higher resolutions on the HDMI0 Controller
found in the BCM2711 (RPi4).

In order to work it needs a few adjustments to config.txt, most notably to
enable the enable_hdmi_4kp60 option.

Let me know what you think,
Maxime

---

Changes from v3:
- Rework the encoder retrieval code that was broken on the RPi3 and older
- Fix a scrambling enabling issue on some display

Changes from v2:
- Gathered the various tags
- Added Cc stable when relevant
- Split out the check to test whether the scrambler is required into
an helper
- Fixed a bug where the scrambler state wouldn't be tracked properly
if it was enabled at boot

Changes from v1:
- Dropped the range accessors
- Drop the mention of force_turbo
- Reordered the SCRAMBLER_CTL register to match the offset
- Removed duplicate HDMI_14_MAX_TMDS_CLK define
- Warn about enable_hdmi_4kp60 only if there's some modes that can't be reached
- Rework the BVB clock computation

Maxime Ripard (12):
drm/vc4: txp: Properly set the possible_crtcs mask
drm/vc4: crtc: Skip the TXP
drm/vc4: crtc: Pass the drm_atomic_state to config_pv
drm/vc4: crtc: Fix vc4_get_crtc_encoder logic
drm/vc4: crtc: Lookup the encoder from the register at boot
drm/vc4: hdmi: Prevent clock unbalance
drm/vc4: hvs: Make the HVS bind first
drm/vc4: hdmi: Properly compute the BVB clock rate
drm/vc4: hdmi: Check and warn if we can't reach 4kp60 frequencies
drm/vc4: hdmi: Enable the scrambler
drm/vc4: hdmi: Add a workqueue to set scrambling
drm/vc4: hdmi: Raise the maximum clock rate

drivers/gpu/drm/vc4/vc4_crtc.c | 66 ++++++++++---
drivers/gpu/drm/vc4/vc4_drv.c | 11 ++-
drivers/gpu/drm/vc4/vc4_hdmi.c | 147 ++++++++++++++++++++++++++--
drivers/gpu/drm/vc4/vc4_hdmi.h | 10 ++
drivers/gpu/drm/vc4/vc4_hdmi_regs.h | 3 +
drivers/gpu/drm/vc4/vc4_txp.c | 2 +-
6 files changed, 217 insertions(+), 22 deletions(-)

--
2.31.1