Skip to content

Commit 93b763a

Browse files
shumingfanbroonie
authored andcommitted
ASoC: rt722: change the interrupt mask for jack type detection
This patch changed the interrupt mask from XU to GE. Signed-off-by: Shuming Fan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Mark Brown <[email protected]>
1 parent adf7ea4 commit 93b763a

File tree

2 files changed

+8
-11
lines changed

2 files changed

+8
-11
lines changed

sound/soc/codecs/rt722-sdca-sdw.c

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ static int rt722_sdca_update_status(struct sdw_slave *slave,
177177
* This also could sync with the cache value as the rt722_sdca_jack_init set.
178178
*/
179179
sdw_write_no_pm(rt722->slave, SDW_SCP_SDCA_INTMASK1,
180-
SDW_SCP_SDCA_INTMASK_SDCA_6);
180+
SDW_SCP_SDCA_INTMASK_SDCA_0);
181181
sdw_write_no_pm(rt722->slave, SDW_SCP_SDCA_INTMASK2,
182182
SDW_SCP_SDCA_INTMASK_SDCA_8);
183183
}
@@ -308,12 +308,8 @@ static int rt722_sdca_interrupt_callback(struct sdw_slave *slave,
308308
SDW_SCP_SDCA_INT_SDCA_0, SDW_SCP_SDCA_INT_SDCA_0);
309309
if (ret < 0)
310310
goto io_error;
311-
} else if (ret & SDW_SCP_SDCA_INTMASK_SDCA_6) {
312-
ret = sdw_update_no_pm(rt722->slave, SDW_SCP_SDCA_INT1,
313-
SDW_SCP_SDCA_INT_SDCA_6, SDW_SCP_SDCA_INT_SDCA_6);
314-
if (ret < 0)
315-
goto io_error;
316311
}
312+
317313
ret = sdw_read_no_pm(rt722->slave, SDW_SCP_SDCA_INT2);
318314
if (ret < 0)
319315
goto io_error;
@@ -444,7 +440,7 @@ static int __maybe_unused rt722_sdca_dev_system_suspend(struct device *dev)
444440
mutex_lock(&rt722_sdca->disable_irq_lock);
445441
rt722_sdca->disable_irq = true;
446442
ret1 = sdw_update_no_pm(slave, SDW_SCP_SDCA_INTMASK1,
447-
SDW_SCP_SDCA_INTMASK_SDCA_0 | SDW_SCP_SDCA_INTMASK_SDCA_6, 0);
443+
SDW_SCP_SDCA_INTMASK_SDCA_0, 0);
448444
ret2 = sdw_update_no_pm(slave, SDW_SCP_SDCA_INTMASK2,
449445
SDW_SCP_SDCA_INTMASK_SDCA_8, 0);
450446
mutex_unlock(&rt722_sdca->disable_irq_lock);
@@ -471,7 +467,7 @@ static int __maybe_unused rt722_sdca_dev_resume(struct device *dev)
471467
if (!slave->unattach_request) {
472468
mutex_lock(&rt722->disable_irq_lock);
473469
if (rt722->disable_irq == true) {
474-
sdw_write_no_pm(slave, SDW_SCP_SDCA_INTMASK1, SDW_SCP_SDCA_INTMASK_SDCA_6);
470+
sdw_write_no_pm(slave, SDW_SCP_SDCA_INTMASK1, SDW_SCP_SDCA_INTMASK_SDCA_0);
475471
sdw_write_no_pm(slave, SDW_SCP_SDCA_INTMASK2, SDW_SCP_SDCA_INTMASK_SDCA_8);
476472
rt722->disable_irq = false;
477473
}

sound/soc/codecs/rt722-sdca.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -190,8 +190,8 @@ static void rt722_sdca_jack_detect_handler(struct work_struct *work)
190190
if (!rt722->component->card || !rt722->component->card->instantiated)
191191
return;
192192

193-
/* SDW_SCP_SDCA_INT_SDCA_6 is used for jack detection */
194-
if (rt722->scp_sdca_stat1 & SDW_SCP_SDCA_INT_SDCA_6) {
193+
/* SDW_SCP_SDCA_INT_SDCA_0 is used for jack detection */
194+
if (rt722->scp_sdca_stat1 & SDW_SCP_SDCA_INT_SDCA_0) {
195195
ret = rt722_sdca_headset_detect(rt722);
196196
if (ret < 0)
197197
return;
@@ -294,7 +294,7 @@ static void rt722_sdca_jack_init(struct rt722_sdca_priv *rt722)
294294
if (rt722->hs_jack) {
295295
/* set SCP_SDCA_IntMask1[0]=1 */
296296
sdw_write_no_pm(rt722->slave, SDW_SCP_SDCA_INTMASK1,
297-
SDW_SCP_SDCA_INTMASK_SDCA_0 | SDW_SCP_SDCA_INTMASK_SDCA_6);
297+
SDW_SCP_SDCA_INTMASK_SDCA_0);
298298
/* set SCP_SDCA_IntMask2[0]=1 */
299299
sdw_write_no_pm(rt722->slave, SDW_SCP_SDCA_INTMASK2,
300300
SDW_SCP_SDCA_INTMASK_SDCA_8);
@@ -308,6 +308,7 @@ static void rt722_sdca_jack_init(struct rt722_sdca_priv *rt722)
308308
regmap_write(rt722->regmap,
309309
SDW_SDCA_CTL(FUNC_NUM_JACK_CODEC, RT722_SDCA_ENT_XU0D,
310310
RT722_SDCA_CTL_SELECTED_MODE, 0), 0);
311+
rt722_sdca_index_write(rt722, RT722_VENDOR_HDA_CTL, RT722_GE_RELATED_CTL1, 0x0000);
311312
/* trigger GE interrupt */
312313
rt722_sdca_index_update_bits(rt722, RT722_VENDOR_HDA_CTL,
313314
RT722_GE_RELATED_CTL2, 0x4000, 0x4000);

0 commit comments

Comments
 (0)