summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* sh: intc - rework core codeMagnus Damm2007-09-213-214/+330
| | | | | | | | | | | | | | | | | This patch reworks the intc core, implementing the following features: - Support dual priority registers - one set and one clear register - All 8/16/32 bit register combinations are now supported - Both single mask and single enable bitmap register are supported - Add code to set interrupt priority - Speedup sense and priority configuration code - Allocate data using bootmem, allows intc data structures to be __initdata - Save memory - allocated memory footprint is smaller than intc structures Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: intc - add a clear register to struct intc_prio_regMagnus Damm2007-09-2111-97/+105
| | | | | | | | We need a secondary register member in struct intc_prio_reg to support dual priority registers used by ipi on x3. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: x3 - fix setup_bootmem_node() compile error with shx3_defconfigMagnus Damm2007-09-211-0/+1
| | | | | | | | | This makes sure the function prototype for setup_bootmem_node() gets included. The file setup-shx3.c does not compile otherwise for CONFIG_NUMA=n. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Add SH7720 CPU support.Markus Brunner2007-09-2118-27/+359
| | | | | | | | This adds support for the SH7720 (SH3-DSP) CPU. Signed-off by: Markus Brunner <super.firetwister@gmail.com> Signed-off by: Mark Jonas <toertel@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Add gpio.h stubs for PFC definitions.Markus Brunner2007-09-213-0/+93
| | | | | | | | | | This adds the PFC definitions for SH-3, as well as consolidating the gpio.h mess within sh-sci. Stub in sh64, as it's the odd one out between the sh-sci architectures (sh, sh64, h8300) in this capacity. Signed-off by: Markus Brunner <super.firetwister@gmail.com> Signed-off by: Mark Jonas <toertel@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Kill off duplicate symbol exports on SMP.Paul Mundt2007-09-211-6/+1
| | | | | | | synchronize_irq() was being exported twice, kill off the duplicate export. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* serial: sh-sci: Tidy cpufreq printk.Paul Mundt2007-09-211-1/+1
| | | | | | This was a bit more verbose than it needed to be. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Wire up CSM node for SH-X3.Paul Mundt2007-09-211-5/+8
| | | | | | | Now that NODES_SHIFT is bumped up, we can plug in the CSM block as a separate node, too. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* serial: sh-sci: Shut up compiler warning for SH-X3 SCIF.Paul Mundt2007-09-211-0/+1
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Bump up NODES_SHIFT for SH-X3.Paul Mundt2007-09-211-0/+1
| | | | | | | This was at 1, which is where most subtypes want it. SH-X3 has more nodes, so bump it up to 3. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: x3proto: Trivial ILSEL build fix.Paul Mundt2007-09-211-3/+3
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: x3proto: Hook up ethernet and USB platform devices.Paul Mundt2007-09-211-0/+82
| | | | | | | Now that we have a way of enabling the IRQs, hook up the platform devices and wrap in to ILSEL for mapping the vectors. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: x3proto: ILSEL IRQ support.Paul Mundt2007-09-213-1/+197
| | | | | | | | This adds functionality for the on-board ILSEL IRQs that chain IRL mode events. Many on-board devices (ethernet, usb, etc.) rely on ILSEL IRQs directly. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Initial support for SH-X3 prototype board.Paul Mundt2007-09-214-0/+60
| | | | | | | | This adds initial support for the SH-X3 prototype board. Only simple logic for the IRQ controller and the heartbeat driver for now. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Plug in SH-X3 SCIF0 for sercon earlyprintk.Paul Mundt2007-09-211-1/+3
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: intc: Fix sense regs oops for IRL IRQs.Paul Mundt2007-09-211-1/+1
| | | | | | | | IRL doesn't always define sense registers, so don't bother trying to iterate through the table. This ended up causing an oops on SH-X3 when using IRL mode. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: remove intc2 codeMagnus Damm2007-09-215-109/+0
| | | | | | | There is no point in keeping around the now unused intc2 code. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: intc - convert voyagergx codeMagnus Damm2007-09-214-143/+95
| | | | | | | | | | | | | | | | | | | | This patch converts the sh-specific voyagergx interrupt code to make use of intc. A lot of "interesting" old cruft gets replaced with intc tables and some simple demux code. - All interrupt sources in the sm501 data sheet are now in the header. - The number and order of IRQ values are disconnected from register bits. - Interrupt sources now start from IRQ 200. - set_irq_chained_handler() is now used to hook up the demux function. In the future it would probably make sense to move the interrupt demuxer into into the mfd driver, but this is probably a nice step in the right direction until that happens. Tested on a R2D-1 board using the serial port hooked up to the sm501. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: intc - add single bitmap register supportMagnus Damm2007-09-212-11/+63
| | | | | | | | | | | | This patch adds single bitmap register support to intc. The current code only handles 16 and 32 bit registers where a set bit means interrupt enabled, but this is easy to extend in the future. The INTC_IRQ() macro is also added to provide a way to hook in interrupt controllers for FPGAs in boards or companion chips. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: intc - remove redundant irq code for shminMagnus Damm2007-09-212-25/+5
| | | | | | | | | This patch removes redundant interrupt code for the shmin board which is using a sh770x processor and 4 IRQ lines as individual interrupts (IRQ-mode). Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: intc - remove redundant irq code for sh03, snapgear and titanMagnus Damm2007-09-218-109/+19
| | | | | | | | | | | | | | This patch removes redundant board specific interrupt code for boards using sh775x processors and 4 IRQ lines in "Individual Interrupt Mode" aka IRLM. Three boards are affected: sh03, snapgear and titan. The right way to do this is to use cpu specific code provided by intc. A nice side effect is that sh03 now compiles, board not BROKEN any more. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* rtc: rtc-sh: Support 4-digit year on SH7705/SH7710/SH7712.Paul Mundt2007-09-214-21/+58
| | | | | | | | | | | | | | All SH-4 parts have a 4-digit year, while the SH-3 parts typically only use a 2-digit one. The SH7705, SH7710, and SH7712 SH-3 parts however opted to extend it to 4-digit and still look and act like an SH-3 RTC in all other ways. This adds a capability flag (RTC_CAP_4_DIGIT_YEAR) that these corner-case CPU subtypes can set in their platform data and cleans up some of the ifdef mess in the driver as a result. Reported-by: Markus Brunner <super.firetwister@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Initial multiple-node support for SH-X3.Paul Mundt2007-09-212-0/+17
| | | | | | Wire up CPU#0 URAM as node 1 on SH-X3. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: intc - add support for x3Magnus Damm2007-09-212-17/+189
| | | | | | | | | | | This patch converts the cpu specific interrupt setup code for x3 from intc2 to intc. New vectors are also added to match the preliminary information. Use plat_irq_setup_pins() to select between IRQ and IRL mode for IRQ0-3. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: intc - fix IRQ4 and IRQ5 typo on sh3Magnus Damm2007-09-213-3/+3
| | | | | | | | | | The intc tables for sh3 currently contain a typo where the bit fields in IPRD are mixed up for IRQ4 and IRQ5. This patch makes sure the correct bit fields are used - all according to the datasheets. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Fix cache disabling build failures on nommu.Paul Mundt2007-09-211-10/+14
| | | | | | | The cache disabling stuff screwed up some of the sh4 nommu builds, fix it up again. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: simplify se7780 IRQ codeMagnus Damm2007-09-212-28/+1
| | | | | | | | The new intc code handles IRQ3 and IRQ7 in the cpu specific code already, so there is no reason to duplicate that here. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: intc - add support for SH7760Magnus Damm2007-09-212-109/+147
| | | | | | | | | | | | | | | | This patch converts the cpu specific interrupt setup code for sh7760 from ipr + intc2 to intc. New vectors are also added to match the information provided by the datasheet. Vectors for IRQ4-IRQ7 are enabled by default. Use plat_irq_setup_pins() if pins IRL0-3 should be used in IRLM mode. The patch also adds the SIM block to the serial port platform data. Version two of this patch fixes MMCIF problems reported by Manuel Lauss. Signed-off-by: Magnus Damm <damm@igel.co.jp> Acked-by: Manuel Lauss <mano@roarinelk.homelinux.net> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: intc - add support for SH7785Magnus Damm2007-09-213-35/+225
| | | | | | | | | | | | This patch converts the cpu specific interrupt setup code for sh7785 from intc2 to intc. New vectors are also added to match the information provided by the datasheet. No IRQ/IRL pin vectors are enabled by default. Use plat_irq_setup_pins() to select between IRL and IRQ mode. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Support explicit L1 cache disabling.Paul Mundt2007-09-219-31/+86
| | | | | | | | | This reworks the cache mode configuration in Kconfig, and allows for explicit selection of write-back/write-through/off configurations. All of the cache flushing routines are optimized away for the off case. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: intc - avoid SH7710 specific vector on SH7712Magnus Damm2007-09-211-2/+7
| | | | | | | | This patch makes sure that the sh7710 specific ipsec vector is missing if building for a sh7712. All according to the datasheet. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: intc - add missing vectors for SH7707Magnus Damm2007-09-211-0/+8
| | | | | | | | | This patch adds a few missing vectors for sh7707. The only interrupt controller differences between sh7707 and sh7709 seem to be added vectors for one LCD controller and two PCMCIA slots. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: intc - add support for SH7706, SH7707, SH7708, SH7709Magnus Damm2007-09-215-194/+220
| | | | | | | | | | | | | | | | | | | This patch unifies the cpu specific interrupt setup code for sh7706, sh7707, sh7708 and sh7709 and moves the code into a new file called setup-sh770x.c. It makes sense to share the setup code between these processors because most hardware blocks are identical from a software point of view. With this patch the sh770x processors now have a complete set of vectors that match with the information provided by the data sheets. This is a big improvement for sh7708. Vectors for IRQ4 and IRQ5 are enabled by default. Use plat_irq_setup_pins() if pins IRQ0-3 should be used in IRQ mode. This patch also unifies the platform device setup code which means that the rtc driver now has platform data for all sh770x processors. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: intc - add support for SH7710Magnus Damm2007-09-212-55/+132
| | | | | | | | | | | | | | | | | This patch converts the cpu specific interrupt setup code for sh7710 from ipr to intc. While at it new vectors are added to match the information provided by the datasheet. Version two simplifies the Kconfig part. Vectors for IRQ4 and IRQ5 are enabled by default. Use plat_irq_setup_pins() if pins IRQ0-3 should be used in IRQ mode. This patch also adds sh7710 specific platform data for the rtc driver. The base address of SCIF1 is adjusted to match the datasheet. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: intc - add support for SH7705Magnus Damm2007-09-212-45/+119
| | | | | | | | | | | | | | | This patch converts the cpu specific interrupt setup code for sh7705 from ipr to intc. While at it new vectors are added to match the information provided by the datasheet. Vectors for IRQ4 and IRQ5 are enabled by default. Use plat_irq_setup_pins() if pins IRQ0-3 should be used in IRQ mode. This patch also adds sh7705 specific platform data for the rtc driver. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* Merge branch 'upstream-linus' of ↵Linus Torvalds2007-09-203-5/+14
|\ | | | | | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev: [libata] ahci: add ATI SB800 PCI IDs libata-sff: Fix documentation libata: Update the blacklist with a few more devices
| * [libata] ahci: add ATI SB800 PCI IDshenry su2007-09-201-4/+6
| | | | | | | | | | | | | | | | ATI/AMD SB800 shares some device IDs with SB700, and SB800 adds two more device IDs:0x4394,0x4395. Signed-off-by: henry su <henry.su.ati@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * libata-sff: Fix documentationAlan Cox2007-09-201-1/+4
| | | | | | | | | | | | | | | | Code moved to ioread/iowrite but the comment didn't Also note a posting issue Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * libata: Update the blacklist with a few more devicesAlan Cox2007-09-201-0/+4
| | | | | | | | | | Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | signalfd simplificationDavide Libenzi2007-09-208-217/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This simplifies signalfd code, by avoiding it to remain attached to the sighand during its lifetime. In this way, the signalfd remain attached to the sighand only during poll(2) (and select and epoll) and read(2). This also allows to remove all the custom "tsk == current" checks in kernel/signal.c, since dequeue_signal() will only be called by "current". I think this is also what Ben was suggesting time ago. The external effect of this, is that a thread can extract only its own private signals and the group ones. I think this is an acceptable behaviour, in that those are the signals the thread would be able to fetch w/out signalfd. Signed-off-by: Davide Libenzi <davidel@xmailserver.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | rpc: fix garbage in printk in svc_tcp_accept()Wolfgang Walter2007-09-201-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | we upgraded the kernel of a nfs-server from 2.6.17.11 to 2.6.22.6. Since then we get the message lockd: too many open TCP sockets, consider increasing the number of nfsd threads lockd: last TCP connect from ^\\236^\É^D These random characters in the second line are caused by a bug in svc_tcp_accept. (Note: there are two previous __svc_print_addr(sin, buf, sizeof(buf)) calls in this function, either of which would initialize buf correctly; but both are inside "if"'s and are not necessarily executed. This is less obvious in the second case, which is inside a dprintk(), which is a macro which expands to an if statement.) Signed-off-by: Wolfgang Walter <wolfgang.walter@studentenwerk.mhn.de> Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | Merge branch 'master' of ↵Linus Torvalds2007-09-206-84/+73
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 * 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: [BNX2]: Add PHY workaround for 5709 A1. [PPP] L2TP: Fix skb handling in pppol2tp_xmit [PPP] L2TP: Fix skb handling in pppol2tp_recv_core [PPP] L2TP: Disallow non-UDP datagram sockets [PPP] pppoe: Fix double-free on skb after transmit failure [PKT_SCHED]: Fix 'SFQ qdisc crashes with limit of 2 packets' [NETFILTER]: MAINTAINERS update [NETFILTER]: nfnetlink_log: fix sending of multipart messages
| * | [BNX2]: Add PHY workaround for 5709 A1.Michael Chan2007-09-201-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the DIS_EARLY_DAC PHY workaround for 5709 A1. Without it, link sometimes does not come up. Update version to 1.6.5. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | [PPP] L2TP: Fix skb handling in pppol2tp_xmitHerbert Xu2007-09-201-40/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch makes pppol2tp_xmit call skb_cow_head so that we don't modify cloned skb data. It also gets rid of skb2 we only need to preserve the original skb for congestion notification, which is only applicable for ppp_async and ppp_sync. The other semantic change made here is the removal of socket accounting for data tranmitted out of pppol2tp_xmit. The original code leaked any existing socket skb accounting. We could fix this by dropping the original skb owner. However, this is undesirable as the packet has not physically left the host yet. In fact, all other tunnels in the kernel do not account skb's passing through to their own socket. In partciular, ESP over UDP does not do so and it is the closest tunnel type to PPPoL2TP. So this patch simply removes the socket accounting in pppol2tp_xmit. The accounting still applies to control packets of course. I've also added a reminder that the outgoing checksum here doesn't work. I suppose existing deployments don't actually enable checksums. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | [PPP] L2TP: Fix skb handling in pppol2tp_recv_coreHerbert Xu2007-09-201-20/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The function pppol2tp_recv_core doesn't handle non-linear packets properly. It also fails to check the remote offset field. This patch fixes these problems. It also removes an unnecessary check on the UDP header which has already been performed by the UDP layer. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | [PPP] L2TP: Disallow non-UDP datagram socketsHerbert Xu2007-09-201-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | With the addition of UDP-Lite we need to refine the socket check so that only genuine UDP sockets are allowed through. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | [PPP] pppoe: Fix double-free on skb after transmit failureHerbert Xu2007-09-201-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | When I got rid of the second packet in __pppoe_xmit I created a double-free on the skb because of the goto abort on failure. This patch removes that. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | [PKT_SCHED]: Fix 'SFQ qdisc crashes with limit of 2 packets'Alexey Kuznetsov2007-09-201-5/+5
| | | | | | | | | | | | | | | Acked-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | [NETFILTER]: MAINTAINERS updatePatrick McHardy2007-09-201-3/+3
| | | | | | | | | | | | | | | | | | | | | Update netfilter list addresses and an old email address of myself. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | [NETFILTER]: nfnetlink_log: fix sending of multipart messagesEric Leblond2007-09-201-6/+7
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The following patch fixes the handling of netlink packets containing multiple messages. As exposed during netfilter workshop, nfnetlink_log was overwritten the message type of the last message (setting it to MSG_DONE) in a multipart packet. The consequence was libnfnetlink to ignore the last message in the packet. The following patch adds a supplementary message (with type MSG_DONE) af the end of the netlink skb. Signed-off-by: Eric Leblond <eric@inl.fr> Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>