All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chen-Yu Tsai <wens@csie.org>
To: Maxime Ripard <maxime.ripard@free-electrons.com>,
	David Airlie <airlied@linux.ie>
Cc: Chen-Yu Tsai <wens@csie.org>,
	dri-devel@lists.freedesktop.org, linux-sunxi@googlegroups.com,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH 08/11] drm/sun4i: tv: Switch to drm_of_find_possible_crtcs
Date: Thu, 23 Feb 2017 16:05:40 +0800	[thread overview]
Message-ID: <20170223080543.6659-9-wens@csie.org> (raw)
In-Reply-To: <20170223080543.6659-1-wens@csie.org>

Now that the crtcs have their .port field set properly, we can use
drm_of_find_possible_crtcs to find the connected crtcs, instead of
hardcoding the first crtc as usable. The new code also defers binding
when the upstream crtc hasn't been registered yet.

This makes it easier to support multiple tcons/crtcs.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
---
 drivers/gpu/drm/sun4i/sun4i_tv.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/sun4i/sun4i_tv.c b/drivers/gpu/drm/sun4i/sun4i_tv.c
index c6f47222e8fc..32ed5fdf0c4d 100644
--- a/drivers/gpu/drm/sun4i/sun4i_tv.c
+++ b/drivers/gpu/drm/sun4i/sun4i_tv.c
@@ -19,6 +19,7 @@
 #include <drm/drmP.h>
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_crtc_helper.h>
+#include <drm/drm_of.h>
 #include <drm/drm_panel.h>
 
 #include "sun4i_backend.h"
@@ -623,7 +624,12 @@ static int sun4i_tv_bind(struct device *dev, struct device *master,
 		goto err_disable_clk;
 	}
 
-	tv->encoder.possible_crtcs = BIT(0);
+	tv->encoder.possible_crtcs = drm_of_find_possible_crtcs(drm,
+								dev->of_node);
+	if (!tv->encoder.possible_crtcs) {
+		ret = -EPROBE_DEFER;
+		goto err_disable_clk;
+	}
 
 	drm_connector_helper_add(&tv->connector,
 				 &sun4i_tv_comp_connector_helper_funcs);
-- 
2.11.0

WARNING: multiple messages have this Message-ID (diff)
From: wens@csie.org (Chen-Yu Tsai)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 08/11] drm/sun4i: tv: Switch to drm_of_find_possible_crtcs
Date: Thu, 23 Feb 2017 16:05:40 +0800	[thread overview]
Message-ID: <20170223080543.6659-9-wens@csie.org> (raw)
In-Reply-To: <20170223080543.6659-1-wens@csie.org>

Now that the crtcs have their .port field set properly, we can use
drm_of_find_possible_crtcs to find the connected crtcs, instead of
hardcoding the first crtc as usable. The new code also defers binding
when the upstream crtc hasn't been registered yet.

This makes it easier to support multiple tcons/crtcs.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
---
 drivers/gpu/drm/sun4i/sun4i_tv.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/sun4i/sun4i_tv.c b/drivers/gpu/drm/sun4i/sun4i_tv.c
index c6f47222e8fc..32ed5fdf0c4d 100644
--- a/drivers/gpu/drm/sun4i/sun4i_tv.c
+++ b/drivers/gpu/drm/sun4i/sun4i_tv.c
@@ -19,6 +19,7 @@
 #include <drm/drmP.h>
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_crtc_helper.h>
+#include <drm/drm_of.h>
 #include <drm/drm_panel.h>
 
 #include "sun4i_backend.h"
@@ -623,7 +624,12 @@ static int sun4i_tv_bind(struct device *dev, struct device *master,
 		goto err_disable_clk;
 	}
 
-	tv->encoder.possible_crtcs = BIT(0);
+	tv->encoder.possible_crtcs = drm_of_find_possible_crtcs(drm,
+								dev->of_node);
+	if (!tv->encoder.possible_crtcs) {
+		ret = -EPROBE_DEFER;
+		goto err_disable_clk;
+	}
 
 	drm_connector_helper_add(&tv->connector,
 				 &sun4i_tv_comp_connector_helper_funcs);
-- 
2.11.0

WARNING: multiple messages have this Message-ID (diff)
From: Chen-Yu Tsai <wens-jdAy2FN1RRM@public.gmane.org>
To: Maxime Ripard
	<maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
	David Airlie <airlied-cv59FeDIM0c@public.gmane.org>
Cc: Chen-Yu Tsai <wens-jdAy2FN1RRM@public.gmane.org>,
	dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org,
	linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: [PATCH 08/11] drm/sun4i: tv: Switch to drm_of_find_possible_crtcs
Date: Thu, 23 Feb 2017 16:05:40 +0800	[thread overview]
Message-ID: <20170223080543.6659-9-wens@csie.org> (raw)
In-Reply-To: <20170223080543.6659-1-wens-jdAy2FN1RRM@public.gmane.org>

Now that the crtcs have their .port field set properly, we can use
drm_of_find_possible_crtcs to find the connected crtcs, instead of
hardcoding the first crtc as usable. The new code also defers binding
when the upstream crtc hasn't been registered yet.

This makes it easier to support multiple tcons/crtcs.

Signed-off-by: Chen-Yu Tsai <wens-jdAy2FN1RRM@public.gmane.org>
---
 drivers/gpu/drm/sun4i/sun4i_tv.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/sun4i/sun4i_tv.c b/drivers/gpu/drm/sun4i/sun4i_tv.c
