All of lore.kernel.org
 help / color / mirror / Atom feed
From: Inki Dae <inki.dae@samsung.com>
To: Andrzej Hajda <a.hajda@samsung.com>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>,
	dri-devel@lists.freedesktop.org,
	Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Subject: Re: [PATCH 3/3] drm/exynos/decon5433: fix trigger configuration
Date: Tue, 10 May 2016 16:38:39 +0900	[thread overview]
Message-ID: <57318FFF.3010408@samsung.com> (raw)
In-Reply-To: <573188DA.7000204@samsung.com>


2016년 05월 10일 16:08에 Andrzej Hajda 이(가) 쓴 글:
> On 05/10/2016 08:24 AM, Inki Dae wrote:
>> Hi Andrzej,
>>
>> 2016년 05월 10일 15:08에 Andrzej Hajda 이(가) 쓴 글:
>>> Hi Inki,
>>>
>>>
>>> On 05/10/2016 07:31 AM, Inki Dae wrote:
>>>> Hi Andrzej,
>>>>
>>>> 2016년 04월 29일 22:42에 Andrzej Hajda 이(가) 쓴 글:
>>>>> It seems trigger cannot be configured too early, otherwise it does not work in
>>>>> case of panel. The patch fixes also trigger flag logic, previously HW-TRIGGER
>>>>> flag was cleared in case of panel - as a result panel used always software
>>>> Andrzej, sorry but I can't understand what above two lines mean. Can you give me more details?
>>> Details below.
>>>
>>>>> trigger.
>>>>>
>>>>> Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
>>>>> ---
>>>>>  drivers/gpu/drm/exynos/exynos5433_drm_decon.c | 10 ++++------
>>>>>  1 file changed, 4 insertions(+), 6 deletions(-)
>>>>>
>>>>> diff --git a/drivers/gpu/drm/exynos/exynos5433_drm_decon.c b/drivers/gpu/drm/exynos/exynos5433_drm_decon.c
>>>>> index 7b4f699..9ae913b 100644
>>>>> --- a/drivers/gpu/drm/exynos/exynos5433_drm_decon.c
>>>>> +++ b/drivers/gpu/drm/exynos/exynos5433_drm_decon.c
>>>>> @@ -151,11 +151,13 @@ static void decon_commit(struct exynos_drm_crtc *crtc)
>>>>>  	val = CMU_CLKGAGE_MODE_SFR_F | CMU_CLKGAGE_MODE_MEM_F;
>>>>>  	writel(val, ctx->addr + DECON_CMU);
>>>>>  
>>>>> +	if (ctx->out_type & (IFTYPE_I80 | I80_HW_TRG))
>>>>> +		decon_setup_trigger(ctx);
>>>> Shouldn't it be configured in case of using SW trigger mode also?
>>>>
>>>> Thanks,
>>>> Inki Dae
>>>>
>>>>> +
>>>>>  	/* lcd on and use command if */
>>>>>  	val = VIDOUT_LCD_ON;
>>>>>  	if (ctx->out_type & IFTYPE_I80) {
>>>>>  		val |= VIDOUT_COMMAND_IF;
>>>>> -		decon_setup_trigger(ctx);
>>>>>  	} else {
>>>>>  		val |= VIDOUT_RGB_IF;
>>>>>  	}
>>>>> @@ -380,9 +382,6 @@ static void decon_swreset(struct decon_context *ctx)
>>>>>  	writel(VIDCON1_VCLK_RUN_VDEN_DISABLE, ctx->addr + DECON_VIDCON1);
>>>>>  	writel(CRCCTRL_CRCEN | CRCCTRL_CRCSTART_F | CRCCTRL_CRCCLKEN,
>>>>>  	       ctx->addr + DECON_CRCCTRL);
>>>>> -
>>>>> -	if (ctx->out_type & IFTYPE_I80)
>>>>> -		decon_setup_trigger(ctx);
>>>>>  }
>>>>>  
>>>>>  static void decon_enable(struct exynos_drm_crtc *crtc)
>>>>> @@ -652,9 +651,8 @@ static int exynos5433_decon_probe(struct platform_device *pdev)
>>>>>  
>>>>>  	if (ctx->out_type & IFTYPE_HDMI) {
>>>>>  		ctx->first_win = 1;
>>>>> -		ctx->out_type = IFTYPE_I80;
>>>>>  	} else if (of_get_child_by_name(dev->of_node, "i80-if-timings")) {
>>>>> -		ctx->out_type = IFTYPE_I80;
>>>>> +		ctx->out_type |= IFTYPE_I80;
>>> ctx->out_type was overwritten here with IFTYPE_I80. So when
>>> decon_setup_trigger
>>> were called I80_HW_TRG bit was always clear and DECON_TRIGCON was configured
>>> to use soft trigger.
>> Indeed. Then shouldn't decon_setup_trigger function be called in both cases - SW and HW trigger modes?
>> Is there any reason to call the function only in case of HW trigger mode?
> 
> With this patch function is called under following condition:
>> +	if (ctx->out_type & (IFTYPE_I80 | I80_HW_TRG))
>> +		decon_setup_trigger(ctx);
> 
> So it is called always in case of I80 mode, in such case value of I80_HW_TRG
> determines if it should use sw or hw trigger.

Ah, sorry. I misleaded above condition.

Thanks,
Inki Dae

> 
> Regards
> Andrzej
> 
> 
>>
>> Thanks,
>> Inki Dae
>>
>>> Regards
>>> Andrzej
>>>
>>>>>  	}
>>>>>  
>>>>>  	for (i = 0; i < ARRAY_SIZE(decon_clks_name); i++) {
>>>>>
>>>
> 
> 
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

      reply	other threads:[~2016-05-10  7:38 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-29 13:42 [PATCH 1/3] drm/exynos/decon5433: handle vblank in vblank interrupt Andrzej Hajda
2016-04-29 13:42 ` [PATCH 2/3] drm/exynos/decon5433: do not use unnecessary software trigger Andrzej Hajda
2016-04-29 13:42 ` [PATCH 3/3] drm/exynos/decon5433: fix trigger configuration Andrzej Hajda
2016-05-10  5:31   ` Inki Dae
2016-05-10  6:08     ` Andrzej Hajda
2016-05-10  6:24       ` Inki Dae
2016-05-10  7:08         ` Andrzej Hajda
2016-05-10  7:38           ` Inki Dae [this message]

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=57318FFF.3010408@samsung.com \
    --to=inki.dae@samsung.com \
    --cc=a.hajda@samsung.com \
    --cc=b.zolnierkie@samsung.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=m.szyprowski@samsung.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.