Thread (22 messages) 22 messages, 3 authors, 2014-07-03

Re: [PATCH 15/15] drm/omap: Add infoframe & dvi/hdmi mode support

flat view

From: Tomi Valkeinen <hidden>
Date: 2014-06-25 11:29:21
Also in: linux-omap

On 25/06/14 14:03, Archit Taneja wrote:
Hi,

On Tuesday 24 June 2014 03:34 PM, Tomi Valkeinen wrote:
quoted
Make the omapdrm driver use the new HDMI ops when possible.

omapdrm will call set_hdmi_mode (when available) to tell the encoder
driver whether the monitor is a DVI or HDMI monitor, and if it's an HDMI
monitor, omapdrm will call set_hdmi_infoframe to to set the AVI
infoframe.
<snip>

quoted
@@ -89,6 +91,31 @@ static void omap_encoder_mode_set(struct
drm_encoder *encoder,
                  struct drm_display_mode *mode,
                  struct drm_display_mode *adjusted_mode)
  {
+    struct drm_device *dev = encoder->dev;
+    struct omap_encoder *omap_encoder = to_omap_encoder(encoder);
+    struct omap_dss_device *dssdev = omap_encoder->dssdev;
+    struct drm_connector *connector;
+    bool hdmi_mode;
+    int r;
+
+    hdmi_mode = false;
+    list_for_each_entry(connector, &dev->mode_config.connector_list,
head) {
+        if (connector->encoder == encoder) {
+            hdmi_mode = omap_connector_get_hdmi_mode(connector);
+            break;
+        }
+    }
+
+    if (dssdev->driver->set_hdmi_mode)
+        dssdev->driver->set_hdmi_mode(dssdev, hdmi_mode);
When a HDMI monitor is replaced with a DVI one, we call the
set_hdmi_mode() driver op to set the mode to DVI. But we don't call
set_hdmi_infoframe() when the mode is set back to DVI. Do we need to set
avi infoframe registers back to a default value, or are those registers
just ignored in DVI mode?
If I'm not mistaken, infoframes are a HDMI thing. When in DVI mode, the
device driver should clear/disable/something the infoframe registers,
depending on the HW in question.

 Tomi

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help