I had some time to think about PCI assign issues in 2.6.13-rc series.
The major problem here is that we call pci_assign_unassigned_resources()
way too early - at subsys_initcall level. Therefore we give no chances
to ACPI and PnP routines (called at fs_initcall level) to reserve their
respective resources properly, as the comments in drivers/pnp/system.c
and drivers/acpi/motherboard.c suggest:
/**
* Reserve motherboard resources after PCI claim BARs,
* but before PCI assign resources for uninitialized PCI devices
*/
So I moved the pci_assign_unassigned_resources() call to
pcibios_assign_resources() (fs_initcall), which should hopefully fix a
lot of problems and make PCIBIOS_MIN_IO tweaks unnecessary.
Other changes:
- remove resource assignment code from pcibios_assign_resources(), since
it duplicates pci_assign_unassigned_resources() functionality and
actually does nothing in 2.6.13;
- modify ROM assignment code as per Ben's suggestion: try to use firmware
settings by default (if PCI_ASSIGN_ROMS is not set);
- set CARDBUS_IO_SIZE back to 4K as it's a wonderful stress test for
various setups.
Confirmed by Tero Roponen <teanropo@cc.jyu.fi> (who had problems with
the 4kB CardBus IO size previously).
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
USB generic driver
When a USB error occurs that might indicate that the device has been
unplugged, don't resubmit the URB immediately to prevent flooding the
log with error messages before khubd has us disconnect()ed.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Add register_sound_special_device() function to allow assignment of
device pointer to a specific OSS device for HAL.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
USB generic driver
Emagic devices pad their packets not with 0xff bytes but with a 0xff
byte followed by garbage, so we have to stop at the first such byte.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
HDA Intel driver
Fix and clean up for the support of ULI M5461
- set CORB/RIRB sizes explicitly
- add workarounds for ULI on ia32
- max number of streams depends on the chip type now
- increase the size of BDL
Signed-off-by: Takashi Iwai <tiwai@suse.de>
HDA Codec driver
The insertion of the rate 9600 make a shift in detection of supported
rate, put this rate at the end of the list.
Signed-off-by: Nicolas Graziano <nicolas.graziano@wanadoo.fr>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Intel8x0 driver,AC97 Codec
The HP nx6110 laptop needs to have Headphone Jack Sense enabled so
that the internal speakers will be turned off when headphones are
plugged in.
Also ac97_quirk=hp_only is needed to make a single Master volume in
the mixer instead of separate volumes for internal speakers and
headphones, which just confuses the user.
Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Digigram VX core,CS4231 driver,ATIIXP driver,VIA82xx driver
VIA82xx-modem driver,au88x0 driver,CS46xx driver,Trident driver
This patch disables SNDRV_PCM_INFO_RESUME flag for drivers which does not
support the full resume.
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
AC97 Codec
The patch fixes the bus_id conflict error when registering two codecs
of the same type (ALSA bug#1334).
Signed-off-by: Bjorge Dijkstra <bjorge@gmx.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
NM256 driver
- Fixed the PCM resume - restoring the rate setting
- Fixed the handling of buggy irqs
- Dynamically acquire/release irq handler to make the driver more robust
to unknown irq storms (as OSS driver does).
Signed-off-by: Takashi Iwai <tiwai@suse.de>
HDA Intel driver
- removed SNDRV_PCM_INFO_RESUME (the driver cannot do PCM resume at the time)
- fixed chip->pcm_devs initialization
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
PCM Midlevel
Fixed the handling of boundary in PCM 32bit compat layer.
Positions in hwsync are bound in the 32bit boundary size.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
OPL3SA2 driver
- use different name (opl3sa2-pnpbios) for PnP BIOS driver
- don't print warning when manual config of resources fails (PnP BIOS)
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
AC97 Codec
Make the patch_wolfson_wm97??_specific() functions static again.
This patch was accidentally reverted in rev. 1.92.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
USB generic driver
With the double buffering, we no longer need contiguous memory for the
PCM buffer, so we can use vmalloc() instead of the preallocation
functions, and increase the maximum size to 256 KB.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
USB generic driver
Use the USB buffer allocation functions to avoid repeated DMA mappings
of our buffers, which are re-used quite a lot.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
USB generic driver
Take the substream lock when reading hwptr_done to avoid a race
condition with the updates in the URB callbacks.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
USB generic driver
Change prepare_playback_urb() not to stop preparing packets before a
frame boundary has been reached.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
USB generic driver
We always had to use double buffering when capturing, and when playback
data for one URB crosses a buffer boundary. The latter would make hwptr
updates less precise because the double-buffered data is read from the
buffer much earlier than the other data is read by the host controller.
Double-buffering all data allows to update hwptr immediately after the
data was copied to the USB buffer(s), which has the additional benefit
of avoiding the latency imposed by the host controller's delay of up to
one frame when interrupting.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
USB generic driver
When preparing capture URBs, we don't need to stop when we cross a
period boundary because we now never handle more than one millisecond of
data per URB anyway.
When handling captured data, use an extra flag to call
snd_pcm_period_elapsed() no more than once. This allows us to move the
period boundary checking code before the copying of the data which
avoids a second locking of the substream's lock.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>