diff options
author | Masakazu Mokuno <mokuno@sm.sony.co.jp> | 2008-10-20 10:03:33 +0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2008-10-20 10:04:59 +0400 |
commit | 756ba83ee370fbf62643777e7ba4a4f05932f6fb (patch) | |
tree | 7f1ee5dbf5558129ded18182d9d5d1060becc530 | |
parent | 219b22b24546dbd512419766eb46f6b729a5453a (diff) | |
download | linux-756ba83ee370fbf62643777e7ba4a4f05932f6fb.tar.xz |
ps3: Add ps3av_audio_mute_analog()
Add support for muting the analog output so that it does not
play noises while non-PCM data is played.
Signed-off-by: Masakazu Mokuno <mokuno@sm.sony.co.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r-- | arch/powerpc/include/asm/ps3av.h | 1 | ||||
-rw-r--r-- | drivers/ps3/ps3av.c | 16 |
2 files changed, 17 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/ps3av.h b/arch/powerpc/include/asm/ps3av.h index fda98715cd35..d30bde2b11ef 100644 --- a/arch/powerpc/include/asm/ps3av.h +++ b/arch/powerpc/include/asm/ps3av.h @@ -735,6 +735,7 @@ extern int ps3av_get_mode(void); extern int ps3av_video_mode2res(u32, u32 *, u32 *); extern int ps3av_video_mute(int); extern int ps3av_audio_mute(int); +extern int ps3av_audio_mute_analog(int); extern int ps3av_dev_open(void); extern int ps3av_dev_close(void); extern void ps3av_register_flip_ctl(void (*flip_ctl)(int on, void *data), diff --git a/drivers/ps3/ps3av.c b/drivers/ps3/ps3av.c index 6f2f90ebb020..06848b254d57 100644 --- a/drivers/ps3/ps3av.c +++ b/drivers/ps3/ps3av.c @@ -915,6 +915,22 @@ int ps3av_video_mute(int mute) EXPORT_SYMBOL_GPL(ps3av_video_mute); +/* mute analog output only */ +int ps3av_audio_mute_analog(int mute) +{ + int i, res; + + for (i = 0; i < ps3av->av_hw_conf.num_of_avmulti; i++) { + res = ps3av_cmd_av_audio_mute(1, + &ps3av->av_port[i + ps3av->av_hw_conf.num_of_hdmi], + mute); + if (res < 0) + return -1; + } + return 0; +} +EXPORT_SYMBOL_GPL(ps3av_audio_mute_analog); + int ps3av_audio_mute(int mute) { return ps3av_set_audio_mute(mute ? PS3AV_CMD_MUTE_ON |