diff mbox

drm/exynos: don't use HW trigger for Exynos5420/5422/5800

Message ID 1464877210-27207-1-git-send-email-javier@osg.samsung.com (mailing list archive)
State Not Applicable
Headers show

Commit Message

Javier Martinez Canillas June 2, 2016, 2:20 p.m. UTC
Commit a6f75aa161c5 ("drm/exynos: fimd: add HW trigger support") added
hardware trigger support to the FIMD controller driver. But this broke
the display in at least the Exynos5800 Peach Pi Chromebook.

So until the issue is fixed, avoid using HW trigger for the Exynos5420
based boards and use SW trigger as it was before the mentioned commit.

Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>

---

Hello Inki,

Since commit a6f75aa161c5 landed in v4.7-rc1, I think $SUBJECT should be
picked to make sure that v4.7 is released with the display working for
the Exynos5420 based Chromebooks.

We can then figure out what's wrong with the HW trigger support and fix
it for v4.8.

Best regards,
Javier

 drivers/gpu/drm/exynos/exynos_drm_fimd.c | 3 ---
 1 file changed, 3 deletions(-)

Comments

Inki Dae June 8, 2016, 11:09 p.m. UTC | #1
Hi Javier,

2016년 06월 02일 23:20에 Javier Martinez Canillas 이(가) 쓴 글:
> Commit a6f75aa161c5 ("drm/exynos: fimd: add HW trigger support") added
> hardware trigger support to the FIMD controller driver. But this broke
> the display in at least the Exynos5800 Peach Pi Chromebook.
> 
> So until the issue is fixed, avoid using HW trigger for the Exynos5420
> based boards and use SW trigger as it was before the mentioned commit.
> 
> Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
> 
> ---
> 
> Hello Inki,
> 
> Since commit a6f75aa161c5 landed in v4.7-rc1, I think $SUBJECT should be
> picked to make sure that v4.7 is released with the display working for
> the Exynos5420 based Chromebooks.
> 
> We can then figure out what's wrong with the HW trigger support and fix
> it for v4.8.

Agree. And below is a trivial comment.

> 
> Best regards,
> Javier
> 
>  drivers/gpu/drm/exynos/exynos_drm_fimd.c | 3 ---
>  1 file changed, 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
> index 1c23a8ff5e83..f10030ff00e6 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
> @@ -170,14 +170,11 @@ 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,
>  	.has_mic_bypass = 1,
>  	.has_dp_clk = 1,
> -	.has_hw_trigger = 1,
> -	.has_trigger_per_te = 1,

We don't need to remove above two lines. It would be enough to remove 'trg_type = I80_HW_TRG', which makes FIMD to be worked with SW trigger in default.

Thanks,
Inki Dae

