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

Commit e7bfbb02 authored by Takashi Iwai's avatar Takashi Iwai
Browse files

Merge branch 'topic/hda' into for-linus

parents fe506d6b 9b6682ff
Loading
Loading
Loading
Loading
+3 −0
Original line number Original line Diff line number Diff line
@@ -741,6 +741,9 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
    model	- force the model name
    model	- force the model name
    position_fix - Fix DMA pointer (0 = auto, 1 = use LPIB, 2 = POSBUF)
    position_fix - Fix DMA pointer (0 = auto, 1 = use LPIB, 2 = POSBUF)
    probe_mask  - Bitmask to probe codecs (default = -1, meaning all slots)
    probe_mask  - Bitmask to probe codecs (default = -1, meaning all slots)
    		  When the bit 8 (0x100) is set, the lower 8 bits are used
		  as the "fixed" codec slots; i.e. the driver probes the
		  slots regardless what hardware reports back
    probe_only	- Only probing and no codec initialization (default=off);
    probe_only	- Only probing and no codec initialization (default=off);
		  Useful to check the initial codec status for debugging
		  Useful to check the initial codec status for debugging
    bdl_pos_adj	- Specifies the DMA IRQ timing delay in samples.
    bdl_pos_adj	- Specifies the DMA IRQ timing delay in samples.
+18 −3
Original line number Original line Diff line number Diff line
@@ -56,6 +56,7 @@ ALC262
  sony-assamd	Sony ASSAMD
  sony-assamd	Sony ASSAMD
  toshiba-s06	Toshiba S06
  toshiba-s06	Toshiba S06
  toshiba-rx1	Toshiba RX1
  toshiba-rx1	Toshiba RX1
  tyan		Tyan Thunder n6650W (S2915-E)
  ultra		Samsung Q1 Ultra Vista model
  ultra		Samsung Q1 Ultra Vista model
  lenovo-3000	Lenovo 3000 y410
  lenovo-3000	Lenovo 3000 y410
  nec		NEC Versa S9100
  nec		NEC Versa S9100
@@ -261,6 +262,8 @@ Conexant 5051
=============
=============
  laptop	Basic Laptop config (default)
  laptop	Basic Laptop config (default)
  hp		HP Spartan laptop
  hp		HP Spartan laptop
  hp-dv6736	HP dv6736
  lenovo-x200	Lenovo X200 laptop


STAC9200
STAC9200
========
========
@@ -278,6 +281,7 @@ STAC9200
  gateway-m4	Gateway laptops with EAPD control
  gateway-m4	Gateway laptops with EAPD control
  gateway-m4-2	Gateway laptops with EAPD control
  gateway-m4-2	Gateway laptops with EAPD control
  panasonic	Panasonic CF-74
  panasonic	Panasonic CF-74
  auto		BIOS setup (default)


STAC9205/9254
STAC9205/9254
=============
=============
@@ -285,6 +289,8 @@ STAC9205/9254
  dell-m42	Dell (unknown)
  dell-m42	Dell (unknown)
  dell-m43	Dell Precision
  dell-m43	Dell Precision
  dell-m44	Dell Inspiron
  dell-m44	Dell Inspiron
  eapd		Keep EAPD on (e.g. Gateway T1616)
  auto		BIOS setup (default)


STAC9220/9221
STAC9220/9221
=============
=============
@@ -308,6 +314,7 @@ STAC9220/9221
  dell-d82	Dell (unknown)
  dell-d82	Dell (unknown)
  dell-m81	Dell (unknown)
  dell-m81	Dell (unknown)
  dell-m82	Dell XPS M1210
  dell-m82	Dell XPS M1210
  auto		BIOS setup (default)


STAC9202/9250/9251
STAC9202/9250/9251
==================
==================
@@ -319,6 +326,7 @@ STAC9202/9250/9251
  m3		Some Gateway MX series laptops
  m3		Some Gateway MX series laptops
  m5		Some Gateway MX series laptops (MP6954)
  m5		Some Gateway MX series laptops (MP6954)
  m6		Some Gateway NX series laptops
  m6		Some Gateway NX series laptops
  auto		BIOS setup (default)


STAC9227/9228/9229/927x
STAC9227/9228/9229/927x
=======================
=======================
@@ -328,6 +336,7 @@ STAC9227/9228/9229/927x
  5stack	D965 5stack + SPDIF
  5stack	D965 5stack + SPDIF
  dell-3stack	Dell Dimension E520
  dell-3stack	Dell Dimension E520
  dell-bios	Fixes with Dell BIOS setup
  dell-bios	Fixes with Dell BIOS setup
  auto		BIOS setup (default)


STAC92HD71B*
STAC92HD71B*
============
============
@@ -335,7 +344,10 @@ STAC92HD71B*
  dell-m4-1	Dell desktops
  dell-m4-1	Dell desktops
  dell-m4-2	Dell desktops
  dell-m4-2	Dell desktops
  dell-m4-3	Dell desktops
  dell-m4-3	Dell desktops
  hp-m4		HP dv laptops
  hp-m4		HP mini 1000
  hp-dv5	HP dv series
  hp-hdx	HP HDX series
  auto		BIOS setup (default)


STAC92HD73*
STAC92HD73*
===========
===========
@@ -345,13 +357,16 @@ STAC92HD73*
  dell-m6-dmic	Dell desktops/laptops with digital mics
  dell-m6-dmic	Dell desktops/laptops with digital mics
  dell-m6	Dell desktops/laptops with both type of mics
  dell-m6	Dell desktops/laptops with both type of mics
  dell-eq	Dell desktops/laptops
  dell-eq	Dell desktops/laptops
  auto		BIOS setup (default)


STAC92HD83*
STAC92HD83*
===========
===========
  ref		Reference board
  ref		Reference board
  mic-ref	Reference board with power managment for ports
  mic-ref	Reference board with power managment for ports
  dell-s14	Dell laptop
  auto		BIOS setup (default)


STAC9872
STAC9872
========
========
  vaio		Setup for VAIO FE550G/SZ110
  vaio		VAIO laptop without SPDIF
  vaio-ar Setup for VAIO AR
  auto		BIOS setup (default)
+44 −3
Original line number Original line Diff line number Diff line
@@ -109,6 +109,13 @@ slot, pass `probe_mask=1`. For the first and the third slots, pass
Since 2.6.29 kernel, the driver has a more robust probing method, so
Since 2.6.29 kernel, the driver has a more robust probing method, so
this error might happen rarely, though.
this error might happen rarely, though.


On a machine with a broken BIOS, sometimes you need to force the
driver to probe the codec slots the hardware doesn't report for use.
In such a case, turn the bit 8 (0x100) of `probe_mask` option on.
Then the rest 8 bits are passed as the codec slots to probe
unconditionally.  For example, `probe_mask=0x103` will force to probe
the codec slots 0 and 1 no matter what the hardware reports.



Interrupt Handling
Interrupt Handling
~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~
@@ -358,10 +365,26 @@ modelname::
  to this file.
  to this file.
init_verbs::
init_verbs::
  The extra verbs to execute at initialization.  You can add a verb by
  The extra verbs to execute at initialization.  You can add a verb by
  writing to this file.  Pass tree numbers, nid, verb and parameter.
  writing to this file.  Pass three numbers: nid, verb and parameter
  (separated with a space).
hints::
hints::
  Shows hint strings for codec parsers for any use.  Right now it's
  Shows / stores hint strings for codec parsers for any use.
  not used.
  Its format is `key = value`.  For example, passing `hp_detect = yes`
  to IDT/STAC codec parser will result in the disablement of the
  headphone detection.
init_pin_configs::
  Shows the initial pin default config values set by BIOS.
driver_pin_configs::
  Shows the pin default values set by the codec parser explicitly.
  This doesn't show all pin values but only the changed values by
  the parser.  That is, if the parser doesn't change the pin default
  config values by itself, this will contain nothing.
user_pin_configs::
  Shows the pin default config values to override the BIOS setup.
  Writing this (with two numbers, NID and value) appends the new
  value.  The given will be used instead of the initial BIOS value at
  the next reconfiguration time.  Note that this config will override
  even the driver pin configs, too.
reconfig::
reconfig::
  Triggers the codec re-configuration.  When any value is written to
  Triggers the codec re-configuration.  When any value is written to
  this file, the driver re-initialize and parses the codec tree
  this file, the driver re-initialize and parses the codec tree
@@ -371,6 +394,14 @@ clear::
  Resets the codec, removes the mixer elements and PCM stuff of the
  Resets the codec, removes the mixer elements and PCM stuff of the
  specified codec, and clear all init verbs and hints.
  specified codec, and clear all init verbs and hints.


For example, when you want to change the pin default configuration
value of the pin widget 0x14 to 0x9993013f, and let the driver
re-configure based on that state, run like below:
------------------------------------------------------------------------
  # echo 0x14 0x9993013f > /sys/class/sound/hwC0D0/user_pin_configs
  # echo 1 > /sys/class/sound/hwC0D0/reconfig  
------------------------------------------------------------------------



Power-Saving
Power-Saving
~~~~~~~~~~~~
~~~~~~~~~~~~
@@ -461,6 +492,16 @@ run with `--no-upload` option, and attach the generated file.
There are some other useful options.  See `--help` option output for
There are some other useful options.  See `--help` option output for
details.
details.


When a probe error occurs or when the driver obviously assigns a
mismatched model, it'd be helpful to load the driver with
`probe_only=1` option (at best after the cold reboot) and run
alsa-info at this state.  With this option, the driver won't configure
the mixer and PCM but just tries to probe the codec slot.  After
probing, the proc file is available, so you can get the raw codec
information before modified by the driver.  Of course, the driver
isn't usable with `probe_only=1`.  But you can continue the
configuration via hwdep sysfs file if hda-reconfig option is enabled.



hda-verb
hda-verb
~~~~~~~~
~~~~~~~~
+2 −0
Original line number Original line Diff line number Diff line
@@ -2112,6 +2112,8 @@
#define PCI_DEVICE_ID_MELLANOX_SINAI_OLD 0x5e8c
#define PCI_DEVICE_ID_MELLANOX_SINAI_OLD 0x5e8c
#define PCI_DEVICE_ID_MELLANOX_SINAI	0x6274
#define PCI_DEVICE_ID_MELLANOX_SINAI	0x6274


#define PCI_VENDOR_ID_DFI		0x15bd

#define PCI_VENDOR_ID_QUICKNET		0x15e2
#define PCI_VENDOR_ID_QUICKNET		0x15e2
#define PCI_DEVICE_ID_QUICKNET_XJ	0x0500
#define PCI_DEVICE_ID_QUICKNET_XJ	0x0500


+1 −0
Original line number Original line Diff line number Diff line
@@ -138,6 +138,7 @@ void snd_hda_detach_beep_device(struct hda_codec *codec)


		input_unregister_device(beep->dev);
		input_unregister_device(beep->dev);
		kfree(beep);
		kfree(beep);
		codec->beep = NULL;
	}
	}
}
}
EXPORT_SYMBOL_HDA(snd_hda_detach_beep_device);
EXPORT_SYMBOL_HDA(snd_hda_detach_beep_device);
Loading