diff mbox

[2/3] drm/exynos: fimd: add HW trigger support

Message ID a8e410dd-ef60-f8cd-f4ea-cf60414db5bd@osg.samsung.com (mailing list archive)
State Not Applicable
Headers show

Commit Message

Javier Martinez Canillas May 30, 2016, 10:58 p.m. UTC
Hello Inki,

On 04/05/2016 04:27 AM, Inki Dae wrote:
> This patch adds HW trigger support on i80 mode.
> 
> Until now, Exynos DRM only supported SW trigger which was set
> SWTRGCMD bit of TRIGCON register by CPU to transfer scanout
> buffer to Display bus device or panel.
> 
> With this patch, the transmission to Display bus device or
> panel will be initiated by FIMD controller.
> 
> Signed-off-by: Inki Dae <inki.dae@samsung.com>
> ---

There is a regression for the Exynos5800 Peach Pi Chromebook display due
this patch. The display is blank and I noticed that it only happens when
HW start trigger is enabled, but works with SW trigger (as it was before).

So for example with the following diff on top of v4.7-rc1, display works
again. Do you have any hints about what could be the issue?

Best regards,

Comments

Marc Zyngier May 31, 2016, 3:18 p.m. UTC | #1
On 2016-05-30 23:58, Javier Martinez Canillas wrote:
> Hello Inki,
>
> On 04/05/2016 04:27 AM, Inki Dae wrote:
>> This patch adds HW trigger support on i80 mode.
>>
>> Until now, Exynos DRM only supported SW trigger which was set
>> SWTRGCMD bit of TRIGCON register by CPU to transfer scanout
>> buffer to Display bus device or panel.
>>
>> With this patch, the transmission to Display bus device or
>> panel will be initiated by FIMD controller.
>>
>> Signed-off-by: Inki Dae <inki.dae@samsung.com>
>> ---
>
> There is a regression for the Exynos5800 Peach Pi Chromebook display 
> due
> this patch. The display is blank and I noticed that it only happens 
> when
> HW start trigger is enabled, but works with SW trigger (as it was 
> before).
>
> So for example with the following diff on top of v4.7-rc1, display 
> works
> again. Do you have any hints about what could be the issue?
>
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c
> b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
> index 0444d7fc400d..8c62830e9514 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
> @@ -171,7 +171,7 @@ static struct fimd_driver_data
> exynos5420_fimd_driver_data = {
>  	.lcdblk_vt_shift = 24,
>  	.lcdblk_bypass_shift = 15,
>  	.lcdblk_mic_bypass_shift = 11,
> -	.trg_type = I80_HW_TRG,
>  	.has_shadowcon = 1,
>  	.has_vidoutcon = 1,
>  	.has_vtsel = 1,
>
> Best regards,

On a related note, my Exynos5250 Chromebook (snow) has stopped working 
as well since -rc1 has landed. I haven't had time to bisect it yet, but 
the symptoms are vaguely similar (bright white screen).

I'm happy to test patches.

Thanks,

         M.
Inki Dae May 31, 2016, 11:50 p.m. UTC | #2
Hi Javier,

2016년 05월 31일 07:58에 Javier Martinez Canillas 이(가) 쓴 글:
> Hello Inki,
> 
> On 04/05/2016 04:27 AM, Inki Dae wrote:
>> This patch adds HW trigger support on i80 mode.
>>
>> Until now, Exynos DRM only supported SW trigger which was set
>> SWTRGCMD bit of TRIGCON register by CPU to transfer scanout
>> buffer to Display bus device or panel.
>>
>> With this patch, the transmission to Display bus device or
>> panel will be initiated by FIMD controller.
>>
>> Signed-off-by: Inki Dae <inki.dae@samsung.com>
>> ---
> 
> There is a regression for the Exynos5800 Peach Pi Chromebook display due
> this patch. The display is blank and I noticed that it only happens when
> HW start trigger is enabled, but works with SW trigger (as it was before).
> 
> So for example with the following diff on top of v4.7-rc1, display works
> again. Do you have any hints about what could be the issue?

Right, there is a regression on boards with i80 Panel and in case that bootloader set trigger mode to SW trigger. The current trigger mode should be changed to other one after entering into PSR mode of Panel device according to HW guy's saying. If the panel doesn't support the PSR mode, then the mode should be changed after Panel power off and on again. I don't understand exactly what is the PSR mode so I need more details about PSR mode.

I will fix it soon.

Thanks,
Inki Dae  


> 
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
> index 0444d7fc400d..8c62830e9514 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
> @@ -171,7 +171,7 @@ static struct fimd_driver_data exynos5420_fimd_driver_data = {
>  	.lcdblk_vt_shift = 24,
>  	.lcdblk_bypass_shift = 15,
>  	.lcdblk_mic_bypass_shift = 11,
> -	.trg_type = I80_HW_TRG,
>  	.has_shadowcon = 1,
>  	.has_vidoutcon = 1,
>  	.has_vtsel = 1,
> 
> Best regards,
> 
--
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
Inki Dae June 1, 2016, 5:56 a.m. UTC | #3
Hi Javier,

2016년 05월 31일 07:58에 Javier Martinez Canillas 이(가) 쓴 글:
> Hello Inki,
> 
> On 04/05/2016 04:27 AM, Inki Dae wrote:
>> This patch adds HW trigger support on i80 mode.
>>
>> Until now, Exynos DRM only supported SW trigger which was set
>> SWTRGCMD bit of TRIGCON register by CPU to transfer scanout
>> buffer to Display bus device or panel.
>>
>> With this patch, the transmission to Display bus device or
>> panel will be initiated by FIMD controller.
>>
>> Signed-off-by: Inki Dae <inki.dae@samsung.com>
>> ---
> 
> There is a regression for the Exynos5800 Peach Pi Chromebook display due
> this patch. The display is blank and I noticed that it only happens when
> HW start trigger is enabled, but works with SW trigger (as it was before).

Posted below pathch,
[PATCH] drm/exynos: fimd: fix trigger mode change regression

Can you test it again with the patch? I have no HW to test it. :(

Thanks,
Inki Dae

> 
> So for example with the following diff on top of v4.7-rc1, display works
> again. Do you have any hints about what could be the issue?
> 
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
> index 0444d7fc400d..8c62830e9514 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
> @@ -171,7 +171,7 @@ static struct fimd_driver_data exynos5420_fimd_driver_data = {
>  	.lcdblk_vt_shift = 24,
>  	.lcdblk_bypass_shift = 15,
>  	.lcdblk_mic_bypass_shift = 11,
> -	.trg_type = I80_HW_TRG,
>  	.has_shadowcon = 1,
>  	.has_vidoutcon = 1,
>  	.has_vtsel = 1,
> 
> Best regards,
> 
--
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
Javier Martinez Canillas June 1, 2016, 1:13 p.m. UTC | #4
Hello Inki,

On 06/01/2016 01:56 AM, Inki Dae wrote:
> Hi Javier,
> 
> 2016년 05월 31일 07:58에 Javier Martinez Canillas 이(가) 쓴 글:
>> Hello Inki,
>>
>> On 04/05/2016 04:27 AM, Inki Dae wrote:
>>> This patch adds HW trigger support on i80 mode.
>>>
>>> Until now, Exynos DRM only supported SW trigger which was set
>>> SWTRGCMD bit of TRIGCON register by CPU to transfer scanout
>>> buffer to Display bus device or panel.
>>>
>>> With this patch, the transmission to Display bus device or
>>> panel will be initiated by FIMD controller.
>>>
>>> Signed-off-by: Inki Dae <inki.dae@samsung.com>
>>> ---
>>
>> There is a regression for the Exynos5800 Peach Pi Chromebook display due
>> this patch. The display is blank and I noticed that it only happens when
>> HW start trigger is enabled, but works with SW trigger (as it was before).
> 
> Posted below pathch,
> [PATCH] drm/exynos: fimd: fix trigger mode change regression
>

Thanks, I noticed you forgot to cc me on that one though.
 
> Can you test it again with the patch? I have no HW to test it. :(
>

I gave a try to your patch but unfortunately it doesn't solve the issue
on the Peach Pi. I'll try to dig further on this.
 
> Thanks,
> Inki Dae
> 

Best regards,
diff mbox

Patch

diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
index 0444d7fc400d..8c62830e9514 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
@@ -171,7 +171,7 @@  static struct fimd_driver_data exynos5420_fimd_driver_data = {
 	.lcdblk_vt_shift = 24,
 	.lcdblk_bypass_shift = 15,
 	.lcdblk_mic_bypass_shift = 11,
-	.trg_type = I80_HW_TRG,
 	.has_shadowcon = 1,
 	.has_vidoutcon = 1,
 	.has_vtsel = 1,