aboutsummaryrefslogtreecommitdiff
path: root/arch/sh/include
AgeCommit message (Collapse)AuthorFilesLines
2009-04-20sh: pci: Kill off the last remnants of the now unused pci-auto code.Paul Mundt1-16/+0
Signed-off-by: Paul Mundt <[email protected]>
2009-04-20sh: pci: Tidy up the dreamcast PCI support.Paul Mundt1-0/+2
Signed-off-by: Paul Mundt <[email protected]>
2009-04-20sh: pci: Kill off the now unused hose->io_base.Paul Mundt1-1/+0
Nothing is using this any more, so kill it off. Signed-off-by: Paul Mundt <[email protected]>
2009-04-20sh: pci: Track io and mem_offset per-channel.Paul Mundt1-0/+3
This implements a per-hose offset for I/O and mem resources. Signed-off-by: Paul Mundt <[email protected]>
2009-04-20sh: pci: New-style controller registration.Paul Mundt1-11/+18
This moves off of the board_pci_channels[] approach for bus registration and over to a cleaner register_pci_controller(), all derived from the MIPS code. Signed-off-by: Paul Mundt <[email protected]>
2009-04-20sh: pci: Rework fixed region checks in ioremap().Paul Mundt1-18/+11
Not all PCI channels have non-translatable memory windows, this is a special property of the on-chip PCIC with its 0xfd00... mapping, handle this explicitly. Signed-off-by: Paul Mundt <[email protected]>
2009-04-20sh: pci: Consolidate pci_iomap() and use the generic I/O base.Paul Mundt1-20/+2
This consolidates the pci_iomap() definitions and reworks how the I/O port base is handled. PCI channels can register their own I/O map base, or if none is provided, the system-wide generic I/O base is used instead. Functionally nothing changes, while this allows us to kill off lots of I/O address special casing and lookups. Signed-off-by: Paul Mundt <[email protected]>
2009-04-20sh: pci: Kill off unused pcibios_fixup().Paul Mundt1-1/+0
This is left over cruft that hasn't been used by anything in a long time, kill off bits that weren't purged previously. Signed-off-by: Paul Mundt <[email protected]>
2009-04-20sh: pci: Consolidate pcibios_align_resource() definitions.Paul Mundt1-4/+1
This introduces a saner pcibios_align_resource() that can be used regardless of whether pci-auto or pci-new are being used, and consolidates it in pci-lib.c. Signed-off-by: Paul Mundt <[email protected]>
2009-04-20sh: pci: HAVE_PCI_MMAP support.Paul Mundt1-0/+3
Derived from the MIPS version, now uses pgprot_noncached(). Signed-off-by: Paul Mundt <[email protected]>
2009-04-20sh: pci: Drop asm-generic/pci.h, so we can use our own fixups.Paul Mundt1-3/+24
The new PCI code wants its own bus<->resource mappings instead of the generic equivalents, so drop the asm-generic include in preparation. Signed-off-by: Paul Mundt <[email protected]>
2009-04-19Merge branches 'sh/earlytimer' and 'sh/shmobile-r2r-staging'Paul Mundt4-1/+276
2009-04-19sh: Add plat_early_device_setup()Magnus Damm1-0/+2
Add a plat_early_device_setup() function to allow processor-specific code to register Early Platform Data. Signed-off-by: Magnus Damm <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2009-04-16sh: pci io port base address codeMagnus Damm1-27/+20
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 <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2009-04-16sh: pci memory range checking codeMagnus Damm1-4/+19
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 <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2009-04-16sh: add io_base member to pci_channelMagnus Damm1-0/+1
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 <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2009-04-16sh: add reg_base member to pci_channelMagnus Damm1-0/+1
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 <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2009-04-16sh: hook in struct pci_channel in sysdataMagnus Damm1-2/+4
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 <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2009-04-16sh: add init member to pci_channel dataMagnus Damm1-0/+2
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 <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2009-04-16sh: Add support for SH7724 (SH-Mobile R2R) CPU subtype.Kuninori Morimoto3-1/+274
This implements initial support for the SH-Mobile R2R CPU. Based on Rev 0.11 of the initial SH7724 hardware manual. Signed-off-by: Kuninori Morimoto <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2009-04-09sh: Add support for DMA API debugging.Paul Mundt2-10/+37
This wires up support for the generic DMA API debugging. Signed-off-by: Paul Mundt <[email protected]>
2009-04-07sh: Provide cpumask_of_pcibus() to fix NUMA build.Paul Mundt1-2/+5
Signed-off-by: Paul Mundt <[email protected]>
2009-04-06sh: wire up sys_preadv/sys_pwritev() syscalls.Paul Mundt2-2/+6
Signed-off-by: Paul Mundt <[email protected]>
2009-04-05Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6Linus Torvalds6-206/+235
* git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (23 commits) sh: sh7785lcr: Map whole PCI address space. sh: Fix up DSP context save/restore. sh: Fix up number of on-chip DMA channels on SH7091. sh: update defconfigs. sh: Kill off broken direct-mapped cache mode. sh: Wire up ARCH_HAS_DEFAULT_IDLE for cpuidle. sh: Add a command line option for disabling I/O trapping. sh: Select ARCH_HIBERNATION_POSSIBLE. sh: migor: Fix up CEU use flags. input: migor_ts: add wakeup support rtc: rtc-sh: use set_irq_wake() input: sh_keysc: use enable/disable_irq_wake() sh: intc: set_irq_wake() support sh: intc: install enable, disable and shutdown callbacks clocksource: sh_cmt: use remove_irq() and remove clockevent workaround sh: ap325 and Migo-R use new sh_mobile_ceu_info flags sh: Fix up -Wformat-security whining. sh: ap325rxa: Add ov772x support, again. sh: Sanitize asm/mmu.h for assembly use. sh: Tidy up sh7786 pinmux table. ...
2009-04-04sh: Fix up DSP context save/restore.Michael Trimarchi3-55/+136
There were a number of issues with the DSP context save/restore code, mostly left-over relics from when it was introduced on SH3-DSP with little follow-up testing, resulting in things like task_pt_dspregs() referencing incorrect state on the stack. This follows the MIPS convention of tracking the DSP state in the thread_struct and handling the state save/restore in switch_to() and finish_arch_switch() respectively. The regset interface is also updated, which allows us to finally be rid of task_pt_dspregs() and the special cased task_pt_regs(). Signed-off-by: Michael Trimarchi <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2009-04-02Allow rwlocks to re-enable interruptsRobin Holt1-0/+3
Pass the original flags to rwlock arch-code, so that it can re-enable interrupts if implemented for that architecture. Initially, make __raw_read_lock_flags and __raw_write_lock_flags stubs which just do the same thing as non-flags variants. Signed-off-by: Petr Tesarik <[email protected]> Signed-off-by: Robin Holt <[email protected]> Acked-by: Peter Zijlstra <[email protected]> Cc: <[email protected]> Acked-by: Ingo Molnar <[email protected]> Cc: "Luck, Tony" <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-04-02sh: Wire up ARCH_HAS_DEFAULT_IDLE for cpuidle.Paul Mundt1-0/+1
cpuidle wants ARCH_HAS_DEFAULT_IDLE defined in order to use the default idle loop. So, make it accessible and enable it for all sh machines. Signed-off-by: Paul Mundt <[email protected]>
2009-04-02Merge branch 'master' of ↵Paul Mundt1-1/+0
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
2009-03-31sh: Sanitize asm/mmu.h for assembly use.Francesco VIRLINZI1-16/+19
This patch adds the ifndef __ASSEMBLY__ preprocessor to allow the defines in the file to be used also in assembly code. Signed-off-by: Francesco Virlinzi <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2009-03-31sh: Tidy up sh7786 pinmux table.Kuninori Morimoto1-135/+79
Formatting and typo fix. Signed-off-by: Kuninori Morimoto <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2009-03-30cpumask: remove node_to_first_cpuRusty Russell1-1/+0
Everyone defines it, and only one person uses it (arch/mips/sgi-ip27/ip27-nmi.c). So just open code it there. Signed-off-by: Rusty Russell <[email protected]> Cc: [email protected]
2009-03-26Merge branch 'master' of /home/davem/src/GIT/linux-2.6/David S. Miller32-221/+794
Conflicts: drivers/net/wimax/i2400m/usb-notif.c
2009-03-20sh: fix the HD64461 level-triggered interrupts handlingRafael Ignacio Zurita1-1/+0
Rework the hd64461 demuxer code to fix the HD64461 level-triggered interrupts handling, using handle_level_irq() as needed. Signed-off-by: Rafael Ignacio Zurita <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2009-03-17sh: Flush only the needed range when unmapping a VMA.Paul Mundt1-8/+92
This follows the ARM change from Aaro Koskinen: When unmapping N pages (e.g. shared memory) the amount of TLB flushes done can be (N*PAGE_SIZE/ZAP_BLOCK_SIZE)*N although it should be N at maximum. With PREEMPT kernel ZAP_BLOCK_SIZE is 8 pages, so there is a noticeable performance penalty when unmapping a large VMA and the system is spending its time in flush_tlb_range(). The problem is that tlb_end_vma() is always flushing the full VMA range. The subrange that needs to be flushed can be calculated by tlb_remove_tlb_entry(). This approach was suggested by Hugh Dickins, and is also used by other arches. The speed increase is roughly 3x for 8M mappings and for larger mappings even more. Bits and peices are taken from the ARM patch as well as the existing arch/um implementation that is quite similar. The end result is a significant reduction in both partial and full TLB flushes initiated through flush_tlb_range(). At the same time, the nommu implementation was broken, had a superfluous cache flush, and subsequently would have triggered a BUG_ON() if a code-path had triggered it. Tidy this up for correctness and provide a nopped-out implementation there. More background on the initial discussion can be found at: http://marc.info/?t=123609820900002&r=1&w=2 http://marc.info/?t=123660375800003&r=1&w=2 Signed-off-by: Paul Mundt <[email protected]>
2009-03-17sh: Support for extended ASIDs on PTEAEX-capable SH-X3 cores.Paul Mundt4-24/+39
This adds support for extended ASIDs (up to 16-bits) on newer SH-X3 cores that implement the PTAEX register and respective functionality. Presently only the 65nm SH7786 (90nm only supports legacy 8-bit ASIDs). The main change is in how the PTE is written out when loading the entry in to the TLB, as well as in how the TLB entry is selectively flushed. While SH-X2 extended mode splits out the memory-mapped U and I-TLB data arrays for extra bits, extended ASID mode splits out the address arrays. While we don't use the memory-mapped data array access, the address array accesses are necessary for selective TLB flushes, so these are implemented newly and replace the generic SH-4 implementation. With this, TLB flushes in switch_mm() are almost non-existent on newer parts. Signed-off-by: Paul Mundt <[email protected]>
2009-03-16sh: SuperH Mobile suspend supportMagnus Damm1-0/+9
This patch contains CONFIG_SUSPEND support to the SuperH architecture. If enabled, SuperH Mobile processors will register their suspend callbacks during boot. To suspend, use "echo mem > /sys/power/state". To allow wakeup, make sure "/sys/device/platform/../power/wakeup" contains "enabled". Additional per-device driver patches are most likely needed. Signed-off-by: Magnus Damm <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2009-03-16sh: Revert CONFIG_NR_ONCHIP_DMA_CHANNELS to MAX_DMA_CHANNELSNobuhiro Iwamatsu1-8/+9
Signed-off-by: Nobuhiro Iwamatsu <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2009-03-11sh: clkfwk: add clk_set_parent/clk_get_parentFrancesco VIRLINZI1-0/+1
This patch adds the clk_set_parent/clk_get_parent routines to the sh clock framework. Signed-off-by: Francesco Virlinzi <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2009-03-10sh: dma-sh updates for multi IRQ and new SH-4A CPUs.Nobuhiro Iwamatsu6-68/+233
This adds DMA support for newer SH-4A CPUs, particularly SH7763/64/80/85. This also enables multi IRQ support for platforms that have multiple vectors bound to the same IRQ source. Signed-off-by: Nobuhiro Iwamatsu <[email protected]> Signed-off-by: Yoshihiro Shimoda <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2009-03-10sh: Support fixed 32-bit PMB mappings from bootloader.Yoshihiro Shimoda3-5/+10
This provides a method for supporting fixed PMB mappings inherited from the bootloader, as an alternative to the dynamic PMB mapping currently used by the kernel. In the future these methods will be combined. P1/P2 area is handled like a regular 29-bit physical address, and local bus device are assigned P3 area addresses. Signed-off-by: Yoshihiro Shimoda <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2009-03-10sh: hibernation supportMagnus Damm2-0/+14
Add Suspend-to-disk / swsusp / CONFIG_HIBERNATION support to the SuperH architecture. To suspend, use "swapon /dev/sda2; echo disk > /sys/power/state" To resume, pass "resume=/dev/sda2" on the kernel command line. The patch "pm: rework includes, remove arch ifdefs V2" is needed to allow the generic swsusp code to build properly. Hibernation is not enabled with this patch though, a patch setting ARCH_HIBERNATION_POSSIBLE will be submitted later. Signed-off-by: Magnus Damm <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2009-03-03sh: Urquell board support.Kuninori Morimoto1-0/+68
This adds preliminary support for the SH7786-based Urquell board. Signed-off-by: Kuninori Morimoto <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2009-03-03sh: Add support for SH7786 CPU subtype.Kuninori Morimoto3-1/+197
This adds preliminary support for the SH7786 CPU subtype. While this is a dual-core CPU, only UP is supported for now. L2 cache support is likewise not yet implemented. More information on this particular CPU subtype is available at: http://www.renesas.com/fmwk.jsp?cnt=sh7786_root.jsp&fp=/products/mpumcu/superh_family/sh7780_series/sh7786_group/ Signed-off-by: Kuninori Morimoto <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2009-02-27sh: Disable unsupportable prefetching on SH-3.Paul Mundt1-2/+1
The SH-3 does not support 'pref'-based prefetching, only SH-2A and SH-4A parts do. Remove SH-3 from the list. Signed-off-by: Paul Mundt <[email protected]>
2009-02-27sh: prefetch early exception data on sh4/sh4a.Magnus Damm1-0/+5
Prefetch early exception data. There is unused space in our exception handler cache line anyway, so this is almost free. Signed-off-by: Magnus Damm <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2009-02-27sh: remove EXPEVT vector from stack on sh3/sh4/sh4aMagnus Damm1-5/+3
Remove EXPEVT vector from the stack, lookup_exception_vector() for sh3/sh4/sh4a is already using k2 to get the vector. Signed-off-by: Magnus Damm <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2009-02-15net: new user space API for time stamping of incoming and outgoing packetsPatrick Ohly1-0/+3
User space can request hardware and/or software time stamping. Reporting of the result(s) via a new control message is enabled separately for each field in the message because some of the fields may require additional computation and thus cause overhead. User space can tell the different kinds of time stamps apart and choose what suits its needs. When a TX timestamp operation is requested, the TX skb will be cloned and the clone will be time stamped (in hardware or software) and added to the socket error queue of the skb, if the skb has a socket associated with it. The actual TX timestamp will reach userspace as a RX timestamp on the cloned packet. If timestamping is requested and no timestamping is done in the device driver (potentially this may use hardware timestamping), it will be done in software after the device's start_hard_xmit routine. Signed-off-by: Patrick Ohly <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2009-01-29sh: rework clocksource and sched_clockMagnus Damm1-2/+2
Rework and simplify the sched_clock and clocksource code. Instead of registering the clocksource in a shared file we move it into the tmu driver. Also, add code to handle sched_clock in the case of no clocksource. Signed-off-by: Magnus Damm <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2009-01-29SH: fix start_thread and user_stack_pointer macrosRoel Kluin3-14/+14
Fix macros start_thread and user_stack_pointer. When these macros aren't called with a variable named regs as second argument, this will result in a build failure. Signed-off-by: Roel Kluin <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2009-01-29sh: Use the atomic_t "counter" memberMatt Fleming1-8/+8
Now that atomic_t is a generic opaque type for all architectures, it is unwise to use intimate knowledge of its internals when manipulating it. Instead of relying on the "counter" member being at offset 0 from the beginning of an atomic_t, explicitly reference the member. This guards us from any changes to the layout of the beginning of the atomic_t type. Signed-off-by: Matt Fleming <[email protected]> Signed-off-by: Paul Mundt <[email protected]>