* [PATCH v2 1/2] drm/exynos: dp: add of_graph dt binding support for panel
@ 2015-12-02 11:57 Inki Dae
2015-12-02 11:57 ` [PATCH v2 2/2] drm/exynos: dp: fix wrong return type Inki Dae
` (3 more replies)
0 siblings, 4 replies; 10+ messages in thread
From: Inki Dae @ 2015-12-02 11:57 UTC (permalink / raw)
To: dri-devel; +Cc: airlied, linux-samsung-soc, javier, Inki Dae
This patch adds of_graph dt binding support for panel device
and also keeps the backward compatibility.
i.e.,
The dts file for Exynos5800 based peach pi board
has a panel property so we need to keep the backward compatibility.
Changelog v2:
- return -EINVAL if getting a port node failed.
Signed-off-by: Inki Dae <inki.dae@samsung.com>
---
drivers/gpu/drm/exynos/exynos_dp_core.c | 21 +++++++++++++++++++--
1 file changed, 19 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/exynos/exynos_dp_core.c b/drivers/gpu/drm/exynos/exynos_dp_core.c
index 94f02a0..0b53045 100644
--- a/drivers/gpu/drm/exynos/exynos_dp_core.c
+++ b/drivers/gpu/drm/exynos/exynos_dp_core.c
@@ -1392,7 +1392,7 @@ static const struct component_ops exynos_dp_ops = {
static int exynos_dp_probe(struct platform_device *pdev)
{
struct device *dev = &pdev->dev;
- struct device_node *panel_node, *bridge_node, *endpoint;
+ struct device_node *panel_node = NULL, *bridge_node, *endpoint = NULL;
struct exynos_dp_device *dp;
int ret;
@@ -1403,15 +1403,32 @@ static int exynos_dp_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, dp);
+ /* This is for the backward compatibility. */
panel_node = of_parse_phandle(dev->of_node, "panel", 0);
if (panel_node) {
dp->panel = of_drm_find_panel(panel_node);
of_node_put(panel_node);
if (!dp->panel)
return -EPROBE_DEFER;
+ } else {
+ endpoint = of_graph_get_next_endpoint(dev->of_node, NULL);
+ if (endpoint) {
+ panel_node = of_graph_get_remote_port_parent(endpoint);
+ if (panel_node) {
+ dp->panel = of_drm_find_panel(panel_node);
+ of_node_put(panel_node);
+ if (!dp->panel)
+ return -EPROBE_DEFER;
+ } else {
+ DRM_ERROR("no port node for panel device.\n");
+ return -EINVAL;
+ }
+ }
}
- endpoint = of_graph_get_next_endpoint(dev->of_node, NULL);
+ panel_node = !endpoint ? NULL : panel_node;
+
+ endpoint = of_graph_get_next_endpoint(dev->of_node, panel_node);
if (endpoint) {
bridge_node = of_graph_get_remote_port_parent(endpoint);
if (bridge_node) {
--
1.9.1
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH v2 2/2] drm/exynos: dp: fix wrong return type 2015-12-02 11:57 [PATCH v2 1/2] drm/exynos: dp: add of_graph dt binding support for panel Inki Dae @ 2015-12-02 11:57 ` Inki Dae 2015-12-02 12:03 ` Javier Martinez Canillas 2015-12-02 15:04 ` [PATCH v2 1/2] drm/exynos: dp: add of_graph dt binding support for panel Javier Martinez Canillas ` (2 subsequent siblings) 3 siblings, 1 reply; 10+ messages in thread From: Inki Dae @ 2015-12-02 11:57 UTC (permalink / raw) To: dri-devel; +Cc: airlied, linux-samsung-soc, javier, Inki Dae This patch fixes wrong return type when dt binding of bridge device failed. If a board has a bridge device then of_graph_get_remote_port_parent function shouldn't be NULL. So this patch will return a proper error type so that the deferred probe isn't triggered. Changelog v2: - return -EINVAL if getting a port node failed. Signed-off-by: Inki Dae <inki.dae@samsung.com> --- drivers/gpu/drm/exynos/exynos_dp_core.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/exynos/exynos_dp_core.c b/drivers/gpu/drm/exynos/exynos_dp_core.c index 0b53045..c77fb83 100644 --- a/drivers/gpu/drm/exynos/exynos_dp_core.c +++ b/drivers/gpu/drm/exynos/exynos_dp_core.c @@ -1436,8 +1436,10 @@ static int exynos_dp_probe(struct platform_device *pdev) of_node_put(bridge_node); if (!dp->ptn_bridge) return -EPROBE_DEFER; - } else - return -EPROBE_DEFER; + } else { + DRM_ERROR("no port node for bridge device.\n"); + return -EINVAL; + } } pm_runtime_enable(dev); -- 1.9.1 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v2 2/2] drm/exynos: dp: fix wrong return type 2015-12-02 11:57 ` [PATCH v2 2/2] drm/exynos: dp: fix wrong return type Inki Dae @ 2015-12-02 12:03 ` Javier Martinez Canillas 0 siblings, 0 replies; 10+ messages in thread From: Javier Martinez Canillas @ 2015-12-02 12:03 UTC (permalink / raw) To: Inki Dae, dri-devel; +Cc: airlied, linux-samsung-soc Hello Inki, On 12/02/2015 08:57 AM, Inki Dae wrote: > This patch fixes wrong return type when dt binding of bridge device > failed. > > If a board has a bridge device then of_graph_get_remote_port_parent > function shouldn't be NULL. So this patch will return a proper error > type so that the deferred probe isn't triggered. > > Changelog v2: > - return -EINVAL if getting a port node failed. > > Signed-off-by: Inki Dae <inki.dae@samsung.com> > --- Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com> Best regards -- Javier Martinez Canillas Open Source Group Samsung Research America ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 1/2] drm/exynos: dp: add of_graph dt binding support for panel 2015-12-02 11:57 [PATCH v2 1/2] drm/exynos: dp: add of_graph dt binding support for panel Inki Dae 2015-12-02 11:57 ` [PATCH v2 2/2] drm/exynos: dp: fix wrong return type Inki Dae @ 2015-12-02 15:04 ` Javier Martinez Canillas 2015-12-03 2:11 ` Inki Dae 2015-12-03 7:11 ` Inki Dae 2015-12-03 22:51 ` Rob Herring 3 siblings, 1 reply; 10+ messages in thread From: Javier Martinez Canillas @ 2015-12-02 15:04 UTC (permalink / raw) To: Inki Dae, dri-devel; +Cc: linux-samsung-soc Hello Inki, On 12/02/2015 08:57 AM, Inki Dae wrote: > This patch adds of_graph dt binding support for panel device > and also keeps the backward compatibility. > You have to also update the DT binding doc which seems to be outdated already: Documentation/devicetree/bindings/display/exynos/exynos_dp.txt > i.e., > The dts file for Exynos5800 based peach pi board > has a panel property so we need to keep the backward compatibility. > How did you test this patch? Best regards, -- Javier Martinez Canillas Open Source Group Samsung Research America _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 1/2] drm/exynos: dp: add of_graph dt binding support for panel 2015-12-02 15:04 ` [PATCH v2 1/2] drm/exynos: dp: add of_graph dt binding support for panel Javier Martinez Canillas @ 2015-12-03 2:11 ` Inki Dae 2015-12-03 13:05 ` Javier Martinez Canillas 0 siblings, 1 reply; 10+ messages in thread From: Inki Dae @ 2015-12-03 2:11 UTC (permalink / raw) To: Javier Martinez Canillas, dri-devel; +Cc: airlied, linux-samsung-soc Hi Javier, 2015년 12월 03일 00:04에 Javier Martinez Canillas 이(가) 쓴 글: > Hello Inki, > > On 12/02/2015 08:57 AM, Inki Dae wrote: >> This patch adds of_graph dt binding support for panel device >> and also keeps the backward compatibility. >> > > You have to also update the DT binding doc which seems to be > outdated already: > > Documentation/devicetree/bindings/display/exynos/exynos_dp.txt Right. It should be updated. > >> i.e., >> The dts file for Exynos5800 based peach pi board >> has a panel property so we need to keep the backward compatibility. >> > > How did you test this patch? I thought you will test it and give me tested-by because you commented like below, " Assuming you can make a distinction if the endpoint is a panel or a bridge, then yes, I agree with the idea of the patch. Please feel free to cc me if you post such a patch and I'll gladly test it on my Exynos5800 Peach Pi." That is why I cced you. I really have no any Exynos5800 Peach Pi board. Thanks, Inki Dae > > Best regards, > ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 1/2] drm/exynos: dp: add of_graph dt binding support for panel 2015-12-03 2:11 ` Inki Dae @ 2015-12-03 13:05 ` Javier Martinez Canillas 2015-12-06 16:25 ` Inki Dae 0 siblings, 1 reply; 10+ messages in thread From: Javier Martinez Canillas @ 2015-12-03 13:05 UTC (permalink / raw) To: Inki Dae, dri-devel; +Cc: airlied, linux-samsung-soc Hello Inki, On 12/02/2015 11:11 PM, Inki Dae wrote: > Hi Javier, > > 2015년 12월 03일 00:04에 Javier Martinez Canillas 이(가) 쓴 글: >> Hello Inki, >> >> On 12/02/2015 08:57 AM, Inki Dae wrote: >>> This patch adds of_graph dt binding support for panel device >>> and also keeps the backward compatibility. >>> >> >> You have to also update the DT binding doc which seems to be >> outdated already: >> >> Documentation/devicetree/bindings/display/exynos/exynos_dp.txt > > Right. It should be updated. > Great, I see you already posted that. >> >>> i.e., >>> The dts file for Exynos5800 based peach pi board >>> has a panel property so we need to keep the backward compatibility. >>> >> >> How did you test this patch? > > I thought you will test it and give me tested-by because you commented like below, > " Assuming you can make a distinction if the endpoint is a panel or a bridge, > then yes, I agree with the idea of the patch. Please feel free to cc me if > you post such a patch and I'll gladly test it on my Exynos5800 Peach Pi." > > That is why I cced you. I really have no any Exynos5800 Peach Pi board. > Yes, but if you didn't test a patch, then it should be marked with a RFT prefix in the subject line or at least mention that needs testing since you lack the HW to test. I've no way to know if you have another board with a similar design :) But what I meant is how the patch is supposed to be tested since there ins't a change in the Exynos5800 Peach Pi DTS? We can of course test that doesn't break backward compatibility but we don't have a way to test the actual change. So I tested with the patch following patch [0] and things are working correctly. Please include that patch in your series. I've some comments on your patch though but I'll comment on your lastest version. > Thanks, > Inki Dae > >> >> Best regards, >> Best regards, -- Javier Martinez Canillas Open Source Group Samsung Research America [0]: From 644bab7949ac17a8d42ca0cf36cd55d61bc88928 Mon Sep 17 00:00:00 2001 From: Javier Martinez Canillas <javier@osg.samsung.com> Date: Thu, 3 Dec 2015 09:32:17 -0300 Subject: [PATCH 1/1] ARM: dts: Use OF graph for DP to panel connection in exynos5800-peach-pi The DT binding for the Exynos DRM Display Port (DP) driver isn't consistent since it uses a phandle to describe the connection between the DP port and the display panel but uses the OF graph ports and endpoints to describe the connection betwen the DP port, a bridge chip and the panel. The Exynos DP driver and the DT binding have been changed to allow also to describe the DP port to panel connection using ports / endpoints (OF graph) so this patch changes the Exynos5800 Peach Pi DT to make it consistent with the Exynos5420 Peach Pit that has a eDP to LVDS chip and uses OF graph too. Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com> --- arch/arm/boot/dts/exynos5800-peach-pi.dts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/arch/arm/boot/dts/exynos5800-peach-pi.dts b/arch/arm/boot/dts/exynos5800-peach-pi.dts index 7b018e451880..9c6fd7314ee0 100644 --- a/arch/arm/boot/dts/exynos5800-peach-pi.dts +++ b/arch/arm/boot/dts/exynos5800-peach-pi.dts @@ -122,6 +122,12 @@ compatible = "auo,b133htn01"; power-supply = <&tps65090_fet6>; backlight = <&backlight>; + + port { + panel_in: endpoint { + remote-endpoint = <&dp_out>; + }; + }; }; mmc1_pwrseq: mmc1_pwrseq { @@ -148,7 +154,14 @@ samsung,link-rate = <0x0a>; samsung,lane-count = <2>; samsung,hpd-gpio = <&gpx2 6 GPIO_ACTIVE_HIGH>; - panel = <&panel>; + + ports { + port@0 { + dp_out: endpoint { + remote-endpoint = <&panel_in>; + }; + }; + }; }; &fimd { -- 2.4.3 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v2 1/2] drm/exynos: dp: add of_graph dt binding support for panel 2015-12-03 13:05 ` Javier Martinez Canillas @ 2015-12-06 16:25 ` Inki Dae 2015-12-07 12:17 ` Javier Martinez Canillas 0 siblings, 1 reply; 10+ messages in thread From: Inki Dae @ 2015-12-06 16:25 UTC (permalink / raw) To: Javier Martinez Canillas Cc: DRI mailing list, linux-samsung-soc@vger.kernel.org Hi Javier, 2015-12-03 22:05 GMT+09:00 Javier Martinez Canillas <javier@osg.samsung.com>: > > Hello Inki, > > On 12/02/2015 11:11 PM, Inki Dae wrote: >> Hi Javier, >> >> 2015년 12월 03일 00:04에 Javier Martinez Canillas 이(가) 쓴 글: >>> Hello Inki, >>> >>> On 12/02/2015 08:57 AM, Inki Dae wrote: >>>> This patch adds of_graph dt binding support for panel device >>>> and also keeps the backward compatibility. >>>> >>> >>> You have to also update the DT binding doc which seems to be >>> outdated already: >>> >>> Documentation/devicetree/bindings/display/exynos/exynos_dp.txt >> >> Right. It should be updated. >> > > Great, I see you already posted that. > >>> >>>> i.e., >>>> The dts file for Exynos5800 based peach pi board >>>> has a panel property so we need to keep the backward compatibility. >>>> >>> >>> How did you test this patch? >> >> I thought you will test it and give me tested-by because you commented like below, >> " Assuming you can make a distinction if the endpoint is a panel or a bridge, >> then yes, I agree with the idea of the patch. Please feel free to cc me if >> you post such a patch and I'll gladly test it on my Exynos5800 Peach Pi." >> >> That is why I cced you. I really have no any Exynos5800 Peach Pi board. >> > > Yes, but if you didn't test a patch, then it should be marked with a RFT > prefix in the subject line or at least mention that needs testing since > you lack the HW to test. I've no way to know if you have another board > with a similar design :) > > But what I meant is how the patch is supposed to be tested since there > ins't a change in the Exynos5800 Peach Pi DTS? We can of course test > that doesn't break backward compatibility but we don't have a way to > test the actual change. > > So I tested with the patch following patch [0] and things are working > correctly. Please include that patch in your series. Will pick it up. And I commented on below your patch. > > I've some comments on your patch though but I'll comment on your lastest > version. > >> Thanks, >> Inki Dae >> >>> >>> Best regards, >>> > > Best regards, > -- > Javier Martinez Canillas > Open Source Group > Samsung Research America > > [0]: > From 644bab7949ac17a8d42ca0cf36cd55d61bc88928 Mon Sep 17 00:00:00 2001 > From: Javier Martinez Canillas <javier@osg.samsung.com> > Date: Thu, 3 Dec 2015 09:32:17 -0300 > Subject: [PATCH 1/1] ARM: dts: Use OF graph for DP to panel connection in > exynos5800-peach-pi > > The DT binding for the Exynos DRM Display Port (DP) driver isn't consistent > since it uses a phandle to describe the connection between the DP port and > the display panel but uses the OF graph ports and endpoints to describe the > connection betwen the DP port, a bridge chip and the panel. > > The Exynos DP driver and the DT binding have been changed to allow also to > describe the DP port to panel connection using ports / endpoints (OF graph) > so this patch changes the Exynos5800 Peach Pi DT to make it consistent with > the Exynos5420 Peach Pit that has a eDP to LVDS chip and uses OF graph too. > > Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com> > --- > arch/arm/boot/dts/exynos5800-peach-pi.dts | 15 ++++++++++++++- > 1 file changed, 14 insertions(+), 1 deletion(-) > > diff --git a/arch/arm/boot/dts/exynos5800-peach-pi.dts b/arch/arm/boot/dts/exynos5800-peach-pi.dts > index 7b018e451880..9c6fd7314ee0 100644 > --- a/arch/arm/boot/dts/exynos5800-peach-pi.dts > +++ b/arch/arm/boot/dts/exynos5800-peach-pi.dts > @@ -122,6 +122,12 @@ > compatible = "auo,b133htn01"; > power-supply = <&tps65090_fet6>; > backlight = <&backlight>; > + > + port { > + panel_in: endpoint { > + remote-endpoint = <&dp_out>; > + }; > + }; > }; > > mmc1_pwrseq: mmc1_pwrseq { > @@ -148,7 +154,14 @@ > samsung,link-rate = <0x0a>; > samsung,lane-count = <2>; > samsung,hpd-gpio = <&gpx2 6 GPIO_ACTIVE_HIGH>; > - panel = <&panel>; > + > + ports { > + port@0 { As Rob commented before, I will pick it up removing @0 if you are ok. Thanks, Inki Dae > + dp_out: endpoint { > + remote-endpoint = <&panel_in>; > + }; > + }; > + }; > }; > > &fimd { > -- > 2.4.3 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 1/2] drm/exynos: dp: add of_graph dt binding support for panel 2015-12-06 16:25 ` Inki Dae @ 2015-12-07 12:17 ` Javier Martinez Canillas 0 siblings, 0 replies; 10+ messages in thread From: Javier Martinez Canillas @ 2015-12-07 12:17 UTC (permalink / raw) To: Inki Dae Cc: DRI mailing list, linux-samsung-soc@vger.kernel.org, Krzysztof Kozlowski, Kukjin Kim [adding Krzysztof and Kukjin to cc list] Hello Inki, On 12/06/2015 01:25 PM, Inki Dae wrote: > Hi Javier, > > 2015-12-03 22:05 GMT+09:00 Javier Martinez Canillas <javier@osg.samsung.com>: >> >> Hello Inki, >> >> On 12/02/2015 11:11 PM, Inki Dae wrote: >>> Hi Javier, >>> >>> 2015년 12월 03일 00:04에 Javier Martinez Canillas 이(가) 쓴 글: >>>> Hello Inki, >>>> >>>> On 12/02/2015 08:57 AM, Inki Dae wrote: >>>>> This patch adds of_graph dt binding support for panel device >>>>> and also keeps the backward compatibility. >>>>> >>>> >>>> You have to also update the DT binding doc which seems to be >>>> outdated already: >>>> >>>> Documentation/devicetree/bindings/display/exynos/exynos_dp.txt >>> >>> Right. It should be updated. >>> >> >> Great, I see you already posted that. >> >>>> >>>>> i.e., >>>>> The dts file for Exynos5800 based peach pi board >>>>> has a panel property so we need to keep the backward compatibility. >>>>> >>>> >>>> How did you test this patch? >>> >>> I thought you will test it and give me tested-by because you commented like below, >>> " Assuming you can make a distinction if the endpoint is a panel or a bridge, >>> then yes, I agree with the idea of the patch. Please feel free to cc me if >>> you post such a patch and I'll gladly test it on my Exynos5800 Peach Pi." >>> >>> That is why I cced you. I really have no any Exynos5800 Peach Pi board. >>> >> >> Yes, but if you didn't test a patch, then it should be marked with a RFT >> prefix in the subject line or at least mention that needs testing since >> you lack the HW to test. I've no way to know if you have another board >> with a similar design :) >> >> But what I meant is how the patch is supposed to be tested since there >> ins't a change in the Exynos5800 Peach Pi DTS? We can of course test >> that doesn't break backward compatibility but we don't have a way to >> test the actual change. >> >> So I tested with the patch following patch [0] and things are working >> correctly. Please include that patch in your series. > > Will pick it up. And I commented on below your patch. > Ok, you need an ack from Krzysztof / Kukjin before picking the patch though and cc them if you are planning to repost the whole series. Another option is to wait until your Exynos DRM patches hit mainline and then the DTS change can be posted separately. >> >> I've some comments on your patch though but I'll comment on your lastest >> version. >> >>> Thanks, >>> Inki Dae >>> >>>> >>>> Best regards, >>>> >> >> Best regards, >> -- >> Javier Martinez Canillas >> Open Source Group >> Samsung Research America >> >> [0]: >> From 644bab7949ac17a8d42ca0cf36cd55d61bc88928 Mon Sep 17 00:00:00 2001 >> From: Javier Martinez Canillas <javier@osg.samsung.com> >> Date: Thu, 3 Dec 2015 09:32:17 -0300 >> Subject: [PATCH 1/1] ARM: dts: Use OF graph for DP to panel connection in >> exynos5800-peach-pi >> >> The DT binding for the Exynos DRM Display Port (DP) driver isn't consistent >> since it uses a phandle to describe the connection between the DP port and >> the display panel but uses the OF graph ports and endpoints to describe the >> connection betwen the DP port, a bridge chip and the panel. >> >> The Exynos DP driver and the DT binding have been changed to allow also to >> describe the DP port to panel connection using ports / endpoints (OF graph) >> so this patch changes the Exynos5800 Peach Pi DT to make it consistent with >> the Exynos5420 Peach Pit that has a eDP to LVDS chip and uses OF graph too. >> >> Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com> >> --- >> arch/arm/boot/dts/exynos5800-peach-pi.dts | 15 ++++++++++++++- >> 1 file changed, 14 insertions(+), 1 deletion(-) >> >> diff --git a/arch/arm/boot/dts/exynos5800-peach-pi.dts b/arch/arm/boot/dts/exynos5800-peach-pi.dts >> index 7b018e451880..9c6fd7314ee0 100644 >> --- a/arch/arm/boot/dts/exynos5800-peach-pi.dts >> +++ b/arch/arm/boot/dts/exynos5800-peach-pi.dts >> @@ -122,6 +122,12 @@ >> compatible = "auo,b133htn01"; >> power-supply = <&tps65090_fet6>; >> backlight = <&backlight>; >> + >> + port { >> + panel_in: endpoint { >> + remote-endpoint = <&dp_out>; >> + }; >> + }; >> }; >> >> mmc1_pwrseq: mmc1_pwrseq { >> @@ -148,7 +154,14 @@ >> samsung,link-rate = <0x0a>; >> samsung,lane-count = <2>; >> samsung,hpd-gpio = <&gpx2 6 GPIO_ACTIVE_HIGH>; >> - panel = <&panel>; >> + >> + ports { >> + port@0 { > > As Rob commented before, I will pick it up removing @0 if you are ok. > Ok, it is true that there isn't an #address-cells, #size-cells and reg properties since there is a single port so I guess the @0 is arbitrary here so it doesn't represent a proper unit-address and can be removed. > Thanks, > Inki Dae > >> + dp_out: endpoint { >> + remote-endpoint = <&panel_in>; >> + }; >> + }; >> + }; >> }; >> >> &fimd { >> -- >> 2.4.3 >> Best regards, -- Javier Martinez Canillas Open Source Group Samsung Research America ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 1/2] drm/exynos: dp: add of_graph dt binding support for panel 2015-12-02 11:57 [PATCH v2 1/2] drm/exynos: dp: add of_graph dt binding support for panel Inki Dae 2015-12-02 11:57 ` [PATCH v2 2/2] drm/exynos: dp: fix wrong return type Inki Dae 2015-12-02 15:04 ` [PATCH v2 1/2] drm/exynos: dp: add of_graph dt binding support for panel Javier Martinez Canillas @ 2015-12-03 7:11 ` Inki Dae 2015-12-03 22:51 ` Rob Herring 3 siblings, 0 replies; 10+ messages in thread From: Inki Dae @ 2015-12-03 7:11 UTC (permalink / raw) To: dri-devel; +Cc: airlied, linux-samsung-soc, javier It seems that below patch should be modifed for only one of two outbound nodes - panel and bridge - to be bound because in case of using bridge device, the bridge driver will bind the panel. I will fix and post it again. Thanks, Inki Dae 2015년 12월 02일 20:57에 Inki Dae 이(가) 쓴 글: > This patch adds of_graph dt binding support for panel device > and also keeps the backward compatibility. > > i.e., > The dts file for Exynos5800 based peach pi board > has a panel property so we need to keep the backward compatibility. > > Changelog v2: > - return -EINVAL if getting a port node failed. > > Signed-off-by: Inki Dae <inki.dae@samsung.com> > --- > drivers/gpu/drm/exynos/exynos_dp_core.c | 21 +++++++++++++++++++-- > 1 file changed, 19 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/exynos/exynos_dp_core.c b/drivers/gpu/drm/exynos/exynos_dp_core.c > index 94f02a0..0b53045 100644 > --- a/drivers/gpu/drm/exynos/exynos_dp_core.c > +++ b/drivers/gpu/drm/exynos/exynos_dp_core.c > @@ -1392,7 +1392,7 @@ static const struct component_ops exynos_dp_ops = { > static int exynos_dp_probe(struct platform_device *pdev) > { > struct device *dev = &pdev->dev; > - struct device_node *panel_node, *bridge_node, *endpoint; > + struct device_node *panel_node = NULL, *bridge_node, *endpoint = NULL; > struct exynos_dp_device *dp; > int ret; > > @@ -1403,15 +1403,32 @@ static int exynos_dp_probe(struct platform_device *pdev) > > platform_set_drvdata(pdev, dp); > > + /* This is for the backward compatibility. */ > panel_node = of_parse_phandle(dev->of_node, "panel", 0); > if (panel_node) { > dp->panel = of_drm_find_panel(panel_node); > of_node_put(panel_node); > if (!dp->panel) > return -EPROBE_DEFER; > + } else { > + endpoint = of_graph_get_next_endpoint(dev->of_node, NULL); > + if (endpoint) { > + panel_node = of_graph_get_remote_port_parent(endpoint); > + if (panel_node) { > + dp->panel = of_drm_find_panel(panel_node); > + of_node_put(panel_node); > + if (!dp->panel) > + return -EPROBE_DEFER; > + } else { > + DRM_ERROR("no port node for panel device.\n"); > + return -EINVAL; > + } > + } > } > > - endpoint = of_graph_get_next_endpoint(dev->of_node, NULL); > + panel_node = !endpoint ? NULL : panel_node; > + > + endpoint = of_graph_get_next_endpoint(dev->of_node, panel_node); > if (endpoint) { > bridge_node = of_graph_get_remote_port_parent(endpoint); > if (bridge_node) { > ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 1/2] drm/exynos: dp: add of_graph dt binding support for panel 2015-12-02 11:57 [PATCH v2 1/2] drm/exynos: dp: add of_graph dt binding support for panel Inki Dae ` (2 preceding siblings ...) 2015-12-03 7:11 ` Inki Dae @ 2015-12-03 22:51 ` Rob Herring 3 siblings, 0 replies; 10+ messages in thread From: Rob Herring @ 2015-12-03 22:51 UTC (permalink / raw) To: Inki Dae Cc: dri-devel, Javier Martinez Canillas, linux-samsung-soc@vger.kernel.org On Wed, Dec 2, 2015 at 5:57 AM, Inki Dae <inki.dae@samsung.com> wrote: > This patch adds of_graph dt binding support for panel device > and also keeps the backward compatibility. > > i.e., > The dts file for Exynos5800 based peach pi board > has a panel property so we need to keep the backward compatibility. > > Changelog v2: > - return -EINVAL if getting a port node failed. > > Signed-off-by: Inki Dae <inki.dae@samsung.com> > --- > drivers/gpu/drm/exynos/exynos_dp_core.c | 21 +++++++++++++++++++-- > 1 file changed, 19 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/exynos/exynos_dp_core.c b/drivers/gpu/drm/exynos/exynos_dp_core.c > index 94f02a0..0b53045 100644 > --- a/drivers/gpu/drm/exynos/exynos_dp_core.c > +++ b/drivers/gpu/drm/exynos/exynos_dp_core.c > @@ -1392,7 +1392,7 @@ static const struct component_ops exynos_dp_ops = { > static int exynos_dp_probe(struct platform_device *pdev) > { > struct device *dev = &pdev->dev; > - struct device_node *panel_node, *bridge_node, *endpoint; > + struct device_node *panel_node = NULL, *bridge_node, *endpoint = NULL; > struct exynos_dp_device *dp; > int ret; > > @@ -1403,15 +1403,32 @@ static int exynos_dp_probe(struct platform_device *pdev) > > platform_set_drvdata(pdev, dp); > > + /* This is for the backward compatibility. */ > panel_node = of_parse_phandle(dev->of_node, "panel", 0); > if (panel_node) { > dp->panel = of_drm_find_panel(panel_node); > of_node_put(panel_node); > if (!dp->panel) > return -EPROBE_DEFER; > + } else { > + endpoint = of_graph_get_next_endpoint(dev->of_node, NULL); > + if (endpoint) { > + panel_node = of_graph_get_remote_port_parent(endpoint); > + if (panel_node) { > + dp->panel = of_drm_find_panel(panel_node); > + of_node_put(panel_node); > + if (!dp->panel) > + return -EPROBE_DEFER; > + } else { > + DRM_ERROR("no port node for panel device.\n"); > + return -EINVAL; > + } > + } This should be a fairly common sequence, so please make it one. Only which port is the panel should vary. Rob ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2015-12-07 12:17 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-12-02 11:57 [PATCH v2 1/2] drm/exynos: dp: add of_graph dt binding support for panel Inki Dae 2015-12-02 11:57 ` [PATCH v2 2/2] drm/exynos: dp: fix wrong return type Inki Dae 2015-12-02 12:03 ` Javier Martinez Canillas 2015-12-02 15:04 ` [PATCH v2 1/2] drm/exynos: dp: add of_graph dt binding support for panel Javier Martinez Canillas 2015-12-03 2:11 ` Inki Dae 2015-12-03 13:05 ` Javier Martinez Canillas 2015-12-06 16:25 ` Inki Dae 2015-12-07 12:17 ` Javier Martinez Canillas 2015-12-03 7:11 ` Inki Dae 2015-12-03 22:51 ` Rob Herring
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.