@@ -504,7 +504,6 @@ static void cs35l41_shutdown_dsp(struct cs35l41_hda *cs35l41)
504504
505505 cs_dsp_stop (dsp );
506506 cs_dsp_power_down (dsp );
507- cs35l41 -> firmware_running = false;
508507 dev_dbg (cs35l41 -> dev , "Unloaded Firmware\n" );
509508}
510509
@@ -550,7 +549,7 @@ static void cs35l41_hda_play_start(struct device *dev)
550549
551550 cs35l41 -> playback_started = true;
552551
553- if (cs35l41 -> firmware_running ) {
552+ if (cs35l41 -> cs_dsp . running ) {
554553 regmap_multi_reg_write (reg , cs35l41_hda_config_dsp ,
555554 ARRAY_SIZE (cs35l41_hda_config_dsp ));
556555 regmap_update_bits (reg , CS35L41_PWR_CTRL2 ,
@@ -580,7 +579,7 @@ static void cs35l41_mute(struct device *dev, bool mute)
580579 regmap_multi_reg_write (reg , cs35l41_hda_mute , ARRAY_SIZE (cs35l41_hda_mute ));
581580 } else {
582581 dev_dbg (dev , "Unmuting\n" );
583- if (cs35l41 -> firmware_running ) {
582+ if (cs35l41 -> cs_dsp . running ) {
584583 regmap_multi_reg_write (reg , cs35l41_hda_unmute_dsp ,
585584 ARRAY_SIZE (cs35l41_hda_unmute_dsp ));
586585 } else {
@@ -599,7 +598,7 @@ static void cs35l41_hda_play_done(struct device *dev)
599598 dev_dbg (dev , "Play (Complete)\n" );
600599
601600 cs35l41_global_enable (dev , reg , cs35l41 -> hw_cfg .bst_type , 1 ,
602- cs35l41 -> firmware_running );
601+ & cs35l41 -> cs_dsp );
603602 cs35l41_mute (dev , false);
604603}
605604
@@ -612,7 +611,7 @@ static void cs35l41_hda_pause_start(struct device *dev)
612611
613612 cs35l41_mute (dev , true);
614613 cs35l41_global_enable (dev , reg , cs35l41 -> hw_cfg .bst_type , 0 ,
615- cs35l41 -> firmware_running );
614+ & cs35l41 -> cs_dsp );
616615}
617616
618617static void cs35l41_hda_pause_done (struct device * dev )
@@ -625,7 +624,7 @@ static void cs35l41_hda_pause_done(struct device *dev)
625624 regmap_update_bits (reg , CS35L41_PWR_CTRL2 , CS35L41_AMP_EN_MASK , 0 << CS35L41_AMP_EN_SHIFT );
626625 if (cs35l41 -> hw_cfg .bst_type == CS35L41_EXT_BOOST )
627626 regmap_write (reg , CS35L41_GPIO1_CTRL1 , 0x00000001 );
628- if (cs35l41 -> firmware_running ) {
627+ if (cs35l41 -> cs_dsp . running ) {
629628 cs35l41_set_cspl_mbox_cmd (dev , reg , CSPL_MBOX_CMD_PAUSE );
630629 regmap_update_bits (reg , CS35L41_PWR_CTRL2 ,
631630 CS35L41_VMON_EN_MASK | CS35L41_IMON_EN_MASK ,
@@ -675,7 +674,7 @@ static void cs35l41_hda_playback_hook(struct device *dev, int action)
675674 break ;
676675 case HDA_GEN_PCM_ACT_CLOSE :
677676 mutex_lock (& cs35l41 -> fw_mutex );
678- if (!cs35l41 -> firmware_running && cs35l41 -> request_fw_load &&
677+ if (!cs35l41 -> cs_dsp . running && cs35l41 -> request_fw_load &&
679678 !cs35l41 -> fw_request_ongoing ) {
680679 dev_info (dev , "Requesting Firmware Load after HDA_GEN_PCM_ACT_CLOSE\n" );
681680 cs35l41 -> fw_request_ongoing = true;
@@ -761,10 +760,9 @@ static int cs35l41_verify_id(struct cs35l41_hda *cs35l41, unsigned int *regid, u
761760static int cs35l41_ready_for_reset (struct cs35l41_hda * cs35l41 )
762761{
763762 mutex_lock (& cs35l41 -> fw_mutex );
764- if (cs35l41 -> firmware_running ) {
763+ if (cs35l41 -> cs_dsp . running ) {
765764 cs35l41 -> cs_dsp .running = false;
766765 cs35l41 -> cs_dsp .booted = false;
767- cs35l41 -> firmware_running = false;
768766 }
769767 regcache_mark_dirty (cs35l41 -> regmap );
770768 mutex_unlock (& cs35l41 -> fw_mutex );
@@ -925,7 +923,7 @@ static int cs35l41_runtime_suspend(struct device *dev)
925923
926924 mutex_lock (& cs35l41 -> fw_mutex );
927925
928- if (cs35l41 -> firmware_running ) {
926+ if (cs35l41 -> cs_dsp . running ) {
929927 ret = cs35l41_enter_hibernate (cs35l41 -> dev , cs35l41 -> regmap ,
930928 cs35l41 -> hw_cfg .bst_type );
931929 if (ret )
@@ -960,7 +958,7 @@ static int cs35l41_runtime_resume(struct device *dev)
960958
961959 regcache_cache_only (cs35l41 -> regmap , false);
962960
963- if (cs35l41 -> firmware_running ) {
961+ if (cs35l41 -> cs_dsp . running ) {
964962 ret = cs35l41_exit_hibernate (cs35l41 -> dev , cs35l41 -> regmap );
965963 if (ret ) {
966964 dev_warn (cs35l41 -> dev , "Unable to exit Hibernate." );
@@ -1052,8 +1050,6 @@ static int cs35l41_smart_amp(struct cs35l41_hda *cs35l41)
10521050 goto clean_dsp ;
10531051 }
10541052
1055- cs35l41 -> firmware_running = true;
1056-
10571053 return 0 ;
10581054
10591055clean_dsp :
@@ -1063,10 +1059,10 @@ static int cs35l41_smart_amp(struct cs35l41_hda *cs35l41)
10631059
10641060static void cs35l41_load_firmware (struct cs35l41_hda * cs35l41 , bool load )
10651061{
1066- if (cs35l41 -> firmware_running && !load ) {
1062+ if (cs35l41 -> cs_dsp . running && !load ) {
10671063 dev_dbg (cs35l41 -> dev , "Unloading Firmware\n" );
10681064 cs35l41_shutdown_dsp (cs35l41 );
1069- } else if (!cs35l41 -> firmware_running && load ) {
1065+ } else if (!cs35l41 -> cs_dsp . running && load ) {
10701066 dev_dbg (cs35l41 -> dev , "Loading Firmware\n" );
10711067 cs35l41_smart_amp (cs35l41 );
10721068 } else {
@@ -1346,7 +1342,7 @@ static int cs35l41_hda_bind(struct device *dev, struct device *master, void *mas
13461342 cs35l41 -> acpi_subsystem_id , cs35l41 -> hw_cfg .bst_type ,
13471343 cs35l41 -> hw_cfg .gpio1 .func == CS35l41_VSPK_SWITCH ,
13481344 cs35l41 -> hw_cfg .spk_pos ? 'R' : 'L' ,
1349- cs35l41 -> firmware_running , cs35l41 -> speaker_id );
1345+ cs35l41 -> cs_dsp . running , cs35l41 -> speaker_id );
13501346
13511347 return ret ;
13521348}
0 commit comments