summaryrefslogtreecommitdiffstats
path: root/arch/sh
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'v4l_for_linus' of ↵Linus Torvalds2010-10-285-9/+0
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (505 commits) [media] af9015: Fix max I2C message size when used with tda18271 [media] IR: initialize ir_raw_event in few more drivers [media] Guard a divide in v4l1 compat layer [media] imon: fix nomouse modprobe option [media] imon: remove redundant change_protocol call [media] imon: fix my egregious brown paper bag w/rdev/idev split [media] cafe_ccic: Configure ov7670 correctly [media] ov7670: allow configuration of image size, clock speed, and I/O method [media] af9015: support for DigitalNow TinyTwin v3 [1f4d:9016] [media] af9015: map DigitalNow TinyTwin v2 remote [media] DigitalNow TinyTwin remote controller [media] af9015: RC fixes and improvements videodev2.h.xml: Update to reflect the latest changes at videodev2.h [media] v4l: document new Bayer and monochrome pixel formats [media] DocBook/v4l: Add missing formats used on gspca cpia1 and sn9c2028 [media] firedtv: add parameter to fake ca_system_ids in CA_INFO [media] tm6000: fix a macro coding style issue tm6000: Remove some ugly debug code [media] Nova-S-Plus audio line input [media] [RFC,1/1] V4L2: Use new CAP bits in existing RDS capable drivers ...
| * [media] soc_camera: Don't use module names to load I2C modulesLaurent Pinchart2010-10-224-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | With the v4l2_i2c_new_subdev* functions now supporting loading modules based on modaliases, remove the module names hardcoded in platform data and pass a NULL module name to those functions. All corresponding I2C modules have been checked, and all of them include a module aliases table with names corresponding to what the soc_camera platform data uses. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| * [media] sh_vou: Don't use module names to load I2C modulesLaurent Pinchart2010-10-222-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | With the v4l2_i2c_new_subdev* functions now supporting loading modules based on modaliases, remove the module names hardcoded in platform data and pass a NULL module name to those functions. All corresponding I2C modules have been checked, and all of them include a module aliases table with names corresponding to what the sh_vou platform data uses. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* | ptrace: cleanup arch_ptrace() on shNamhyung Kim2010-10-272-24/+33
| | | | | | | | | | | | | | | | | | | | | | Remove unnecessary castings and get rid of dummy pointer in favor of offsetof() macro in ptrace_32.c. Also use temporary variables and break long lines in order to improve readability. Signed-off-by: Namhyung Kim <namhyung@gmail.com> Cc: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | ptrace: change signature of arch_ptrace()Namhyung Kim2010-10-272-12/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix up the arguments to arch_ptrace() to take account of the fact that @addr and @data are now unsigned long rather than long as of a preceding patch in this series. Signed-off-by: Namhyung Kim <namhyung@gmail.com> Cc: <linux-arch@vger.kernel.org> Acked-by: Roland McGrath <roland@redhat.com> Acked-by: David Howells <dhowells@redhat.com> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Acked-by: David S. Miller <davem@davemloft.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | mm: remove pte_*map_nested()Peter Zijlstra2010-10-262-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since we no longer need to provide KM_type, the whole pte_*map_nested() API is now redundant, remove it. Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Acked-by: Chris Metcalf <cmetcalf@tilera.com> Cc: David Howells <dhowells@redhat.com> Cc: Hugh Dickins <hughd@google.com> Cc: Rik van Riel <riel@redhat.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Russell King <rmk@arm.linux.org.uk> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: David Miller <davem@davemloft.net> Cc: Paul Mackerras <paulus@samba.org> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | Merge branch 'for-linus' of ↵Linus Torvalds2010-10-251-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: (365 commits) ALSA: hda - Disable sticky PCM stream assignment for AD codecs ALSA: usb - Creative USB X-Fi volume knob support ALSA: ca0106: Use card specific dac id for mute controls. ALSA: ca0106: Allow different sound cards to use different SPI channel mappings. ALSA: ca0106: Create a nice spot for mapping channels to dacs. ALSA: ca0106: Move enabling of front dac out of hardcoded setup sequence. ALSA: ca0106: Pull out dac powering routine into separate function. ALSA: ca0106 - add Sound Blaster 5.1vx info. ASoC: tlv320dac33: Use usleep_range for delays ALSA: usb-audio: add Novation Launchpad support ALSA: hda - Add workarounds for CT-IBG controllers ALSA: hda - Fix wrong TLV mute bit for STAC/IDT codecs ASoC: tpa6130a2: Error handling for broken chip ASoC: max98088: Staticise m98088_eq_band ASoC: soc-core: Fix codec->name memory leak ALSA: hda - Apply ideapad quirk to Acer laptops with Cxt5066 ALSA: hda - Add some workarounds for Creative IBG ALSA: hda - Fix wrong SPDIF NID assignment for CA0110 ALSA: hda - Fix codec rename rules for ALC662-compatible codecs ALSA: hda - Add alc_init_jacks() call to other codecs ...
| * \ Merge branch 'topic/asoc' into for-linusTakashi Iwai2010-10-251-1/+1
| |\ \ | | |/ | |/| | | | | | | Conflicts: arch/powerpc/platforms/85xx/p1022_ds.c
| | * sh: fix an SIU device name mismatchGuennadi Liakhovetski2010-09-191-1/+1
| | | | | | | | | | | | | | | | | | | | | Recent ASoC changes unified all PCM names, fix the platform code to match. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6Linus Torvalds2010-10-25136-1573/+4891
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (110 commits) sh: i2c-sh7760: Replase from ctrl_* to __raw_* sh: clkfwk: Shuffle around to match the intc split up. sh: clkfwk: modify for_each_frequency end condition sh: fix clk_get() error handling sh: clkfwk: Fix fault in frequency iterator. sh: clkfwk: Add a helper for rate rounding by divisor ranges. sh: clkfwk: Abstract rate rounding helper. sh: clkfwk: support clock remapping. sh: pci: Convert to upper/lower_32_bits() helpers. sh: mach-sdk7786: Add support for the FPGA SRAM. sh: Provide a generic SRAM pool for tiny memories. sh: pci: Support secondary FPGA-driven PCIe clocks on SDK7786. sh: pci: Support slot 4 routing on SDK7786. sh: Fix up PMB locking. sh: mach-sdk7786: Add support for fpga gpios. sh: use pr_fmt for clock framework, too. sh: remove name and id from struct clk sh: free-without-alloc fix for sh_mobile_lcdcfb sh: perf: Set up perf_max_events. sh: perf: Support SH-X3 hardware counters. ... Fix up trivial conflicts (perf_max_events got removed) in arch/sh/kernel/perf_event.c
| * | | sh: fix clk_get() error handlingGuennadi Liakhovetski2010-10-181-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | clk_get() returns an ERR_PTR(errno) on error and not NULL. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: pci: Convert to upper/lower_32_bits() helpers.Paul Mundt2010-10-152-9/+2
| | | | | | | | | | | | | | | | | | | | | | | | Instead of hand-rolling our own, just use the generic ones instead. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: mach-sdk7786: Add support for the FPGA SRAM.Paul Mundt2010-10-155-2/+92
| | | | | | | | | | | | | | | | | | | | | | | | This ties in the 2KiB of FPGA SRAM in to the generic SRAM pool. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: Provide a generic SRAM pool for tiny memories.Paul Mundt2010-10-154-0/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This sets up a generic SRAM pool for CPUs and platform code to insert their otherwise unused memories into. A simple alloc/free interface is provided (lifed from avr32) for generic code. This only applies to tiny SRAMs that are otherwise unmanaged, and does not take in to account the more complex SRAMs sitting behind transfer engines, or that employ an I/D split. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: pci: Support secondary FPGA-driven PCIe clocks on SDK7786.Paul Mundt2010-10-144-5/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The SDK7786 FPGA has secondary control over the PCIe clocks, specifically relating to the slots and oscillator. This ties the FPGA clocks in to the clock framework and balances the refcounting similar to how the primary on-chip clocks are managed. While the on-chip clocks are per-port, the FPGA clock enable/disable is global for the entire block. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: pci: Support slot 4 routing on SDK7786.Paul Mundt2010-10-144-1/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SDK7786 supports connecting either slot3 or 4 to the same PCIe port by way of FPGA muxing. By default the vertical slot 3 on the baseboard is enabled, so this adds in a command line option for forcibly enabling the slot 4 edge connector. If nothing has been specified on the command line, we fall back to reading the resistor values for card presence to figure out where to route the port to. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: Fix up PMB locking.Paul Mundt2010-10-141-16/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This first converts the PMB locking over to raw spinlocks, and secondly fixes up a nested locking issue that was triggering lockdep early on: swapper/0 is trying to acquire lock: (&pmbe->lock){......}, at: [<806be9bc>] pmb_init+0xf4/0x4dc but task is already holding lock: (&pmbe->lock){......}, at: [<806be98e>] pmb_init+0xc6/0x4dc other info that might help us debug this: 1 lock held by swapper/0: #0: (&pmbe->lock){......}, at: [<806be98e>] pmb_init+0xc6/0x4dc Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: mach-sdk7786: Add support for fpga gpios.Paul Mundt2010-10-143-0/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The sdk7786 FPGA supports a number of user settable input switches that are otherwise unused. This wires up a dummy gpio chip for the switch bank to simply expose them to userspace. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: perf: Set up perf_max_events.Paul Mundt2010-10-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Presently this is uninitialized in the architecture code, so it's artificlally capped to the default initialization value. Set it up at registration time. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: perf: Support SH-X3 hardware counters.Paul Mundt2010-10-131-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The PMCAT location has conveniently moved on newer SH-X3 parts, special case this for now with a note. This will probably want to be redone in a less visually offensive way when/if more information becomes available. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: wire up perf alignment and emulation faults.Paul Mundt2010-10-135-9/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This plugs in the alignment and emulation fault reporting for perf sw events. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: boards/mach-x3proto: gpio: fix error handling codeKulikov Vasiliy2010-10-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Checks for (irq < 0) and (ilsel < 0) didn't make sense since they were unsigned. Made them signed. Signed-off-by: Vasiliy Kulikov <segooon@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: Fix up the SH-3 build.Paul Mundt2010-10-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SH-3 lacks an MMUCR_TI definition for global TLB flushes. As SH-3 parts lack a split TLB, the same global flush behaviour is accomplished through the flush bit, which just happens to be the same as on SH-4. This fixes up the build for all SH-3 MMU parts. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: Fix address calculation of InitrdNobuhiro Iwamatsu2010-10-061-3/+4
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: fix uninitialized spinlockAkinobu Mita2010-10-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The spinlock in traps_64.c is used without initialization. This fixes it by declaring DEFINE_SPINLOCK() and makes the spinlock static variable. Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Cc: Paul Mundt <lethal@linux-sh.org> Cc: linux-sh@vger.kernel.org Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: Wire up INTC subgroup splitting for SH7786 SCIF1.Paul Mundt2010-10-051-38/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SH7786 is the big user for subgroup splitting, mostly for the PCIe block, but those will follow later. For now we simply split up SCIF1, as used by the serial console on SDK7786 and others. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: intc: Support virtual mappings for IRQ subgroups.Paul Mundt2010-10-051-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Many interrupts that share a single mask source but are on different hardware vectors will have an associated register tied to an INTEVT that denotes the precise cause for the interrupt exception being triggered. This introduces the concept of IRQ subgroups in the intc core, where a virtual IRQ map is constructed for each of the pre-defined cause bits, and a higher level chained handler takes control of the parent INTEVT. This enables CPUs with heavily muxed IRQ vectors (especially across disjoint blocks) to break things out in to a series of managed chained handlers while being able to dynamically lookup and adopt the IRQs created for them. This is largely an opt-in interface, requiring CPUs to manually submit IRQs for subgroup splitting, in addition to providing identifiers in their enum maps that can be used for lazy lookup via the radix tree. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: Drop __initdata for SH-X3 pinmux tables.Paul Mundt2010-10-041-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The gpio sysfs support needs to get at these later, so drop the __initdata annotations. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: mach-x3proto: Improve ILSEL debugging.Paul Mundt2010-10-041-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At the moment ILSEL blows up with a BUG when aliased sets are handed in, but as the enable call is able to hand back errors we opt for that path instead. None of the ILSEL peripherals are vital to the board's operation, so trapping a BUG is a bit excessive. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: mach-x3proto: gpio-keys support.Paul Mundt2010-10-041-2/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds gpio-keys mappings for the button matrix on the baseboard, now that we have support for the pin controller. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: mach-x3proto: Support for baseboard GPIOs.Paul Mundt2010-10-043-0/+149
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds trivial support for the GPIOs implemented through the baseboard CPLD, used for driving the button matrix. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: mach-x3proto: Move the ilsel header to a better place.Paul Mundt2010-10-043-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We'll be adding more headers for this board, so move this over to its own directory. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: Allow GPIO chips to register IRQ mappings.Paul Mundt2010-10-031-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | As non-PFC chips are added that may support IRQs, pass through to the generic helper instead of triggering the WARN_ON(). Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: Support early IRQ vector map reservation for delayed controllers.Paul Mundt2010-10-022-9/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some controllers will need to be initialized lazily due to pinmux constraints, while others may simply have no need to be brought online if there are no backing devices for them attached. In this case it's still necessary to be able to reserve their hardware vector map before dynamic IRQs get a hold of them. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: Handle pinmux for SH-X3 proto IRQ/IRL modes.Paul Mundt2010-10-022-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The SH-X3 proto CPU has all of the external IRQ and IRL pins muxed, make sure that we're able to grab them before attempting to register their respective IRQ controllers. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: pinmux support for SH-X3 proto CPUs.Paul Mundt2010-10-023-0/+652
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds in support for GPIO/pinmux on the SH-X3 proto CPUs. This will subsequently be used by the x3proto board. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: Support IRQ balancing for SH-X3 proto cores, too.Paul Mundt2010-10-021-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds in hardware IRQ auto-distribution support for SH-X3 proto CPUs, following the SH7786 support. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: Support userimask for all SH-X3 interrupt controllers.Paul Mundt2010-10-023-18/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This shuffles some of the shared bits out of the 7786 code and in to a shared SH-X3 support file. Presently just for userimask, but also a good place for the IRQ balancing wrappers. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: Update SH-X3 subtype for clkdev lookups.Paul Mundt2010-10-013-85/+146
| | | | | | | | | | | | | | | | | | | | | | | | Rewrite the SH-X3 proto CPU clock framework for clkdev. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: boot kernel with SR.BL setMagnus Damm2010-09-303-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the SH kernel to keep SR.BL set until the VBR register has been initialized. Useful to allow boot of the kernel even though exceptions are pending. Without this patch there is a window of time when exceptions such as NMI are enabled but no exception handlers are installed. This patch modifies both the zImage loader and the actual kernel to boot with BL=1, but the zImage loader is modfied in such a way that the init_sr value is unchanged to not break the zImage loader provided by kexec. Tested on sh7724 Ecovec and on the SH4AL-DSP core included in sh7372. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: fix a kfree address in clkdev codeGuennadi Liakhovetski2010-09-301-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | kfree() in clkdev_drop() function should actually be called with an address of a struct clk_lookup_alloc object, and not struct clk_lookup, as presently done. This just happens to work, because "struct clk_lookup cl" is the first member in struct clk_lookup_alloc. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: provide generic arch_debugfs_dir.Paul Mundt2010-09-248-40/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While sh previously had its own debugfs root, there now exists a common arch_debugfs_dir prototype, so we switch everything over to that. Presumably once more architectures start making use of this we'll be able to just kill off the stub kdebugfs wrapper. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: change to new flag variablematt mooney2010-09-234-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace EXTRA_CFLAGS with ccflags-y. Signed-off-by: matt mooney <mfm@muteddisk.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: pci: Use a generic raw spinlock for PCI config access locking.Paul Mundt2010-09-204-12/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This copies the pci_config_lock idea from x86 over, allowing us to kill off a couple of existing private locks. At the same time, these need to be converted to raw spinlocks for -rt kernels, so we make that change at the same time. This should make it easier for future parts to get the locking right instead of inevitable ending up with lock type mismatches. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: pci: clock framework support for SH7786 PCIe.Paul Mundt2010-09-201-21/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This gets each port handling its MSTP bit, as well as moving the PHY clock management in to the clock framework. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: pci: Use I/O accessors consistently in SH7786 PCIe init code.Paul Mundt2010-09-202-17/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some of the existing code is flipping between __raw_xxx() and pci_{read,write}_reg(). As the latter are just wrappers for the former, flip over to using them consistently. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: pci: Support ports with disabled links on SH7786 PCIe.Paul Mundt2010-09-201-5/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Presently we error out if a link is disabled and simply drop the port registration outright. This follows the PPC changes and simply reports on the link state on boot, leaving the port registered, in order to more easily deal with hotplug on future parts. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: pci: Discard initial PCICONF4/5 settings for SH7786 PCIe.Paul Mundt2010-09-201-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | These settings are properly propagated by the hardware already, so there's no need to bother with them manually. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: pci: Support root complex config accesses on SH7786 PCIe.Paul Mundt2010-09-202-9/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The SH7786 PCIe is presently unable to enumerate itself in root complex mode, and has no visibility through either type 0 or type 1 accesses, despite having a mostly sensible extended config space for each port. Attempts to generate type 0 or type 1 config cycles result in completer aborts, so we're ultimately forced to use SuperHyway transactions instead. As each port has a single port <-> device mapping that resolves for any PCI_SLOT definition, we simply hijack devfn 0 for the SuperHyway transaction and bump up the devfn limit. With enumeration of the root complex now possible, we also need to insert an early fixup to hide the BARs from the kernel. With all of that done, it's now possible to use the pcieport services with all of the PCIe ports, which is the first step to power management support. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: pci: Move Renesas PCI IDs to a better place.Paul Mundt2010-09-201-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously these IDs were only used by one driver, so there was not much need for having them generically defined. Now that this will no longer hold true, move them over. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
OpenPOWER on IntegriCloud