summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJae Hyun Yoo <jae.hyun.yoo@linux.intel.com>2019-04-09 12:20:59 -0700
committerJoel Stanley <joel@jms.id.au>2019-04-11 16:58:18 +0930
commitc10b583df7efb2d68427d6c39c59d6708bf362c5 (patch)
tree043a59df70635c7c5aed1ba6a231e128387548a4
parenta17124ec8fc192541c260809f3ce7086a40bda6f (diff)
downloadtalos-obmc-linux-c10b583df7efb2d68427d6c39c59d6708bf362c5.tar.gz
talos-obmc-linux-c10b583df7efb2d68427d6c39c59d6708bf362c5.zip
media: platform: aspeed: change irq to threaded irq
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. OpenBMC-Staging-Count: 1 Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com> Reviewed-by: Eddie James <eajames@linux.ibm.com> Signed-off-by: Joel Stanley <joel@jms.id.au>
-rw-r--r--drivers/media/platform/aspeed-video.c5
1 files 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;
OpenPOWER on IntegriCloud