EMU10K1/EMU10K2 driver
e.g. When HD Capture source is set to SPDIF,
setting HD Capture channel to 0 captures from CDROM digital input.
setting HD Capture channel to 1 captures from SPDIF in.
Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
EMU10K1/EMU10K2 driver
The capture rate does in fact vary, but it only captures anything if
the HD Capture source is set to I2S or AC97. I have not tested if the sound
is actually captured from an physical input of some type or not.
TODO: Get SPDIF capture working.
Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
Clemens Ladisch [Mon, 2 May 2005 06:55:54 +0000 (08:55 +0200)]
[ALSA] usb-audio - use only one packet in synchronization feedback URBs
USB generic driver
Do not use more than one packet in synchronization feedback URBs because
it would be pointless to send or receive more than one value at the same
time.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Clemens Ladisch [Mon, 2 May 2005 06:53:46 +0000 (08:53 +0200)]
[ALSA] usb-audio - use proper interval between synchronization packets
USB generic driver
Add sanity checks when reading the bRefresh value, and actually use it
for the synchronization packets instead of polling at 1000 Hz.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Clemens Ladisch [Fri, 29 Apr 2005 14:26:14 +0000 (16:26 +0200)]
[ALSA] usb-audio - add mixer control notifications
USB generic driver
Add support for the optional status interrupt endpoint in audio control
interfaces, and translate USB status notifications into ALSA mixer
control notifications.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
[ALSA] ac97 - add the 'Mic Front Input Switch' control (ALC850)
AC97 Codec
Add the 'Mic Front Input Switch' control to the mixer for ALC850.
Enabling this input is required for using the front panel microphone
connector with ASUS A8V motherboard.
Signed-off-by: Sergey Vlasov <vsu@altlinux.ru> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
AC97 Codec
ac97_enum mixer elements (e.g., 'Capture Source') did not work because
of wrong bitmask calculation in snd_ac97_get_enum_double() and
snd_ac97_put_enum_double().
[ALSA] prevent oops & dead keyboard on usb unplugging while the device is being used
USB generic driver,USB USX2Y
Without this patch, some usb kobjects, which are parents to
the usx2y's kobjects can be freed before the usx2y's.
This led to an oops in get_kobj_path_length() and a dead
keyboard, when the usx2y's kobjects were freed.
The patch ensures the correct sequence.
Tested ok on kernel 2.6.12-rc2.
EMU10K1/EMU10K2 driver
When building with gcc -W sound/pci/emu10k1/emupcm.c produces this little
warning in 2.6.12-rc2-mm3 :
sound/pci/emu10k1/emupcm.c:265: warning: 'inline' is not at beginning of
declaration
No big deal, but trivial to fix.
Matt [Wed, 13 Apr 2005 12:45:30 +0000 (14:45 +0200)]
[ALSA] add sigmatel codec support
HDA generic driver,HDA Codec driver
Add initial SigmaTel codec support for 9200 and 922x. Note that
this hda patch relies on the configuration default registers to
be set correctly (normally by BIOS/firmware) in order for it to
set up pin widgets properly. There's a test switch in the patch
so it will work with the SigmaTel reference boards that are usually
plugged into a system that doesn't set the configuration default
registers. It supports 2 channel analog out and line/mic in. I
plan to add >2 channel support and spdif support shortly.
Please apply.
Signed-off-by: Matt <matt@embeddedalley.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Matt [Wed, 13 Apr 2005 12:37:50 +0000 (14:37 +0200)]
[ALSA] hda: fix vref cap and ctl values
HDA Codec driver,HDA generic driver
Fix some vref defines so they are valid for the different bits in
the pin cap and pin control registers. Please apply.
Signed-off-by: Matt <matt@embeddedalley.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
AC97 Codec
The handling of shared surround/clfe output jacks with line/mic-in
on some AC97 codecs is improved.
Instead of 'Line-In As Surround' or 'Mic As Center/LFE' switch, two
new enum controls are introduced: 'Channel Mode' and 'Surround Jack Mode'.
The formar changes the current output mode among 2, 4 and 6-channels.
The latter controls whether the jacks are shared or independent.
[ALSA] Support all sample rate conversion capabilities of DXS channels
Documentation,VIA82xx driver
Add support for full sample rate conversion capabilities of DXS
channels present in VIA VT8233/5/7 controllers:
- any sample rate in the 8000 ... 48000 Hz range is supported even if
the AC'97 codec supports only 48000 Hz output;
- different DXS channels can use different sample rates at the same
time (the controller performs required sample rate conversion and
mixing in hardware).
[ALSA] Improve SPDIF playback via the P16V/CA0151 chip.
EMU10K1/EMU10K2 driver
Although we can set 44100 as the output rate, the SPDIF can do it, but the Analog output cannot.
The SPDIF has the bug, whereby the Left channel arrives one sample late, so although we don't do any resampling,
it is not good for AC3 non-audio output.
Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
HDA Codec driver
Patch by C.L. Tien <cltien@cmedia.com.tw>:
The patch makes cm9880 to choose multi-channel jacks automatically.
1. I found the current code has basic_init, which already includes
necessary controls for 6-stack initialization, so I don't need
another model.
2. I add a new model 'auto' to let the driver find a. if there are
option real panel/front panel, b. the jacks to be used for multichannel.
Because the jack color are based on MS's channel sequence, so the 'auto'
model will pick the same jacks for multichannel MS uses. I did this to
hope to minimize users questions. These code can also be applied to other
codecs but I don't have any to test.
Clemens Ladisch [Fri, 8 Apr 2005 06:25:23 +0000 (08:25 +0200)]
[ALSA] virmidi - fix ioctl parameter passing when setting client name
ALSA sequencer
The last change to reduce stack usage did not adjust the parameter to
SNDRV_SEQ_IOCTL_SET_CLIENT_IOCTL which resulted in passing the address
of the pointer instead of the structure.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
[ALSA] Fix 'semaphore is not ready' problem with snd-intel8x0m
Intel8x0-modem driver
With some intel based ac97 modems codec access semaphore is not cleared
after 0x54 AC97 register (GPIO_STATUS) reads. This may causes problems
with newly applied modem mixer (Off-hook switch) and in other cases.
AC97 Codec
- Added CM9780 patch
- Fix the SPDIF support on CM9761/CM9780
- Allow the generic enum callback to pass any number (not power of 2)
as the value mask
Clemens Ladisch [Wed, 6 Apr 2005 07:43:59 +0000 (09:43 +0200)]
[ALSA] virmidi - fix ioctl parameter passing when creating seq port
ALSA sequencer
The last change to reduce stack usage did not adjust the parameter to
SNDRV_SEQ_IOCTL_CREATE_PORT which resulted in passing the address of
the pointer instead of the structure.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Clemens Ladisch [Wed, 30 Mar 2005 14:22:01 +0000 (16:22 +0200)]
[ALSA] usb-audio - allow USB MIDI quirks to specify endpoints explicitly
USB generic driver
This patch reintroduces the check for endpoint numbers that are
specified explicitly in the quirk structure.
This check was accidentally dropped in the last rewrite of
snd_usbmidi_detect_endpoints().
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Lee Revell [Wed, 30 Mar 2005 12:04:34 +0000 (14:04 +0200)]
[ALSA] some docs for the new emu10k1 multichannel functionality
Documentation
Not complete, or even spell checked, but in case I don't get a chance to
work on it again before 1.0.9, here is what i have so far. It should go
in alsa-kernel/Documentation/emu10k1-jack.txt.
Signed-off-by: Lee Revell <rlrevell@joe-job.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
ChenLi Tien [Thu, 24 Mar 2005 11:02:54 +0000 (12:02 +0100)]
[ALSA] Show currectly selected widget in proc_read for hda driver
HDA generic driver
During debugging for cm9880 multi-channel playback, I added the * after
the currently selected widget, mixer widget doesn't need this but other
3 widget types need it.
Signed-off-by: ChenLi Tien <cltien@cmedia.com.tw> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Alexander Nyberg [Fri, 27 May 2005 10:48:50 +0000 (12:48 +0200)]
[PATCH] Note on ACPI build fix
Even after the previous fix you can still set CONFIG_ACPI_BOOT
indirectly even without CONFIG_ACPI by choosing CONFIG_PCI and
CONFIG_PCI_MMCONFIG.
That doesn't build very well either.
This makes PCI_MMCONFIG depend on ACPI, fixing that hole.
[ I guess in theory Kconfig could follow the whole chain of dependencies
for things that get selected, but that sounds insanely complicated, so
we'll just fix up these things by hand. --Linus ]
Signed-off-by: Alexander Nyberg <alexn@telia.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Len Brown [Fri, 27 May 2005 08:21:50 +0000 (04:21 -0400)]
[PATCH] VIA IRQ quirk
Delete quirk_via_bridge(), restore quirk_via_irqpic() -- but now
improved to be invoked upon device ENABLE, and now only for VIA devices
-- not all devices behind VIA bridges.
Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Signed-off-by: Len Brown <len.brown@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Paul Jackson [Fri, 27 May 2005 09:02:43 +0000 (02:02 -0700)]
[PATCH] cpuset exit NULL dereference fix
There is a race in the kernel cpuset code, between the code
to handle notify_on_release, and the code to remove a cpuset.
The notify_on_release code can end up trying to access a
cpuset that has been removed. In the most common case, this
causes a NULL pointer dereference from the routine cpuset_path.
However all manner of bad things are possible, in theory at least.
The existing code decrements the cpuset use count, and if the
count goes to zero, processes the notify_on_release request,
if appropriate. However, once the count goes to zero, unless we
are holding the global cpuset_sem semaphore, there is nothing to
stop another task from immediately removing the cpuset entirely,
and recycling its memory.
The obvious fix would be to always hold the cpuset_sem
semaphore while decrementing the use count and dealing with
notify_on_release. However we don't want to force a global
semaphore into the mainline task exit path, as that might create
a scaling problem.
The actual fix is almost as easy - since this is only an issue
for cpusets using notify_on_release, which the top level big
cpusets don't normally need to use, only take the cpuset_sem
for cpusets using notify_on_release.
This code has been run for hours without a hiccup, while running
a cpuset create/destroy stress test that could crash the existing
kernel in seconds. This patch applies to the current -linus
git kernel.
Signed-off-by: Paul Jackson <pj@sgi.com> Acked-by: Simon Derr <simon.derr@bull.net> Acked-by: Dinakar Guniguntala <dino@in.ibm.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
The original pwc author raised some questions about the reverse
engineering of the decompressor algorithms used in the pwc driver.
Having done some detailed investigation it appears those concerns that
clean room policy was not followed are reasonable. I've also had a
friendly discussion with Philips to ask their view on this.
This removes the problem items of code which reduces the pwc
functionality in the kernel a little but leaves all the framework for
setup that will be needed for decompressors in user space (where they
eventually belong). This change set is designed to be the minimal risk
change set given that 2.6.12 is hopefully close to hand, with a view to
merging the much updated pwc code in 2.6.13 series kernels.
Someone else can then redo the decompressors properly (clean room) in
user space.
Note that while its easy to say that it should have been caught earlier,
but the violation was really only obvious to someone who had access to
both the proprietary source and the 'GPL' source.
Roland McGrath [Thu, 26 May 2005 22:21:13 +0000 (15:21 -0700)]
[PATCH] i386: fix prevent_tail_call
We fixed this bug before, but it didn't take. It may have been the case
that the problem was first noticed to occur in a CONFIG_REGPARM compile.
But it's not regparm functions that need not to make tail calls, it's
asmlinkage functions called with a user pt_regs frame on the stack
supplying their arguments. prevent_tail_call probably doesn't do anything
at all in regparm functions (your argument registers are going to be
clobbered, period). It was a braino to conditionalize that definition in
the first place.
Signed-off-by: Roland McGrath <roland@redhat.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This fixes infinite loop issue with IPv6 tunnel mode.
Signed-off-by: Kazunori Miyazawa <kazunori@miyazawa.org> Signed-off-by: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org> Signed-off-by: David S. Miller <davem@davemloft.net>
[PKT_SCHED] netem: allow random reordering (with fix)
Here is a fixed up version of the reorder feature of netem.
It is the same as the earlier patch plus with the bugfix from Julio merged in.
Has expected backwards compatibility behaviour.
Go ahead and merge this one, the TCP strangeness I was seeing was due
to the reordering bug, and previous version of TSO patch.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: David S. Miller <davem@davemloft.net>