Commit 8090f7eb authored by Laurent Pinchart's avatar Laurent Pinchart Committed by Tomi Valkeinen

drm/omap: Fix port lookup for SDI output

When refactoring port lookup for DSS outputs, commit d17eb453
("drm/omap: Factor out common init/cleanup code for output devices")
incorrectly hardcoded usage of DT port 0. This breaks operation for SDI
(which uses the DT port 1) and DPI outputs other than DPI0 (which are
not used in mainline DT sources).

Fix this by using the port number from the output omap_dss_device
of_ports field.

Fixes: d17eb453 ("drm/omap: Factor out common init/cleanup code for output devices")
Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190821183226.13784-1-laurent.pinchart@ideasonboard.comTested-by: default avatarAaro Koskinen <aaro.koskinen@iki.fi>
parent fbf0a7f4
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
* Author: Archit Taneja <archit@ti.com> * Author: Archit Taneja <archit@ti.com>
*/ */
#include <linux/bitops.h>
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/platform_device.h> #include <linux/platform_device.h>
...@@ -20,7 +21,8 @@ int omapdss_device_init_output(struct omap_dss_device *out) ...@@ -20,7 +21,8 @@ int omapdss_device_init_output(struct omap_dss_device *out)
{ {
struct device_node *remote_node; struct device_node *remote_node;
remote_node = of_graph_get_remote_node(out->dev->of_node, 0, 0); remote_node = of_graph_get_remote_node(out->dev->of_node,
ffs(out->of_ports) - 1, 0);
if (!remote_node) { if (!remote_node) {
dev_dbg(out->dev, "failed to find video sink\n"); dev_dbg(out->dev, "failed to find video sink\n");
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment