提交 8e10ee9a 编写于 作者: A Adam Jackson 提交者: Dave Airlie

drm/edid: Fix CVT width/height decode

Signed-off-by: NAdam Jackson <ajax@redhat.com>
Signed-off-by: NDave Airlie <airlied@redhat.com>
上级 69da3015
...@@ -920,18 +920,18 @@ static int drm_cvt_modes(struct drm_connector *connector, ...@@ -920,18 +920,18 @@ static int drm_cvt_modes(struct drm_connector *connector,
if (!memcmp(cvt->code, empty, 3)) if (!memcmp(cvt->code, empty, 3))
continue; continue;
height = (cvt->code[0] + ((cvt->code[1] & 0xf0) << 8) + 1) * 2; height = (cvt->code[0] + ((cvt->code[1] & 0xf0) << 4) + 1) * 2;
switch (cvt->code[1] & 0xc0) { switch (cvt->code[1] & 0x0c) {
case 0x00: case 0x00:
width = height * 4 / 3; width = height * 4 / 3;
break; break;
case 0x40: case 0x04:
width = height * 16 / 9; width = height * 16 / 9;
break; break;
case 0x80: case 0x08:
width = height * 16 / 10; width = height * 16 / 10;
break; break;
case 0xc0: case 0x0c:
width = height * 15 / 9; width = height * 15 / 9;
break; break;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册