Skip to content

Commit 3980e6f

Browse files
BrossKuoasus-leslieyu
authored andcommitted
HDMI: WAR: prevent system block 3840x2160 and 2560x1440 resolution
1.cause of VOPB use VOLP's setting, max_output.width = 2560, but we don't know why, so, system judge 3840x2160 to MODE_BAD_HVALUE, we modify the condition to prevent it 2.don't block pixel clock 214.5MHz(2560x1440) when clock != request_clock Signed-off-by: bross1_kuo <bross1_kuo@asus.com> Change-Id: Ic313c430f5f236716ac6e1bace91dcc323804fa0
1 parent e242ccf commit 3980e6f

1 file changed

Lines changed: 5 additions & 3 deletions

File tree

drivers/gpu/drm/rockchip/rockchip_drm_vop.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2329,8 +2329,10 @@ vop_crtc_mode_valid(struct drm_crtc *crtc, const struct drm_display_mode *mode,
23292329
if (mode->clock >= 300000)
23302330
return MODE_CLOCK_RANGE;
23312331

2332-
if (mode->hdisplay > vop_data->max_output.width)
2333-
return MODE_BAD_HVALUE;
2332+
if((output_type != DRM_MODE_CONNECTOR_HDMIA) || (mode->hdisplay > 3840) ) {
2333+
if (mode->hdisplay > vop_data->max_output.width)
2334+
return MODE_BAD_HVALUE;
2335+
}
23342336

23352337
if ((mode->flags & DRM_MODE_FLAG_INTERLACE) &&
23362338
VOP_MAJOR(vop->version) == 3 &&
@@ -2347,7 +2349,7 @@ vop_crtc_mode_valid(struct drm_crtc *crtc, const struct drm_display_mode *mode,
23472349
if (output_type == DRM_MODE_CONNECTOR_HDMIA ||
23482350
output_type == DRM_MODE_CONNECTOR_DisplayPort)
23492351
if (clock != request_clock) {
2350-
if((request_clock == 33260 && eve_vgg804838_panel) || (request_clock == 33900 && dwe2100_panel)) {
2352+
if((request_clock == 33260 && eve_vgg804838_panel) || (request_clock == 33900 && dwe2100_panel) || (request_clock == 241500)) {
23512353
pr_err("%s: don't block pixel clock %d KHz", __func__, request_clock);
23522354
return MODE_OK;
23532355
}

0 commit comments

Comments
 (0)