SIM Hot Swap Plugin/out HISR fail while touch in touch panel
来源:互联网 发布:陕西省软件企业协会 编辑:程序博客网 时间:2024/06/05 08:15
SIM Hot Swap Plugin/out HISR fail while touch in touch panel
[Description]
1, Touch and hold Touch Panel, or Press and holdkeys(used EINT)
2, Plug in or Plug out SIM card.
3, SIM card hot swap failure.
[Solution]
MT65*5/MT65*7 platform, AP & Modem share EINT module.
Touch and hold Touch Panel, or Press and hold keys(used EINT), Touch/keys EINT pin
trigger by AP, AP EINT ownermask EINT_MD. So modem EINT failure.
Patch: ALPS00420157
OR
modify AP side mt_eint.c/mt6577/5_eint.c as flow
alps\mediatek\platform\$(mt6577 or mt6575)\kernel\core\mt6577/5_eint.c(ICS2)
alps\mediatek\platform\$(mt6577 or mt6575)\kernel\core\mt_eint.c(JB)
/*
* mt65xx_eint_isr: EINT interrupt service routine.
* @irq: EINT IRQ number
* @dev_id:
* Return IRQ returned code.
*/
static irqreturn_t mt65xx_eint_isr(int irq, void *dev_id)
{
unsigned int index;
unsigned int status;
unsigned int domain;
/*
* NoteXXX: Need to get the wake up for 0.5 seconds when an EINT intr tirggers.
* This is used to prevent system from suspend such that other drivers
* or applications can have enough time to obtain their own wake lock.
* (This information is gotten from the power management owner.)
*/
tasklet_schedule(&eint_tasklet);
status = readl(EINT_STA);
domain = readl(EINT_D0EN);
dbgmsg("EINT Module - %s ISR Start\n", __func__);
dbgmsg("EINT Module - EINT_STA = 0x%x\n", status);
for (index = 0; index < EINT_MAX_CHANNEL; index++) {
if ((status & (1 << (index))) && (domain & (1 << (index)))) {
mt65xx_eint_mask(index);
if (EINT_FUNC.eint_func[index]) {
EINT_FUNC.eint_func[index]();
}
mt65xx_reg_sync_writel(1 << index, EINT_INTACK);
#if(EINT_DEBUG == 1)
status = readl(EINT_STA);
printk("EINT Module - EINT_STA after ack = 0x%x\n", status);
#endif
if (EINT_FUNC.eint_auto_umask[index]) {
mt65xx_eint_unmask(index);
}
}
}
dbgmsg("EINT Module - %s ISR END\n", __func__);
return IRQ_HANDLED;
}
- SIM Hot Swap Plugin/out HISR fail while touch in touch panel
- TOUCH PANEL
- NJY Touch Panel
- zz android touch panel
- Touch Panel调试
- Windows Mobile 触摸屏(Touch Panel)截获(Touch Panel伪驱动)
- Windows Mobile 触摸屏(Touch Panel)截获(Touch Panel伪驱动)
- Android Keyboard/Touch Panel分析
- ssd2531 Capacitive Touch Panel driver
- mtk android touch panel调试
- Android Keyboard/Touch Panel分析
- code of touch panel driver
- touch
- touch
- Touch
- TOUCH
- touch & >
- touch
- php Install pthreads extension
- 《统计学习方法》第三章 K-means算法
- 2016 ISCC CTF 比赛 BASE 心灵鸡汤
- Spring事务配置的五种方式
- HTML语言代码
- SIM Hot Swap Plugin/out HISR fail while touch in touch panel
- 界面原型
- struts2中s:select标签的使用
- Hashtable和HashMap的区别
- 多线程基础
- 关于html的图像映射
- android弹出dialog后activity背景变暗
- qt中MVC的model的执行过程分析
- linux 添加源