Re: [PATCH 5/9] drm/exynos/decon5433: kill BIT_IRQS_ENABLED flag

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




2017년 04월 05일 16:28에 Andrzej Hajda 이(가) 쓴 글:
> Since DECON uses enable_irq/disable_irq to full control IRQs,
> there is no point in having flags to trace it separately.
> As a bonus condition for software trigger becomes always true,
> so it can be removed.
> 
> Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx>
> ---
>  drivers/gpu/drm/exynos/exynos5433_drm_decon.c | 8 +-------
>  1 file changed, 1 insertion(+), 7 deletions(-)
> 
> diff --git a/drivers/gpu/drm/exynos/exynos5433_drm_decon.c b/drivers/gpu/drm/exynos/exynos5433_drm_decon.c
> index 5bdf1a0..dc2e69a 100644
> --- a/drivers/gpu/drm/exynos/exynos5433_drm_decon.c
> +++ b/drivers/gpu/drm/exynos/exynos5433_drm_decon.c
> @@ -49,7 +49,6 @@ static const char * const decon_clks_name[] = {
>  
>  enum decon_flag_bits {
>  	BIT_CLKS_ENABLED,
> -	BIT_IRQS_ENABLED,
>  	BIT_WIN_UPDATED,
>  	BIT_SUSPENDED
>  };
> @@ -112,8 +111,6 @@ static int decon_enable_vblank(struct exynos_drm_crtc *crtc)
>  	if (!(ctx->out_type & I80_HW_TRG))
>  		enable_irq(ctx->te_irq);
>  
> -	set_bit(BIT_IRQS_ENABLED, &ctx->flags);
> -
>  	return 0;
>  }
>  
> @@ -121,7 +118,6 @@ static void decon_disable_vblank(struct exynos_drm_crtc *crtc)
>  {
>  	struct decon_context *ctx = crtc->ctx;
>  
> -	clear_bit(BIT_IRQS_ENABLED, &ctx->flags);
>  	if (test_bit(BIT_SUSPENDED, &ctx->flags))
>  		return;
>  
> @@ -536,9 +532,7 @@ static irqreturn_t decon_te_irq_handler(int irq, void *dev_id)
>  	    (ctx->out_type & I80_HW_TRG))
>  		return IRQ_HANDLED;
>  
> -	if (test_and_clear_bit(BIT_WIN_UPDATED, &ctx->flags) ||
> -	    test_bit(BIT_IRQS_ENABLED, &ctx->flags))
> -		decon_set_bits(ctx, DECON_TRIGCON, TRIGCON_SWTRIGCMD, ~0);
> +	decon_set_bits(ctx, DECON_TRIGCON, TRIGCON_SWTRIGCMD, ~0);

This code would incur mulfunction if now decon driver uses sw trigger mode.
The panel device on TM2 and TM2E boards supports ALPM mode which makes Panel device to be keeped on with low power even ARM, crtc and encoder devices are off.
In this case, even if decon device is off te interrupt could happen and writing to decon register could be tried.

Thanks,
Inki Dae

>  
>  	return IRQ_HANDLED;
>  }
> 
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux