[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