Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8fa4d870 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: hda - Fix Oops at reloading beep devices
  ALSA: hda - Don't cache beep controls
  ALSA: Fix a typo in Procfile.txt
  ALSA: sound/arm: Fix build failure caused by missing struct aaci definition
  ALSA: hda - use snd_hda_jack_detect() again in patch_sigmatel.c
  ALSA: hda - Disable tigger at pin-sensing on AD codecs
  ALSA: hda - HDMI sticky stream tag support
  ALSA: Fix indentation in pcm_native.c
parents ed656d8d cc0db22a
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -95,7 +95,7 @@ card*/pcm*/xrun_debug
	It takes an integer value, can be changed by writing to this
	file, such as

		 # cat 5 > /proc/asound/card0/pcm0p/xrun_debug
		 # echo 5 > /proc/asound/card0/pcm0p/xrun_debug

	The value consists of the following bit flags:
	  bit 0 = Enable XRUN/jiffies debug messages
+1 −2
Original line number Diff line number Diff line
@@ -441,6 +441,7 @@ static int aaci_pcm_hw_params(struct snd_pcm_substream *substream,
			      struct snd_pcm_hw_params *params)
{
	int err;
	struct aaci *aaci = substream->private_data;

	aaci_pcm_hw_free(substream);
	if (aacirun->pcm_open) {
@@ -560,7 +561,6 @@ static int aaci_pcm_open(struct snd_pcm_substream *substream)
static int aaci_pcm_playback_hw_params(struct snd_pcm_substream *substream,
				       struct snd_pcm_hw_params *params)
{
	struct aaci *aaci = substream->private_data;
	struct aaci_runtime *aacirun = substream->runtime->private_data;
	unsigned int channels = params_channels(params);
	int ret;
@@ -659,7 +659,6 @@ static struct snd_pcm_ops aaci_playback_ops = {
static int aaci_pcm_capture_hw_params(struct snd_pcm_substream *substream,
				      struct snd_pcm_hw_params *params)
{
	struct aaci *aaci = substream->private_data;
	struct aaci_runtime *aacirun = substream->runtime->private_data;
	int ret;

+10 −6
Original line number Diff line number Diff line
@@ -42,7 +42,7 @@ static void snd_hda_generate_beep(struct work_struct *work)
		return;

	/* generate tone */
	snd_hda_codec_write_cache(codec, beep->nid, 0,
	snd_hda_codec_write(codec, beep->nid, 0,
			AC_VERB_SET_BEEP_CONTROL, beep->tone);
}

@@ -119,7 +119,7 @@ static void snd_hda_do_detach(struct hda_beep *beep)
	beep->dev = NULL;
	cancel_work_sync(&beep->beep_work);
	/* turn off beep for sure */
	snd_hda_codec_write_cache(beep->codec, beep->nid, 0,
	snd_hda_codec_write(beep->codec, beep->nid, 0,
				  AC_VERB_SET_BEEP_CONTROL, 0);
}

@@ -192,7 +192,7 @@ int snd_hda_enable_beep_device(struct hda_codec *codec, int enable)
		beep->enabled = enable;
		if (!enable) {
			/* turn off beep */
			snd_hda_codec_write_cache(beep->codec, beep->nid, 0,
			snd_hda_codec_write(beep->codec, beep->nid, 0,
						  AC_VERB_SET_BEEP_CONTROL, 0);
		}
		if (beep->mode == HDA_BEEP_MODE_SWREG) {
@@ -239,8 +239,12 @@ int snd_hda_attach_beep_device(struct hda_codec *codec, int nid)
	mutex_init(&beep->mutex);

	if (beep->mode == HDA_BEEP_MODE_ON) {
		beep->enabled = 1;
		snd_hda_do_register(&beep->register_work);
		int err = snd_hda_do_attach(beep);
		if (err < 0) {
			kfree(beep);
			codec->beep = NULL;
			return err;
		}
	}

	return 0;
@@ -253,7 +257,7 @@ void snd_hda_detach_beep_device(struct hda_codec *codec)
	if (beep) {
		cancel_work_sync(&beep->register_work);
		cancel_delayed_work(&beep->unregister_work);
		if (beep->enabled)
		if (beep->dev)
			snd_hda_do_detach(beep);
		codec->beep = NULL;
		kfree(beep);
+6 −4
Original line number Diff line number Diff line
@@ -1327,11 +1327,13 @@ EXPORT_SYMBOL_HDA(snd_hda_query_pin_caps);
 */
u32 snd_hda_pin_sense(struct hda_codec *codec, hda_nid_t nid)
{
	u32 pincap = snd_hda_query_pin_caps(codec, nid);
	u32 pincap;

	if (!codec->no_trigger_sense) {
		pincap = snd_hda_query_pin_caps(codec, nid);
		if (pincap & AC_PINCAP_TRIG_REQ) /* need trigger? */
			snd_hda_codec_read(codec, nid, 0, AC_VERB_SET_PIN_SENSE, 0);

	}
	return snd_hda_codec_read(codec, nid, 0,
				  AC_VERB_GET_PIN_SENSE, 0);
}
+1 −0
Original line number Diff line number Diff line
@@ -817,6 +817,7 @@ struct hda_codec {
	unsigned int pin_amp_workaround:1; /* pin out-amp takes index
					    * (e.g. Conexant codecs)
					    */
	unsigned int no_trigger_sense:1; /* don't trigger at pin-sensing */
#ifdef CONFIG_SND_HDA_POWER_SAVE
	unsigned int power_on :1;	/* current (global) power-state */
	unsigned int power_transition :1; /* power-state in transition */
Loading