]> git.ipfire.org Git - ipfire-2.x.git/blob - src/patches/suse-2.6.27.39/patches.arch/ppc-ps3-add-ps3av-audio-mute-analog.patch
Imported linux-2.6.27.39 suse/xen patches.
[ipfire-2.x.git] / src / patches / suse-2.6.27.39 / patches.arch / ppc-ps3-add-ps3av-audio-mute-analog.patch
1 Subject: ps3: Add ps3av_audio_mute_analog()
2 From: Masakazu Mokuno mokuno@sm.sony.co.jp Mon Oct 20 08:03:33 2008 +0200
3 Date: Mon Oct 20 08:04:59 2008 +0200:
4 Git: 756ba83ee370fbf62643777e7ba4a4f05932f6fb
5
6 Add support for muting the analog output so that it does not
7 play noises while non-PCM data is played.
8
9 Signed-off-by: Masakazu Mokuno <mokuno@sm.sony.co.jp>
10 Signed-off-by: Takashi Iwai <tiwai@suse.de>
11 Signed-off-by: Stefan Assmann <sassmann@suse.de>
12
13 diff --git a/arch/powerpc/include/asm/ps3av.h b/arch/powerpc/include/asm/ps3av.h
14 index fda9871..d30bde2 100644
15 --- a/arch/powerpc/include/asm/ps3av.h
16 +++ b/arch/powerpc/include/asm/ps3av.h
17 @@ -735,6 +735,7 @@ extern int ps3av_get_mode(void);
18 extern int ps3av_video_mode2res(u32, u32 *, u32 *);
19 extern int ps3av_video_mute(int);
20 extern int ps3av_audio_mute(int);
21 +extern int ps3av_audio_mute_analog(int);
22 extern int ps3av_dev_open(void);
23 extern int ps3av_dev_close(void);
24 extern void ps3av_register_flip_ctl(void (*flip_ctl)(int on, void *data),
25 diff --git a/drivers/ps3/ps3av.c b/drivers/ps3/ps3av.c
26 index 6f2f90e..06848b2 100644
27 --- a/drivers/ps3/ps3av.c
28 +++ b/drivers/ps3/ps3av.c
29 @@ -915,6 +915,22 @@ int ps3av_video_mute(int mute)
30
31 EXPORT_SYMBOL_GPL(ps3av_video_mute);
32
33 +/* mute analog output only */
34 +int ps3av_audio_mute_analog(int mute)
35 +{
36 + int i, res;
37 +
38 + for (i = 0; i < ps3av->av_hw_conf.num_of_avmulti; i++) {
39 + res = ps3av_cmd_av_audio_mute(1,
40 + &ps3av->av_port[i + ps3av->av_hw_conf.num_of_hdmi],
41 + mute);
42 + if (res < 0)
43 + return -1;
44 + }
45 + return 0;
46 +}
47 +EXPORT_SYMBOL_GPL(ps3av_audio_mute_analog);
48 +
49 int ps3av_audio_mute(int mute)
50 {
51 return ps3av_set_audio_mute(mute ? PS3AV_CMD_MUTE_ON