mfd: limit dma rx timeout timer to Penwell A0
authorLeonard Mai <leonard.mai@intel.com>
Thu, 22 Dec 2011 20:27:41 +0000 (12:27 -0800)
committerbuildbot <buildbot@intel.com>
Thu, 5 Jan 2012 09:01:07 +0000 (01:01 -0800)
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>
drivers/tty/serial/mfd.c

index 22edae9..15b03e3 100644 (file)
@@ -191,11 +191,11 @@ module_param(hsu_low_latency, uint, S_IRUGO);
 
 /*
  * 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)