[v12,0/18] Add Analogix Core Display Port Driver
diff mbox

Message ID 1670568.VBNHbJuGkf@phil
State New, archived
Headers show

Commit Message

Heiko Stuebner Jan. 17, 2016, 2:25 p.m. UTC
Hi Yakir,

Am Mittwoch, 13. Januar 2016, 15:59:51 schrieb Heiko Stuebner:
> Am Mittwoch, 23. Dezember 2015, 20:25:38 schrieb Yakir Yang:
> >    The Samsung Exynos eDP controller and Rockchip RK3288 eDP controller
> > 
> > share the same IP, so a lot of parts can be re-used. I split the common
> > code into bridge directory, then rk3288 and exynos only need to keep
> > some platform code. Cause I can't find the exact IP name of exynos dp
> > controller, so I decide to name dp core driver with "analogix" which I
> > find in rk3288 eDP TRM
> 
> could you rebase your patches on top of Dave's drm-next branch [0] please?
> The exynos part got some const attributes for the *_func_ops structs and
> drm_encoder_init got an additional parameter.
> I'm still hoping that we can get this finally committed once 4.5-rc1 is
> released in 1.5 weeks :-) .
> 
> I did try to merge things together [1], the system at least comes up and
> detects the panel (EDID is read correctly and it turns the backlight on)
> but I don't see any output on the display - hdmi works fine though and
> X11 is claiming everything to be fine in both cases.
> 
> So I don't know yet if I made a mistake when putting this together or
> there is an issue on the driver-side.

I was able to debug this a bit more, and it seems the encoder_helper_funcs 
don't like the prepare/commit callbacks and like enable better.

So when I do something similar to Marks patch a8eef71d38da ("drm/rockchip: 
dw_hdmi: use encoder enable function"), like in the attached patch (to be 
folded into the original addition of those functions), I get display output 
again.


Heiko

> [0] http://cgit.freedesktop.org/~airlied/linux/log/?h=drm-next
> [1] https://github.com/mmind/linux-rockchip/tree/tmp/analogixdp_v12-veyron
> I left out patch16, per your talk with Jingoo and me not seeing any AUX
> CH errors without it.

Comments

Yakir Yang Jan. 18, 2016, 10:48 a.m. UTC | #1
Hi Heiko,

Sorry for the delay reply ;)

On 01/17/2016 10:25 PM, Heiko Stuebner wrote:
> Hi Yakir,
>
> Am Mittwoch, 13. Januar 2016, 15:59:51 schrieb Heiko Stuebner:
>> Am Mittwoch, 23. Dezember 2015, 20:25:38 schrieb Yakir Yang:
>>>     The Samsung Exynos eDP controller and Rockchip RK3288 eDP controller
>>>
>>> share the same IP, so a lot of parts can be re-used. I split the common
>>> code into bridge directory, then rk3288 and exynos only need to keep
>>> some platform code. Cause I can't find the exact IP name of exynos dp
>>> controller, so I decide to name dp core driver with "analogix" which I
>>> find in rk3288 eDP TRM
>> could you rebase your patches on top of Dave's drm-next branch [0] please?
>> The exynos part got some const attributes for the *_func_ops structs and
>> drm_encoder_init got an additional parameter.
Sure
>> I'm still hoping that we can get this finally committed once 4.5-rc1 is
>> released in 1.5 weeks :-) .
>>
>> I did try to merge things together [1], the system at least comes up and
>> detects the panel (EDID is read correctly and it turns the backlight on)
>> but I don't see any output on the display - hdmi works fine though and
>> X11 is claiming everything to be fine in both cases.
Hmmm.... I would double check in my side.
>> So I don't know yet if I made a mistake when putting this together or
>> there is an issue on the driver-side.
> I was able to debug this a bit more, and it seems the encoder_helper_funcs
> don't like the prepare/commit callbacks and like enable better.
Ah..... Yep, Atomic helper seems wouldn't call the prepaer/commit, 
instead we can use the enbale/disable helper functions.
> So when I do something similar to Marks patch a8eef71d38da ("drm/rockchip:
> dw_hdmi: use encoder enable function"), like in the attached patch (to be
> folded into the original addition of those functions), I get display output
> again.

Thanks for your patient debug, I would send the new version out soon  ;)

- Yakir
>
> Heiko
>
>> [0] http://cgit.freedesktop.org/~airlied/linux/log/?h=drm-next
>> [1] https://github.com/mmind/linux-rockchip/tree/tmp/analogixdp_v12-veyron
>> I left out patch16, per your talk with Jingoo and me not seeing any AUX
>> CH errors without it.


--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch
diff mbox

From 46e5badf6cf9b07461fc72279fe4617b644f8589 Mon Sep 17 00:00:00 2001
From: Heiko Stuebner <heiko@sntech.de>
Date: Sun, 17 Jan 2016 15:16:29 +0100
Subject: [PATCH] analogix_dp-rockchip: use .enable instead of preprare/commit
 in encoder_helper_funcs

---
 drivers/gpu/drm/rockchip/analogix_dp-rockchip.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c b/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c
index 7cb3f6b..15619c5 100644
--- a/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c
+++ b/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c
@@ -108,7 +108,7 @@  static void rockchip_dp_drm_encoder_mode_set(struct drm_encoder *encoder,
 	/* do nothing */
 }
 
-static void rockchip_dp_drm_encoder_prepare(struct drm_encoder *encoder)
+static void rockchip_dp_drm_encoder_enable(struct drm_encoder *encoder)
 {
 	struct rockchip_dp_device *dp = to_dp(encoder);
 	int ret;
@@ -161,8 +161,7 @@  static void rockchip_dp_drm_encoder_nop(struct drm_encoder *encoder)
 static const struct drm_encoder_helper_funcs rockchip_dp_encoder_helper_funcs = {
 	.mode_fixup = rockchip_dp_drm_encoder_mode_fixup,
 	.mode_set = rockchip_dp_drm_encoder_mode_set,
-	.prepare = rockchip_dp_drm_encoder_prepare,
-	.commit = rockchip_dp_drm_encoder_nop,
+	.enable = rockchip_dp_drm_encoder_enable,
 	.disable = rockchip_dp_drm_encoder_nop,
 };
 
-- 
2.6.4