ext: qmsi: disable tx empty interrupt at the end of rx transfer
Disable tx fifo empty interrupt at the completion of a receive transfer. If the API caller does not send "STOP" at the end of a receive transfer, unnecessary tx fifo empty interrupt will come one by one endlessly. Jira: ZEP-556 Change-Id: I54739459dfab81c28713f6a3c77789e7903bb7f9 Signed-off-by: Baohong Liu <baohong.liu@intel.com> Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
This commit is contained in:
parent
c5c1ddcf7d
commit
3bd79cae93
2 changed files with 4 additions and 2 deletions
|
@ -163,7 +163,8 @@ static void qm_i2c_isr_handler(const qm_i2c_t i2c)
|
||||||
* complete
|
* complete
|
||||||
*/
|
*/
|
||||||
controller->ic_intr_mask &=
|
controller->ic_intr_mask &=
|
||||||
~QM_I2C_IC_INTR_MASK_RX_FULL;
|
~(QM_I2C_IC_INTR_MASK_RX_FULL |
|
||||||
|
QM_I2C_IC_INTR_MASK_TX_EMPTY);
|
||||||
|
|
||||||
if (transfer->stop) {
|
if (transfer->stop) {
|
||||||
controller_disable(i2c);
|
controller_disable(i2c);
|
||||||
|
|
|
@ -137,7 +137,8 @@ static void qm_ss_i2c_isr_handler(const qm_ss_i2c_t i2c)
|
||||||
*/
|
*/
|
||||||
QM_SS_REG_AUX_NAND(
|
QM_SS_REG_AUX_NAND(
|
||||||
(controller + QM_SS_I2C_INTR_MASK),
|
(controller + QM_SS_I2C_INTR_MASK),
|
||||||
QM_SS_I2C_INTR_MASK_RX_FULL);
|
(QM_SS_I2C_INTR_MASK_RX_FULL |
|
||||||
|
QM_SS_I2C_INTR_MASK_TX_EMPTY));
|
||||||
|
|
||||||
if (i2c_transfer[i2c]->stop) {
|
if (i2c_transfer[i2c]->stop) {
|
||||||
controller_disable(i2c);
|
controller_disable(i2c);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue