Loading Documentation/devicetree/bindings/display/bridge/lt9611.txt +4 −1 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ Required properties: -- lt,supply-post-off-sleep: time to sleep (ms) after turning off - lt,non-pluggable: Boolean to indicate if display is non pluggable. - lt,preferred-mode: Preferred display mode. - lt,customize-modes: Customized modes when it's non-pluggable display. e.g. lt,customize-mode-id@0 -- lt,mode-h-active: Horizontal active pixels for this mode. Loading Loading @@ -66,6 +67,8 @@ Example: lt,reset-gpio = <&tlmm 134 0x0>; lt,hdmi-ps-gpio = <&tlmm 136 0x0>; lt,hdmi-en-gpio = <&tlmm 137 0x0>; lt,non-pluggable; lt,preferred-mode = "1920x1080"; vcc-supply = <&pm660l_l6>; vdd-supply = <&pm660_l11>; Loading drivers/gpu/drm/bridge/lt9611.c +18 −3 Original line number Diff line number Diff line Loading @@ -1688,6 +1688,22 @@ static int lt9611_get_edid_block(void *data, u8 *buf, unsigned int block, return 0; } static void lt9611_set_preferred_mode(struct drm_connector *connector) { struct lt9611 *pdata = connector_to_lt9611(connector); struct drm_display_mode *mode; const char *string; /* use specified mode as preferred */ if (!of_property_read_string(pdata->dev->of_node, "lt,preferred-mode", &string)) { list_for_each_entry(mode, &connector->probed_modes, head) { if (!strcmp(mode->name, string)) mode->type |= DRM_MODE_TYPE_PREFERRED; } } } static int lt9611_connector_get_modes(struct drm_connector *connector) { struct lt9611 *pdata = connector_to_lt9611(connector); Loading Loading @@ -1720,12 +1736,11 @@ static int lt9611_connector_get_modes(struct drm_connector *connector) pdata->hdmi_mode = drm_detect_hdmi_monitor(edid); pr_debug("hdmi_mode = %d\n", pdata->hdmi_mode); /* TODO: this should not be hard coded */ drm_set_preferred_mode(connector, 1920, 1080); kfree(edid); } lt9611_set_preferred_mode(connector); return count; } Loading Loading
Documentation/devicetree/bindings/display/bridge/lt9611.txt +4 −1 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ Required properties: -- lt,supply-post-off-sleep: time to sleep (ms) after turning off - lt,non-pluggable: Boolean to indicate if display is non pluggable. - lt,preferred-mode: Preferred display mode. - lt,customize-modes: Customized modes when it's non-pluggable display. e.g. lt,customize-mode-id@0 -- lt,mode-h-active: Horizontal active pixels for this mode. Loading Loading @@ -66,6 +67,8 @@ Example: lt,reset-gpio = <&tlmm 134 0x0>; lt,hdmi-ps-gpio = <&tlmm 136 0x0>; lt,hdmi-en-gpio = <&tlmm 137 0x0>; lt,non-pluggable; lt,preferred-mode = "1920x1080"; vcc-supply = <&pm660l_l6>; vdd-supply = <&pm660_l11>; Loading
drivers/gpu/drm/bridge/lt9611.c +18 −3 Original line number Diff line number Diff line Loading @@ -1688,6 +1688,22 @@ static int lt9611_get_edid_block(void *data, u8 *buf, unsigned int block, return 0; } static void lt9611_set_preferred_mode(struct drm_connector *connector) { struct lt9611 *pdata = connector_to_lt9611(connector); struct drm_display_mode *mode; const char *string; /* use specified mode as preferred */ if (!of_property_read_string(pdata->dev->of_node, "lt,preferred-mode", &string)) { list_for_each_entry(mode, &connector->probed_modes, head) { if (!strcmp(mode->name, string)) mode->type |= DRM_MODE_TYPE_PREFERRED; } } } static int lt9611_connector_get_modes(struct drm_connector *connector) { struct lt9611 *pdata = connector_to_lt9611(connector); Loading Loading @@ -1720,12 +1736,11 @@ static int lt9611_connector_get_modes(struct drm_connector *connector) pdata->hdmi_mode = drm_detect_hdmi_monitor(edid); pr_debug("hdmi_mode = %d\n", pdata->hdmi_mode); /* TODO: this should not be hard coded */ drm_set_preferred_mode(connector, 1920, 1080); kfree(edid); } lt9611_set_preferred_mode(connector); return count; } Loading