ASOC: codecs: clear the interrupt ack registers for wcd937x
Clear the wcd937x interrupt ack registers in post_irq_handler. This is needed for wcd937x, as regmap_irq is not clearing the ack registers after the ack bits are set. Change-Id: I105a4b423a0d01ff1bd3239e0f2d42294557ff10 Signed-off-by: Vangala, Amarnath <quic_avangala@quicinc.com>
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

부모
c2adcdf8a0
커밋
6dbdc5bea3
@@ -142,6 +142,11 @@ static int wcd937x_handle_post_irq(void *data)
|
||||
struct wcd937x_priv *wcd937x = data;
|
||||
u32 status1 = 0, status2 = 0, status3 = 0;
|
||||
|
||||
/* Clear the ACK registers. Temporary workaround.*/
|
||||
regmap_write(wcd937x->regmap, WCD937X_DIGITAL_INTR_CLEAR_0, 0x0);
|
||||
regmap_write(wcd937x->regmap, WCD937X_DIGITAL_INTR_CLEAR_1, 0x0);
|
||||
regmap_write(wcd937x->regmap, WCD937X_DIGITAL_INTR_CLEAR_2, 0x0);
|
||||
|
||||
regmap_read(wcd937x->regmap, WCD937X_DIGITAL_INTR_STATUS_0, &status1);
|
||||
regmap_read(wcd937x->regmap, WCD937X_DIGITAL_INTR_STATUS_1, &status2);
|
||||
regmap_read(wcd937x->regmap, WCD937X_DIGITAL_INTR_STATUS_2, &status3);
|
||||
|
Reference in New Issue
Block a user