Re: [PATCH v2 13/50] drm/bridge: panel: Implement bridge connector operations

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux