]> pilppa.org Git - linux-2.6-omap-h63xx.git/log
linux-2.6-omap-h63xx.git
17 years agosb1000.c: stop inlining largish static functions
Denys Vlasenko [Sun, 30 Mar 2008 23:02:43 +0000 (01:02 +0200)]
sb1000.c: stop inlining largish static functions

drivers/net/sb1000.c has lots of inlined static functions.

Mst of them are used at initialization, wait for some
hardware register to change (wait using yield, sleep etc),
or do slow port-based I/O. Inlining thse "for speed" makes no sense.

This patch removes "inline" from biggest static function
(regardless of number of callsites - gcc nowadays auto-inlines
statics with one callsite).

Size difference for 32bit x86:

text   data    bss    dec    hex filename
6299    129      0   6428   191c linux-2.6-ALLYES/drivers/net/sb1000.o
5418    129      0   5547   15ab linux-2.6.inline-ALLYES/drivers/net/sb1000.o

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years ago#if 0 netxen_nic_link_ok()
Adrian Bunk [Sun, 30 Mar 2008 23:22:14 +0000 (02:22 +0300)]
#if 0 netxen_nic_link_ok()

This patch #if 0's the no longer used netxen_nic_link_ok().

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agomake netxen_workq static
Adrian Bunk [Sun, 30 Mar 2008 23:22:18 +0000 (02:22 +0300)]
make netxen_workq static

netxen_workq can now become static.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agoqeth: keep ip-address after LAN_OFFLINE failure
Ursula Braun [Tue, 1 Apr 2008 08:27:00 +0000 (10:27 +0200)]
qeth: keep ip-address after LAN_OFFLINE failure

Problem:     If setting of an ip-address fails with LAN_OFFLINE,
             qeth does not save the ip-address in its internal
             list of set ip-addresses. qeth recovers after a
             following STARTLAN event, but cannot set the unsaved
             ip-address.
Solution:    save the ip-address in the qeth-maintained list of
             ip-addresses after a LAN_OFFLINE failure for SETIP.

Signed-off-by: Ursula Braun <braunu@de.ibm.com>
Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agoqeth: core code should alloc headroom for LLC protocol
Frank Blaschka [Tue, 1 Apr 2008 08:26:59 +0000 (10:26 +0200)]
qeth: core code should alloc headroom for LLC protocol

Allocate headroom for TR_HLEN but using only ETH_HLEN causes rx
performance degradation. Allocate ETH_HLEN for ethernet and
TR_HLEN for token ring (layer 3 mode).

Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agoqeth: improving debug message handling
Peter Tiedemann [Tue, 1 Apr 2008 08:26:58 +0000 (10:26 +0200)]
qeth: improving debug message handling

Improving debug message handling, moving ipa into messages from kernel
to dbf, some cleanups and typo fixes.

Signed-off-by: Peter Tiedemann <ptiedem@de.ibm.com>
Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agoqeth: layer 3 do not allow to change mac address
Frank Blaschka [Tue, 1 Apr 2008 08:26:57 +0000 (10:26 +0200)]
qeth: layer 3 do not allow to change mac address

hw does not allow to change the mac address.

Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agoqeth: CCL-sequence numbers required for protocol ETH_P_802_2 only
Ursula Braun [Tue, 1 Apr 2008 08:26:56 +0000 (10:26 +0200)]
qeth: CCL-sequence numbers required for protocol ETH_P_802_2 only

Symptom:     slow CCL response time
Problem:     non-ETH_P_802_2 packets are not delivered to NDH for
             CCL. But CCL detects missing sequence numbers, which
             cause a serious performance problem with CCL.
Solution:    assign sequence numbers only to 802.2 packets.

Signed-off-by: Ursula Braun <braunu@de.ibm.com>
Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agoqeth: set lan_online flag after a received STARTLAN
Ursula Braun [Tue, 1 Apr 2008 08:26:55 +0000 (10:26 +0200)]
qeth: set lan_online flag after a received STARTLAN

Problem:     A STARTLAN command from the adapter may arrive while a
             qeth recovery is currently running with a failed qeth
             STARTLAN. Usually qeth schedules a recovery when
             receiving a STARTLAN command from the adapter. But
             another recovery scheduled while a recovery is already
             running never starts. Thus the qeth-administered
             lan_online flag remains zero in this scenario, even
             though the adapter-STARTLAN has happened.
Solution:    Set lan_online flag for a received STARTLAN from the
             adapter in case scheduled recovery does not start.

Signed-off-by: Ursula Braun <braunu@de.ibm.com>
Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agoqeth: allow qdio queue element addresses > 2GB
Ursula Braun [Tue, 1 Apr 2008 08:26:54 +0000 (10:26 +0200)]
qeth: allow qdio queue element addresses > 2GB

OSA-adapters do not have an address limitation for the qdio queue
structures except the MAX storage level of the current processor.
And due to a recent z/VM APAR there is no longer a restriction to
allocate qdio structures below 2 GB.

Signed-off-by: Ursula Braun <braunu@de.ibm.com>
Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agoqeth: improve ip_list administration after deregister failures
Ursula Braun [Tue, 1 Apr 2008 08:26:53 +0000 (10:26 +0200)]
qeth: improve ip_list administration after deregister failures

1. ip_list handling after deregister failure of multicast address:
   If error code "MC Address not found" is returned do not re-add
   multicast address to ip_list.
   For other error codes readd multicast address at the end of
   function qeth_delete_all_mc.
2. ip_list handling after deregister failure or normal ip address:
   If error code "IP Address not found" is returned do not re-add
   multicast address to ip list.
   This is especially important in IP address takeover scenarios,
   to enable re-takeover of a taken over IP address.

Signed-off-by: Ursula Braun <braunu@de.ibm.com>
Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agoe1000e: reformat register test code, fix some minor initialization
Bruce Allan [Wed, 2 Apr 2008 20:48:23 +0000 (13:48 -0700)]
e1000e: reformat register test code, fix some minor initialization

