|
@@ -1598,10 +1598,15 @@ static int wsa883x_event_notify(struct notifier_block *nb,
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
|
|
|
|
switch (event) {
|
|
switch (event) {
|
|
- case BOLERO_SLV_EVT_SSR_UP:
|
|
|
|
|
|
+ case BOLERO_SLV_EVT_PA_OFF_PRE_SSR:
|
|
|
|
+ if (test_bit(SPKR_STATUS, &wsa883x->status_mask))
|
|
|
|
+ snd_soc_component_update_bits(wsa883x->component,
|
|
|
|
+ WSA883X_PA_FSM_CTL,
|
|
|
|
+ 0x01, 0x00);
|
|
wsa883x_swr_down(wsa883x);
|
|
wsa883x_swr_down(wsa883x);
|
|
- usleep_range(500, 510);
|
|
|
|
|
|
+ break;
|
|
|
|
|
|
|
|
+ case BOLERO_SLV_EVT_SSR_UP:
|
|
wsa883x_swr_up(wsa883x);
|
|
wsa883x_swr_up(wsa883x);
|
|
/* Add delay to allow enumerate */
|
|
/* Add delay to allow enumerate */
|
|
usleep_range(20000, 20010);
|
|
usleep_range(20000, 20010);
|