media: intel-ipu3: cio2: Handle IRQs until INT_STS is cleared
authorBingbu Cao <bingbu.cao@intel.com>
Mon, 30 Apr 2018 14:30:40 +0000 (10:30 -0400)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Wed, 9 May 2018 19:45:08 +0000 (15:45 -0400)
commit09f20f2bca914e6f89b78237fd938152dfe9da0f
treebe5b7d5ca6edd4ff3d541e113d940c1816f34162
parentf10379aad39e9da8bc7d1822e251b5f0673067ef
media: intel-ipu3: cio2: Handle IRQs until INT_STS is cleared

Interrupt behavior shows that some time the frame end and frame start of
next frame is unstable and can range from several to hundreds of
micro-sec. In the case of ~10us, isr may not clear next sof interrupt
status in single handling, which prevents new interrupts from coming.

Fix this by handling all pending IRQs before exiting isr, so any abnormal
behavior results from very short interrupt status changes is protected.

Signed-off-by: Bingbu Cao <bingbu.cao@intel.com>
Signed-off-by: Andy Yeh <andy.yeh@intel.com>
Signed-off-by: Yong Zhi <yong.zhi@intel.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
drivers/media/pci/intel/ipu3/ipu3-cio2.c