Commit 467d4560 authored by Jae Hyun Yoo's avatar Jae Hyun Yoo Committed by Greg Kroah-Hartman

media: aspeed: change irq to threaded irq

[ Upstream commit 12ae1c1b ]

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: default avatarJae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
Reviewed-by: default avatarEddie James <eajames@linux.ibm.com>
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent 94140c6f
...@@ -1600,8 +1600,9 @@ static int aspeed_video_init(struct aspeed_video *video) ...@@ -1600,8 +1600,9 @@ static int aspeed_video_init(struct aspeed_video *video)
return -ENODEV; return -ENODEV;
} }
rc = devm_request_irq(dev, irq, aspeed_video_irq, IRQF_SHARED, rc = devm_request_threaded_irq(dev, irq, NULL, aspeed_video_irq,
DEVICE_NAME, video); IRQF_ONESHOT | IRQF_SHARED, DEVICE_NAME,
video);
if (rc < 0) { if (rc < 0) {
dev_err(dev, "Unable to request IRQ %d\n", irq); dev_err(dev, "Unable to request IRQ %d\n", irq);
return rc; return rc;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment