summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* sh: pci: Consolidate SH7780 PCIC IRQ routing.Paul Mundt2009-04-177-137/+31
| | | | | | | | Now that the platform code is a bit leaner, we can start consolidating the various IRQ routing implementations. There are effectively only 2 variants, and the others can use those directly. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: pci: Kill off platform-specific multi-window mappings.Paul Mundt2009-04-177-95/+33
| | | | | | | | | | | Commit 68b42d1b548be1840aff7122fdebeb804daf0fa3 ("sh: sh7785lcr: Map whole PCI address space.") changed around the semantics of how various chip-selects are made accessible to PCI. Now that there is a single large mapping covering from CS0-CS6, there is no longer any need to do multi-window mapping. Subsequently, all of the differing implementations can be consolidated in to pci-sh7780. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: pci: Consolidate PCI I/O and mem window definitions for SH7780.Paul Mundt2009-04-176-90/+27
| | | | | | | | This consolidates all of the PCI I/O and memory window definitions across the pci-sh7780 users in pci-sh7780 itself. No functional changes, in that every platform had exactly the same implementation. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: pci: Set the I/O port base to the SH7780 I/O window default.Paul Mundt2009-04-171-0/+2
| | | | | | | Presently the I/O port base isn't being set anywhere, which allows things like generic_inl() to blow up. Fix this up to point at the PCI IO window. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: pci: Set pci_cache_line_size on SH7780 via the PCICLS register.Paul Mundt2009-04-171-9/+12
| | | | | | | | The SH7780 PCIC contains a read-only cache line size register that we can derive pci_cache_line_size from. So, make sure that the software idea of the cache line size actually matches the host controller's idea. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: pci: Use the proper write size for class/sub-class code.Paul Mundt2009-04-171-2/+4
| | | | | | | Don't use pci_write_reg() for these, as it defaults to 32-bit. Rather than using the helper, use __raw_writeb() directly. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: pci: Rework SH7780 host controller detection.Paul Mundt2009-04-172-21/+26
| | | | | | | | | | | | This reworks how the host controller is probed, and makes it a bit more verbose in the event a new type of controller is detected. Additionally, we also log the revision information. This now uses the proper access sizes for the vendor/device registers, rather than relying on a larger access that encapsulated both of them. Not all devices support 32-bit read cycles for these registers. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: pci: Set class/sub-class code correctly for SH7780 PCIC.Paul Mundt2009-04-172-8/+3
| | | | | | | | | | | | | The SH7780 PCI host controller implements a configuration header that requires a fair bit of hand-holding to initialize properly. By default it appears as a pre-2.0 host controller given the zeroed out class code, so fix this up properly. Some boards that happened to be using the R7780RP version of the PCIC fixups had set this correctly, but this belongs in the standard initialization, and is by no means board specific. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: pci: Prefer P1SEG over P1SEGADDR for CONFIG_CMD.Paul Mundt2009-04-171-3/+3
| | | | | | | P1SEGADDR is obsolete and will be killed off completely in the future, so transition off of it and reference P1SEG explicitly. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: pci: Move se7780 INTC fixups out of pci-sh7780.c.Paul Mundt2009-04-172-26/+8
| | | | | | | These fixups belong in the board INTC setup code, not in the middle of pci-sh7780.c. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: pci: Kill off useless debugging printk() in pci-sh7780 init.Paul Mundt2009-04-171-12/+0
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: pci: Kill off unused SH4_PCIC_NO_RESET code.Paul Mundt2009-04-1612-58/+0
| | | | | | Nothing ended up using this anymore, so just kill it off. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: pci: drop duplicate PCIC fixups for SE7780 and SH7785LCR.Paul Mundt2009-04-163-111/+2
| | | | | | | SE7780 has the same PCIC fixup as SDK7780, and SH7785LCR the same as R7780RP. Switch to using those, and drop the duplicate code. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: sh7785lcr: Update for recent PCI changes.Paul Mundt2009-04-162-18/+19
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: drop duplicate symbol export on dreamcast and sh7785lcr.Paul Mundt2009-04-162-2/+0
| | | | | | | With board_pci_channels now being exported in a single place, update the boards that duplicated the export. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: export board_pci_channels in one placeMagnus Damm2009-04-168-8/+2
| | | | | | | | Instead of sometimes exporting board_pci_channels[] in the board specific code just export it in one place. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: pci io port base address codeMagnus Damm2009-04-163-28/+25
| | | | | | | | | | Adds a __get_pci_io_base() function which is used to match a port range against struct pci_channel. This allows us to detect if a port range is assigned to pci or happens to be legacy port io. While at it, remove unused cpu-specific cruft. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: pci memory range checking codeMagnus Damm2009-04-164-10/+24
| | | | | | | | | This patch changes the code to use __is_pci_memory() instead of is_pci_memaddr(). __is_pci_memory() loops through all the pci channels on the system to match memory windows. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: add io_base member to pci_channelMagnus Damm2009-04-163-4/+7
| | | | | | | | Store the io window base address in struct pci_channel and use that one instead of SH77xx_PCI_IO_BASE. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: add reg_base member to pci_channelMagnus Damm2009-04-167-6/+9
| | | | | | | | Store the base address of the pci host controller registers in struct pci_channel and use the address in pci_read_reg() and pci_write_reg(). Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: hook in struct pci_channel in sysdataMagnus Damm2009-04-163-7/+12
| | | | | | | | | | Store a struct pci_channel pointer in bus->sysdata. This makes whatever struct pci_channel assigned to a bus available for sh4_pci_read() and sh4_pci_write(). We also modify PCIBIOS_MIN_IO and PCIBIOS_MIN_MEM to use bus->sysdata - this to gives us support for multiple pci channels. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: avoid using PCIBIOS_MIN_xxxMagnus Damm2009-04-166-20/+19
| | | | | | | | | Replaces PCIBIOS_MIN_IO and PCIBIOS_MIN_MEM with direct struct pci_channel access. This allows us to have more than one pci channel. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: add init member to pci_channel dataMagnus Damm2009-04-1620-42/+56
| | | | | | | | | | This patch adds an init callback to struct pci_channel and makes sure it is initialized properly. Code is added to call this init function from pcibios_init(). Return values are adjusted and a warning is is printed if init fails. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: pass along struct pci_channelMagnus Damm2009-04-1619-149/+164
| | | | | | | | | | | | | | | | | These patches rework the pci code for the sh architecture. Currently each board implements some kind of ioport to address mapping. Some boards use generic_io_base others try passing addresses as io ports. This is the first set of patches that try to unify the pci code as much as possible to avoid duplicated code. This will in the end lead to fewer lines board specific code and more generic code. This patch makes sure a struct pci_channel pointer is passed along to various pci functions such as pci_read_reg(), pci_write_reg(), pci_fixup_pcic(), sh7751_pcic_init() and sh7780_pcic_init(). Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* Merge branch 'for-linus' of ↵Linus Torvalds2009-04-1535-279/+317
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: hda - Fix the cmd cache keys for amp verbs ALSA: add missing definitions(letters) to HD-Audio.txt ALSA: hda - Add quirk mask for Fujitsu Amilo laptops with ALC883 [ALSA] intel8x0: add one retry to the ac97_clock measurement routine [ALSA] intel8x0: fix wrong conditions in ac97_clock measure routine ALSA: hda - Avoid call of snd_jack_report at release ALSA: add private_data to struct snd_jack ALSA: snd-usb-caiaq: rename files to remove redundant information in file pathes ALSA: snd-usb-caiaq: clean up header includes ALSA: sound/pci: use memdup_user() ALSA: sound/usb: use memdup_user() ALSA: sound/isa: use memdup_user() ALSA: sound/core: use memdup_user() [ALSA] intel8x0: do not use zero value from PICB register [ALSA] intel8x0: an attempt to make ac97_clock measurement more reliable [ALSA] pcm-midlevel: Add more strict buffer position checks based on jiffies [ALSA] hda_intel: fix unexpected ring buffer positions ASoC: Disable S3C64xx support in Kconfig ASoC: magician: remove un-necessary #include of pxa-regs.h and hardware.h
| * Merge branch 'topic/hda' into for-linusTakashi Iwai2009-04-152-3/+7
| |\ | | | | | | | | | | | | | | | * topic/hda: ALSA: hda - Fix the cmd cache keys for amp verbs ALSA: add missing definitions(letters) to HD-Audio.txt
| | * ALSA: hda - Fix the cmd cache keys for amp verbsTakashi Iwai2009-04-151-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix the key value generation for get/set amp verbs. The upper bits of the parameter have to be combined with the verb value to be unique for each direction/index of amp access. This fixes the resume problem on some hardwares like Macbook after the channel mode is changed. Tested-by: Johannes Berg <johannes@sipsolutions.net> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: add missing definitions(letters) to HD-Audio.txtJustin Mattock2009-04-151-2/+2
| | | | | | | | | | | | | | | | | | | | | impact: Add missing definitions(letters). Signed-off-by: Justin P. Mattock <justinmattock@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | Merge branch 'topic/memdup_user' into for-linusTakashi Iwai2009-04-1511-165/+102
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * topic/memdup_user: ALSA: sound/pci: use memdup_user() ALSA: sound/usb: use memdup_user() ALSA: sound/isa: use memdup_user() ALSA: sound/core: use memdup_user()
| | * | ALSA: sound/pci: use memdup_user()Li Zefan2009-04-141-28/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove open-coded memdup_user(). Signed-off-by: Li Zefan <lizf@cn.fujitsu.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: sound/usb: use memdup_user()Li Zefan2009-04-142-14/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove open-coded memdup_user(). Signed-off-by: Li Zefan <lizf@cn.fujitsu.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: sound/isa: use memdup_user()Li Zefan2009-04-143-24/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove open-coded memdup_user(). Signed-off-by: Li Zefan <lizf@cn.fujitsu.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: sound/core: use memdup_user()Li Zefan2009-04-145-99/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove open-coded memdup_user(). Signed-off-by: Li Zefan <lizf@cn.fujitsu.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | Merge branch 'topic/usb-caiaq' into for-linusTakashi Iwai2009-04-1511-51/+22
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | * topic/usb-caiaq: ALSA: snd-usb-caiaq: rename files to remove redundant information in file pathes ALSA: snd-usb-caiaq: clean up header includes
| | * | | ALSA: snd-usb-caiaq: rename files to remove redundant information in file pathesDaniel Mack2009-04-1411-15/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cleanup only, no functional change. Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | ALSA: snd-usb-caiaq: clean up header includesDaniel Mack2009-04-145-36/+6
| | |/ / | | | | | | | | | | | | | | | | Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | Merge branch 'topic/asoc' into for-linusTakashi Iwai2009-04-152-5/+3
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | * topic/asoc: ASoC: Disable S3C64xx support in Kconfig ASoC: magician: remove un-necessary #include of pxa-regs.h and hardware.h
| | * \ \ Merge branch 'for-2.6.30' of ↵Takashi Iwai2009-04-142-5/+3
| | |\ \ \ | | | |/ / | | |/| | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into topic/asoc
| | | * | ASoC: Disable S3C64xx support in KconfigMark Brown2009-04-091-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to the process and communications issues with the 2.6.30 S3C platform merges none of the underlying arch/arm code for S3C64xx audio support made it into mainline, rendering the drivers useless. Disable them in Kconfig to avoid user confusion - users patching in the required support can always reenable this too. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | | * | ASoC: magician: remove un-necessary #include of pxa-regs.h and hardware.hEric Miao2009-04-091-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Eric Miao <eric.miao@marvell.com> Cc: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | | | Merge branch 'topic/hda' into for-linusTakashi Iwai2009-04-155-11/+47
| |\ \ \ \ | | | |_|/ | | |/| | | | | | | | | | | | | | | | | | | | | | * topic/hda: ALSA: hda - Add quirk mask for Fujitsu Amilo laptops with ALC883 ALSA: hda - Avoid call of snd_jack_report at release ALSA: add private_data to struct snd_jack
| | * | | Merge branch 'topic/jack-free-fix' into topic/hdaTakashi Iwai2009-04-154-8/+45
| | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * topic/jack-free-fix: ALSA: hda - Avoid call of snd_jack_report at release ALSA: add private_data to struct snd_jack
| | | * | | ALSA: hda - Avoid call of snd_jack_report at releaseTakashi Iwai2009-04-142-8/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't call snd_jack_report at release of sigmatel and conexnat codecs which results in Oops at unloading the module. The Oops is triggered by the power-up sequence during the free due to the pincfg restoration. Since the power-up sequence is involved with the unsol handling, the jack reporting may be issued during that. The Oops occurs with this jack reporting because the jack instances have been already released but the codec doesn't do the proper book-keeping. This patch adds the book-keeping of jack instances to avoid the access to bogus pointers. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | | * | | ALSA: add private_data to struct snd_jackTakashi Iwai2009-04-142-0/+5
| | | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added private_data and private_free fields to struct snd_jack so that the caller can assign the data. It'll be helpful for avoiding the double-free of the jack instance. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | ALSA: hda - Add quirk mask for Fujitsu Amilo laptops with ALC883Takashi Iwai2009-04-151-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added the models for quirk bitmask 1734:110x and 1734:113x of Fujitsu laptops. This will fix the model detection for Amilo Xa3540. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | Merge branch 'master' of git://git.alsa-project.org/alsa-kernel into for-linusTakashi Iwai2009-04-154-44/+136
| |\ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'master' of git://git.alsa-project.org/alsa-kernel: [ALSA] intel8x0: add one retry to the ac97_clock measurement routine [ALSA] intel8x0: fix wrong conditions in ac97_clock measure routine [ALSA] intel8x0: do not use zero value from PICB register [ALSA] intel8x0: an attempt to make ac97_clock measurement more reliable [ALSA] pcm-midlevel: Add more strict buffer position checks based on jiffies [ALSA] hda_intel: fix unexpected ring buffer positions
| | * | | [ALSA] intel8x0: add one retry to the ac97_clock measurement routineJaroslav Kysela2009-04-151-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It seems that on some hardware platforms, the first measurement is wrong. This patch adds second measurement to this case. Signed-off-by: Jaroslav Kysela <perex@perex.cz>
| | * | | [ALSA] intel8x0: fix wrong conditions in ac97_clock measure routineJaroslav Kysela2009-04-141-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also add a little code cleanup. Signed-off-by: Jaroslav Kysela <perex@perex.cz>
| | * | | [ALSA] intel8x0: do not use zero value from PICB registerJaroslav Kysela2009-04-131-10/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It seems that the zero value from the PICB (position in current buffer) register is not reliable. Use jiffies to correct returned value from the ring buffer pointer callback. Signed-off-by: Jaroslav Kysela <perex@perex.cz>
| | * | | [ALSA] intel8x0: an attempt to make ac97_clock measurement more reliableJaroslav Kysela2009-04-131-9/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - use monotonic posix clock to measure time - try to avoid reading zero from PICB (position in current buffer) register - show also measured samples - when clock is near 41000 or 44100, use exactly these values (they appears to be reference clocks for hardware manufacturers) Signed-off-by: Jaroslav Kysela <perex@perex.cz>
OpenPOWER on IntegriCloud