diff options
author | Glenn Kasten <gkasten@google.com> | 2014-09-05 10:33:42 -0700 |
---|---|---|
committer | Rachad Alao <rachad@google.com> | 2014-09-08 03:46:03 +0000 |
commit | 6408391200f3bce59f5069cc016a2fe3dd3b0272 (patch) | |
tree | fe1d1f90ef8b958035607310f77ee39e176a7191 | |
parent | 3777659111c59c8f28b82a5499e69471c383958f (diff) | |
download | manta-6408391200f3bce59f5069cc016a2fe3dd3b0272.tar.gz |
Add generic locking comments
Bug: 17129712
Change-Id: I907186184e98afd71b1a5c5d4a22ceef4268a0da
-rw-r--r-- | audio/audio_hw.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/audio/audio_hw.c b/audio/audio_hw.c index a1df3c6..6bc568d 100644 --- a/audio/audio_hw.c +++ b/audio/audio_hw.c @@ -431,6 +431,7 @@ static int do_out_standby(struct stream_out *out); /* Helper functions */ +/* must be called with hw device mutex locked */ static int open_hdmi_driver(struct audio_device *adev) { if (adev->hdmi_drv_fd < 0) { @@ -461,7 +462,10 @@ static int enable_hdmi_audio(struct audio_device *adev, int enable) return ret; } -/* must be called with hw device mutex locked */ +/* must be called with hw device mutex locked + * Called from adev_open_output_stream with no stream lock, + * but this is OK because stream is not yet visible + */ static int read_hdmi_channel_masks(struct audio_device *adev, struct stream_out *out) { int ret; struct v4l2_control ctrl; @@ -507,6 +511,7 @@ static int set_hdmi_channels(struct audio_device *adev, int channels) { return ret; } +/* must be called with hw device mutex locked */ static void select_devices(struct audio_device *adev) { int output_device_id = get_output_device_id(adev->out_device); @@ -584,6 +589,7 @@ static void select_devices(struct audio_device *adev) audio_route_update_mixer(adev->ar); } +/* must be called with hw device mutex unlocked */ void bubblelevel_callback(bool is_level, void *user_data) { struct audio_device *adev = (struct audio_device *)user_data; @@ -614,6 +620,9 @@ bool get_bubblelevel(struct audio_device *adev) return (adev->bubble_level != NULL); } +/* Must be called with HDMI out stream and hw device mutexes locked, + * and all other out stream mutexes unlocked. + */ static void force_non_hdmi_out_standby(struct audio_device *adev) { enum output_type type; @@ -977,6 +986,7 @@ static audio_devices_t output_devices(struct stream_out *out) return devices; } +/* must be called with out stream and hw device mutex locked */ static int do_out_standby(struct stream_out *out) { struct audio_device *adev = out->dev; @@ -1294,6 +1304,7 @@ static int in_set_format(struct audio_stream *stream, audio_format_t format) return -ENOSYS; } +/* must be called with in stream and hw device mutex locked */ static int do_in_standby(struct stream_in *in) { struct audio_device *adev = in->dev; |