Commit 88e36621 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
  ALSA: ASoC: OMAP: Fix DSP DAI format in McBSP DAI driver
  go7007 - Add missing dependency on sound subsystem
  ALSA: ps3: Add support for SPDIF/HDMI passthru
  ps3: Add passthru support for non-audio streams
  ps3: Add ps3av_audio_mute_analog()
  ALSA: misc typo fixes
  sound: add missing pcm kernel-doc
parents a1cf6494 975f6b0c
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -678,6 +678,8 @@ struct ps3av_pkt_avb_param {
	u8 buf[PS3AV_PKT_AVB_PARAM_MAX_BUF_SIZE];
};

/* channel status */
extern u8 ps3av_mode_cs_info[];

/** command status **/
#define PS3AV_STATUS_SUCCESS			0x0000	/* success */
@@ -735,6 +737,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),
+16 −0
Original line number Diff line number Diff line
@@ -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
+10 −9
Original line number Diff line number Diff line
@@ -660,9 +660,10 @@ u32 ps3av_cmd_set_av_audio_param(void *p, u32 port,
}

/* default cs val */
static const u8 ps3av_mode_cs_info[] = {
u8 ps3av_mode_cs_info[] = {
	0x00, 0x09, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00
};
EXPORT_SYMBOL_GPL(ps3av_mode_cs_info);

#define CS_44	0x00
#define CS_48	0x02
@@ -677,7 +678,7 @@ void ps3av_cmd_set_audio_mode(struct ps3av_pkt_audio_mode *audio, u32 avport,
			      u32 ch, u32 fs, u32 word_bits, u32 format,
			      u32 source)
{
	int spdif_through, spdif_bitstream;
	int spdif_through;
	int i;

	if (!(ch | fs | format | word_bits | source)) {
@@ -687,7 +688,6 @@ void ps3av_cmd_set_audio_mode(struct ps3av_pkt_audio_mode *audio, u32 avport,
		format = PS3AV_CMD_AUDIO_FORMAT_PCM;
		source = PS3AV_CMD_AUDIO_SOURCE_SERIAL;
	}
	spdif_through = spdif_bitstream = 0;	/* XXX not supported */

	/* audio mode */
	memset(audio, 0, sizeof(*audio));
@@ -777,16 +777,17 @@ void ps3av_cmd_set_audio_mode(struct ps3av_pkt_audio_mode *audio, u32 avport,
		break;
	}

	/* non-audio bit */
	spdif_through = audio->audio_cs_info[0] & 0x02;

	/* pass through setting */
	if (spdif_through &&
	    (avport == PS3AV_CMD_AVPORT_SPDIF_0 ||
	     avport == PS3AV_CMD_AVPORT_SPDIF_1)) {
	     avport == PS3AV_CMD_AVPORT_SPDIF_1 ||
	     avport == PS3AV_CMD_AVPORT_HDMI_0 ||
	     avport == PS3AV_CMD_AVPORT_HDMI_1)) {
		audio->audio_word_bits = PS3AV_CMD_AUDIO_WORD_BITS_16;
		audio->audio_source = PS3AV_CMD_AUDIO_SOURCE_SPDIF;
		if (spdif_bitstream) {
		audio->audio_format = PS3AV_CMD_AUDIO_FORMAT_BITSTREAM;
			audio->audio_cs_info[0] |= CS_BIT;
		}
	}
}

+2 −0
Original line number Diff line number Diff line
config VIDEO_GO7007
	tristate "Go 7007 support"
	depends on VIDEO_DEV && PCI && I2C && INPUT
	depends on SND
	select VIDEOBUF_DMA_SG
	select VIDEO_IR
	select VIDEO_TUNER
	select VIDEO_TVEEPROM
	select SND_PCM
	select CRC32
	default N
	---help---
+1 −0
Original line number Diff line number Diff line
@@ -319,6 +319,7 @@ EXPORT_SYMBOL(snd_pcm_format_physical_width);
/**
 * snd_pcm_format_size - return the byte size of samples on the given format
 * @format: the format to check
 * @samples: sampling rate
 *
 * Returns the byte size of the given samples for the format, or a
 * negative error code if unknown format.
Loading