EffectChain setVolume_l with EffectChainmutex held

Bug: 315995877
Test: atest AudioTrackTest; atest AudioRecordTest
Test: flush to Pixel and test audio functionality
Change-Id: I933314a2cd3b0911091e9cfc1ffe00e58166827f
diff --git a/services/audioflinger/Effects.h b/services/audioflinger/Effects.h
index 8583d47..1097b56 100644
--- a/services/audioflinger/Effects.h
+++ b/services/audioflinger/Effects.h
@@ -401,7 +401,7 @@
 public:
     EffectChain(const sp<IAfThreadBase>& thread, audio_session_t sessionId);
 
-    void process_l() final;
+    void process_l() final REQUIRES(audio_utils::ThreadBase_Mutex);
 
     audio_utils::mutex& mutex() const final { return mMutex; }
 
@@ -423,8 +423,11 @@
     std::vector<int> getEffectIds() const final;
     // FIXME use float to improve the dynamic range
 
-    bool setVolume_l(uint32_t *left, uint32_t *right, bool force = false) final;
-    void resetVolume_l() final;
+    bool setVolume_l(uint32_t* left, uint32_t* right, bool force = false) final
+            REQUIRES(audio_utils::ThreadBase_Mutex) EXCLUDES_EffectChain_Mutex;
+    bool setVolume_ll(uint32_t* left, uint32_t* right, bool force = false) final
+            REQUIRES(audio_utils::ThreadBase_Mutex, mutex());
+    void resetVolume_l() final REQUIRES(audio_utils::ThreadBase_Mutex);
     void setDevices_l(const AudioDeviceTypeAddrVector &devices) final;
     void setInputDevice_l(const AudioDeviceTypeAddr &device) final;
     void setMode_l(audio_mode_t mode) final;
@@ -570,7 +573,7 @@
         // check if effects should be suspended/restored when a given effect is enable/disabled
         void checkSuspendOnEffectEnabled(const sp<IAfEffectBase>& effect,
                               bool enabled, bool threadLocked) override;
-        void resetVolume() override;
+        void resetVolume() override REQUIRES(audio_utils::ThreadBase_Mutex);
         product_strategy_t strategy() const override;
         int32_t activeTrackCnt() const override;
         void onEffectEnable(const sp<IAfEffectBase>& effect) override;
@@ -745,7 +748,7 @@
 
         void checkSuspendOnEffectEnabled(const sp<IAfEffectBase>& effect __unused,
                               bool enabled __unused, bool threadLocked __unused) override {}
-        void resetVolume() override {}
+        void resetVolume() override REQUIRES(audio_utils::ThreadBase_Mutex) {}
         product_strategy_t strategy() const override  { return static_cast<product_strategy_t>(0); }
         int32_t activeTrackCnt() const override { return 0; }
         void onEffectEnable(const sp<IAfEffectBase>& effect __unused) override;