@@ -504,7 +504,6 @@ static void cs35l41_shutdown_dsp(struct cs35l41_hda *cs35l41)
504
504
505
505
cs_dsp_stop (dsp );
506
506
cs_dsp_power_down (dsp );
507
- cs35l41 -> firmware_running = false;
508
507
dev_dbg (cs35l41 -> dev , "Unloaded Firmware\n" );
509
508
}
510
509
@@ -550,7 +549,7 @@ static void cs35l41_hda_play_start(struct device *dev)
550
549
551
550
cs35l41 -> playback_started = true;
552
551
553
- if (cs35l41 -> firmware_running ) {
552
+ if (cs35l41 -> cs_dsp . running ) {
554
553
regmap_multi_reg_write (reg , cs35l41_hda_config_dsp ,
555
554
ARRAY_SIZE (cs35l41_hda_config_dsp ));
556
555
regmap_update_bits (reg , CS35L41_PWR_CTRL2 ,
@@ -580,7 +579,7 @@ static void cs35l41_mute(struct device *dev, bool mute)
580
579
regmap_multi_reg_write (reg , cs35l41_hda_mute , ARRAY_SIZE (cs35l41_hda_mute ));
581
580
} else {
582
581
dev_dbg (dev , "Unmuting\n" );
583
- if (cs35l41 -> firmware_running ) {
582
+ if (cs35l41 -> cs_dsp . running ) {
584
583
regmap_multi_reg_write (reg , cs35l41_hda_unmute_dsp ,
585
584
ARRAY_SIZE (cs35l41_hda_unmute_dsp ));
586
585
} else {
@@ -599,7 +598,7 @@ static void cs35l41_hda_play_done(struct device *dev)
599
598
dev_dbg (dev , "Play (Complete)\n" );
600
599
601
600
cs35l41_global_enable (dev , reg , cs35l41 -> hw_cfg .bst_type , 1 ,
602
- cs35l41 -> firmware_running );
601
+ & cs35l41 -> cs_dsp );
603
602
cs35l41_mute (dev , false);
604
603
}
605
604
@@ -612,7 +611,7 @@ static void cs35l41_hda_pause_start(struct device *dev)
612
611
613
612
cs35l41_mute (dev , true);
614
613
cs35l41_global_enable (dev , reg , cs35l41 -> hw_cfg .bst_type , 0 ,
615
- cs35l41 -> firmware_running );
614
+ & cs35l41 -> cs_dsp );
616
615
}
617
616
618
617
static void cs35l41_hda_pause_done (struct device * dev )
@@ -625,7 +624,7 @@ static void cs35l41_hda_pause_done(struct device *dev)
625
624
regmap_update_bits (reg , CS35L41_PWR_CTRL2 , CS35L41_AMP_EN_MASK , 0 << CS35L41_AMP_EN_SHIFT );
626
625
if (cs35l41 -> hw_cfg .bst_type == CS35L41_EXT_BOOST )
627
626
regmap_write (reg , CS35L41_GPIO1_CTRL1 , 0x00000001 );
628
- if (cs35l41 -> firmware_running ) {
627
+ if (cs35l41 -> cs_dsp . running ) {
629
628
cs35l41_set_cspl_mbox_cmd (dev , reg , CSPL_MBOX_CMD_PAUSE );
630
629
regmap_update_bits (reg , CS35L41_PWR_CTRL2 ,
631
630
CS35L41_VMON_EN_MASK | CS35L41_IMON_EN_MASK ,
@@ -675,7 +674,7 @@ static void cs35l41_hda_playback_hook(struct device *dev, int action)
675
674
break ;
676
675
case HDA_GEN_PCM_ACT_CLOSE :
677
676
mutex_lock (& cs35l41 -> fw_mutex );
678
- if (!cs35l41 -> firmware_running && cs35l41 -> request_fw_load &&
677
+ if (!cs35l41 -> cs_dsp . running && cs35l41 -> request_fw_load &&
679
678
!cs35l41 -> fw_request_ongoing ) {
680
679
dev_info (dev , "Requesting Firmware Load after HDA_GEN_PCM_ACT_CLOSE\n" );
681
680
cs35l41 -> fw_request_ongoing = true;
@@ -761,10 +760,9 @@ static int cs35l41_verify_id(struct cs35l41_hda *cs35l41, unsigned int *regid, u
761
760
static int cs35l41_ready_for_reset (struct cs35l41_hda * cs35l41 )
762
761
{
763
762
mutex_lock (& cs35l41 -> fw_mutex );
764
- if (cs35l41 -> firmware_running ) {
763
+ if (cs35l41 -> cs_dsp . running ) {
765
764
cs35l41 -> cs_dsp .running = false;
766
765
cs35l41 -> cs_dsp .booted = false;
767
- cs35l41 -> firmware_running = false;
768
766
}
769
767
regcache_mark_dirty (cs35l41 -> regmap );
770
768
mutex_unlock (& cs35l41 -> fw_mutex );
@@ -925,7 +923,7 @@ static int cs35l41_runtime_suspend(struct device *dev)
925
923
926
924
mutex_lock (& cs35l41 -> fw_mutex );
927
925
928
- if (cs35l41 -> firmware_running ) {
926
+ if (cs35l41 -> cs_dsp . running ) {
929
927
ret = cs35l41_enter_hibernate (cs35l41 -> dev , cs35l41 -> regmap ,
930
928
cs35l41 -> hw_cfg .bst_type );
931
929
if (ret )
@@ -960,7 +958,7 @@ static int cs35l41_runtime_resume(struct device *dev)
960
958
961
959
regcache_cache_only (cs35l41 -> regmap , false);
962
960
963
- if (cs35l41 -> firmware_running ) {
961
+ if (cs35l41 -> cs_dsp . running ) {
964
962
ret = cs35l41_exit_hibernate (cs35l41 -> dev , cs35l41 -> regmap );
965
963
if (ret ) {
966
964
dev_warn (cs35l41 -> dev , "Unable to exit Hibernate." );
@@ -1052,8 +1050,6 @@ static int cs35l41_smart_amp(struct cs35l41_hda *cs35l41)
1052
1050
goto clean_dsp ;
1053
1051
}
1054
1052
1055
- cs35l41 -> firmware_running = true;
1056
-
1057
1053
return 0 ;
1058
1054
1059
1055
clean_dsp :
@@ -1063,10 +1059,10 @@ static int cs35l41_smart_amp(struct cs35l41_hda *cs35l41)
1063
1059
1064
1060
static void cs35l41_load_firmware (struct cs35l41_hda * cs35l41 , bool load )
1065
1061
{
1066
- if (cs35l41 -> firmware_running && !load ) {
1062
+ if (cs35l41 -> cs_dsp . running && !load ) {
1067
1063
dev_dbg (cs35l41 -> dev , "Unloading Firmware\n" );
1068
1064
cs35l41_shutdown_dsp (cs35l41 );
1069
- } else if (!cs35l41 -> firmware_running && load ) {
1065
+ } else if (!cs35l41 -> cs_dsp . running && load ) {
1070
1066
dev_dbg (cs35l41 -> dev , "Loading Firmware\n" );
1071
1067
cs35l41_smart_amp (cs35l41 );
1072
1068
} else {
@@ -1346,7 +1342,7 @@ static int cs35l41_hda_bind(struct device *dev, struct device *master, void *mas
1346
1342
cs35l41 -> acpi_subsystem_id , cs35l41 -> hw_cfg .bst_type ,
1347
1343
cs35l41 -> hw_cfg .gpio1 .func == CS35l41_VSPK_SWITCH ,
1348
1344
cs35l41 -> hw_cfg .spk_pos ? 'R' : 'L' ,
1349
- cs35l41 -> firmware_running , cs35l41 -> speaker_id );
1345
+ cs35l41 -> cs_dsp . running , cs35l41 -> speaker_id );
1350
1346
1351
1347
return ret ;
1352
1348
}
0 commit comments