lkml.org 
[lkml]   [2019]   [Jul]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.1 061/219] media: aspeed: change irq to threaded irq
    Date
    From: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>

    [ Upstream commit 12ae1c1bf5db2f33fcd9092a96f630291c4b181a ]

    Differently from 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.

    Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
    Reviewed-by: Eddie James <eajames@linux.ibm.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    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 692e08ef38c0..668d8827e281 100644
    --- a/drivers/media/platform/aspeed-video.c
    +++ b/drivers/media/platform/aspeed-video.c
    @@ -1600,8 +1600,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;
    --
    2.20.1
    \
     
     \ /
      Last update: 2019-07-15 17:15    [W:4.078 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site