diff options
| author | Jernej Skrabec <jernej.skrabec@siol.net> | 2019-03-24 15:06:09 -0400 |
|---|---|---|
| committer | Maxime Ripard <maxime.ripard@bootlin.com> | 2019-04-05 04:44:10 -0400 |
| commit | cd9063757a227cf31ebf5391ccda2bf583b0806e (patch) | |
| tree | a1bcb86f0ff03c7cc057459f4876d951d1c5d798 | |
| parent | 3df1af984b76bc50cdbedbdd69d3f69192269cfe (diff) | |
drm/sun4i: DW HDMI: Lower max. supported rate for H6
Currently resolutions with pixel clock higher than 340 MHz don't work
with H6 HDMI controller. They just produce a blank screen.
Limit maximum pixel clock rate to 340 MHz until scrambling is supported.
Cc: stable@vger.kernel.org # 5.0
Fixes: 40bb9d3147b2 ("drm/sun4i: Add support for H6 DW HDMI controller")
Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190324190609.32721-1-jernej.skrabec@siol.net
| -rw-r--r-- | drivers/gpu/drm/sun4i/sun8i_dw_hdmi.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/gpu/drm/sun4i/sun8i_dw_hdmi.c b/drivers/gpu/drm/sun4i/sun8i_dw_hdmi.c index dc47720c99ba..39d8509d96a0 100644 --- a/drivers/gpu/drm/sun4i/sun8i_dw_hdmi.c +++ b/drivers/gpu/drm/sun4i/sun8i_dw_hdmi.c | |||
| @@ -48,8 +48,13 @@ static enum drm_mode_status | |||
| 48 | sun8i_dw_hdmi_mode_valid_h6(struct drm_connector *connector, | 48 | sun8i_dw_hdmi_mode_valid_h6(struct drm_connector *connector, |
| 49 | const struct drm_display_mode *mode) | 49 | const struct drm_display_mode *mode) |
| 50 | { | 50 | { |
| 51 | /* This is max for HDMI 2.0b (4K@60Hz) */ | 51 | /* |
| 52 | if (mode->clock > 594000) | 52 | * Controller support maximum of 594 MHz, which correlates to |
| 53 | * 4K@60Hz 4:4:4 or RGB. However, for frequencies greater than | ||
| 54 | * 340 MHz scrambling has to be enabled. Because scrambling is | ||
| 55 | * not yet implemented, just limit to 340 MHz for now. | ||
| 56 | */ | ||
| 57 | if (mode->clock > 340000) | ||
| 53 | return MODE_CLOCK_HIGH; | 58 | return MODE_CLOCK_HIGH; |
| 54 | 59 | ||
| 55 | return MODE_OK; | 60 | return MODE_OK; |