>  };
>  
>  struct fimd_context {
> 
--
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 9, 2016, 12:17 a.m. UTC | #2
Hello Inki,

Thanks for your feedback.

On 06/08/2016 07:09 PM, Inki Dae wrote:
> Hi Javier,
> 
> 2016년 06월 02일 23:20에 Javier Martinez Canillas 이(가) 쓴 글:
>> Commit a6f75aa161c5 ("drm/exynos: fimd: add HW trigger support") added
>> hardware trigger support to the FIMD controller driver. But this broke
>> the display in at least the Exynos5800 Peach Pi Chromebook.
>>
>> So until the issue is fixed, avoid using HW trigger for the Exynos5420
>> based boards and use SW trigger as it was before the mentioned commit.
>>
>> Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
>>
>> ---
>>
>> Hello Inki,
>>
>> Since commit a6f75aa161c5 landed in v4.7-rc1, I think $SUBJECT should be
>> picked to make sure that v4.7 is released with the display working for
>> the Exynos5420 based Chromebooks.
>>
>> We can then figure out what's wrong with the HW trigger support and fix
>> it for v4.8.
> 
> Agree. And below is a trivial comment.
>

I'm glad that you agree.

>>
>> Best regards,
>> Javier
>>
>>  drivers/gpu/drm/exynos/exynos_drm_fimd.c | 3 ---
>>  1 file changed, 3 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
>> index 1c23a8ff5e83..f10030ff00e6 100644
>> --- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c
>> +++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
>> @@ -170,14 +170,11 @@ 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,
>>  	.has_mic_bypass = 1,
>>  	.has_dp_clk = 1,
>> -	.has_hw_trigger = 1,
>> -	.has_trigger_per_te = 1,
> 
> We don't need to remove above two lines. It would be enough to remove 'trg_type = I80_HW_TRG', which makes FIMD to be worked with SW trigger in default.
>

I know that removing .trg_type is enough but I also removed those lines
because the fields are not used if .trg_type != I80_HW_TRG. So there is
no point to leave a set for unused fields.

We can latter add those one HW trigger support is fixed for Exynos5420.

> Thanks,
> Inki Dae
> 
>>  };
>>  
>>  struct fimd_context {
>>
> --
> 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
> 

Best regards,
Inki Dae June 9, 2016, 10:35 p.m. UTC | #3
Hi Javier,

2016년 06월 09일 09:17에 Javier Martinez Canillas 이(가) 쓴 글:
> Hello Inki,
> 
> Thanks for your feedback.
> 
> On 06/08/2016 07:09 PM, Inki Dae wrote:
>> Hi Javier,
>>
>> 2016년 06월 02일 23:20에 Javier Martinez Canillas 이(가) 쓴 글:
>>> Commit a6f75aa161c5 ("drm/exynos: fimd: add HW trigger support") added
>>> hardware trigger support to the FIMD controller driver. But this broke
>>> the display in at least the Exynos5800 Peach Pi Chromebook.
>>>
>>> So until the issue is fixed, avoid using HW trigger for the Exynos5420
>>> based boards and use SW trigger as it was before the mentioned commit.
>>>
>>> Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
>>>
>>> ---
>>>
>>> Hello Inki,
>>>
>>> Since commit a6f75aa161c5 landed in v4.7-rc1, I think $SUBJECT should be
>>> picked to make sure that v4.7 is released with the display working for
>>> the Exynos5420 based Chromebooks.
>>>
>>> We can then figure out what's wrong with the HW trigger support and fix
>>> it for v4.8.
>>
>> Agree. And below is a trivial comment.
>>
> 
> I'm glad that you agree.
> 
>>>
>>> Best regards,
>>> Javier
>>>
>>>  drivers/gpu/drm/exynos/exynos_drm_fimd.c | 3 ---
>>>  1 file changed, 3 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
>>> index 1c23a8ff5e83..f10030ff00e6 100644
>>> --- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c
>>> +++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
>>> @@ -170,14 +170,11 @@ 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,
>>>  	.has_mic_bypass = 1,
>>>  	.has_dp_clk = 1,
>>> -	.has_hw_trigger = 1,
>>> -	.has_trigger_per_te = 1,
>>
>> We don't need to remove above two lines. It would be enough to remove 'trg_type = I80_HW_TRG', which makes FIMD to be worked with SW trigger in default.
>>
> 
> I know that removing .trg_type is enough but I also removed those lines
> because the fields are not used if .trg_type != I80_HW_TRG. So there is
> no point to leave a set for unused fields.
> 
> We can latter add those one HW trigger support is fixed for Exynos5420.
> 

As of now, I can merge it but I think it would be not reasonable solution because potential problem still exists even we use SW trigger mode in default - ie., in case of using HW trigger mode at bootloader, same problem would happen as long as we don't support PSR mode support.

Thanks,
Inki Dae

>> Thanks,
>> Inki Dae
>>
>>>  };
>>>  
>>>  struct fimd_context {
>>>
>> --
>> 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
>>
> 
> 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 10, 2016, 12:24 a.m. UTC | #4
Hello Inki,

On Thu, Jun 9, 2016 at 6:35 PM, Inki Dae <inki.dae@samsung.com> wrote:

[snip]

>> I know that removing .trg_type is enough but I also removed those lines
>> because the fields are not used if .trg_type != I80_HW_TRG. So there is
>> no point to leave a set for unused fields.
>>
>> We can latter add those one HW trigger support is fixed for Exynos5420.
>>
>
> As of now, I can merge it but I think it would be not reasonable solution because potential problem still exists even we use SW trigger mode in default - ie., in case of using HW trigger mode at bootloader, same problem would happen as long as we don't support PSR mode support.
>

Yes, I understand that the problem will show again if the bootloader
uses HW trigger mode and that we need proper Panel Self Refresh
support but I think that's a separate issue. That's why I said that
those can be addressed for v4.8 but revert to SW trigger for v4.7 as a
short term fix for the regression.

In other words, enabling HW trigger mode breaks the display for the
Exynos5420 and Exynos5800 Peach Pi Chromebooks with the shipped
bootloaders (which are probably the most popular Exynos5 devices with
display and mainline support so is likely to affect users).

Best regards,
Javier
--
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 13, 2016, 1:38 a.m. UTC | #5
2016년 06월 10일 09:24에 Javier Martinez Canillas 이(가) 쓴 글:
> Hello Inki,
> 
> On Thu, Jun 9, 2016 at 6:35 PM, Inki Dae <inki.dae@samsung.com> wrote:
> 
> [snip]
> 
>>> I know that removing .trg_type is enough but I also removed those lines
>>> because the fields are not used if .trg_type != I80_HW_TRG. So there is
>>> no point to leave a set for unused fields.
>>>
>>> We can latter add those one HW trigger support is fixed for Exynos5420.
>>>
>>
>> As of now, I can merge it but I think it would be not reasonable solution because potential problem still exists even we use SW trigger mode in default - ie., in case of using HW trigger mode at bootloader, same problem would happen as long as we don't support PSR mode support.
>>
> 
> Yes, I understand that the problem will show again if the bootloader
> uses HW trigger mode and that we need proper Panel Self Refresh
> support but I think that's a separate issue. That's why I said that
> those can be addressed for v4.8 but revert to SW trigger for v4.7 as a
> short term fix for the regression.
> 
> In other words, enabling HW trigger mode breaks the display for the
> Exynos5420 and Exynos5800 Peach Pi Chromebooks with the shipped
> bootloaders (which are probably the most popular Exynos5 devices with
> display and mainline support so is likely to affect users).

I thought to add PSR support somehow but put me other things to trouble.
Anyway, we could support it later so picked it up.

Thanks,
Inki Dae

> 
> Best regards,
> Javier
> 
> 
> 
--
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
diff mbox

Patch

diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
index 1c23a8ff5e83..f10030ff00e6 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
@@ -170,14 +170,11 @@  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,
 	.has_mic_bypass = 1,
 	.has_dp_clk = 1,
-	.has_hw_trigger = 1,
-	.has_trigger_per_te = 1,
 };
 
 struct fimd_context {