BZ: 18274
Cloverview SOC has the fix for DMA RX (seen on Penwell A0) hence DMA RX
timeout timer is not needed. On Penwell B0/C0/D0/D1 stepping, x86_mask
value is greater than 0 hence DMA RX timeout timer is never activated during
runtime. However, on Cloverview A0, x86_mask is again reset to 0 hence DMA RX
timeout timer is activated although it's not needed.
This patch added to ensure DMA RX timeout timer is only enabled for Penwell A0.
Change-Id: I512dcba46db86c27d62c1492080088571ffa8211
Signed-off-by: Leonard Mai <leonard.mai@intel.com>
Reviewed-on: http://android.intel.com:8080/29773
Reviewed-by: Du, Alek <alek.du@intel.com>
Reviewed-by: Renganathan, Prabu <prabu.renganathan@intel.com>
Reviewed-by: Wang, Dong D <dong.d.wang@intel.com>
Tested-by: Wang, Zhifeng <zhifeng.wang@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
/*
* The runtime check is used to check whether the current chip
- * stepping is A0, if yes, enable the DMA RX timeout timer
+ * stepping is Penwell A0, if yes, enable the DMA RX timeout timer
*/
static inline int dmarx_need_timer(void)
{
- return (boot_cpu_data.x86_mask == 0);
+ return (boot_cpu_data.x86_model == 0x27 && boot_cpu_data.x86_mask == 0);
}
static inline unsigned int serial_in_irq(struct uart_hsu_port *up, int offset)