Michael Ellerman [Thu, 1 Sep 2005 01:29:27 +0000 (11:29 +1000)]
[PATCH] iseries_veth: Remove studly caps from iseries_veth.c
Having merged iseries_veth.h, let's remove some of the studly caps that came
with it.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Michael Ellerman [Thu, 1 Sep 2005 01:29:25 +0000 (11:29 +1000)]
[PATCH] iseries_veth: Incorporate iseries_veth.h in iseries_veth.c
iseries_veth.h is only used by iseries_veth.c, so merge the former into
the latter.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Michael Ellerman [Thu, 1 Sep 2005 01:29:21 +0000 (11:29 +1000)]
[PATCH] iseries_veth: Add sysfs support for port structs
Also to aid debugging, add sysfs support for iseries_veth's port structures.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Michael Ellerman [Thu, 1 Sep 2005 01:29:20 +0000 (11:29 +1000)]
[PATCH] iseries_veth: Add sysfs support for connection structs
To aid in field debugging, add sysfs support for iseries_veth's connection
structures. At the moment this is all read-only, however we could think about
adding write support for some attributes in future.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Michael Ellerman [Thu, 1 Sep 2005 01:29:19 +0000 (11:29 +1000)]
[PATCH] iseries_veth: Fix bogus counting of TX errors
There's a number of problems with the way iseries_veth counts TX errors.
Firstly it counts conditions which aren't really errors as TX errors. This
includes if we don't have a connection struct for the other LPAR, or if the
other LPAR is currently down (or just doesn't want to talk to us). Neither
of these should count as TX errors.
Secondly, it counts one TX error for each LPAR that fails to accept the packet.
This can lead to TX error counts higher than the total number of packets sent
through the interface. This is confusing for users.
This patch fixes that behaviour. The non-error conditions are no longer
counted, and we introduce a new and I think saner meaning to the TX counts.
If a packet is successfully transmitted to any LPAR then it is transmitted
and tx_packets is incremented by 1.
If there is an error transmitting a packet to any LPAR then that is counted
as one error, ie. tx_errors is incremented by 1.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Michael Ellerman [Thu, 1 Sep 2005 01:29:18 +0000 (11:29 +1000)]
[PATCH] iseries_veth: Simplify full-queue handling
The iseries_veth driver often has multiple netdevices sending packets over
a single connection to another LPAR. If the bandwidth to the other LPAR is
exceeded, all the netdevices must have their queues stopped.
The current code achieves this by queueing one incoming skb on the
per-netdevice port structure. When the connection is able to send more packets
we iterate through the port structs and flush any packet that is queued,
as well as restarting the associated netdevice's queue.
This arrangement makes less sense now that we have per-connection TX timers,
rather than the per-netdevice generic TX timer.
The new code simply detects when one of the connections is full, and stops
the queue of all associated netdevices. Then when a packet is acked on that
connection (ie. there is space again) all the queues are woken up.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Michael Ellerman [Thu, 1 Sep 2005 01:29:17 +0000 (11:29 +1000)]
[PATCH] iseries_veth: Add a per-connection ack timer
Currently the iseries_veth driver contravenes the specification in
Documentation/networking/driver.txt, in that if packets are not acked by
the other LPAR they will sit around forever.
This patch adds a per-connection timer which fires if we've had no acks for
five seconds. This is superior to the generic TX timer because it catches
the case of a small number of packets being sent and never acked.
This fixes a bug we were seeing on real systems, where some IPv6 neighbour
discovery packets would not be acked and then prevent the module from being
removed, due to skbs lying around.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Michael Ellerman [Thu, 1 Sep 2005 01:29:12 +0000 (11:29 +1000)]
[PATCH] iseries_veth: Remove TX timeout code
The iseries_veth driver uses the generic TX timeout watchdog, however a better
solution is in the works, so remove this code.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Michael Ellerman [Thu, 1 Sep 2005 01:29:09 +0000 (11:29 +1000)]
[PATCH] iseries_veth: Use kobjects to track lifecycle of connection structs
The iseries_veth driver can attach to multiple vlans, which correspond to
multiple net devices. However there is only 1 connection between each LPAR,
so the connection structure may be shared by multiple net devices.
This makes module removal messy, because we can't deallocate the connections
until we know there are no net devices still using them. The solution is to
use ref counts on the connections, so we can delete them (actually stop) as
soon as the ref count hits zero.
This patch fixes (part of) a bug we were seeing with IPv6 sending probes to
a dead LPAR, which would then hang us forever due to leftover skbs.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Michael Ellerman [Thu, 1 Sep 2005 01:29:08 +0000 (11:29 +1000)]
[PATCH] iseries_veth: Make init_connection() & destroy_connection() symmetrical
This patch makes veth_init_connection() and veth_destroy_connection()
symmetrical in that they allocate/deallocate the same data.
Currently if there's an error while initialising connections (ie. ENOMEM)
we call veth_module_cleanup(), however this will oops because we call
driver_unregister() before we've called driver_register(). I've never seen
this actually happen though.
So instead we explicitly call veth_destroy_connection() for each connection,
any that have been set up will be deallocated.
We also fix a potential leak if vio_register_driver() fails.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Michael Ellerman [Thu, 1 Sep 2005 01:29:07 +0000 (11:29 +1000)]
[PATCH] iseries_veth: Only call dma_unmap_single() if dma_map_single() succeeded
The iseries_veth driver unconditionally calls dma_unmap_single() even
when the corresponding dma_map_single() may have failed.
Rework the code a bit to keep the return value from dma_unmap_single()
around, and then check if it's a dma_mapping_error() before we do
the dma_unmap_single().
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Michael Ellerman [Thu, 1 Sep 2005 01:29:06 +0000 (11:29 +1000)]
[PATCH] iseries_veth: Replace lock-protected atomic with an ordinary variable
The iseries_veth driver uses atomic ops to manipulate the in_use field of
one of its per-connection structures. However all references to the
flag occur while the connection's lock is held, so the atomic ops aren't
necessary.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Michael Ellerman [Thu, 1 Sep 2005 01:29:05 +0000 (11:29 +1000)]
[PATCH] iseries_veth: Remove redundant message stack lock
The iseries_veth driver keeps a stack of messages for each connection
and a lock to protect the stack. However there is also a per-connection lock
which makes the message stack lock redundant.
Remove the message stack lock and document the fact that callers of the
stack-manipulation functions must hold the connection's lock.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Michael Ellerman [Thu, 1 Sep 2005 01:29:02 +0000 (11:29 +1000)]
[PATCH] iseries_veth: Fix broken promiscuous handling
Due to a logic bug, once promiscuous mode is enabled in the iseries_veth
driver it is never disabled.
The driver keeps two flags, promiscuous and all_mcast which have exactly the
same effect. This is because we only ever receive packets destined for us,
or multicast packets. So consolidate them into one promiscuous flag for
simplicity.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Michael Ellerman [Thu, 1 Sep 2005 01:29:00 +0000 (11:29 +1000)]
[PATCH] iseries_veth: Try to avoid pathological reset behaviour
The iseries_veth driver contains a state machine which is used to manage
how connections are setup and neogotiated between LPARs.
If one side of a connection resets for some reason, the two LPARs can get
stuck in a race to re-setup the connection. This can lead to the connection
being declared dead by one or both ends. In practice the connection is
declared dead by one or both ends approximately 8/10 times a connection is
reset, although it is rare for connections to be reset.
(an example here: http://michael.ellerman.id.au/files/misc/veth-trace.html)
The core of the problem is that the end that resets the connection doesn't
wait for the other end to become aware of the reset. So the resetting end
starts setting the connection back up, and then receives a reset from the
other end (which is the response to the initial reset). And so on.
We're severely limited in what we can do to fix this. The protocol between
LPARs is essentially fixed, as we have to interoperate with both OS/400
and old Linux drivers. Which also means we need a fix that only changes the
code on one end.
The only fix I've found given that, is to just blindly sleep for a bit when
resetting the connection, in the hope that the other end will get itself
sorted. Needless to say I'd love it if someone has a better idea.
This does work, I've so far been unable to get it to break, whereas without
the fix a reset of one end will lead to a dead connection ~8/10 times.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Michael Ellerman [Thu, 1 Sep 2005 01:28:59 +0000 (11:28 +1000)]
[PATCH] iseries_veth: Remove a FIXME WRT deletion of the ack_timer
The iseries_veth driver has a timer which we use to send acks. When the
connection is reset or stopped we need to delete the timer.
Currently we only call del_timer() when resetting a connection, which means
the timer might run again while the connection is being re-setup. As it turns
out that's ok, because the flags the timer consults have been reset.
It's cleaner though to call del_timer_sync() once we've dropped the lock,
although the timer may still run between us dropping the lock and calling
del_timer_sync(), but as above that's ok.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Michael Ellerman [Thu, 1 Sep 2005 01:28:57 +0000 (11:28 +1000)]
[PATCH] iseries_veth: Cleanup error and debug messages
Currently the iseries_veth driver prints the file name and line number in its
error messages. This isn't very useful for most users, so just print
"iseries_veth: message" instead.
- convert uses of veth_printk() to veth_debug()/veth_error()/veth_info()
- make terminology consistent, ie. always refer to LPAR not lpar
- be consistent about printing return codes as %d not %x
- make format strings fit in 80 columns
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Jeff Garzik [Wed, 31 Aug 2005 10:11:16 +0000 (06:11 -0400)]
[netdrvr de2104x] store PCI bus addresses in unsigned long
BZ# 4475.
Jeff Garzik [Wed, 31 Aug 2005 09:48:59 +0000 (05:48 -0400)]
[netdrvr tulip] new PCI ID
Noted in BZ# 2960.
Linus Torvalds [Tue, 30 Aug 2005 18:16:30 +0000 (11:16 -0700)]
Merge refs/heads/upstream from /linux/kernel/git/jgarzik/netdev-2.6.git
Marcelo Tosatti [Tue, 30 Aug 2005 16:40:22 +0000 (13:40 -0300)]
[PATCH] ppc32 8xx: fix warnings in m8xx_setup.c
The following patch fixes two warnings in arch/ppc/syslib/m8xx_setup.c
Signed-off-by: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Ivan Kokshaysky [Tue, 30 Aug 2005 14:48:52 +0000 (18:48 +0400)]
[PATCH] x86: pci_assign_unassigned_resources() update
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>
Jeff Garzik [Tue, 30 Aug 2005 17:32:29 +0000 (13:32 -0400)]
Merge HEAD from /spare/repo/linux-2.6/.git
Linus Torvalds [Tue, 30 Aug 2005 14:47:42 +0000 (07:47 -0700)]
Merge refs/heads/for-linus from /linux/kernel/git/shaggy/jfs-2.6.git
Linus Torvalds [Tue, 30 Aug 2005 14:47:01 +0000 (07:47 -0700)]
Merge HEAD from /linux/kernel/git/perex/alsa
Linus Torvalds [Tue, 30 Aug 2005 14:45:15 +0000 (07:45 -0700)]
Merge refs/heads/drm-latest from /linux/kernel/git/airlied/drm-2.6
Clemens Ladisch [Tue, 2 Aug 2005 13:26:52 +0000 (15:26 +0200)]
[ALSA] usb-audio: throttle MIDI URB resubmits on USB errors
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>
Takashi Iwai [Tue, 30 Aug 2005 06:58:37 +0000 (08:58 +0200)]
[PATCH] Assign device pointer to OSS devices
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>
Jaroslav Kysela [Tue, 30 Aug 2005 06:48:35 +0000 (08:48 +0200)]
[ALSA] version 1.0.10rc1
Lee Revell [Mon, 29 Aug 2005 15:42:00 +0000 (17:42 +0200)]
[ALSA] Add identification for Live 5.1 [SB0220]
EMU10K1/EMU10K2 driver
Add identification for Live 5.1 [SB0220]
Signed-off-by: Lee Revell <rlrevell@joe-job.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Fri, 26 Aug 2005 15:26:40 +0000 (17:26 +0200)]
[ALSA] emu10k1 - Add missing ac97 support on SBLive! Player 5.1
EMU10K1/EMU10K2 driver
Added the missing ac97 support on SBLive! Player 5.1.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Thu, 25 Aug 2005 18:30:27 +0000 (20:30 +0200)]
[ALSA] intel8x0 - Add quirk for FSC 4010
Intel8x0 driver
Added ac97_quirk for FSC 4010.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Thu, 25 Aug 2005 17:51:47 +0000 (19:51 +0200)]
[ALSA] pcm - Fix zero-division in 32bit compat layer
PCM Midlevel
Fixed zero-division bug in PCM 32bit compat layer.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Daniel Horchner [Thu, 25 Aug 2005 11:02:24 +0000 (13:02 +0200)]
[ALSA] intel8x0 - add AC97_TUNE_MUTE_LED quirk for HP nx8220 laptop 103c:0934
Intel8x0 driver
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Clemens Ladisch [Thu, 25 Aug 2005 09:10:05 +0000 (11:10 +0200)]
[ALSA] usb-audio: fix Emagic MIDI protocol handling
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>
Takashi Iwai [Wed, 24 Aug 2005 15:57:25 +0000 (17:57 +0200)]
[ALSA] Fix missing spin_unlock
au88x0 driver,Common EMU synth
Fixed missing spin_unlock.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Adrian Bunk [Wed, 24 Aug 2005 15:01:02 +0000 (17:01 +0200)]
[ALSA] include/sound/gus.h: 'extern inline' -> 'static inline'
GUS Library
'extern inline' doesn't make much sense.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Wed, 24 Aug 2005 12:14:57 +0000 (14:14 +0200)]
[ALSA] hda-intel - Fix ULI M5461 support
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>
Takashi Iwai [Tue, 23 Aug 2005 18:02:27 +0000 (20:02 +0200)]
[ALSA] hda-codec - Add beep support for Uniwill
HDA Codec driver
Added the missing beep support for Uniwill laptop (ALSA bug#1358).
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Tue, 23 Aug 2005 17:27:31 +0000 (19:27 +0200)]
[ALSA] vxpocket - Register device pointer
Digigram VX Pocket driver
Add snd_card_set_dev() to register the device pointer.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Tue, 23 Aug 2005 17:01:38 +0000 (19:01 +0200)]
[ALSA] vxpocket - Fix wrong index assignment
Digigram VX Pocket driver
Fixed the wrong index number assignment.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Tue, 23 Aug 2005 13:50:41 +0000 (15:50 +0200)]
[ALSA] vxpocket - Add missing event callback
Digigram VX Pocket driver
Added the missing event callback.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Tue, 23 Aug 2005 09:11:03 +0000 (11:11 +0200)]
[ALSA] Fix compilation without CONFIG_PROC_FS
Memalloc module
Fix an error when built without CONFIG_PROC_FS.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Mon, 22 Aug 2005 11:57:55 +0000 (13:57 +0200)]
[ALSA] hda-codec - Code clean up
HDA Codec driver
Use struct instead of array to improve the readability of hda_codec.c.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Nicolas Graziano [Mon, 22 Aug 2005 11:47:16 +0000 (13:47 +0200)]
[ALSA] hda-intel - correct a bug in detection of rate supported
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>
Sergey Vlasov [Mon, 22 Aug 2005 11:43:39 +0000 (13:43 +0200)]
[ALSA] HP nx6110 quirks
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>
Jaroslav Kysela [Mon, 22 Aug 2005 10:19:14 +0000 (12:19 +0200)]
[ALSA] ac97_bus - revert last change and do it only in the ALSA tree
AC97 Codec
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Jaroslav Kysela [Mon, 22 Aug 2005 09:30:37 +0000 (11:30 +0200)]
[ALSA] ac97_bus - replace <linux/module.h> with <sound/driver.h> for consistency
AC97 Codec
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Takashi Iwai [Fri, 19 Aug 2005 15:49:10 +0000 (17:49 +0200)]
[ALSA] via82xx - Add DXS entry for MSI 7142
VIA82xx driver
Added the DXS entry for MSI 7142 (K8MM-V).
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Jaroslav Kysela [Thu, 18 Aug 2005 11:43:12 +0000 (13:43 +0200)]
[ALSA] PCM resume cleanups
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>
Bjorge Dijkstra [Tue, 16 Aug 2005 15:05:05 +0000 (17:05 +0200)]
[ALSA] ac97 - make ac97 codec device name unique
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>
Takashi Iwai [Tue, 16 Aug 2005 14:55:13 +0000 (16:55 +0200)]
[ALSA] hdspm - Fix module parameter description
RME9652 driver
Fix the module parameter description after proofreading.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Tue, 16 Aug 2005 14:54:12 +0000 (16:54 +0200)]
[ALSA] nm256 - Fix PM and irq handling
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>
Takashi Iwai [Tue, 16 Aug 2005 14:52:24 +0000 (16:52 +0200)]
[ALSA] intel8x0 - Fix PM
Intel8x0 driver
Fixed the PCM resume of intel8x0.
Restores the requested register setting.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Jaroslav Kysela [Tue, 16 Aug 2005 11:05:43 +0000 (13:05 +0200)]
[ALSA] ALSA timer - fixed compilation
Timer Midlevel
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Jaroslav Kysela [Tue, 16 Aug 2005 09:32:04 +0000 (11:32 +0200)]
[ALSA] Timer API - SNDRV_TIMER_EVENT_RESUME - val is resolution in ns
ALSA Core
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Jaroslav Kysela [Tue, 16 Aug 2005 09:09:05 +0000 (11:09 +0200)]
[ALSA] Timer API - added SUSPEND/RESUME events
PCM Midlevel,Timer Midlevel,ALSA Core
- added SNDRV_TIMER_EVENT_SUSPEND / RESUME events
- changed timer events from PAUSE / CONTINUE in PCM midlevel to SUSPEND / RESUME
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Jaroslav Kysela [Mon, 15 Aug 2005 18:53:07 +0000 (20:53 +0200)]
[ALSA] hda-intel: Suspend/resume fixes for PCM devices
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>
Jaroslav Kysela [Mon, 15 Aug 2005 18:01:40 +0000 (20:01 +0200)]
[ALSA] hda-patch-realtek - added pci subdevice ID for Acer TravelMate 8100 (3 stack model + digital out)
HDA Codec driver
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Takashi Iwai [Mon, 15 Aug 2005 13:02:28 +0000 (15:02 +0200)]
[ALSA] via82xx - Fix SPDIF sample rates
VIA82xx driver
Fixed the sample rates set in the fourth DXS channel with Non-VRA mode.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Mon, 15 Aug 2005 13:01:10 +0000 (15:01 +0200)]
[ALSA] Fix PCM 32bit compat layer
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>
Jaroslav Kysela [Mon, 15 Aug 2005 11:08:04 +0000 (13:08 +0200)]
[ALSA] opl3sa2 - use different name for PnP BIOS driver
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>
Clemens Ladisch [Mon, 15 Aug 2005 07:13:32 +0000 (09:13 +0200)]
[ALSA] ac97: make patch_wolfson_wm97??_specific() functions static
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>
Clemens Ladisch [Mon, 15 Aug 2005 06:35:25 +0000 (08:35 +0200)]
[ALSA] usb-audio: use vmalloc for the PCM buffer
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>
Clemens Ladisch [Mon, 15 Aug 2005 06:34:16 +0000 (08:34 +0200)]
[ALSA] usb-audio: use usb_buffer_alloc/free
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>
Clemens Ladisch [Mon, 15 Aug 2005 06:25:50 +0000 (08:25 +0200)]
[ALSA] usb-audio: properly lock hwptr_done accesses
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>
Clemens Ladisch [Mon, 15 Aug 2005 06:25:24 +0000 (08:25 +0200)]
[ALSA] usb-audio: actually schedule playback URBs at frame boundaries
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>
Clemens Ladisch [Mon, 15 Aug 2005 06:24:44 +0000 (08:24 +0200)]
[ALSA] usb-audio: double-buffer all playback data
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>
Clemens Ladisch [Mon, 15 Aug 2005 06:22:39 +0000 (08:22 +0200)]
[ALSA] usb-audio: optimize handling of capture URBs
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>
James Courtier-Dutton [Fri, 12 Aug 2005 21:54:58 +0000 (23:54 +0200)]
[ALSA] Add new card ID. Fixes ALSA bug #1297
EMU10K1/EMU10K2 driver
Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
James Courtier-Dutton [Fri, 12 Aug 2005 21:50:13 +0000 (23:50 +0200)]
[ALSA] Add new ID. Fixes ALSA bug #1298
CA0106 driver
Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
Jaroslav Kysela [Fri, 12 Aug 2005 15:35:09 +0000 (17:35 +0200)]
[ALSA] opl3sa2 - fixed typo in PnP BIOS IDs (YMF0021 -> YMH0021)
OPL3SA2 driver
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Jaroslav Kysela [Fri, 12 Aug 2005 15:24:24 +0000 (17:24 +0200)]
[ALSA] opl3sa2 driver - added support for PnP BIOS devices
OPL3SA2 driver
The driver has been extended to support also PnP BIOS devices.
The detection path is:
1) detect PnP BIOS devices
2) detect ISA PnP devices
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Takashi Iwai [Fri, 12 Aug 2005 14:47:49 +0000 (16:47 +0200)]
[ALSA] via82xx - Add DXS entry for MSI K8MM-V
VIA82xx driver
Added the DXS entry for MSI K8MM-V.
Also fixed a typo in last patch for Acer Aspire 1524 WLMi.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Philip Prindeville [Fri, 12 Aug 2005 14:46:17 +0000 (16:46 +0200)]
[ALSA] Add VT1617A codec support
AC97 Codec
Added (minimal) support of VT1617A codec with SPDIF.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Fri, 12 Aug 2005 14:44:04 +0000 (16:44 +0200)]
[ALSA] hda-intel - Add SiS966 support
HDA Intel driver
Added SiS966 pci id to snd-hda-intel driver.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Clemens Ladisch [Fri, 12 Aug 2005 13:19:39 +0000 (15:19 +0200)]
[ALSA] usb-audio: schedule high speed URBs with 1 ms alignment
USB generic driver
The EHCI driver doesn't interrupt more than once per millisecond, and
organizes all iso transfers with frame-sized ITDs, so we can (try to)
be more efficient by aligning all URBs on frame boundaries.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Clemens Ladisch [Fri, 12 Aug 2005 13:18:00 +0000 (15:18 +0200)]
[ALSA] usb-audio: make nrpacks parameter writeable
USB generic driver
The nrpacks module parameter is used only when initializing a playback
stream, so it doesn't hurt to make it writeable.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Clemens Ladisch [Fri, 12 Aug 2005 06:28:27 +0000 (08:28 +0200)]
[ALSA] usb-audio: fix packets per URB calculation for playback
USB generic driver
When determining how many packets are needed for one period, we cannot
assume that all packets have their maximum size -- we always use the
nominal sample rate when sending data, and could use an even lower rate
when the endpoint uses frequency feedback.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Clemens Ladisch [Fri, 12 Aug 2005 06:25:26 +0000 (08:25 +0200)]
[ALSA] usb-audio: use 1 ms URBs when capturing
USB generic driver
When capturing audio data, we do not know beforehand how many samples
the device sends per frame, so we have to use URBs that are as short as
possible to make sure that we can handle period boundaries without any
additional latencies.
Furthermore, the total count of URBs submitted doesn't matter when
capturing, so we can just use the maximum number.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Clemens Ladisch [Thu, 11 Aug 2005 13:59:17 +0000 (15:59 +0200)]
[ALSA] make local objects static
Memalloc module,PCM Midlevel,Timer Midlevel,GUS Library,AC97 Codec
ALI5451 driver,RME9652 driver
Make some functions/variables that are used in only one file static.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Sasha Khapyorsky [Thu, 11 Aug 2005 09:18:38 +0000 (11:18 +0200)]
[ALSA] hda-codec - support for Si3054/5 HDA modems
HDA generic driver,HDA Codec driver
Support for Si3054/5 HDA modem codecs.
Signed-off-by: Sasha Khapyorsky <sashak@smlink.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Sasha Khapyorsky [Thu, 11 Aug 2005 09:00:16 +0000 (11:00 +0200)]
ALSA CVS update
HDA Codec driver,HDA generic driver
Summar: hda-codec - MFG support
This adds Modem Functional Group (MFG) support and option for 9600
sample rate.
Signed-off-by: Sasha Khapyorsky <sashak@smlink.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Karsten Wiese [Wed, 10 Aug 2005 09:18:19 +0000 (11:18 +0200)]
[ALSA] ALSA's struct _snd_pcm_substream: Obsolete open_flag
PCM Midlevel,ALSA<-OSS emulation,USB USX2Y
This patch removes open_flag from struct _snd_pcm_substream.
All of its uses are substituted by querying struct _snd_pcm_substream's
member ffile instead.
Signed-off-by: Karsten Wiese <annabellesgarden@yahoo.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Clemens Ladisch [Wed, 10 Aug 2005 08:21:43 +0000 (10:21 +0200)]
[ALSA] ymfpci: add per-voice volume controls
YMFPCI driver
Implements mixer controls for the volume of each playback substream of
the main PCM device.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Dirk Opfer [Mon, 8 Aug 2005 14:29:43 +0000 (16:29 +0200)]
[ALSA] Fix compiler warnings in PXA2XX-AC97
ARM PXA2XX driver
- change pxa2xx_ac97_do_suspend and pxa2xx_ac97_do_resume to use
the expected arguments
Signed-off-by: Dirk Opfer <dirk@do13.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Liam Girdwood [Fri, 5 Aug 2005 08:25:08 +0000 (10:25 +0200)]
[ALSA] WM9713 modem detection
AC97 Codec
This patch fixes a problem whereby the WM9713 has modem functionality
incorrectly detected after an AC97 cold reset.
Changes:-
o Cleared AC97_SCAP_MODEM in wm9713 scaps
Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Liam Girdwood [Fri, 5 Aug 2005 08:24:36 +0000 (10:24 +0200)]
[ALSA] PXA27x AC97 warm reset
ARM PXA2XX driver
This patch extends the period of an AC97 warm reset on the PXA27x from
50uS to 500uS. The shorter reset didn't always guarantee that the codec
would wake up.
Changes:-
o Change pxa27x warm reset period to 500uS
o Removed double semi-colon.
Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Wed, 3 Aug 2005 12:02:47 +0000 (14:02 +0200)]
[ALSA] ad1816a - Add clockfreq module option
Documentation,AD1816A driver
Added clockfreq module option for the card with a different clock frequency
than 33kHz.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Clemens Ladisch [Wed, 3 Aug 2005 11:50:30 +0000 (13:50 +0200)]
[ALSA] use PCM interface for IEC958 controls
Digigram VX core,ENS1370/1+ driver,CA0106 driver,EMU10K1/EMU10K2 driver
RME HDSP driver,RME9652 driver
For consistency, use the PCM interface instead of MIXER for IEC958
default/mask/stream mixer controls.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Clemens Ladisch [Wed, 3 Aug 2005 11:40:08 +0000 (13:40 +0200)]
[ALSA] use SNDRV_CTL_NAME_IEC958 macro
CMI8330 driver,ENS1370/1+ driver,FM801 driver,VIA82xx driver,AC97 Codec
ALI5451 driver,CS46xx driver,EMU10K1/EMU10K2 driver,HDA Codec driver
ICE1712 driver,ICE1724 driver
Where appropriate, use the SNDRV_CTL_NAME_IEC958 instead of a literal
string.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Takashi Iwai [Wed, 3 Aug 2005 12:02:47 +0000 (14:02 +0200)]
[ALSA] ad1816a - Add clockfreq module option
Documentation
Added clockfreq module option for the card with a different clock frequency
than 33kHz.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Henrik Kretzschmar [Fri, 29 Jul 2005 14:59:31 +0000 (16:59 +0200)]
[ALSA] adds __init and in snd_memory_init()
ALSA Core
This patch adds the __init macro to snd_memory_init().
Signed-off-by: Henrik Kretzschmar <henne@nachtwindheim.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Liam Girdwood [Fri, 29 Jul 2005 14:13:36 +0000 (16:13 +0200)]
[ALSA] AC97 bus interface for ad-hoc drivers
AC97 Codec,PCI drivers
I've made the review changes and as requested I've pasted the RFC by
Nicolas below:-
'I would like to know what people think of the following patch. It
allows for a codec on an AC97 bus to be shared with other drivers which
are completely unrelated to audio. It registers a new bus type, and
whenever a codec instance is created then a device for it is also
registered with the driver model using that bus type. This allows, for
example, to use the extra features of the UCB1400 like the touchscreen
interface and the additional GPIOs and ADCs available on that chip for
battery monitoring. I have a working UCB1400 touchscreen driver here
that simply registers with the driver model happily working alongside
with audio features using this.'
Changes over RFC:-
o Now matches codec name within codec group.
o Added ac97_dev_release() to stop kernel complaining about no release
method for device.
o Added 'config SND_AC97_BUS' to sound/pci/Kconfig and moved 'config
SND_AC97_CODEC' out with the PCI=n statement.
o module is now called snd-ac97-bus
Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Clemens Ladisch [Fri, 29 Jul 2005 13:32:58 +0000 (15:32 +0200)]
[ALSA] sound - fix .iface field of mixer control elements
Documentation,CS46xx driver,EMU10K1/EMU10K2 driver,AD1848 driver
SB16/AWE driver,CMIPCI driver,ENS1370/1+ driver,RME32 driver
RME96 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver
RME HDSP driver,RME9652 driver
This patch changes .iface to SNDRV_CTL_ELEM_IFACE_MIXER whre _PCM or
_HWDEP was used in controls that are not associated with a specific PCM
(sub)stream or hwdep device, and changes some controls that got
inconsitent .iface values due to copy+paste errors. Furthermore, it
makes sure that all control that do use _PCM or _HWDEP use the correct
number in the .device field.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Takashi Iwai [Fri, 29 Jul 2005 12:18:39 +0000 (14:18 +0200)]
[ALSA] via82xx - Add dxs entry for Acer Aspire 1524 WMLi
VIA82xx driver
Added the dxs entry for Acer Aspire 1524 WMLi.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Nicolas Graziano [Fri, 29 Jul 2005 10:17:20 +0000 (12:17 +0200)]
[ALSA] hda-codec - Fix LFE volume/switch
HDA Codec driver
Fixed LFE volume/switch control.
Signed-off-by: Nicolas Graziano <nicolas.graziano@wanadoo.fr>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Fri, 29 Jul 2005 09:56:41 +0000 (11:56 +0200)]
[ALSA] hda-codec - Add default config for ASUS P5AD2
HDA Codec driver
Added the default config for ASUS P5AD2.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Fri, 29 Jul 2005 09:54:32 +0000 (11:54 +0200)]
[ALSA] hda-codec - Fix reordering of surround channels
HDA Codec driver
- Fixed the reordering of surround channels.
Originally reported by Nicolas GRAZIANO <nicolas.graziano@wanadoo.fr>.
- Show the selected ssid when debug option is set.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Liam Girdwood [Fri, 29 Jul 2005 09:41:55 +0000 (11:41 +0200)]
[ALSA] WM97xx AC97 codec controls
AC97 Codec
o Enhanced current WM97xx support to provide additional controls and
use the kcontrol suffix naming convention.
o Added AC97_HAS_NO_MIC, AC97_HAS_NO_TONE and AC97_HAS_NO_STD_PCM.
o Cleaned up WM97xx related comments.
o Removed some wm9713 double mono controls and replaced with stereo
controls.
Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>