The register tests should be run with all the proper flags enabled
to maximize the test coverage code and make sure we are as close
as we can get to testing regular traffic.

Reformat the code for readability. Minor cleanups in the descriptor
ring setup.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agoe1000e: rename a few functions
Jeff Kirsher [Wed, 2 Apr 2008 20:48:18 +0000 (13:48 -0700)]
e1000e: rename a few functions

Several minor cosmetic function renames.

Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agoe1000e: Make arrays out of these Rx/Tx registers
Jeff Kirsher [Wed, 2 Apr 2008 20:48:13 +0000 (13:48 -0700)]
e1000e: Make arrays out of these Rx/Tx registers

With multiple queues coming into the code these base control
registers need to be made into arrays.

Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agoe1000e: limit EEPROM size accesses
Jeff Kirsher [Wed, 2 Apr 2008 20:48:07 +0000 (13:48 -0700)]
e1000e: limit EEPROM size accesses

Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agosc92031: use netdev_alloc_skb
Stephen Hemminger [Wed, 2 Apr 2008 17:13:12 +0000 (10:13 -0700)]
sc92031: use netdev_alloc_skb

Use netdev_alloc_skb since it handles any NUMA node memory localtion issues
and sets skb->dev. Since device driver was not setting skb->dev, I bet
filter rules based on device would not work.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agosc92031: start transmit return value bugfix
Stephen Hemminger [Wed, 2 Apr 2008 17:11:11 +0000 (10:11 -0700)]
sc92031: start transmit return value bugfix

Any negative return value from start_xmit is interpreted as NETDEV_TX_LOCK
which is not what this driver wants. It should return 0 (NETDEV_TX_OK)
when it consumes a packet.

Also, use skb_padto() as the generic way to pad small frames.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agosc92031: use net_device stats
Stephen Hemminger [Wed, 2 Apr 2008 17:11:20 +0000 (10:11 -0700)]
sc92031: use net_device stats

Statistics structure is available for use in net_device structure.
Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years ago[netdrvr] tulip: Better MWI workaround for 21143 rev 65 chip errata
Peter Horton [Tue, 25 Mar 2008 11:39:09 +0000 (12:39 +0100)]
[netdrvr] tulip: Better MWI workaround for 21143 rev 65 chip errata

This patch works around the MWI bug on the DC21143 rev 65 Tulip by
ensuring that the receive buffers don't end on a cache line boundary
(as documented in the errata).

This patch is required for the MIPS based Cobalt Qube/RaQ as
supporting the extra PCI commands seems to reduce the chance of a hard
lockup between the Tulip and the PCI bridge.

Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years ago[netdrvr] tulip/winbond-840: don't let tulip.h symbol stomp ours
Jeff Garzik [Thu, 17 Apr 2008 00:37:24 +0000 (20:37 -0400)]
[netdrvr] tulip/winbond-840: don't let tulip.h symbol stomp ours

winbond-840 shares tulip.h with the tulip driver, because they share
many (but not all) of the same register definitions.

This is useful for the register definitions, but not helpful when it
comes to symbols that are shared among the tulip driver's C modules,
but not meant to be shared outside that one driver.

Thus, PKT_BUF_SZ is a symbol internal to tulip, but it was intruding
upon a similar symbol in winbond-840's namespace.  This was not a
problem as long as the two symbols had the same value, but upcoming
patches result in differing symbol values.

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agodrivers/net/bonding/bond_main.c - remove unnecessary #define
Joe Perches [Thu, 10 Apr 2008 21:39:30 +0000 (14:39 -0700)]
drivers/net/bonding/bond_main.c - remove unnecessary #define

bond_main.c already #includes <linux/seq_file.h>

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agophy: Clean up header style
Andy Fleming [Thu, 10 Apr 2008 00:38:27 +0000 (19:38 -0500)]
phy: Clean up header style

Multi-line comments weren't all CodingStyle compliant

Signed-off-by: Andy Fleming <afleming@freescale.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agophy: Change mii_bus id field to a string
Andy Fleming [Thu, 10 Apr 2008 00:38:13 +0000 (19:38 -0500)]
phy: Change mii_bus id field to a string

Having the id field be an int was making more complex bus topologies
excessively difficult.  For now, just convert it to a string, and
change all instances of "bus->id = val" to
snprintf(id, MII_BUS_ID_LEN, "%x", val).

Signed-off-by: Andy Fleming <afleming@freescale.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agogianfar: Support NAPI for TX Frames
Dai Haruki [Thu, 10 Apr 2008 00:37:51 +0000 (19:37 -0500)]
gianfar: Support NAPI for TX Frames

Poll the completed TX frames in gfar_poll().  This prevents the tx
completion interrupt from interfering with processing of received
frames.

We also disable hardware rx coalescing when NAPI is enabled.

Signed-off-by: Dai Haruki <dai.haruki@freescale.com>
Signed-off-by: Andy Fleming <afleming@freescale.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agospidernet: revise link status logging
Ishizaki Kou [Fri, 11 Apr 2008 03:33:53 +0000 (12:33 +0900)]
spidernet: revise link status logging

This patch revises the logging for link informations of spidernet.

  - The link down message is too verbose because auto-negotiation timeout
    occurs periodically while an ethernet cable is not connected.
  - We want to see the link result, and we think it should be displayed.

Signed-off-by: Kou Ishizaki <kou.ishizaki@toshiba.co.jp>
Acked-by: Jens Osterkamp <jens@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agospidernet: fix error interrupt handling
Ishizaki Kou [Fri, 11 Apr 2008 03:32:30 +0000 (12:32 +0900)]
spidernet: fix error interrupt handling

In addition to the value of GHIINT0STS, spidernet interrupt handler
should check the values of GHIINT1STS/GHIINT2STS registers at the
beginning of spider_net_interrupt() so as not to drop error
interrupts.

GHIINT1STS/GHIINT2STS registers indicates some of erroneous conditions
in spidernet, and a few bits of GHIINT0STS register reflects these
conditions. But GHIINT0MSK masks these bits, so you should check these
conditions by reading GHIINT1STS/GHIINT2STS registers directly.

Signed-off-by: Kou Ishizaki <kou.ishizaki@toshiba.co.jp>
Acked-by: Jens Osterkamp <jens@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agospidernet: change interrupt masks
Ishizaki Kou [Fri, 11 Apr 2008 03:30:46 +0000 (12:30 +0900)]
spidernet: change interrupt masks

This patch changes spidernet interrupt masks.

 - unmask GDAINVAINT. There is an operation to do by spidernet
   interrupt handler.
 - mask some interrupts. There are no operations in the interrupt handler.

Signed-off-by: Kou Ishizaki <kou.ishizaki@toshiba.co.jp>
Acked-by: Jens Osterkamp <jens@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agospidernet: increase auto-negotiation timeout to 5 seconds
Ishizaki Kou [Fri, 11 Apr 2008 03:29:20 +0000 (12:29 +0900)]
spidernet: increase auto-negotiation timeout to 5 seconds

This patch extends the timeout for spidernet auto-negotiation.
Auto-negotiation often fails to finish in 2 seconds.

Signed-off-by: Kou Ishizaki <kou.ishizaki@toshiba.co.jp>
Acked-by: Jens Osterkamp <jens@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agospidernet: add missing initialization
Ishizaki Kou [Fri, 11 Apr 2008 03:27:34 +0000 (12:27 +0900)]
spidernet: add missing initialization

This patch fixes initialization of "aneg_count" and "medium" fields in
spider_net_card to make spidernet driver correctly sets "link status".

Signed-off-by: Kou Ishizaki <kou.ishizaki@toshiba.co.jp>
Acked-by: Jens Osterkamp <jens@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agotc35815: Whitespace cleanup
Atsushi Nemoto [Thu, 10 Apr 2008 15:25:31 +0000 (00:25 +0900)]
tc35815: Whitespace cleanup

Cosmetic TAB/whitespace cleanups and some style cleanups.  No
functional changes.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agotc35815: Use generic PHY layer
Atsushi Nemoto [Fri, 11 Apr 2008 15:47:46 +0000 (00:47 +0900)]
tc35815: Use generic PHY layer

Convert the tc35815 driver to use the generic PHY layer in
drivers/net/phy.  Also rename 'boardtype' to 'chiptype' which hould be
more appropriate.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agotc35815: Use managed pci iomap helper
Atsushi Nemoto [Thu, 10 Apr 2008 15:24:45 +0000 (00:24 +0900)]
tc35815: Use managed pci iomap helper

Use managed pci functions and kill unnecessary volatiles.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agotc35815: Use netdev_priv()
Atsushi Nemoto [Thu, 10 Apr 2008 15:24:36 +0000 (00:24 +0900)]
tc35815: Use netdev_priv()

Use netdev_priv() instead of dev->priv.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agotc35815: Use print_mac() helper
Atsushi Nemoto [Thu, 10 Apr 2008 15:24:24 +0000 (00:24 +0900)]
tc35815: Use print_mac() helper

Use print_mac() and DECLARE_MAC_BUF().

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agotc35815: Statistics cleanup
Atsushi Nemoto [Thu, 10 Apr 2008 15:24:12 +0000 (00:24 +0900)]
tc35815: Statistics cleanup

Use struct net_device_stats embedded in struct net_device.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
17 years agomv643xx_eth: update copyright
Lennert Buytenhek [Tue, 18 Mar 2008 18:40:14 +0000 (11:40 -0700)]
mv643xx_eth: update copyright

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Reviewed-by: Tzachi Perelstein <tzachi@marvell.com>
Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
17 years agomv643xx_eth: only print banner once
Lennert Buytenhek [Tue, 18 Mar 2008 18:39:14 +0000 (11:39 -0700)]
mv643xx_eth: only print banner once

When there are multiple mv643xx_eth silicon blocks in the system,
don't print an initialisation message for each and every one of
them.

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Reviewed-by: Tzachi Perelstein <tzachi@marvell.com>
Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
17 years agomv643xx_eth: pass port identifier to register accessors
Lennert Buytenhek [Tue, 18 Mar 2008 18:38:05 +0000 (11:38 -0700)]
mv643xx_eth: pass port identifier to register accessors

Pass a struct mv643xx_private * to the register accessor functions,
as a preparation for having multiple mv643xx_eth silicon blocks.

(Since this causes some 80 column straddling, and the mv_ prefix
is useless anyway, rename mv_read to rdl and mv_write to wrl to
compensate.)

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Reviewed-by: Tzachi Perelstein <tzachi@marvell.com>
Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
17 years agomv643xx_eth: report netdev name in all printks
Lennert Buytenhek [Tue, 18 Mar 2008 18:37:19 +0000 (11:37 -0700)]
mv643xx_eth: report netdev name in all printks

In error and warning printks, always report the netdevice name
instead of the port index (the latter has no meaning when there
are multiple mv643xx_eth silicon blocks in the system.)

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Reviewed-by: Tzachi Perelstein <tzachi@marvell.com>
Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
17 years agomv643xx_eth: identify ports by struct mv643xx_private *
Lennert Buytenhek [Tue, 18 Mar 2008 18:36:08 +0000 (11:36 -0700)]
mv643xx_eth: identify ports by struct mv643xx_private *

Instead of identifying individual mv643xx ethernet ports by only
their port number, identify them by their struct mv643xx_private *,
as just a port number has no meaning when there are multiple
mv643xx_eth silicon blocks in the system.

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Reviewed-by: Tzachi Perelstein <tzachi@marvell.com>
Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
17 years agomv643xx_eth: various cleanups
Lennert Buytenhek [Tue, 18 Mar 2008 18:34:34 +0000 (11:34 -0700)]
mv643xx_eth: various cleanups

- Remove unused MV643XX_DEFAULT_[RT]X_QUEUE_SIZE definitions.
- Remove ETH_TARGET enum -- it isn't used anywhere in the driver,
  and isn't even valid for non-mv643xx chip models, as those use
  different MBUS target IDs.
- Clean up comment and control flow in mv643xx_eth_change_mtu().
- Use mp->dev instead of mp->mii.dev in mv643xx_eth_tx_timeout_task().
- Make mv643xx_eth_free_tx_descs() static.
- Remove overzealous NULL check in mv643xx_eth_start_xmit().
- Use symbolic NETDEV_TX_* constants in mv643xx_eth_start_xmit().

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Reviewed-by: Tzachi Perelstein <tzachi@marvell.com>
Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
17 years agomv643xx_eth: mp->tx_desc_count needs spinlock protection
Lennert Buytenhek [Tue, 18 Mar 2008 18:32:41 +0000 (11:32 -0700)]
mv643xx_eth: mp->tx_desc_count needs spinlock protection

mv643xx_eth_start_xmit() should check mp->tx_desc_count only
inside the mp->lock spinlock.

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Reviewed-by: Tzachi Perelstein <tzachi@marvell.com>
Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
17 years ago[POWERPC] Remove unused machine call outs
Kumar Gala [Wed, 16 Apr 2008 13:19:36 +0000 (23:19 +1000)]
[POWERPC] Remove unused machine call outs

When we moved to arch/powerpc we actively tried to avoid using the
ppc_md.setup_io_mappings().  Currently no board ports use it so let's
remove it to avoid any new boards using it.

Also, remove early_serial_map() since we don't even have a call out for
it in arch/powerpc.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Always add preferred consoles in platforms/pseries/lpar.c
Michael Ellerman [Wed, 16 Apr 2008 03:51:49 +0000 (13:51 +1000)]
[POWERPC] Always add preferred consoles in platforms/pseries/lpar.c

There is logic in platforms/peries/lpars.c which checks if the user has
specified a console on the command line, and refrains from adding a
preferred console entry for the hvc/hvsi console if they have.

This trips up if you use "netconsole=foo" on the command line, and has
the result that you get _only_ the netconsole, because the hvc device is
never added as a preferred console. Worse still if you get the netconsole
configuration wrong somehow, you end up with no console at all.

As it turns out we don't need to worry about checking the command line.
If the user has specified "console=foo", then foo will be set as the
preferred console when the command line is parsed in start_kernel(), much
later than the pseries code, and so the latter setting will take effect.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Move prototype for find_udbg_vterm() into a header file
Michael Ellerman [Wed, 16 Apr 2008 03:51:48 +0000 (13:51 +1000)]
[POWERPC] Move prototype for find_udbg_vterm() into a header file

Move the prototype for find_udbg_vterm() into pseries.h, removing
it from setup.c.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years agoit821x: do not describe noraid parameter with its value
Paul Bolle [Wed, 16 Apr 2008 23:14:33 +0000 (01:14 +0200)]
it821x: do not describe noraid parameter with its value

Describe noraid parameter with its name (and not its value).

Signed-off-by: Paul Bolle <pebolle@tiscali.nl>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoPb1200/DBAu1200: fix bad IDE resource size
Sergei Shtylyov [Wed, 16 Apr 2008 23:14:33 +0000 (01:14 +0200)]
Pb1200/DBAu1200: fix bad IDE resource size

The header files for the Pb1200/DBAu1200 boards have wrong definition for the
IDE interface's decoded range length -- it should be 512 bytes according to
what the IDE driver does.  In addition, the IDE platform device claims 1 byte
too many for its memory resource -- fix the platform code and the IDE driver
in accordance.

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoAu1200: IDE driver build fix
Sergei Shtylyov [Wed, 16 Apr 2008 23:14:33 +0000 (01:14 +0200)]
Au1200: IDE driver build fix

The driver fails to compile with CONFIG_BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA enabled:

drivers/ide/mips/au1xxx-ide.c: In function `auide_build_dmatable':
drivers/ide/mips/au1xxx-ide.c:256: error: implicit declaration of function
`sg_virt'
drivers/ide/mips/au1xxx-ide.c:275: error: implicit declaration of function
`sg_next'
drivers/ide/mips/au1xxx-ide.c:275: warning: assignment makes pointer from
integer without a cast

Fix this by including <linux/scatterlist.h>. While at it, remove the #include's
without which the driver happily builds.

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoAu1200: kill IDE driver function prototypes
Sergei Shtylyov [Wed, 16 Apr 2008 23:14:33 +0000 (01:14 +0200)]
Au1200: kill IDE driver function prototypes

Fix these warnings emitted when compiling drivers/ide/mips/au1xxx-ide.c:

include/asm/mach-au1x00/au1xxx_ide.h:137: warning: 'auide_tune_drive' declared
`static' but never defined
include/asm/mach-au1x00/au1xxx_ide.h:138: warning: 'auide_tune_chipset' declared
 `static' but never defined

by wiping out the whole "function prototyping" section from the header file
<asm-mips/mach-au1x00/au1xxx_ide.h> as it mostly declared functions that are
already dead in the IDE driver; move the only useful prototype into the driver.

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoavr32 mustn't select HAVE_IDE
Adrian Bunk [Wed, 16 Apr 2008 23:14:32 +0000 (01:14 +0200)]
avr32 mustn't select HAVE_IDE

There's a libata based PATA driver for avr32, but no support for
drivers/ide/ on avr32.

This patch fixes the following compile error:

<--  snip  -->

...
  CC [M]  drivers/ide/ide-cd.o
In file included from /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ide/ide-cd.c:37:
/home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/ide.h:209:21: error: asm/ide.h: No such file or directory
make[3]: *** [drivers/ide/ide-cd.o] Error 1

<--  snip  -->

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Cc: Haavard Skinnemoen <hskinnemoen@atmel.com>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoARM: OMAP: Fix build error for "pm.c" with CONFIG_PM_DEBUG
Hiroshi DOYU [Mon, 14 Apr 2008 12:40:31 +0000 (15:40 +0300)]
ARM: OMAP: Fix build error for "pm.c" with CONFIG_PM_DEBUG

  CC      arch/arm/plat-omap/clock.o
arch/arm/mach-omap2/pm.c: In function 'pm_init_serial_console':
arch/arm/mach-omap2/pm.c:188: error: expected ';' before 'break'
arch/arm/mach-omap2/pm.c:191: error: expected ';' before 'break'
arch/arm/mach-omap2/pm.c:193: error: 'PM_WKEN2' undeclared (first use in this function)
arch/arm/mach-omap2/pm.c:193: error: (Each undeclared identifier is reported only once
arch/arm/mach-omap2/pm.c:193: error: for each function it appears in.)
arch/arm/mach-omap2/pm.c:194: error: expected ';' before 'break'
make[1]: *** [arch/arm/mach-omap2/pm.o] Error 1
make: *** [arch/arm/mach-omap2] Error 2

Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years ago[POWERPC] pseries/phyp dump: Reserve a variable amount of space at boot
Manish Ahuja [Fri, 11 Apr 2008 23:31:52 +0000 (09:31 +1000)]
[POWERPC] pseries/phyp dump: Reserve a variable amount of space at boot

This changes the way we calculate how much space to reserve for the
pHyp dump.  Currently we reserve 256MB only.  With this change, the
code first checks to see if an amount has been specified on the boot
command line with the "phyp_dump_reserve_size" option, and if so, uses
that much.

Otherwise it computes 5% of total ram and rounds it down to a multiple
of 256MB, and uses the larger of that or 256MB.

This is for large systems with a lot of memory (10GB or more).  The
aim is to have more space available for the kernel on reboot on
machines with more resources.  Although the dump will be collected
pretty fast and the memory released really early on allowing the
machine to have the full memory available, this alleviates any issues
that can be caused by having way too little memory on very very large
systems during those few minutes.

Signed-off-by: Manish Ahuja <mahuja@us.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Cleanup pgtable-ppc32.h
Kumar Gala [Tue, 15 Apr 2008 19:52:30 +0000 (05:52 +1000)]
[POWERPC] Cleanup pgtable-ppc32.h

* Removed defines KERNEL_PGD_PTRS & USER_PGD_PTRS since they aren't
  used anywhere
* Changed pmd_page macro to use pfn_to_page so we get proper behavior
  if ARCH_PFN_OFFSET is set as well if we use a different memory model
  on ppc32.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] bootwrapper: Use physical address in PHDR for uImage
Kumar Gala [Tue, 15 Apr 2008 19:52:29 +0000 (05:52 +1000)]
[POWERPC] bootwrapper: Use physical address in PHDR for uImage

Now that we properly set the physical address in the program header of the
vmlinux ELF we can extract it to properly set the load and entry point for
u-boot uImages.  Before we always hard coded the load & entry point to 0.
However there are situations that the kernel may be built with a non-zero
physical address.

We use objdump to extract the PHDR.  We assume that there is only one
PHDR in the vmlinux of type LOAD.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Update linker script to properly set physical addresses
Kumar Gala [Tue, 15 Apr 2008 19:52:28 +0000 (05:52 +1000)]
[POWERPC] Update linker script to properly set physical addresses

We can set LOAD_OFFSET and use the AT attribute on sections and the
linker will properly set the physical address of the LOAD program
header for us.

This allows us to know how the PHYSICAL_START the user configured a
kernel with by just looking at the resulting vmlinux ELF.

This is pretty much stolen from how x86 does things in their linker
scripts.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Move phys_addr_t definition into asm/types.h
Kumar Gala [Tue, 15 Apr 2008 19:52:27 +0000 (05:52 +1000)]
[POWERPC] Move phys_addr_t definition into asm/types.h

Moved phys_addr_t out of mmu-*.h and into asm/types.h so we can use it in
places that before would have caused recursive includes.

For example to use phys_addr_t in <asm/page.h> we would have included
<asm/mmu.h> which would have possibly included <asm/mmu-hash64.h> which
includes <asm/page.h>.  Wheeee recursive include.

CONFIG_PHYS_64BIT is a bit counterintuitive in light of ppc64 systems
and thus the config option is only used for ppc32 systems with >32-bit
physical addresses (44x, 85xx, 745x, etc.).

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Clean up some linker and symbol usage
Kumar Gala [Tue, 15 Apr 2008 19:52:26 +0000 (05:52 +1000)]
[POWERPC] Clean up some linker and symbol usage

* PAGE_OFFSET is not always the start of code, use _stext instead.
* grab PAGE_SIZE and KERNELBASE from asm/page.h like ppc64 does.  Makes the
  code a bit more common and provide a single place to manipulate the
  defines for things like kdump.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Rename __initial_memory_limit to __initial_memory_limit_addr
Kumar Gala [Tue, 15 Apr 2008 19:52:25 +0000 (05:52 +1000)]
[POWERPC] Rename __initial_memory_limit to __initial_memory_limit_addr

We always use __initial_memory_limit as an address so rename it
to be clear.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Use lowmem_end_addr to limit lmb allocations on ppc32
Kumar Gala [Tue, 15 Apr 2008 19:52:24 +0000 (05:52 +1000)]
[POWERPC] Use lowmem_end_addr to limit lmb allocations on ppc32

Now that we have a proper variable that is the address of the top
of low memory we can use it to limit the lmb allocations.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] 85xx: Cleanup TLB initialization
Kumar Gala [Tue, 15 Apr 2008 19:52:23 +0000 (05:52 +1000)]
[POWERPC] 85xx: Cleanup TLB initialization

* Determine the RPN we are running the kernel at runtime rather
  than using compile time constant for initial TLB

* Cleanup adjust_total_lowmem() to respect memstart_addr and
  be a bit more clear on variables that are sizes vs addresses.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Introduce lowmem_end_addr to distinguish from total_lowmem
Kumar Gala [Tue, 15 Apr 2008 19:52:22 +0000 (05:52 +1000)]
[POWERPC] Introduce lowmem_end_addr to distinguish from total_lowmem

total_lowmem represents the amount of low memory, not the physical
address that low memory ends at.  If the start of memory is at 0 it
happens that total_lowmem can be used as both the size and the address
that lowmem ends at (or more specifically one byte beyond the end).

To make the code a bit more clear and deal with the case when the start of
memory isn't at physical 0, we introduce lowmem_end_addr that represents
one byte beyond the last physical address in the lowmem region.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Remove and replace uses of PPC_MEMSTART with memstart_addr
Kumar Gala [Tue, 15 Apr 2008 19:52:21 +0000 (05:52 +1000)]
[POWERPC] Remove and replace uses of PPC_MEMSTART with memstart_addr

A number of users of PPC_MEMSTART (40x, ppc_mmu_32) can just always
use 0 as we don't support booting these kernels at non-zero physical
addresses since their exception vectors must be at 0 (or 0xfffx_xxxx).

For the sub-arches that support relocatable interrupt vectors
(book-e), it's reasonable to have memory start at a non-zero physical
address.  For those cases use the variable memstart_addr instead of
the #define PPC_MEMSTART since the only uses of PPC_MEMSTART are for
initialization and in the future we can set memstart_addr at runtime
to have a relocatable kernel.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Provide access to arch/powerpc include path on ppc64
Kumar Gala [Tue, 15 Apr 2008 19:52:20 +0000 (05:52 +1000)]
[POWERPC] Provide access to arch/powerpc include path on ppc64

There does not appear to be any reason that we shouldn't just have
-Iarch/$(ARCH) on both ppc32 and ppc64 builds.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Remove Kconfig option BOOT_LOAD
Kumar Gala [Tue, 15 Apr 2008 19:52:19 +0000 (05:52 +1000)]
[POWERPC] Remove Kconfig option BOOT_LOAD

Nothing appears to use BOOT_LOAD so remove it as a configurable option.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Add MODULE_LICENSE to powerpc/sysdev/rtc_cmos_setup.c
Adrian Bunk [Mon, 14 Apr 2008 14:19:42 +0000 (00:19 +1000)]
[POWERPC] Add MODULE_LICENSE to powerpc/sysdev/rtc_cmos_setup.c

This adds the missing MODULE_LICENSE("GPL").

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Efika: Really, don't pretend to be CHRP
David Woodhouse [Sun, 13 Apr 2008 16:52:38 +0000 (02:52 +1000)]
[POWERPC] Efika: Really, don't pretend to be CHRP

Fedora 9 works on Efika without the separate 'device-tree supplement',
thanks to the kernel's own fixups. With one exception -- because 'CHRP'
still appears on the 'machine:' line in /proc/cpuinfo, the installer
misdetects the platform and misconfigures yaboot, putting it into a PReP
boot partition instead of in the /boot filesystem where the Efika's
firmware could find it.

The kernel's fixups for Efika already correct one instance of 'chrp', in
the 'device_type' property. This fixes it in the 'CODEGEN,description'
property too, since that's what's exposed to userspace in /proc/cpuinfo.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] i2c: OF helpers for the i2c API
Jochen Friedrich [Fri, 11 Apr 2008 19:22:35 +0000 (05:22 +1000)]
[POWERPC] i2c: OF helpers for the i2c API

This implements various helpers to support OF bindings for the i2c
API.

Signed-off-by: Jochen Friedrich <jochen@scram.de>
Acked-by: David S. Miller <davem@davemloft.net>
Acked-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Implement support for the GPIO LIB API
Anton Vorontsov [Fri, 11 Apr 2008 13:06:36 +0000 (23:06 +1000)]
[POWERPC] Implement support for the GPIO LIB API

This implements support for the GPIO LIB API.  Two calls are still
unimplemented though: irq_to_gpio and gpio_to_irq.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] OF helpers for the GPIO API
Anton Vorontsov [Fri, 11 Apr 2008 13:06:45 +0000 (23:06 +1000)]
[POWERPC] OF helpers for the GPIO API

This implements various helpers to support OF bindings for the GPIO
LIB API.

Previously this was PowerPC specific, but it seems this code isn't
arch-dependent anyhow, so let's place it into of/.

SPARC will not see this addition yet, real hardware seem to not use
GPIOs at all. But this might change:

   http://www.leox.org/docs/faq_MLleon.html

"16-bit I/O port" sounds promising. :-)

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] properly declare onstack completion in iseries veth
Benjamin Herrenschmidt [Wed, 9 Apr 2008 07:21:34 +0000 (17:21 +1000)]
[POWERPC] properly declare onstack completion in iseries veth

The iSeries veth driver uses an on-stack struct completion that
it initializes using the COMPLETION_INITIALIZER instead of
COMPLETION_INITIALIZER_ONSTACK macro, causing problems with
lockdep.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Fixup softirq preempt count
Benjamin Herrenschmidt [Wed, 9 Apr 2008 07:21:28 +0000 (17:21 +1000)]
[POWERPC] Fixup softirq preempt count

This fixes the handling of the preempt count when switching
interrupt stacks so that HW interrupt properly get the softirq
mask copied over from the previous stack.

It also initializes the softirq stack preempt_count to 0 instead
of SOFTIRQ_OFFSET, like x86, as __do_softirq() does the increment,
and we hit some lockdep checks if we have it twice.

That means we do run for a little while off the softirq stack
with the preempt-count set to 0, which could be deadly if we
try to take a softirq at that point, however we do so with
interrupts disabled, so I think we are ok.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Initialize paca->current earlier
Benjamin Herrenschmidt [Wed, 9 Apr 2008 07:21:26 +0000 (17:21 +1000)]
[POWERPC] Initialize paca->current earlier

Currently, we initialize the "current" pointer in the PACA (which
is used by the "current" macro in the kernel) before calling
setup_system(). That means that early_setup() is called with
current still "NULL" which is -not- a good idea. It happens to
work so far but breaks with lockdep when early code calls printk.

This changes it so that all PACAs are statically initialized with
__current pointing to the init task. For non-0 CPUs, this is fixed
up before use.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] hvcbeat: Fix buffer manipulation
Ishizaki Kou [Mon, 17 Mar 2008 10:05:18 +0000 (21:05 +1100)]
[POWERPC] hvcbeat: Fix buffer manipulation

This fixes a potential bug at drivers/char/hvc_beat.c.
 - hvc_put_term_char routine will decrement "rest" variable twice,
   and forget to advance "buf" pointer by "nlen" bytes.
This bug was not hit previously because the output handler in
drivers/char/hvc_console.c splits given output into 16 bytes
at maximum.

Reported-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Kou Ishizaki <kou.ishizaki@toshiba.co.jp>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] celleb: Coding style cleanup
Ishizaki Kou [Fri, 14 Mar 2008 12:19:34 +0000 (23:19 +1100)]
[POWERPC] celleb: Coding style cleanup

Signed-off-by: Kou Ishizaki <kou.ishizaki@toshiba.co.jp>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years agoMerge branch 'for-2.6.26' of master.kernel.org:/pub/scm/linux/kernel/git/olof/pasemi
Paul Mackerras [Wed, 16 Apr 2008 21:45:35 +0000 (07:45 +1000)]
Merge branch 'for-2.6.26' of master.kernel.org:/pub/scm/linux/kernel/git/olof/pasemi

17 years agoRe-arranging OMAP2 and OMAP3 boards
Syed Mohammed, Khasim [Wed, 16 Apr 2008 12:04:07 +0000 (17:34 +0530)]
Re-arranging OMAP2 and OMAP3 boards

Re-arranging OMAP2 and OMAP3 boards

Signed-off-by: Syed Mohammed Khasim <khasim@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agomac80211: rework scanning to account for probe response/beacon difference
Johannes Berg [Wed, 16 Apr 2008 15:43:20 +0000 (17:43 +0200)]
mac80211: rework scanning to account for probe response/beacon difference

This patch reworks the scanning code (ieee80211_rx_bss_info) to take
more parameters from beacons and keep a BSS info structure alive when
only beacons for it are received. This fixes a problem with iwlwifi
drivers (where we don't understand the root cause of the problem yet)
and another driver for some broken hardware (which cannot send probe
requests unless associated, so can't always actively scan.)

Signed-off-by: Bill Moss <bmoss@clemson.edu>
[jmberg: reformatted comments, make probe_resp a bool]
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoath5k: Misc fixes/cleanups
Nick Kossifidis [Wed, 16 Apr 2008 15:49:02 +0000 (18:49 +0300)]
ath5k: Misc fixes/cleanups

*Handle MIB interrupts and pass low level stats to mac80211
*Add Power On Self Test function
*Update to match recent dumps
*Let RF2425 attach so we can further test it
*Remove unused files regdom.c and regdom.h

base.c
Changes-licensed-under: 3-clause-BSD

rest
Changes-licensed-under: ISC

Signed-off-by: Nick Kossifidis <mickflemm@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoath5k: Add RF2425 initvals
Nick Kossifidis [Wed, 16 Apr 2008 15:42:48 +0000 (18:42 +0300)]
ath5k: Add RF2425 initvals

*Add RF2425 initvals (still no rx/tx)

This was on my laptop for a long time so it has to go out even if
it still doesn't work, i hope i'll get my hands on an eeepc so i can
work this out.

base.c
Changes-licensed-under: 3-clause-BSD

rest
Changes-licensed-under: ISC

Signed-off-by: Nick Kossifidis <mickflemm@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoiwlwifi: Use HW acceleration decryption by default
Emmanuel Grumbach [Tue, 15 Apr 2008 23:01:47 +0000 (16:01 -0700)]
iwlwifi: Use HW acceleration decryption by default

This patch reverses the hw_crypto logic and makes HW crypto a default.
Giving swcrypto=1 as parameter to the module disables HW crypto.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoiwlwifi: fix unload warning and error
Mohamed Abbas [Tue, 15 Apr 2008 23:01:46 +0000 (16:01 -0700)]
iwlwifi: fix unload warning and error

This patch fix the error we get when unload the driver, No space for Tx.
The cause of this problem is related to receiving late SW rfkill from
rfkill subsystem during the driver teardown causing this error.

Signed-off-by: Mohamed Abbas <mabbas@linux.intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoiwlwifi: arrange max number of Tx queues
Ron Rindjunsky [Tue, 15 Apr 2008 23:01:45 +0000 (16:01 -0700)]
iwlwifi: arrange max number of Tx queues

This patch increases the max possible number of Tx queues, but leaves
current used number of queues as HW dependent

Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoiwlwifi: Fix TKIP update key and get_free_ucode_key
Emmanuel Grumbach [Tue, 15 Apr 2008 23:01:44 +0000 (16:01 -0700)]
iwlwifi: Fix TKIP update key and get_free_ucode_key

This patch fixes a bug in update_tkip_key: only one key needs to be
allocated in uCode, every time it is updated, the old one will be
overwritten

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoiwlwifi: move rxon associated command to hcmd
Tomas Winkler [Tue, 15 Apr 2008 23:01:43 +0000 (16:01 -0700)]
iwlwifi: move rxon associated command to hcmd

This patch run rxon associated command from hcmd handler

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoiwlwifi: introduce host commands callbacks
Tomas Winkler [Tue, 15 Apr 2008 23:01:42 +0000 (16:01 -0700)]
iwlwifi: introduce host commands callbacks

This patch adds place holder for host command handlers
for supporting different implementations per HW

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoiwlwifi: move HW device registration
Ron Rindjunsky [Tue, 15 Apr 2008 23:01:41 +0000 (16:01 -0700)]
iwlwifi: move HW device registration

This patch moves the HW device registration from the iwl-4965.c file, which
implies a HW specific support, to a more general location.

Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoiwlwifi: move the creation of LQ host command to iwlcore
Tomas Winkler [Tue, 15 Apr 2008 23:01:40 +0000 (16:01 -0700)]
iwlwifi: move the creation of LQ host command to iwlcore

This patch moves creation of LQ host command to iwlcore
from previous location in rate scaling.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoiwlwifi: support different num of tx and rx antennas
Tomas Winkler [Tue, 15 Apr 2008 23:01:39 +0000 (16:01 -0700)]
iwlwifi: support different num of tx and rx antennas

This patch adds infrastructure for supporting different
number of tx and rx antennas

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoiwlwifi: hw_setting cleanup
Tomas Winkler [Tue, 15 Apr 2008 23:01:38 +0000 (16:01 -0700)]
iwlwifi: hw_setting cleanup

1. This patch renames hw_setting to hw_params
2. Align names of the structure and variables
3. set_hw_params is called from libs_ops

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoiwlwifi: remove the statistics work
Emmanuel Grumbach [Tue, 15 Apr 2008 23:01:37 +0000 (16:01 -0700)]
iwlwifi: remove the statistics work

This patch does 3 things

1) It removes the statistics work. The request statistics command is
sent in ASYNC mode in this flow, the mutex is uneeded, so the request
statistics function can't go to sleep. No need for a workqueue anymore.

2) iwl4965_send_statistics_request has been renamed to
iwl_send_statistics_request and moved to iwl-core.c

3) A request for statistics is sent in alive_notify, the makes the uCode
sends statistics notification periodically starting from association.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agob43: Add fastpath to b43_mac_suspend()
Michael Buesch [Tue, 15 Apr 2008 19:13:36 +0000 (21:13 +0200)]
b43: Add fastpath to b43_mac_suspend()

This adds a fastpath for the common workloads to the
MAC suspend flushing.
In common workloads the FIFO flush will take between 100 and
200 microseconds. So we want to avoid calling msleep() in the
common case, as it will waste over 800 microseconds + scheduler
overhead.

This fastpath will hit in workloads where only small chunks
of data are transmitted (downloading a file) or when a TX rate bigger
or equal to 24MBit/s is used when transmitting lots of stuff (iperf).
So in the commonly used workloads it will basically always hit.

In case the fastpath is not hit, there's no real performance or latency
disadvantage from that.

And yes, I measured this. So this is not one of these
bad Programmer Likeliness Assumptions that are always wrong. ;)

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoiwlwifi: move shared pointers to iwl_priv
Tomas Winkler [Tue, 15 Apr 2008 04:16:14 +0000 (21:16 -0700)]
iwlwifi: move shared pointers to iwl_priv

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoiwlwifi: perform bss_info_changed post association work right away
Reinette Chatre [Tue, 15 Apr 2008 04:16:13 +0000 (21:16 -0700)]
iwlwifi: perform bss_info_changed post association work right away

Do not use workqueue for bss_info_changed post association work.
When driver is notified of association the upper layer will be notified
right after that the association is complete. Doing the post association
work in a workqueue introduces a race condition where the upper layer may
want to make use of the association, but it is not yet complete.

Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Acked-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoiwlwifi: make Makefile more concise
Reinette Chatre [Tue, 15 Apr 2008 04:16:12 +0000 (21:16 -0700)]
iwlwifi: make Makefile more concise

Also change CONFIG_IWLCORE_RFKILL to CONFIG_IWLWIFI_RFKILL to
be more consistent with other config variables.

Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Acked-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoiwl4965: make iwl4965_send_rxon_assoc asynchronous
Reinette Chatre [Tue, 15 Apr 2008 04:16:11 +0000 (21:16 -0700)]
iwl4965: make iwl4965_send_rxon_assoc asynchronous

Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Acked-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoiwlwifi: Fix byte count table for fragmented packets
Tomas Winkler [Tue, 15 Apr 2008 04:16:10 +0000 (21:16 -0700)]
iwlwifi: Fix byte count table for fragmented packets

This patch fix byte count table update. Table must be updated for each
fragment

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoiwlwifi: moves security functions to iwl-sta.c
Emmanuel Grumbach [Tue, 15 Apr 2008 04:16:09 +0000 (21:16 -0700)]
iwlwifi: moves security functions to iwl-sta.c

This patch moves security related functions to iwl-sta.c.
Note that iwl4965_mac_update_tkip_key is still in iwl4965-base.c since it
is a mac80211 handler.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoiwlwifi: maintain uCode key table state
Emmanuel Grumbach [Tue, 15 Apr 2008 04:16:08 +0000 (21:16 -0700)]
iwlwifi: maintain uCode key table state

This patch fix book keeping of key table in the driver
to be synchronized with uCode

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoiwlwifi: add 1X HW WEP support
Emmanuel Grumbach [Tue, 15 Apr 2008 04:16:07 +0000 (21:16 -0700)]
iwlwifi: add 1X HW WEP support

This patch adds support for HW encryption/decryption in 1X WEP.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoiwlwifi: default WEP HW encryption
Emmanuel Grumbach [Tue, 15 Apr 2008 04:16:06 +0000 (21:16 -0700)]
iwlwifi: default WEP HW encryption

This patch adds HW encryption support in default WEP mode.
When no key mapping key/pairwise key is used. The key is broadcast key
is used as default/global/static key.
This code assumes that group cast key is added after pairwise key.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>