Hi Sam,

On 20/08/2019 13:37, Sam Ravnborg wrote:

@@ -123,6 +123,18 @@ static void panel_bridge_post_disable(struct drm_bridge 
*bridge)
        drm_panel_unprepare(panel_bridge->panel);
  }
+static int panel_bridge_get_modes(struct drm_bridge *bridge,
+                                 struct drm_connector *connector)
+{
+       struct panel_bridge *panel_bridge = drm_bridge_to_panel_bridge(bridge);
+
+       /*
+        * FIXME: drm_panel_get_modes() should take the connector as an
+        * argument.
+        */
Noted, I have patches to fix this. Needs a little testing/polishing
before I post them.

Do you have any testable patches for this?

I was testing this series with a Toshiba DPI-2-DSI bridge and a DSI panel, and was hitting a crash as simple-panel couldn't get the connector.

Laurent commented:

panel_bridge_attach() should be modified to call drm_panel_attach() even
when flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR, with the connctor parameter
set to NULL. That's easy, and drm_panel_attach() won't complain and
happily set panel->connector to NULL. The trouble is that the panel
drivers rely on panel->connector in their get_modes() implementation.
That function needs to be modified to take the connector pointer instead
of retrieving it from panel->connector (which can then be removed).

 Tomi

--
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to