Hi, On Wed, Aug 21, 2019 at 09:32:26PM +0300, Laurent Pinchart wrote: > When refactoring port lookup for DSS outputs, commit d17eb4537a7e > ("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: d17eb4537a7e ("drm/omap: Factor out common init/cleanup code for output devices") > Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Thanks, this fixes the display issue on N900. A. > --- > drivers/gpu/drm/omapdrm/dss/output.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/omapdrm/dss/output.c b/drivers/gpu/drm/omapdrm/dss/output.c > index de0f882f0f7b..14b41de44ebc 100644 > --- a/drivers/gpu/drm/omapdrm/dss/output.c > +++ b/drivers/gpu/drm/omapdrm/dss/output.c > @@ -4,6 +4,7 @@ > * Author: Archit Taneja <archit@xxxxxx> > */ > > +#include <linux/bitops.h> > #include <linux/kernel.h> > #include <linux/module.h> > #include <linux/platform_device.h> > @@ -20,7 +21,8 @@ int omapdss_device_init_output(struct omap_dss_device *out) > { > 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) { > dev_dbg(out->dev, "failed to find video sink\n"); > return 0; > -- > Regards, > > Laurent Pinchart > _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel