]> pilppa.org Git - linux-2.6-omap-h63xx.git/log
linux-2.6-omap-h63xx.git
16 years agomac80211: fix aggregation for hardware with ampdu queues
Johannes Berg [Wed, 11 Feb 2009 23:51:53 +0000 (00:51 +0100)]
mac80211: fix aggregation for hardware with ampdu queues

Hardware with AMPDU queues currently has broken aggregation.

This patch fixes it by making all A-MPDUs go over the regular AC queues,
but keeping track of the hardware queues in mac80211. As a first rough
version, it actually stops the AC queue for extended periods of time,
which can be removed by adding buffering internal to mac80211, but is
currently not a huge problem because people rarely use multiple TIDs
that are in the same AC (and iwlwifi currently doesn't operate as AP).

This is a short-term fix, my current medium-term plan, which I hope to
execute soon as well, but am not sure can finish before .30, looks like
this:
 1) rework the internal queuing layer in mac80211 that we use for
    fragments if the driver stopped queue in the middle of a fragmented
    frame to be able to queue more frames at once (rather than just a
    single frame with its fragments)
 2) instead of stopping the entire AC queue, queue up the frames in a
    per-station/per-TID queue during aggregation session initiation,
    when the session has come up take all those frames and put them
    onto the queue from 1)
 3) push the ampdu queue layer abstraction this patch introduces in
    mac80211 into the driver, and remove the virtual queue stuff from
    mac80211 again

This plan will probably also affect ath9k in that mac80211 queues the
frames instead of passing them down, even when there are no ampdu queues.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomake net/ieee80211.h private to ipw2x00
Dan Williams [Thu, 12 Feb 2009 17:32:55 +0000 (12:32 -0500)]
make net/ieee80211.h private to ipw2x00

Only ipw2x00 now uses it.  Reduce confusion.  Profit!

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agohostap: convert usage of net/ieee80211.h to linux/ieee80211.h
Dan Williams [Wed, 11 Feb 2009 22:17:10 +0000 (17:17 -0500)]
hostap: convert usage of net/ieee80211.h to linux/ieee80211.h

So that net/ieee80211.h can be made private to ipw2x00 in a follow-up.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agowavelan: Test arraysize before an element of the array.
Roel Kluin [Wed, 11 Feb 2009 20:51:31 +0000 (21:51 +0100)]
wavelan: Test arraysize before an element of the array.

Test arraysize before an element of the array.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: disallow moving netns
Johannes Berg [Wed, 11 Feb 2009 19:27:30 +0000 (20:27 +0100)]
mac80211: disallow moving netns

mac80211 currently assumes init_net for all interfaces,
so really will not cope well with network namespaces,
at least at this time.

To change this, we would have keep track of the netns
in addition to the ifindex, which is not something I
want to think about right now.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Cc: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: Make sure non-HT connection when IEEE80211_STA_TKIP_WEP_USED is set
Vasanthakumar Thiagarajan [Wed, 11 Feb 2009 16:48:49 +0000 (22:18 +0530)]
mac80211: Make sure non-HT connection when IEEE80211_STA_TKIP_WEP_USED is set

It is possible that some broken AP might send HT IEs in it's
assoc response even though the STA has not sent them in assoc req
when WEP/TKIP is used as pairwise cipher suite. Also it is important
to check this bit before enabling ht mode in beacon receive path.

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agolibertas: fix power save issue in libertas_sdio module
Bing Zhao [Thu, 5 Feb 2009 06:22:39 +0000 (22:22 -0800)]
libertas: fix power save issue in libertas_sdio module

The problem: "iwconfig ethX power on" returns error

The cause: "ps_supported" flag was never set for SD8385/8686

The fix: check firmware capabilities returned by GET_HW_SPEC command.
Set "ps_supported" to 1 if FW_CAPINFO_PS bit is on. This fix applies
to SDIO interface only.

Signed-off-by: Bing Zhao <bzhao@marvell.com>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoThis fixes the spurious interrupt issue on a DMA channel.
Santosh Shilimkar [Fri, 27 Feb 2009 19:38:28 +0000 (11:38 -0800)]
This fixes the spurious interrupt issue on a DMA channel.

    In OMAP sDMA, contrast to the SDMA.DMA4_CSRi registers, the
    SDMA.DMA4_IRQSTATUS_Lj registers are updated regardless of
    the corresponding bits in the SDMA.DMA4_IRQENABLE_Lj registers.
    Since there are four sDMA interrupt lines and if more than one
    line is actively used by two concurrently running sDMA softwares
    modules,then the spurious interrupt can be observed on the other
     lines.

    Fix in this patch will only dispatch the relevant and enabled
    interrupts on a particular line thus perevting spurious IRQ.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked By: Nishant Kamat <nskamat@ti.com>
cc: Tony Lindgren <tony@atomide.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoThis patch set up a cmdline option for omap dma for masking the
Santosh Shilimkar [Fri, 27 Feb 2009 19:37:51 +0000 (11:37 -0800)]
This patch set up a cmdline option for omap dma for masking the
    available channels. It is needed since the OMAP DMA is a system wide
    resource and can be used by another software apart from the kernel.

    To reserve the omap SDMA channels for kernel dma usage, use cmdline
    bootarg "omap_dma_reserve_ch=". The valid range is 1 to 32.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked By: Nishant Kamat <nskamat@ti.com>
cc: Tony Lindgren <tony@atomide.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agotwl4030: move twl4030-pwrbutton to drivers/input/misc
Felipe Balbi [Thu, 19 Feb 2009 13:29:57 +0000 (13:29 +0000)]
twl4030: move twl4030-pwrbutton to drivers/input/misc

Take it out of drivers/i2c/chips as requested by Jean Delvare
that all drivers move out of there.

Cc: David Brownell <dbrownell@users.sourceforge.net>
Cc: Samuel Ortiz <sameo@openedhand.com>
Signed-off-by: Felipe Balbi <me@felipebalbi.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoi2c: move twl4030-pwrbutton to child registration style
Felipe Balbi [Thu, 19 Feb 2009 13:29:56 +0000 (13:29 +0000)]
i2c: move twl4030-pwrbutton to child registration style

This patch is *compile tested only*. It moves twl4030-pwrbutton
to a platform_driver so it can be registered as a child of
twl4030-core.c.

Cc: David Brownell <dbrownell@users.sourceforge.net>
Cc: Samuel Ortiz <sameo@openedhand.com>
Signed-off-by: Felipe Balbi <me@felipebalbi.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoIB/mad: Fix null pointer dereference in local_completions()
Ralph Campbell [Fri, 27 Feb 2009 18:34:30 +0000 (10:34 -0800)]
IB/mad: Fix null pointer dereference in local_completions()

handle_outgoing_dr_smp() can queue a struct ib_mad_local_private
*local on the mad_agent_priv->local_work work queue with
local->mad_priv == NULL if device->process_mad() returns
IB_MAD_RESULT_SUCCESS | IB_MAD_RESULT_REPLY and
(!ib_response_mad(&mad_priv->mad.mad) ||
!mad_agent_priv->agent.recv_handler).

In this case, local_completions() will be called with local->mad_priv
== NULL. The code does check for this case and skips calling
recv_mad_agent->agent.recv_handler() but recv == 0 so
kmem_cache_free() is called with a NULL pointer.

Also, since recv isn't reinitialized each time through the loop, it
can cause a memory leak if recv should have been zero.

Signed-off-by: Ralph Campbell <ralph.campbell@qlogic.com>
16 years agoIB/mad: Fix RMPP header RRespTime manipulation
Ramachandra K [Fri, 27 Feb 2009 18:33:12 +0000 (10:33 -0800)]
IB/mad: Fix RMPP header RRespTime manipulation

Fix ib_set_rmpp_flags() to use the correct bit mask for RRespTime.  In
the 8-bit field of the RMPP header, the first 5 bits are RRespTime and
next 3 bits are RMPPFlags. Hence to retain the first 5 bits, the mask
should be 0xF8 instead of 0xF1.

ack_recv()-->format_ack() calls ib_set_rmpp_flags() and due to the
incorrect ANDing with 0xF1, RRespTime got changed incorrectly and RMPP
Acks sent back always had a RRespTime of 0x1E (30) which caused the
other end to consider the time outs to be approximately 4297 seconds
(i.e. in the order of 4*2^30) instead of the usual ~4 seconds (order
of 4*2^20).

Signed-off-by: Ramachandra K <ramachandra.kuchimanchi@qlogic.com>
Acked-by: Sean Hefty <sean.hefty@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
16 years agoIB/iser: Remove hard setting of path MTU
Or Gerlitz [Fri, 27 Feb 2009 18:30:46 +0000 (10:30 -0800)]
IB/iser: Remove hard setting of path MTU

Remove hard setting of the IB MTU used by iSER's RC queue-pair to 1K,
as this was done due to inter-op issues with an old iser target which
is not used any more.

Signed-off-by: Or Gerlitz <ogerlitz@voltaire.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
16 years agomlx4_core: Add device IDs for MT25458 10GigE devices
Jack Morgenstein [Fri, 27 Feb 2009 18:29:13 +0000 (10:29 -0800)]
mlx4_core: Add device IDs for MT25458 10GigE devices

Add device IDs for Mellanox MT25458 ConnectX+10GBaseT 10GigE adapters.

Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
16 years agoOMAP3430SDP: Get rid of checkpatch.pl warnings with includes
Sergio Aguirre [Wed, 25 Feb 2009 21:55:56 +0000 (15:55 -0600)]
OMAP3430SDP: Get rid of checkpatch.pl warnings with includes

Signed-off-by: Sergio Aguirre <saaguirre@ti.com>
Acked-by: Dominic Curran <dcurran@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoOMAP3430SDP: Remove unneded extern line
Sergio Aguirre [Wed, 25 Feb 2009 21:26:35 +0000 (15:26 -0600)]
OMAP3430SDP: Remove unneded extern line

This patch removes a duplicate extern on board-3430sdp.c
file, as it is present already on

arch/arm/plat-omap/include/mach/board-3430sdp.h

Found by doing a checkpatch.pl run with board-3430sdp.c

Signed-off-by: Sergio Aguirre <saaguirre@ti.com>
Acked-by: Dominic Curran <dcurran@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agotwl4030-madc: Let the operation complete faster
Aaro Koskinen [Fri, 20 Feb 2009 14:13:55 +0000 (14:13 +0000)]
twl4030-madc: Let the operation complete faster

No need to wait before the first read, as the operation is likely
completed already. For timeout 50 milliseconds is an overkill, poll the
register for the duration of 5 milliseconds at maximum.

Also, clear the active flag in case of timeout.

Signed-off-by: Aaro Koskinen <Aaro.Koskinen@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agotwl4030-madc: Convert ioctl to unlocked
Aaro Koskinen [Fri, 20 Feb 2009 14:13:54 +0000 (14:13 +0000)]
twl4030-madc: Convert ioctl to unlocked

Use unlocked ioctl instead of taking the BKL for an operation that can
take some milliseconds. The driver mutex is now taken before the active
status check, so that the concurrent users of this ioctl won't start
seeing EBUSY (previously guaranteed by the BKL).

Signed-off-by: Aaro Koskinen <Aaro.Koskinen@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoRevert "MIPS: Print irq handler description"
Ralf Baechle [Fri, 27 Feb 2009 14:06:04 +0000 (14:06 +0000)]
Revert "MIPS: Print irq handler description"

This reverts commit 558d1de8ba9ebb1cc3f3062f1371b9330772164f.

16 years agoMIPS: CVE-2009-0029: Enable syscall wrappers.
Ralf Baechle [Sun, 8 Feb 2009 16:00:26 +0000 (16:00 +0000)]
MIPS: CVE-2009-0029: Enable syscall wrappers.

Thanks to David Daney helping with debugging and testing.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: David Daney <ddaney@caviumnetworks.com>
16 years agoMIPS: Alchemy: In plat_time_init() t reaches -1, tested: 0
Roel Kluin [Sat, 31 Jan 2009 11:23:34 +0000 (12:23 +0100)]
MIPS: Alchemy: In plat_time_init() t reaches -1, tested: 0

With a postfix decrement t reaches -1 rather than 0, so the fall-back will
not occur.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Cc: mano@roarinelk.homelinux.net
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
16 years agoMIPS: Only allow Cavium OCTEON to be configured for boards that support it
David Daney [Mon, 2 Feb 2009 19:30:59 +0000 (11:30 -0800)]
MIPS: Only allow Cavium OCTEON to be configured for boards that support it

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
CC: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
16 years agoALSA: hda - Fix an "unused variable" compile warning
Takashi Iwai [Fri, 27 Feb 2009 16:52:22 +0000 (17:52 +0100)]
ALSA: hda - Fix an "unused variable" compile warning

Forgot to remove an unused variable.
  sound/pci/hda/patch_realtek.c: In function ‘alc882_auto_init_analog_input’:
  sound/pci/hda/patch_realtek.c:7018: warning: unused variable ‘vref’

Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agoALSA: hda - Match all 103c:17xx devices for HP BPC model
Takashi Iwai [Fri, 27 Feb 2009 16:49:44 +0000 (17:49 +0100)]
ALSA: hda - Match all 103c:17xx devices for HP BPC model

Use SND_PCI_QUIRK_MASK() to match all devices with 103c:17xx for
HP BPC model.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Fri, 27 Feb 2009 16:47:31 +0000 (17:47 +0100)]
Merge branch 'fix/hda' into topic/hda

Conflicts:
sound/pci/hda/patch_realtek.c

16 years agoALSA: hda - Add quirk for new HP xw series
Takashi Iwai [Fri, 27 Feb 2009 16:44:07 +0000 (17:44 +0100)]
ALSA: hda - Add quirk for new HP xw series

Added model=hp-bpc for new HP xw series (103c:170b).

Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agoALSA: hda - Fix digital mic on dell-m4-1 and dell-m4-3
Takashi Iwai [Fri, 27 Feb 2009 16:36:33 +0000 (17:36 +0100)]
ALSA: hda - Fix digital mic on dell-m4-1 and dell-m4-3

Fix num_dmuxes initialization for dell-m4-1 and dell-m4-3 models
of IDT 92HD71bxx codec, which was wrongly set to zero.

Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agosound: oxygen: zero-initialize model data
Clemens Ladisch [Fri, 27 Feb 2009 08:27:44 +0000 (09:27 +0100)]
sound: oxygen: zero-initialize model data

Model drivers assume that model_data is zeroed, so we better use
kzalloc() (like we did before when it was allocated together with the
card structure).

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agotracing: replace kzalloc with kcalloc
Steven Rostedt [Fri, 27 Feb 2009 15:51:10 +0000 (10:51 -0500)]
tracing: replace kzalloc with kcalloc

Impact: clean up

kcalloc is a better approach to allocate a NULL array.

Reported-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
16 years ago[ARM] S3C64XX: Fix s3c64xx_setrate_clksrc
Werner Almesberger [Fri, 27 Feb 2009 11:03:07 +0000 (08:03 -0300)]
[ARM] S3C64XX: Fix s3c64xx_setrate_clksrc

Some of the rate selection logic in s3c64xx_setrate_clksrc uses what
appears to be parent clock selection logic. This patch corrects it.

I also added a check for overly large dividers to prevent them from
changing unrelated clocks.

Signed-off-by: Werner Almesberger <werner@openmoko.org>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
16 years ago[ARM] S3C64XX: sparse warnings in arch/arm/plat-s3c64xx/irq.c
Ben Dooks [Fri, 27 Feb 2009 11:29:23 +0000 (11:29 +0000)]
[ARM] S3C64XX: sparse warnings in arch/arm/plat-s3c64xx/irq.c

Fix the following sparse warnings in arch/arm/plat-s3c64xx/irq.c

arch/arm/plat-s3c64xx/irq.c:210:23: warning: incorrect type in initializer (different address spaces)
arch/arm/plat-s3c64xx/irq.c:210:23:    expected void *reg_base
arch/arm/plat-s3c64xx/irq.c:210:23:    got void [noderef] <asn:2>*regs
arch/arm/plat-s3c64xx/irq.c:215:2: warning: incorrect type in argument 1 (different address spaces)
arch/arm/plat-s3c64xx/irq.c:215:2:    expected void const volatile [noderef] <asn:2>*<noident>
arch/arm/plat-s3c64xx/irq.c:215:2:    got void *

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
16 years ago[ARM] S3C64XX: sparse warnings in arch/arm/plat-s3c64xx/s3c6400-clock.c
Ben Dooks [Fri, 27 Feb 2009 11:25:37 +0000 (11:25 +0000)]
[ARM] S3C64XX: sparse warnings in arch/arm/plat-s3c64xx/s3c6400-clock.c

Fix the following sparse warnings in s3c6400-clock.c:

39:12: warning: symbol 'clk_ext_xtal_mux' was not declared. Should it be static?
66:12: warning: symbol 'clk_fout_apll' was not declared. Should it be static?
81:19: warning: symbol 'clk_mout_apll' was not declared. Should it be static?
91:12: warning: symbol 'clk_fout_epll' was not declared. Should it be static?
106:19: warning: symbol 'clk_mout_epll' was not declared. Should it be static?
126:19: warning: symbol 'clk_mout_mpll' was not declared. Should it be static?
148:12: warning: symbol 'clk_dout_mpll' was not declared. Should it be static?

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
16 years agogianfar: Do right check on num_txbdfree
Rini van Zetten [Fri, 27 Feb 2009 11:18:48 +0000 (03:18 -0800)]
gianfar: Do right check on num_txbdfree

This patch fixes a wrong check on num_txbdfree. It could lead to
num_txbdfree become nagative.  Result was that the gianfar stops
sending data.

Changes from first version :
- removed a space between parens (David Millers comment)
- full email address in signed off line

Signed-off-by: Rini van Zetten <rini@arvoo.nl>
Acked-by: Andy Fleming <afleming@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agopkt_sched: sch_drr: Fix oops in drr_change_class.
Jarek Poplawski [Fri, 27 Feb 2009 10:42:38 +0000 (02:42 -0800)]
pkt_sched: sch_drr: Fix oops in drr_change_class.

drr_change_class lacks a check for NULL of tca[TCA_OPTIONS], so oops
is possible.

Reported-by: Denys Fedoryschenko <denys@visp.net.lb>
Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosched: don't allow setuid to succeed if the user does not have rt bandwidth
Dhaval Giani [Fri, 27 Feb 2009 09:43:54 +0000 (15:13 +0530)]
sched: don't allow setuid to succeed if the user does not have rt bandwidth

Impact: fix hung task with certain (non-default) rt-limit settings

Corey Hickey reported that on using setuid to change the uid of a
rt process, the process would be unkillable and not be running.
This is because there was no rt runtime for that user group. Add
in a check to see if a user can attach an rt task to its task group.
On failure, return EINVAL, which is also returned in
CONFIG_CGROUP_SCHED.

Reported-by: Corey Hickey <bugfood-ml@fatooh.org>
Signed-off-by: Dhaval Giani <dhaval@linux.vnet.ibm.com>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoALSA: hda - Add the Device IDs for MCP89 and remove IDs of MCP7B
peerchen [Fri, 27 Feb 2009 09:03:19 +0000 (17:03 +0800)]
ALSA: hda - Add the Device IDs for MCP89 and remove IDs of MCP7B

Added the Device IDs for MCP89 HD audio controller.
Removed the IDs of MCP7B cause this chipset had been cancelled.

Signed-off-by: Peer Chen <peerchen@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agonetxen: update copyright
Dhananjay Phadke [Wed, 25 Feb 2009 15:57:56 +0000 (15:57 +0000)]
netxen: update copyright

Extend copyright into 2009 and update address.

Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agodrivers/isdn/hardware/eicon: fix sparse warnings: Should it be static?
Hannes Eder [Wed, 25 Feb 2009 13:11:37 +0000 (13:11 +0000)]
drivers/isdn/hardware/eicon: fix sparse warnings: Should it be static?

Impact: Make symbols static.

Fix this sparse warnings:
  drivers/isdn/hardware/eicon/message.c:1197:6: warning: symbol 'connect_req' was not declared. Should it be static?
  drivers/isdn/hardware/eicon/message.c:1414:6: warning: symbol 'connect_res' was not declared. Should it be static?
  drivers/isdn/hardware/eicon/message.c:1570:6: warning: symbol 'connect_a_res' was not declared. Should it be static?
  drivers/isdn/hardware/eicon/message.c:1576:6: warning: symbol 'disconnect_req' was not declared. Should it be static?
  drivers/isdn/hardware/eicon/message.c:1631:6: warning: symbol 'disconnect_res' was not declared. Should it be static?
  drivers/isdn/hardware/eicon/message.c:1658:6: warning: symbol 'listen_req' was not declared. Should it be static?
  drivers/isdn/hardware/eicon/message.c:1707:6: warning: symbol 'info_req' was not declared. Should it be static?
  drivers/isdn/hardware/eicon/message.c:1816:6: warning: symbol 'info_res' was not declared. Should it be static?
  drivers/isdn/hardware/eicon/message.c:1822:6: warning: symbol 'alert_req' was not declared. Should it be static?
  drivers/isdn/hardware/eicon/message.c:1852:6: warning: symbol 'facility_req' was not declared. Should it be static?
  drivers/isdn/hardware/eicon/message.c:2602:6: warning: symbol 'facility_res' was not declared. Should it be static?
  drivers/isdn/hardware/eicon/message.c:2608:6: warning: symbol 'connect_b3_req' was not declared. Should it be static?
  drivers/isdn/hardware/eicon/message.c:2842:6: warning: symbol 'connect_b3_res' was not declared. Should it be static?
  drivers/isdn/hardware/eicon/message.c:2957:6: warning: symbol 'connect_b3_a_res' was not declared. Should it be static?
  drivers/isdn/hardware/eicon/message.c:2977:6: warning: symbol 'disconnect_b3_req' was not declared. Should it be static?
  drivers/isdn/hardware/eicon/message.c:3033:6: warning: symbol 'disconnect_b3_res' was not declared. Should it be static?
  drivers/isdn/hardware/eicon/message.c:3089:6: warning: symbol 'data_b3_req' was not declared. Should it be static?
  drivers/isdn/hardware/eicon/message.c:3166:6: warning: symbol 'data_b3_res' was not declared. Should it be static?
  drivers/isdn/hardware/eicon/message.c:3199:6: warning: symbol 'reset_b3_req' was not declared. Should it be static?
  drivers/isdn/hardware/eicon/message.c:3240:6: warning: symbol 'reset_b3_res' was not declared. Should it be static?
  drivers/isdn/hardware/eicon/message.c:3264:6: warning: symbol 'connect_b3_t90_a_res' was not declared. Should it be static?
  drivers/isdn/hardware/eicon/message.c:3298:6: warning: symbol 'select_b_req' was not declared. Should it be static?
  drivers/isdn/hardware/eicon/message.c:8692:6: warning: symbol 'sig_req' was not declared. Should it be static?
  drivers/isdn/hardware/eicon/message.c:8792:6: warning: symbol 'send_data' was not declared. Should it be static?

Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agodrivers/isdn/hardware/icon: fix sparse warning: cast truncates bits
Hannes Eder [Wed, 25 Feb 2009 13:11:23 +0000 (13:11 +0000)]
drivers/isdn/hardware/icon: fix sparse warning: cast truncates bits

Fix this sparse warning:
  drivers/isdn/hardware/eicon/debug.c:1201:32: warning: cast truncates bits from constant value (1000 becomes 0)

Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agodrivers/isdn/hisax: fix sparse warning: Should it be static?
Hannes Eder [Wed, 25 Feb 2009 13:11:03 +0000 (13:11 +0000)]
drivers/isdn/hisax: fix sparse warning: Should it be static?

Impact: Move declarations to a header file.

Fix this sparse warning:
  drivers/isdn/hisax/callc.c:24:12: warning: symbol 'lli_revision' was not declared. Should it be static?
  drivers/isdn/hisax/config.c:84:12: warning: symbol 'CardType' was not declared. Should it be static?
  drivers/isdn/hisax/config.c:362:5: warning: symbol 'nrcards' was not declared. Should it be static?
  drivers/isdn/hisax/isdnl1.c:21:12: warning: symbol 'l1_revision' was not declared. Should it be static?
  drivers/isdn/hisax/isdnl2.c:22:12: warning: symbol 'l2_revision' was not declared. Should it be static?
  drivers/isdn/hisax/isdnl3.c:22:12: warning: symbol 'l3_revision' was not declared. Should it be static?
  drivers/isdn/hisax/tei.c:23:12: warning: symbol 'tei_revision' was not declared. Should it be static?

Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agodrivers/isdn/act2000: fix sparse warning: symbol shadows an earlier one
Hannes Eder [Wed, 25 Feb 2009 13:09:52 +0000 (13:09 +0000)]
drivers/isdn/act2000: fix sparse warning: symbol shadows an earlier one

Impact: Rename local variable 'c' to 't'.

Fix this sparse warning:
  drivers/isdn/act2000/act2000_isa.c:260:70: warning: symbol 'c' shadows an earlier one

Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agodrivers/isdn/capi: fix sparse warning: context imbalance
Hannes Eder [Wed, 25 Feb 2009 13:08:40 +0000 (13:08 +0000)]
drivers/isdn/capi: fix sparse warning: context imbalance

Impact: Attribute functions with __acquires(...) resp. __releases(...).

Fix this sparse warnings:
  drivers/isdn/capi/kcapi_proc.c:241:13: warning: context imbalance in 'capi_driver_start' - wrong count at exit
  drivers/isdn/capi/kcapi_proc.c:252:13: warning: context imbalance in 'capi_driver_stop' - unexpected unlock

Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoMerge branch 'tip/tracing/ftrace' of git://git.kernel.org/pub/scm/linux/kernel/git...
Ingo Molnar [Fri, 27 Feb 2009 08:06:11 +0000 (09:06 +0100)]
Merge branch 'tip/tracing/ftrace' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace

Conflicts:
kernel/sched_clock.c

16 years agoMerge branches 'tracing/ftrace' and 'linus' into tracing/core
Ingo Molnar [Fri, 27 Feb 2009 08:04:43 +0000 (09:04 +0100)]
Merge branches 'tracing/ftrace' and 'linus' into tracing/core

16 years agosh: Fix up SH-X3 general exception handler build.
Paul Mundt [Fri, 27 Feb 2009 08:02:28 +0000 (17:02 +0900)]
sh: Fix up SH-X3 general exception handler build.

With the recent entry.S refactoring, the SH-X3 path had a mov.l for a
register to register copy, resulting in:

  AS      arch/sh/kernel/cpu/sh4/../sh3/entry.o
arch/sh/kernel/cpu/sh4/../sh3/entry.S: Assembler messages:
arch/sh/kernel/cpu/sh4/../sh3/entry.S:366: Error: invalid operands for opcode
make[3]: *** [arch/sh/kernel/cpu/sh4/../sh3/entry.o] Error 1

Switch it over to a mov to fix it up.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: multiple vectors per irq - sh7785
Magnus Damm [Tue, 24 Feb 2009 13:59:19 +0000 (22:59 +0900)]
sh: multiple vectors per irq - sh7785

Update intc tables and platform data to use one linux irq
per maskable interrupt source instead of keeping the one-to-one
mapping between vectors and linux irqs.

This fixes potential irq masking issues for sh7785 hardware
blocks such as SCIF/DMAC/PCIC5/MMCIF/GDTA/FLCTL/GPIO

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Tested-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: multiple vectors per irq - sh7780
Magnus Damm [Tue, 24 Feb 2009 13:59:12 +0000 (22:59 +0900)]
sh: multiple vectors per irq - sh7780

Update intc tables and platform data to use one linux irq
per maskable interrupt source instead of keeping the one-to-one
mapping between vectors and linux irqs.

This fixes potential irq masking issues for sh7780 hardware
blocks such as SCIF/RTC/DMAC/PCIC5/MMCIF/FLCTL/GPIO

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: multiple vectors per irq - sh7750
Magnus Damm [Tue, 24 Feb 2009 13:59:04 +0000 (22:59 +0900)]
sh: multiple vectors per irq - sh7750

Update intc tables and platform data to use one linux irq
per maskable interrupt source instead of keeping the one-to-one
mapping between vectors and linux irqs.

This fixes potential irq masking issues for sh775x hardware
blocks such as SCI/SCIF/RTC/DMAC/TMU2/REF.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: multiple vectors per irq - base
Magnus Damm [Tue, 24 Feb 2009 13:58:57 +0000 (22:58 +0900)]
sh: multiple vectors per irq - base

Instead of keeping the single vector -> single linux irq mapping
we extend the intc code to support merging of vectors to a single
linux irq. This helps processors such as sh7750, sh7780 and sh7785
which have more vectors than masking ability. With this patch in
place we can modify the intc tables to use one irq per maskable
irq source. Please note the following:

 - If multiple vectors share the same enum then only the
   first vector will be available as a linux irq.

 - Drivers may need to be rewritten to get pending irq
   source from the hardware block instead of irq number.

This patch together with the sh7785 specific intc tables solves
DMA controller irq issues related to buggy interrupt masking.

Reported-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: fix P4 iounmap() pass-through
Magnus Damm [Tue, 24 Feb 2009 13:23:51 +0000 (22:23 +0900)]
sh: fix P4 iounmap() pass-through

Fix iounmap() of pass-through P4 addresses. Without this patch
iounmap() on the sh7780 rtc area results in a warning message.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agortc: sh-rtc: Add Single IRQ Support
Magnus Damm [Tue, 24 Feb 2009 13:11:03 +0000 (22:11 +0900)]
rtc: sh-rtc: Add Single IRQ Support

Add support for single IRQ hardware to the sh-rtc driver.

This is useful for processors with limited interrupt masking
support such as sh7750 and sh7780. With this patch in place we
can add logic to the intc code that merges all RTC vectors into
a single linux interrupt with proper masking/unmasking support.

Specify a single IRQ in the platform data to use this new shared
IRQ feature. Separate Periodic/Carry/Alarm IRQs are still supported.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agoserial: sh-sci: console drainage
Magnus Damm [Tue, 24 Feb 2009 06:57:12 +0000 (15:57 +0900)]
serial: sh-sci: console drainage

Modify the serial console code to wait for the transmit FIFO,
make sure all bits have been put on the wire before returning.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agoRDS: Kconfig and Makefile
Andy Grover [Tue, 24 Feb 2009 15:30:39 +0000 (15:30 +0000)]
RDS: Kconfig and Makefile

Add RDS Kconfig and Makefile, and modify net/'s to add
us to the build.

Signed-off-by: Andy Grover <andy.grover@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoRDS: Add MAINTAINERS entry
Andy Grover [Tue, 24 Feb 2009 15:30:41 +0000 (15:30 +0000)]
RDS: Add MAINTAINERS entry

Signed-off-by: Andy Grover <andy.grover@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoRDS: Add RDS to AF key strings
Andy Grover [Fri, 27 Feb 2009 07:43:19 +0000 (23:43 -0800)]
RDS: Add RDS to AF key strings

Signed-off-by: Andy Grover <andy.grover@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoRDS: Add userspace header
Andy Grover [Tue, 24 Feb 2009 15:30:42 +0000 (15:30 +0000)]
RDS: Add userspace header

Applications include this header in order to use RDS sockets.

Signed-off-by: Andy Grover <andy.grover@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosh: Disable unsupportable prefetching on SH-3.
Paul Mundt [Fri, 27 Feb 2009 07:42:05 +0000 (16:42 +0900)]
sh: Disable unsupportable prefetching on SH-3.

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 <lethal@linux-sh.org>
16 years agoRDS: Add AF and PF #defines for RDS sockets
Andy Grover [Fri, 27 Feb 2009 07:41:38 +0000 (23:41 -0800)]
RDS: Add AF and PF #defines for RDS sockets

RDS is a reliable datagram protocol used for IPC on Oracle
database clusters. This adds address and protocol family numbers
for it.

Signed-off-by: Andy Grover <andy.grover@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosh: prefetch early exception data on sh4/sh4a.
Magnus Damm [Fri, 27 Feb 2009 07:41:17 +0000 (16:41 +0900)]
sh: prefetch early exception data on sh4/sh4a.

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 <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agoRDS: Documentation
Andy Grover [Tue, 24 Feb 2009 15:30:38 +0000 (15:30 +0000)]
RDS: Documentation

This file documents the specifics of the RDS sockets API,
as well as covering some of the details of its internal
implementation.

Signed-off-by: Andy Grover <andy.grover@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoRDS: Common RDMA transport code
Andy Grover [Tue, 24 Feb 2009 15:30:37 +0000 (15:30 +0000)]
RDS: Common RDMA transport code

Although most of IB and iWARP are separated from each other,
there is some common code required to handle their shared
CM listen port. This code listens for CM events and then
dispatches the event to the appropriate transport, either
IB or iWARP.

Signed-off-by: Andy Grover <andy.grover@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoRDS: Add iWARP support
Andy Grover [Tue, 24 Feb 2009 15:30:36 +0000 (15:30 +0000)]
RDS: Add iWARP support

Support for iWARP NICs is implemented as a separate
RDS transport from IB. The code, however, is very
similar to IB (it was forked, basically.) so let's keep
it in one changeset.

The reason for this duplicationis that despite its similarity
to IB, there are a number of places where it has different
semantics. iwarp zcopy support is still under development,
and giving it its own sandbox ensures that IB code isn't
disrupted while iwarp changes. Over time these transports
will re-converge.

Signed-off-by: Andy Grover <andy.grover@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoRDS/IB: Stats and sysctls
Andy Grover [Tue, 24 Feb 2009 15:30:35 +0000 (15:30 +0000)]
RDS/IB: Stats and sysctls

IB-specific stats and sysctls.

Signed-off-by: Andy Grover <andy.grover@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoRDS/IB: Receive datagrams via IB
Andy Grover [Tue, 24 Feb 2009 15:30:34 +0000 (15:30 +0000)]
RDS/IB: Receive datagrams via IB

Header parsing, ring refill. It puts the incoming data into an
rds_incoming struct, which is passed up to rds-core.

Signed-off-by: Andy Grover <andy.grover@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoRDS/IB: Implement IB-specific datagram send.
Andy Grover [Tue, 24 Feb 2009 15:30:33 +0000 (15:30 +0000)]
RDS/IB: Implement IB-specific datagram send.

Specific to IB is a credits-based flow control mechanism, in
addition to the expected usage of the IB API to package outgoing
data into work requests.

Signed-off-by: Andy Grover <andy.grover@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoRDS/IB: Implement RDMA ops using FMRs
Andy Grover [Tue, 24 Feb 2009 15:30:32 +0000 (15:30 +0000)]
RDS/IB: Implement RDMA ops using FMRs

Signed-off-by: Andy Grover <andy.grover@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoRDS/IB: Ring-handling code.
Andy Grover [Tue, 24 Feb 2009 15:30:31 +0000 (15:30 +0000)]
RDS/IB: Ring-handling code.

Signed-off-by: Andy Grover <andy.grover@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoRDS/IB: Infiniband transport
Andy Grover [Tue, 24 Feb 2009 15:30:30 +0000 (15:30 +0000)]
RDS/IB: Infiniband transport

Registers as an RDS transport and an IB client, and uses IB CM
API to allocate ids, queue pairs, and the rest of that fun stuff.

Signed-off-by: Andy Grover <andy.grover@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoRDS: RDMA support
Andy Grover [Tue, 24 Feb 2009 15:30:29 +0000 (15:30 +0000)]
RDS: RDMA support

Some transports may support RDMA features. This handles the
non-transport-specific parts, like pinning user pages and
tracking mapped regions.

Signed-off-by: Andy Grover <andy.grover@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoRDS: recv.c
Andy Grover [Tue, 24 Feb 2009 15:30:28 +0000 (15:30 +0000)]
RDS: recv.c

Upon receiving a datagram from the transport, RDS parses the
headers and potentially queues an ACK.

Signed-off-by: Andy Grover <andy.grover@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoRDS: send.c
Andy Grover [Tue, 24 Feb 2009 15:30:27 +0000 (15:30 +0000)]
RDS: send.c

This is the code to send an RDS datagram.

Signed-off-by: Andy Grover <andy.grover@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoRDS: Message parsing
Andy Grover [Tue, 24 Feb 2009 15:30:26 +0000 (15:30 +0000)]
RDS: Message parsing

Parsing of newly-received RDS message headers (including ext.
headers) and copy-to/from-user routines.

page.c implements a per-cpu page remainder cache, to reduce the
number of allocations needed for small datagrams.

Signed-off-by: Andy Grover <andy.grover@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoRDS: sysctls
Andy Grover [Tue, 24 Feb 2009 15:30:25 +0000 (15:30 +0000)]
RDS: sysctls

RDS exposes a few tunable parameters via sysctls.

Signed-off-by: Andy Grover <andy.grover@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoRDS: loopback
Andy Grover [Tue, 24 Feb 2009 15:30:24 +0000 (15:30 +0000)]
RDS: loopback

A simple rds transport to handle loopback connections.

Signed-off-by: Andy Grover <andy.grover@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoRDS: Connection handling
Andy Grover [Tue, 24 Feb 2009 15:30:23 +0000 (15:30 +0000)]
RDS: Connection handling

While arguably the fact that the underlying transport needs a
connection to convey RDS's datagrame reliably is not important
to rds proper, the transports implemented so far (IB and TCP)
have both been connection-oriented, and so the connection
state machine-related code is in the common rds code.

This patch also includes several work items, to handle connecting,
sending, receiving, and shutdown.

Signed-off-by: Andy Grover <andy.grover@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoRDS: Info and stats
Andy Grover [Tue, 24 Feb 2009 15:30:22 +0000 (15:30 +0000)]
RDS: Info and stats

RDS currently generates a lot of stats that are accessible via
the rds-info utility. This code implements the support for this.

Signed-off-by: Andy Grover <andy.grover@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoRDS: Transport code
Andy Grover [Tue, 24 Feb 2009 15:30:21 +0000 (15:30 +0000)]
RDS: Transport code

RDS supports multiple transports. While this initial submission
only supports Infiniband transport, this abstraction allows others
to be added. We're working on an iWARP transport, and also see
UDP over DCB as another possibility.

This code handles transport registration.

Signed-off-by: Andy Grover <andy.grover@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoRDS: Congestion-handling code
Andy Grover [Tue, 24 Feb 2009 15:30:20 +0000 (15:30 +0000)]
RDS: Congestion-handling code

RDS handles per-socket congestion by updating peers with a complete
congestion map (8KB). This code keeps track of these maps for itself
and ones received from peers.

Signed-off-by: Andy Grover <andy.grover@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoRDS: Main header file
Andy Grover [Tue, 24 Feb 2009 15:30:19 +0000 (15:30 +0000)]
RDS: Main header file

RDS's main data structure definitions and exported functions.

Signed-off-by: Andy Grover <andy.grover@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoRDS: Socket interface
Andy Grover [Tue, 24 Feb 2009 15:30:18 +0000 (15:30 +0000)]
RDS: Socket interface

Implement the RDS (Reliable Datagram Sockets) interface.

Signed-off-by: Andy Grover <andy.grover@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoMerge branch 'sched/clock' into tracing/ftrace
Ingo Molnar [Thu, 26 Feb 2009 20:21:59 +0000 (21:21 +0100)]
Merge branch 'sched/clock' into tracing/ftrace

Conflicts:
kernel/sched_clock.c

16 years agosh: remove EXPEVT vector from stack on sh3/sh4/sh4a
Magnus Damm [Mon, 23 Feb 2009 07:16:34 +0000 (07:16 +0000)]
sh: remove EXPEVT vector from stack on sh3/sh4/sh4a

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 <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: rework register restore code for sh3/sh4/sh4a
Magnus Damm [Mon, 23 Feb 2009 07:15:07 +0000 (07:15 +0000)]
sh: rework register restore code for sh3/sh4/sh4a

This patch reworks the sh3/sh4/sh4a register restore code in
the following ways:
 - break out restore_regs() from restore_all()
 - the register saving order is unchanged
 - use restore_regs() in sh_bios_handler and restore_all
 - document the function

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: shared register saving code for sh3/sh4/sh4a
Magnus Damm [Mon, 23 Feb 2009 07:14:02 +0000 (07:14 +0000)]
sh: shared register saving code for sh3/sh4/sh4a

This patch reworks the sh3/sh4/sh4a register saving code in
the following ways:
 - break out prepare_stack_save_dsp() from handle_exception()
 - break out save_regs() from handle_exception()
 - the register saving order is unchanged
 - align new functions to fit in cache lines
 - separate exception code from interrupt code
 - keep main code flow in a single cache line per exception vector
 - use bsr/rts for regular functions (save pr first)
 - keep data in one shared cache line (exception_data)
 - document the functions
 - tie in the hp6xx code

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agotyphoon: Use request_firmware()
Ben Hutchings [Fri, 27 Feb 2009 07:21:23 +0000 (23:21 -0800)]
typhoon: Use request_firmware()

Based on a patch by Jaswinder Singh <jaswinder@infradead.org>.

Compile-tested only.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotehuti: Use request_firmware()
Ben Hutchings [Fri, 27 Feb 2009 07:20:56 +0000 (23:20 -0800)]
tehuti: Use request_firmware()

Firmware blob is little endian.

Compile-tested only.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoUpdate TG3 MAINTAINERS entry
Matt Carlson [Wed, 25 Feb 2009 14:41:06 +0000 (14:41 +0000)]
Update TG3 MAINTAINERS entry

This patch injects myself into the TG3 MAINTAINERS entry.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotg3: Update copyright and version
Matt Carlson [Wed, 25 Feb 2009 14:40:42 +0000 (14:40 +0000)]
tg3: Update copyright and version

This patch updates the copyright to 2009 and updates the version number
to 3.98.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotg3: Add version reporting for hardware selfboot
Matt Carlson [Wed, 25 Feb 2009 14:27:43 +0000 (14:27 +0000)]
tg3: Add version reporting for hardware selfboot

This patch adds version reporting for hardware selfboot.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotg3: Add DASH firmware version reporting
Matt Carlson [Wed, 25 Feb 2009 14:27:20 +0000 (14:27 +0000)]
tg3: Add DASH firmware version reporting

This patch adds code to report the DASH firmware version.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotg3: Add legacy bootcode version decoding
Matt Carlson [Wed, 25 Feb 2009 14:26:58 +0000 (14:26 +0000)]
tg3: Add legacy bootcode version decoding

This patch adds code to obtain the bootcode version for versions
of bootcode that do not use the new method.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotg3: Refactor firmware version routines
Matt Carlson [Wed, 25 Feb 2009 14:26:33 +0000 (14:26 +0000)]
tg3: Refactor firmware version routines

This patch reorganizes the firmware version routines in preparation for
the following patches.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotg3: Eliminate tg3_nvram_read_swab()
Matt Carlson [Wed, 25 Feb 2009 14:25:52 +0000 (14:25 +0000)]
tg3: Eliminate tg3_nvram_read_swab()

The remaining uses of tg3_nvram_read_swab() either intended to read the
data from NVRAM exactly as tg3_nvram_read_be32() did or hide deeper
interpretations of the data.  For the former case, a direct replacement
of tg3_nvram_read_swab() with tg3_nvram_read_be32() is in order.  For
the latter case, we remove tg3_nvram_read_swab() and document what the
code is really doing.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotg3: Correct NVRAM stream endian notations
Matt Carlson [Wed, 25 Feb 2009 14:25:30 +0000 (14:25 +0000)]
tg3: Correct NVRAM stream endian notations

Any software requesting NVRAM data as it exists on NVRAM is necessarily
requesting that the results be returned as a bytestream.  A bytestream
data read in from the device can also be thought to be in big endian
format.  Therefore, all the LE notations in the driver are mislabeled.
This patch converts all LE notations to BE notations, carefully
evaluating the surrounding code in the process.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotg3: Invert nvram_read() and nvram_read_swab()
Matt Carlson [Wed, 25 Feb 2009 14:25:00 +0000 (14:25 +0000)]
tg3: Invert nvram_read() and nvram_read_swab()

This patch removes the blind byteswap of NVRAM data as it is read in.
To preserve the logic at the call sites, this patch also inverts every
call to tg3_nvram_read() and tg3_nvram_read_swab().  The call swap gets
confusing within tg3_nvram_read_le() (LE is a misnomer), but the reader
should be able to convince himself / herself that the resulting behavior
is still unchanged.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotg3: Eliminate nvram routine forward declarations
Matt Carlson [Wed, 25 Feb 2009 14:24:28 +0000 (14:24 +0000)]
tg3: Eliminate nvram routine forward declarations

This patch moves all NVRAM routines earlier in the source file to
eliminate forward declarations.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotg3: Refine tg3_vlan_rx_register()
Matt Carlson [Wed, 25 Feb 2009 14:23:56 +0000 (14:23 +0000)]
tg3: Refine tg3_vlan_rx_register()

tg3_vlan_rx_register() touches the hardware if netif_running() returns
false.  This patch fixes the problem.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotg3: Update ethtool set_settings error checks
Matt Carlson [Wed, 25 Feb 2009 14:23:01 +0000 (14:23 +0000)]
tg3: Update ethtool set_settings error checks

The ethtool interface has acquired some new enumerations since the
tg3 driver's tg3_set_settings() error checking code was written.  The
error checking code is no longer complete.  This patch rewrites the
error checking so that it is future-proofed.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotg3: Drop non-VLAN rx pkts larger than the MTU
Matt Carlson [Wed, 25 Feb 2009 14:21:52 +0000 (14:21 +0000)]
tg3: Drop non-VLAN rx pkts larger than the MTU

The hardware's MTU is configured so that it will accept packets whose
VLAN tag is left inline.  This means that the hardware will also accept
other packets larger than the desired MTU size.  This patch checks for
and discards packets that are larger than the requested MTU but are not
VLAN tagged frames.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>