index c6f47222e8fc..32ed5fdf0c4d 100644
--- a/drivers/gpu/drm/sun4i/sun4i_tv.c
+++ b/drivers/gpu/drm/sun4i/sun4i_tv.c
@@ -19,6 +19,7 @@
 #include <drm/drmP.h>
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_crtc_helper.h>
+#include <drm/drm_of.h>
 #include <drm/drm_panel.h>
 
 #include "sun4i_backend.h"
@@ -623,7 +624,12 @@ static int sun4i_tv_bind(struct device *dev, struct device *master,
 		goto err_disable_clk;
 	}
 
-	tv->encoder.possible_crtcs = BIT(0);
+	tv->encoder.possible_crtcs = drm_of_find_possible_crtcs(drm,
+								dev->of_node);
+	if (!tv->encoder.possible_crtcs) {
+		ret = -EPROBE_DEFER;
+		goto err_disable_clk;
+	}
 
 	drm_connector_helper_add(&tv->connector,
 				 &sun4i_tv_comp_connector_helper_funcs);
-- 
2.11.0

  parent reply	other threads:[~2017-02-23  8:17 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-23  8:05 [PATCH 00/11] drm/sun4i: Various fixes and cleanups part 2 Chen-Yu Tsai
2017-02-23  8:05 ` Chen-Yu Tsai
2017-02-23  8:05 ` Chen-Yu Tsai
2017-02-23  8:05 ` [PATCH 01/11] drm/sun4i: Make sunxi_rgb2yuv_coef constant Chen-Yu Tsai
2017-02-23  8:05   ` Chen-Yu Tsai
2017-02-23  8:05   ` Chen-Yu Tsai
2017-02-23 18:18   ` Maxime Ripard
2017-02-23 18:18     ` Maxime Ripard
2017-02-23 18:18     ` Maxime Ripard
2017-02-23  8:05 ` [PATCH 02/11] drm/sun4i: Set drm_crtc.port to the underlying TCON's output port node Chen-Yu Tsai
2017-02-23  8:05   ` Chen-Yu Tsai
2017-02-23  8:05   ` Chen-Yu Tsai
2017-02-23 18:20   ` Maxime Ripard
2017-02-23 18:20     ` Maxime Ripard
2017-02-23 18:20     ` Maxime Ripard
2017-02-23  8:05 ` [PATCH 03/11] drm/sun4i: Add end of list element for sun4i_layers_init's returned list Chen-Yu Tsai
2017-02-23  8:05   ` Chen-Yu Tsai
2017-02-23  8:05   ` Chen-Yu Tsai
2017-02-23 18:21   ` Maxime Ripard
2017-02-23 18:21     ` Maxime Ripard
2017-02-23 18:21     ` Maxime Ripard
2017-02-23  8:05 ` [PATCH 04/11] drm/sun4i: Move layers from sun4i_drv to sun4i_crtc Chen-Yu Tsai
2017-02-23  8:05   ` Chen-Yu Tsai
2017-02-23  8:05   ` Chen-Yu Tsai
2017-02-23 18:22   ` Maxime Ripard
2017-02-23 18:22     ` Maxime Ripard
2017-02-23 18:22     ` Maxime Ripard
2017-02-23  8:05 ` [PATCH 05/11] drm/sun4i: Initialize crtc from tcon bind function Chen-Yu Tsai
2017-02-23  8:05   ` Chen-Yu Tsai
2017-02-23  8:05   ` Chen-Yu Tsai
2017-02-23 18:24   ` Maxime Ripard
2017-02-23 18:24     ` Maxime Ripard
2017-02-23 18:24     ` Maxime Ripard
2017-02-23  8:05 ` [PATCH 06/11] drm/sun4i: Drop primary layer pointer from sun4i_drv Chen-Yu Tsai
2017-02-23  8:05   ` Chen-Yu Tsai
2017-02-23  8:05   ` Chen-Yu Tsai
2017-02-23 18:26   ` Maxime Ripard
2017-02-23 18:26     ` Maxime Ripard
2017-02-23 18:26     ` Maxime Ripard
2017-02-23  8:05 ` [PATCH 07/11] drm/sun4i: Drop hardcoded .possible_crtcs values from layers Chen-Yu Tsai
2017-02-23  8:05   ` Chen-Yu Tsai
2017-02-23  8:05   ` Chen-Yu Tsai
2017-02-23  8:05 ` Chen-Yu Tsai [this message]
2017-02-23  8:05   ` [PATCH 08/11] drm/sun4i: tv: Switch to drm_of_find_possible_crtcs Chen-Yu Tsai
2017-02-23  8:05   ` Chen-Yu Tsai
2017-02-23  8:05 ` [PATCH 09/11] drm/sun4i: rgb: Pass tcon pointer when initializing RGB encoder Chen-Yu Tsai
2017-02-23  8:05   ` Chen-Yu Tsai
2017-02-23  8:05   ` Chen-Yu Tsai
2017-02-23  8:05 ` [PATCH 10/11] drm/sun4i: Add backend pointer to sun4i_layer Chen-Yu Tsai
2017-02-23  8:05   ` Chen-Yu Tsai
2017-02-23  8:05   ` Chen-Yu Tsai
2017-02-23  8:05 ` [PATCH 11/11] drm/sun4i: Add backend and tcon pointers to sun4i_crtc Chen-Yu Tsai
2017-02-23  8:05   ` Chen-Yu Tsai
2017-02-23  8:05   ` Chen-Yu Tsai
2017-02-23 18:30   ` Maxime Ripard
2017-02-23 18:30     ` Maxime Ripard
2017-02-23 18:30     ` Maxime Ripard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170223080543.6659-9-wens@csie.org \
    --to=wens@csie.org \
    --cc=airlied@linux.ie \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sunxi@googlegroups.com \
    --cc=maxime.ripard@free-electrons.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.