[PATCH dev-5.0 3/3] media: platform: aspeed: change irq to threaded irq

Eddie James eajames at linux.ibm.com
Thu Apr 11 04:18:54 AEST 2019


On 4/9/19 2:20 PM, Jae Hyun Yoo wrote:
> Differently fron other Aspeed drivers, this driver calls clock
> control APIs in interrupt context. Since ECLK is coupled with a
> reset bit in clk-aspeed module, aspeed_clk_enable will make 10ms of
> busy waiting delay for triggering the reset and it will eventually
> disturb other drivers' interrupt handling. To fix this issue, this
> commit changes this driver's irq to threaded irq so that the delay
> can be happened in a thread context.


Reviewed-by: Eddie James <eajames at linux.ibm.com>


>
> Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo at linux.intel.com>
> ---
>   drivers/media/platform/aspeed-video.c | 5 +++--
>   1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/media/platform/aspeed-video.c b/drivers/media/platform/aspeed-video.c
> index 75b43488ae8e..9da61beeef52 100644
> --- a/drivers/media/platform/aspeed-video.c
> +++ b/drivers/media/platform/aspeed-video.c
> @@ -1615,8 +1615,9 @@ static int aspeed_video_init(struct aspeed_video *video)
>   		return -ENODEV;
>   	}
>   
> -	rc = devm_request_irq(dev, irq, aspeed_video_irq, IRQF_SHARED,
> -			      DEVICE_NAME, video);
> +	rc = devm_request_threaded_irq(dev, irq, NULL, aspeed_video_irq,
> +				       IRQF_ONESHOT | IRQF_SHARED, DEVICE_NAME,
> +				       video);
>   	if (rc < 0) {
>   		dev_err(dev, "Unable to request IRQ %d\n", irq);
>   		return rc;



More information about the openbmc mailing list