drm/msm/dsi: fix panel physical dimensions updated to connector
Change overrides the panel physical dimensions with correct value upto a precision of millimeter, which was getting truncated to centimeter as drm structures maintain it in centimeters. Change-Id: I035357596ed42154b657b791846aee6f940f2e53 Signed-off-by: Vara Reddy <varar@codeaurora.org>
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

parent
4fbdc64598
commit
45ad6294fe
@@ -799,6 +799,8 @@ int dsi_connector_get_modes(struct drm_connector *connector, void *data,
|
|||||||
struct drm_display_mode drm_mode;
|
struct drm_display_mode drm_mode;
|
||||||
struct dsi_display *display = data;
|
struct dsi_display *display = data;
|
||||||
struct edid edid;
|
struct edid edid;
|
||||||
|
u8 width_mm = connector->display_info.width_mm;
|
||||||
|
u8 height_mm = connector->display_info.height_mm;
|
||||||
const u8 edid_buf[EDID_LENGTH] = {
|
const u8 edid_buf[EDID_LENGTH] = {
|
||||||
0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x44, 0x6D,
|
0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x44, 0x6D,
|
||||||
0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1B, 0x10, 0x01, 0x03,
|
0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1B, 0x10, 0x01, 0x03,
|
||||||
@@ -860,6 +862,14 @@ int dsi_connector_get_modes(struct drm_connector *connector, void *data,
|
|||||||
rc = drm_connector_update_edid_property(connector, &edid);
|
rc = drm_connector_update_edid_property(connector, &edid);
|
||||||
if (rc)
|
if (rc)
|
||||||
count = 0;
|
count = 0;
|
||||||
|
/*
|
||||||
|
* DRM EDID structure maintains panel physical dimensions in
|
||||||
|
* centimeters, we will be losing the precision anything below cm.
|
||||||
|
* Changing DRM framework will effect other clients at this
|
||||||
|
* moment, overriding the values back to millimeter.
|
||||||
|
*/
|
||||||
|
connector->display_info.width_mm = width_mm;
|
||||||
|
connector->display_info.height_mm = height_mm;
|
||||||
end:
|
end:
|
||||||
DSI_DEBUG("MODE COUNT =%d\n\n", count);
|
DSI_DEBUG("MODE COUNT =%d\n\n", count);
|
||||||
return count;
|
return count;
|
||||||
|
Reference in New Issue
Block a user