]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/log
linux-2.6-omap-h63xx.git
17 years agoWAN pc300too.c: Fix PC300-X.21 detection
Krzysztof Hałasa [Thu, 20 Nov 2008 14:51:05 +0000 (15:51 +0100)]
WAN pc300too.c: Fix PC300-X.21 detection

pc300too driver works around a bug in PCI9050 bridge.  Unfortunately
it was doing that too late.

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
17 years agoWAN: syncppp.c is no longer used by any kernel code. Remove it.
Krzysztof Hałasa [Thu, 14 Aug 2008 17:18:17 +0000 (19:18 +0200)]
WAN: syncppp.c is no longer used by any kernel code. Remove it.

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
17 years agoWAN: new synchronous PPP implementation for generic HDLC.
Krzysztof Hałasa [Thu, 14 Aug 2008 17:17:38 +0000 (19:17 +0200)]
WAN: new synchronous PPP implementation for generic HDLC.

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
17 years agoWAN: Simplify sca_init_port() in HD64572 driver.
Krzysztof Hałasa [Thu, 10 Jul 2008 22:13:09 +0000 (00:13 +0200)]
WAN: Simplify sca_init_port() in HD64572 driver.

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
17 years agoWAN: Correct comments in hd6457[02].c
Krzysztof Hałasa [Wed, 9 Jul 2008 22:30:51 +0000 (00:30 +0200)]
WAN: Correct comments in hd6457[02].c

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
17 years agoWAN: HD64572 drivers don't use next_desc() anymore.
Krzysztof Hałasa [Wed, 9 Jul 2008 21:39:12 +0000 (23:39 +0200)]
WAN: HD64572 drivers don't use next_desc() anymore.

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
17 years agoWAN: Simplify HD64572 drivers.
Krzysztof Hałasa [Wed, 9 Jul 2008 21:13:49 +0000 (23:13 +0200)]
WAN: Simplify HD64572 drivers.

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
17 years agoWAN: don't print HD64572 driver versions anymore.
Krzysztof Hałasa [Wed, 9 Jul 2008 19:30:17 +0000 (21:30 +0200)]
WAN: don't print HD64572 driver versions anymore.

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
17 years agoWAN: Simplify HD64572 status handling.
Krzysztof Hałasa [Wed, 9 Jul 2008 19:24:42 +0000 (21:24 +0200)]
WAN: Simplify HD64572 status handling.

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
17 years agoWAN: rework HD64572 interrupts a bit.
Krzysztof Hałasa [Wed, 9 Jul 2008 17:28:45 +0000 (19:28 +0200)]
WAN: rework HD64572 interrupts a bit.
Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
17 years agoWAN: HD64572 already handles TX underruns with DMAC.
Krzysztof Hałasa [Wed, 9 Jul 2008 18:01:23 +0000 (20:01 +0200)]
WAN: HD64572 already handles TX underruns with DMAC.

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
17 years agoWAN: TX-done handler now uses the ownership bit in HD64572 drivers.
Krzysztof Hałasa [Wed, 9 Jul 2008 17:47:05 +0000 (19:47 +0200)]
WAN: TX-done handler now uses the ownership bit in HD64572 drivers.

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
17 years agoWAN: convert HD64572-based drivers to NAPI.
Krzysztof Hałasa [Wed, 9 Jul 2008 14:49:37 +0000 (16:49 +0200)]
WAN: convert HD64572-based drivers to NAPI.

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
17 years agoWAN: remove SCA support from SCA-II drivers
Krzysztof Hałasa [Mon, 24 Mar 2008 19:24:23 +0000 (20:24 +0100)]
WAN: remove SCA support from SCA-II drivers

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
17 years agoWAN: remove SCA II support from SCA drivers
Krzysztof Hałasa [Mon, 24 Mar 2008 18:12:23 +0000 (19:12 +0100)]
WAN: remove SCA II support from SCA drivers

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
17 years agoWAN: split hd6457x.c into hd64570.c and hd64572.c
Krzysztof Hałasa [Mon, 24 Mar 2008 15:39:02 +0000 (16:39 +0100)]
WAN: split hd6457x.c into hd64570.c and hd64572.c

Supporting both original SCA and SCA-II in one file was nice at some
point but now it's increasingly painful.

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
17 years agone2k: convert to net_device_ops
Stephen Hemminger [Sat, 22 Nov 2008 01:39:02 +0000 (17:39 -0800)]
ne2k: convert to net_device_ops

Convert driver to new net_device_ops. Compile tested only.
This required some additional work to export common code ei_XXX.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoeql: convert to net_device_ops
Stephen Hemminger [Sat, 22 Nov 2008 01:37:54 +0000 (17:37 -0800)]
eql: convert to net_device_ops

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosc92031: convert to net_device_ops
Stephen Hemminger [Sat, 22 Nov 2008 01:37:24 +0000 (17:37 -0800)]
sc92031: convert to net_device_ops

Convert this driver to net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoqla3xxx: convert to net_device_ops
Stephen Hemminger [Sat, 22 Nov 2008 01:36:58 +0000 (17:36 -0800)]
qla3xxx: convert to net_device_ops

Convert this driver to net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agohamachi: convert to net_device_ops
Stephen Hemminger [Sat, 22 Nov 2008 01:36:36 +0000 (17:36 -0800)]
hamachi: convert to net_device_ops

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agobnx2x: convert to net_device_ops
Stephen Hemminger [Sat, 22 Nov 2008 01:36:04 +0000 (17:36 -0800)]
bnx2x: convert to net_device_ops

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agons83820: convert to net_device_ops
Stephen Hemminger [Sat, 22 Nov 2008 01:35:40 +0000 (17:35 -0800)]
ns83820: convert to net_device_ops

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoyellowfin: convert to net_device_ops
Stephen Hemminger [Sat, 22 Nov 2008 01:35:16 +0000 (17:35 -0800)]
yellowfin: convert to net_device_ops

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agor6040: convert to net_device_ops
Stephen Hemminger [Sat, 22 Nov 2008 01:34:56 +0000 (17:34 -0800)]
r6040: convert to net_device_ops

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosis900: convert to net_device_ops
Stephen Hemminger [Sat, 22 Nov 2008 01:34:32 +0000 (17:34 -0800)]
sis900: convert to net_device_ops

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agotehuti: convert to net_device_ops
Stephen Hemminger [Sat, 22 Nov 2008 01:34:09 +0000 (17:34 -0800)]
tehuti: convert to net_device_ops

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosfc: convert to net_device_ops
Stephen Hemminger [Sat, 22 Nov 2008 01:32:54 +0000 (17:32 -0800)]
sfc: convert to net_device_ops

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Acked-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agonetxen: convert to net_device_ops
Stephen Hemminger [Sat, 22 Nov 2008 01:32:15 +0000 (17:32 -0800)]
netxen: convert to net_device_ops

Convert driver to new net_device_ops. Compile tested only.
Had to do some refactoring on multicast_list.
Fix ethtool restart to propogate error code.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agodl2k: convert to net_device_ops
Stephen Hemminger [Sat, 22 Nov 2008 01:31:51 +0000 (17:31 -0800)]
dl2k: convert to net_device_ops

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agobnx2: convert to net_device_ops
Stephen Hemminger [Sat, 22 Nov 2008 01:31:27 +0000 (17:31 -0800)]
bnx2: convert to net_device_ops

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agomlx4: convert to net_device_ops
Stephen Hemminger [Sat, 22 Nov 2008 01:30:58 +0000 (17:30 -0800)]
mlx4: convert to net_device_ops

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agomyri10ge: convert to net_device_ops
Stephen Hemminger [Sat, 22 Nov 2008 01:30:35 +0000 (17:30 -0800)]
myri10ge: convert to net_device_ops

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agovia-rhine: convert to net_device_ops
Stephen Hemminger [Sat, 22 Nov 2008 01:30:11 +0000 (17:30 -0800)]
via-rhine: convert to net_device_ops

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoqlge: fix sparse warnings
Stephen Hemminger [Sat, 22 Nov 2008 01:29:50 +0000 (17:29 -0800)]
qlge: fix sparse warnings

Fix sparse warnings and one bug:
    * Several routines can be static
    * Don't lose __iomem annotation
    * fix locking on error path (bug)

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoqlge: convert to net_device_ops
Stephen Hemminger [Sat, 22 Nov 2008 01:29:16 +0000 (17:29 -0800)]
qlge: convert to net_device_ops

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agos2io: convert to net_device_ops
Stephen Hemminger [Sat, 22 Nov 2008 01:28:55 +0000 (17:28 -0800)]
s2io: convert to net_device_ops

Convert this driver to network device ops. Compile teseted only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agojme: convert driver to net_device_ops
Stephen Hemminger [Sat, 22 Nov 2008 01:28:33 +0000 (17:28 -0800)]
jme: convert driver to net_device_ops

Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agotg3: Update version to 3.96
Matt Carlson [Sat, 22 Nov 2008 01:23:26 +0000 (17:23 -0800)]
tg3: Update version to 3.96

This patch updates the version number to 3.96.

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>
17 years agobroadcom: Add 57780 support
Matt Carlson [Sat, 22 Nov 2008 01:22:53 +0000 (17:22 -0800)]
broadcom: Add 57780 support

This patch adds the 57780 PHY ID to the broadcom module.

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>
17 years agotg3: Add 57780 support
Matt Carlson [Sat, 22 Nov 2008 01:22:19 +0000 (17:22 -0800)]
tg3: Add 57780 support

This patch adds support for the 57780 ASIC revision.

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>
17 years agotg3: Allow GPHY powerdown on 5761
Matt Carlson [Sat, 22 Nov 2008 01:21:13 +0000 (17:21 -0800)]
tg3: Allow GPHY powerdown on 5761

The ENABLE_APE flag tells the driver whether or not the device has an
Application Processing Engine (APE).  The APE does not need the PHY to
be powered unless it is running management firmware.  For backwards
compatibility, management firmware will still set the ENABLE_ASF bit.
Consequently, there is no reason to consider the ENABLE_APE flag when
deciding whether or not to power down the phy.

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>
17 years agotg3: Embrace pci_ioremap_bar()
Matt Carlson [Sat, 22 Nov 2008 01:20:32 +0000 (17:20 -0800)]
tg3: Embrace pci_ioremap_bar()

Per Dave Miller's suggestion, replace the remaining ioremap_nocache()
call with pci_ioremap_bar().  Remove the two IORESOURCE_MEM checks as
they are redundant.

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>
17 years agotg3: Extract FW ver from alt NVRAM formats
Matt Carlson [Sat, 22 Nov 2008 01:19:41 +0000 (17:19 -0800)]
tg3: Extract FW ver from alt NVRAM formats

This patch extracts the bootcode firmware version from the alternate
selfboot patch NVRAM format.  This format is used on the 5784, 5761 and
some newer devices.

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>
17 years agotg3: Enable GPHY APD on select devices
Matt Carlson [Sat, 22 Nov 2008 01:18:59 +0000 (17:18 -0800)]
tg3: Enable GPHY APD on select devices

GPHY Autopowerdown (APD) is a way to save power when energy is not
detected on the wire.  At the moment, only the 5784 and 5761 are
capable of enabling this mode.

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>
17 years agotg3: Prevent corruption at 10 / 100Mbps w CLKREQ
Matt Carlson [Sat, 22 Nov 2008 01:18:16 +0000 (17:18 -0800)]
tg3: Prevent corruption at 10 / 100Mbps w CLKREQ

This patch disables CLKREQ at 10Mbps and 100Mbps to workaround a TX BD
corruption issue.  This problem only affects the 5784 and 5761 (and
57780 AX) ASIC revisions.

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>
17 years agotg3: Qualify use of tp->pcix_cap
Matt Carlson [Sat, 22 Nov 2008 01:17:04 +0000 (17:17 -0800)]
tg3: Qualify use of tp->pcix_cap

This patch makes sure the device is a PCIX device before attempting to
use the pcix_cap device structure member.  This is prep work for the
following patch.

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>
17 years agotg3: Use NET_IP_ALIGN
Matt Carlson [Sat, 22 Nov 2008 01:16:16 +0000 (17:16 -0800)]
tg3: Use NET_IP_ALIGN

This patch replaces hardcoded 2's with the NET_IP_ALIGN constant or
TG3_RAW_IP_ALIGN where appropriate.  Some platforms can redefine the
NET_IP_ALIGN definition to zero if unaligned DMA transfers cost more
than the IP header alignment gains.  This patch represents a
performance improvement when using the 5701 on these platforms.
The copy path can be avoided.

TG3_RAW_IP_ALIGN is used in cases where we always want to align the
IP header on dword boundaries.

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>
17 years agonet: remove redundant argument comments
Qinghuang Feng [Sat, 22 Nov 2008 01:15:03 +0000 (17:15 -0800)]
net: remove redundant argument comments

Remove redundant argument comments in files of net/*

Signed-off-by: Qinghuang Feng <qhfeng.kernel@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
David S. Miller [Sat, 22 Nov 2008 01:05:11 +0000 (17:05 -0800)]
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6

17 years agoe1000e: check return code from NVM accesses and fix bank detection
Bruce Allan [Sat, 22 Nov 2008 01:02:41 +0000 (17:02 -0800)]
e1000e: check return code from NVM accesses and fix bank detection

Check return code for all NVM accesses[1] and error out accordingly; log
a debug message for failed accesses.

For ICH8/9, the valid NVM bank detect function was not checking whether the
SEC1VAL (sector 1 valid) bit in the EECD register was itself valid (bits 8
and 9 also have to be set).  If invalid, it would have defaulted to the
possibly invalid bank 0.  Instead, try to use the valid bank detection
method used by ICH10 which has been cleaned up a bit.

[1] - reads and updates only; not writes because those are only writing to
the Shadow RAM, the update following the write is the only thing actually
writing the modified Shadow RAM contents to the NVM.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoe1000e: fix incorrect link status when switch module pulled
Bruce Allan [Sat, 22 Nov 2008 01:01:35 +0000 (17:01 -0800)]
e1000e: fix incorrect link status when switch module pulled

On 82571 with SerDes, the true link state is not always correct when read
from the STATUS register; use existing e1000_has_link() function instead.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoe1000e: store EEPROM version number to prevent unnecessary NVM reads
Bruce Allan [Sat, 22 Nov 2008 01:00:22 +0000 (17:00 -0800)]
e1000e: store EEPROM version number to prevent unnecessary NVM reads

Rather than reading the NVM to get the EEPROM version number everytime the
ethool get_drvinfo function is called, read it once during probe and save
it for future reference.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoe1000e: cosmetic newline in debug message
Bruce Allan [Sat, 22 Nov 2008 00:59:54 +0000 (16:59 -0800)]
e1000e: cosmetic newline in debug message

Add missing newline from debug message.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoe1000e: sync change flow control variables with ixgbe
Bruce Allan [Sat, 22 Nov 2008 00:57:36 +0000 (16:57 -0800)]
e1000e: sync change flow control variables with ixgbe

Sync flow control variables and usage model with that found in the ixgbe
driver.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoe1000e: link up/down messages must follow a specific format
Bruce Allan [Sat, 22 Nov 2008 00:54:43 +0000 (16:54 -0800)]
e1000e: link up/down messages must follow a specific format

The system log messages created on a link status change need to follow a
specific format to work with tools some customers use.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoe1000e: ESB2 config after link up
Bruce Allan [Sat, 22 Nov 2008 00:53:51 +0000 (16:53 -0800)]
e1000e: ESB2 config after link up

On ESB2, the MAC-to-PHY (Kumeran) interface must be configured after link
is up before any traffic is sent; a new PHY operations function pointer is
provided for this.  To facilitate read/write of the Kumeran registers
without blocking PHY register writes, the driver/firmware synchronization
method which previously used a hardware semaphore for both PHY and Kumeran
register accesses is now split.  New Kumeran register read/write functions
utilize this new synchronization method.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoe1000e: check return of pci_save_state
Bruce Allan [Sat, 22 Nov 2008 00:51:33 +0000 (16:51 -0800)]
e1000e: check return of pci_save_state

Check return of pci_save_state and error out accordingly.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoe1000e: update comments listing supported parts for each MAC family
Bruce Allan [Sat, 22 Nov 2008 00:51:06 +0000 (16:51 -0800)]
e1000e: update comments listing supported parts for each MAC family

Some branding strings (displayed via lspci) are missing from the comments in
various family-specific files in the driver.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoe1000e: 82571 check for link fix on 82571 serdes
Bruce Allan [Sat, 22 Nov 2008 00:50:34 +0000 (16:50 -0800)]
e1000e: 82571 check for link fix on 82571 serdes

Check for link test does not work properly for 82571 parts in a blade
environment with an unterminated serdes link partner.  Make the test more
robust by checking the invalid bit.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoe1000e: commit speed/duplex changes for m88 PHY
Bruce Allan [Sat, 22 Nov 2008 00:49:53 +0000 (16:49 -0800)]
e1000e: commit speed/duplex changes for m88 PHY

Follow the convention used elsewhere in e1000e to 'commit' PHY changes
instead of directly writing to the PHY CTRL register to reset it.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoe1000e: disable correctable errors for quad ports while going to D3
Alexander Duyck [Sat, 22 Nov 2008 00:49:10 +0000 (16:49 -0800)]
e1000e: disable correctable errors for quad ports while going to D3

There has been an issue seen with the pci-e quad port adapters that will
cause them to generate a pci-e correctable error on some system while
transitioning to D3.

Since no action is needed on this correctable error the simplest solution
is to mask off the reporting of correctable errors.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agonet: Fix memory leak in the proto_register function
Catalin Marinas [Sat, 22 Nov 2008 00:45:22 +0000 (16:45 -0800)]
net: Fix memory leak in the proto_register function

If the slub allocator is used, kmem_cache_create() may merge two or more
kmem_cache's into one but the cache name pointer is not updated and
kmem_cache_name() is no longer guaranteed to return the pointer passed
to the former function. This patch stores the kmalloc'ed pointers in the
corresponding request_sock_ops and timewait_sock_ops structures.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Reviewed-by: Christoph Lameter <cl@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agotcp: Do not use TSO/GSO when there is urgent data
Petr Tesarik [Sat, 22 Nov 2008 00:42:58 +0000 (16:42 -0800)]
tcp: Do not use TSO/GSO when there is urgent data

This patch fixes http://bugzilla.kernel.org/show_bug.cgi?id=12014

Since most (if not all) implementations of TSO and even the in-kernel
software GSO do not update the urgent pointer when splitting a large
segment, it is necessary to turn off TSO/GSO for all outgoing traffic
with the URG pointer set.

Looking at tcp_current_mss (and the preceding comment) I even think
this was the original intention. However, this approach is insufficient,
because TSO/GSO is turned off only for newly created frames, not for
frames which were already pending at the arrival of a message with
MSG_OOB set. These frames were created when TSO/GSO was enabled,
so they may be large, and they will have the urgent pointer set
in tcp_transmit_skb().

With this patch, such large packets will be fragmented again before
going to the transmit routine.

As a side note, at least the following NICs are known to screw up
the urgent pointer in the TCP header when doing TSO:

Intel 82566MM (PCI ID 8086:1049)
Intel 82566DC (PCI ID 8086:104b)
Intel 82541GI (PCI ID 8086:1076)
Broadcom NetXtreme II BCM5708 (PCI ID 14e4:164c)

Signed-off-by: Petr Tesarik <ptesarik@suse.cz>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoinet_diag: Missed conversion after changing inet ehash lockl to spinlocks.
David S. Miller [Sat, 22 Nov 2008 00:39:19 +0000 (16:39 -0800)]
inet_diag: Missed conversion after changing inet ehash lockl to spinlocks.

They are no longer a rwlocks.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agonetdevice pc300: Add the reason about PC300 BROKEN in Kconfig
Wang Chen [Sat, 22 Nov 2008 00:36:22 +0000 (16:36 -0800)]
netdevice pc300: Add the reason about PC300 BROKEN in Kconfig

When compile test my previous patch, I found PC300 driver was broken.
And there is no explanation about the broken.
Add the reason about why change this driver to broken in Kconfig.

Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agonetdevice pc300: Convert directly reference of netdev->priv
Wang Chen [Sat, 22 Nov 2008 00:35:44 +0000 (16:35 -0800)]
netdevice pc300: Convert directly reference of netdev->priv

netdev's private data should be hdlc.
pc300dev_t is the private data of hdlc.

Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agonetdevice hdlc: Convert directly reference of netdev->priv
Wang Chen [Sat, 22 Nov 2008 00:34:18 +0000 (16:34 -0800)]
netdevice hdlc: Convert directly reference of netdev->priv

For killing directly reference of netdev->priv, use netdev->ml_priv to replace it.
Because the private pvc data comes from add_pvc() and can't be allocated in
alloc_netdev().

Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com>
Acked-by: Krzysztof Halasa <khc@pm.waw.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agonet/hp-plus: fix link errors
Randy Dunlap [Sat, 22 Nov 2008 00:33:25 +0000 (16:33 -0800)]
net/hp-plus: fix link errors

Fix hp-plus driver link errors.
Builds as loadable module and kernel image driver.
All drivers that use 8390.o or 8390p.o that will build on
i386 with MCA/PCI/EISA/ISA were built successfully both
=m and =y.

drivers/built-in.o: In function `hpp_open':
hp-plus.c:(.text+0xac06c): undefined reference to `eip_interrupt'
hp-plus.c:(.text+0xac0d7): undefined reference to `eip_open'
drivers/built-in.o: In function `hpp_close':
hp-plus.c:(.text+0xac1bb): undefined reference to `eip_close'
drivers/built-in.o: In function `hpp_probe1':
hp-plus.c:(.init.text+0xa98a): undefined reference to `NS8390p_init'
drivers/built-in.o: In function `hp_plus_probe':
(.init.text+0xa9fe): undefined reference to `__alloc_eip_netdev'

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoaxnet_cs / pcnet_cs: moving PCMCIA_DEVICE_PROD_ID for Netgear FA411
Cord Walter [Thu, 20 Nov 2008 13:46:57 +0000 (13:46 +0000)]
axnet_cs / pcnet_cs: moving PCMCIA_DEVICE_PROD_ID for Netgear FA411

Hi,

after noticing that my Netgear FA411 (PCMCIA-NIC) [1] stopped working with
the release of the 2.6.25 kernel (sidux-version), I checked the
respective driver sources and noticed that the pcnet_cs driver bailed
out with "use axnet_cs instead" for the Netgear FA411, but axnet_cs
doesn't claim this ID.

I compiled a kernel with the PCMCIA-ID for the netgear card moved to
axnet_cs from pcnet_cs which worked. I then contacted sidux-kernel
maintainer Stefan Lippers-Hollmann who turned the info into this patch
and integrated it into the kernel:

<http://svn.berlios.de/svnroot/repos/fullstory/linux-sidux-2.6/trunk/debian/patches/features/2.6.27.4_PCMCIA_move-PCMCIA-ID-for-Netgear-FA411-from-pcnet_cs-to-axnet_cs.patch>

This works for me and AFAIK there were no reports of any breakage for
other devices on sidux-support.

This looks like a trivial patch, but since I have very limited
experience with kernel modifications  I might be woefully wrong there.
But if there are no side effects of this patch, is it possible to get it
into the official kernel?

I can provide more detailed information on the affected hardware if
necessary.

-cord

[1]
Socket 1 Device 0:      [axnet_cs]              (bus ID: 1.0)
        Configuration:  state: on
        Product Name:   NETGEAR FA411 Fast Ethernet
        Identification: manf_id: 0x0149 card_id: 0x0411
                        function: 6 (network)
                        prod_id(1): "NETGEAR" (0x9aa79dc3)
                        prod_id(2): "FA411" (0x40fad875)
                        prod_id(3): "Fast Ethernet" (0xb4be14e3)
                        prod_id(4): --- (---)

From: Stefan Lippers-Hollmann <s.l-h@gmx.de>
Date: Sat, 1 Nov 2008 23:53:04 +0000
Subject: PCMCIA: move PCMCIA ID for Netgear FA411 from pcnet_cs to axnet_cs:

Since kernel 2.6.25, commit 61da96be07ec860e260ca4af0199b9d48d000b80
(pcnet_cs: if AX88190-based card, printk "use axnet_cs instead" message.),
pcnet_cs bails out with "use axnet_cs instead" for the Netgear FA411, but
axnet_cs doesn't claim this ID.

Socket 1 Device 0:      [axnet_cs]              (bus ID: 1.0)
        Configuration:  state: on
        Product Name:   NETGEAR FA411 Fast Ethernet
        Identification: manf_id: 0x0149 card_id: 0x0411
                        function: 6 (network)
                        prod_id(1): "NETGEAR" (0x9aa79dc3)
                        prod_id(2): "FA411" (0x40fad875)
                        prod_id(3): "Fast Ethernet" (0xb4be14e3)
                        prod_id(4): --- (---)

Cc: stable <stable@kernel.org> [2.6.25, 2.6.26, 2.6.27]
Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
Signed-off-by: Cord Walter <qord@cwalter.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoOMAP3 clock: disable DPLL autoidle while waiting for DPLL to lock
Paul Walmsley [Fri, 14 Nov 2008 17:46:14 +0000 (10:46 -0700)]
OMAP3 clock: disable DPLL autoidle while waiting for DPLL to lock

During _omap3_noncore_dpll_lock(), if a DPLL has no active downstream
clocks and DPLL autoidle is enabled, the DPLL may never lock, since it
will enter autoidle immediately.  To resolve this, disable DPLL
autoidle while locking the DPLL, and unconditionally wait for the DPLL
to lock.  This fixes some bugs where the kernel would hang when returning
from retention or return the wrong rate for the DPLL.

This patch is a collaboration with Peter de Schrijver
<peter.de-schrijver@nokia.com> and Kevin Hilman
<khilman@deeprootsystems.com>.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Peter de Schrijver <peter.de-schrijver@nokia.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoOMAP3 clock: avoid invalid FREQSEL values during DPLL rate rounding
Paul Walmsley [Wed, 12 Nov 2008 18:52:31 +0000 (11:52 -0700)]
OMAP3 clock: avoid invalid FREQSEL values during DPLL rate rounding

The DPLL FREQSEL jitter correction bits are set based on a table in
the 34xx TRM, Table 4-38, according to the DPLL's internal clock
frequency "Fint."  Several Fint frequency ranges are missing from this
table.  Previously, we allowed these Fint frequency ranges to be
selected in the rate rounding code, but did not change the FREQSEL bits.
Correspondence with the OMAP hardware team indicates that Fint values
not in the table should not be used.  So, prevent them from being
selected during DPLL rate rounding.  This removes warnings and also
can prevent the chip from locking up.

The first pass through the rate rounding code will update the DPLL max
and min dividers appropriately, so later rate rounding passes will run
faster than the first.

Peter de Schrijver <peter.de-schrijver@nokia.com> put up with several
test cycles of this patch - thanks Peter.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Peter de Schrijver <peter.de-schrijver@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoOMAP3 clock: optimize DPLL rate rounding algorithm
Paul Walmsley [Wed, 12 Nov 2008 18:51:01 +0000 (11:51 -0700)]
OMAP3 clock: optimize DPLL rate rounding algorithm

The previous DPLL rate rounding algorithm counted the divider (N) down
from the maximum to 1.  Since we currently use a broad DPLL rate
tolerance, and lower N values are more power-efficient, we can often
bypass several iterations through the loop by counting N upwards from
1.

Peter de Schrijver <peter.de-schrijver@nokia.com> put up with several
test cycles of this patch - thanks Peter.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Peter de Schrijver <peter.de-schrijver@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoOMAP3 clock: remove unnecessary dpll_data dereferences
Paul Walmsley [Wed, 12 Nov 2008 18:50:35 +0000 (11:50 -0700)]
OMAP3 clock: remove unnecessary dpll_data dereferences

Remove some clutter from omap2_dpll_round_rate().

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agonet: use net_eq() in INET_MATCH and INET_TW_MATCH
Eric Dumazet [Fri, 21 Nov 2008 23:49:19 +0000 (15:49 -0800)]
net: use net_eq() in INET_MATCH and INET_TW_MATCH

We can avoid some useless instructions if !CONFIG_NET_NS

Because of RCU, we use INET_MATCH or INET_TW_MATCH twice for the found
socket, so thats six instructions less per incoming TCP packet.

Yet another tbench speedup :)

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoLEDS: Switch leds-omap to use gpio_request/free calls
Jarkko Nikula [Fri, 31 Oct 2008 12:18:57 +0000 (14:18 +0200)]
LEDS: Switch leds-omap to use gpio_request/free calls

Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoINPUT: TS_Hx: Switch to gpio_request/free calls
Jarkko Nikula [Fri, 31 Oct 2008 12:18:56 +0000 (14:18 +0200)]
INPUT: TS_Hx: Switch to gpio_request/free calls

Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoINPUT: TSC2005: Switch to gpio_request/free calls
Jarkko Nikula [Fri, 31 Oct 2008 12:18:55 +0000 (14:18 +0200)]
INPUT: TSC2005: Switch to gpio_request/free calls

Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoCBUS: Switch to gpio_request/free calls
Jarkko Nikula [Fri, 31 Oct 2008 12:18:54 +0000 (14:18 +0200)]
CBUS: Switch to gpio_request/free calls

Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoSwitch brf6150 and hci_h4p to use gpio_request/free calls
Jarkko Nikula [Fri, 31 Oct 2008 12:18:53 +0000 (14:18 +0200)]
Switch brf6150 and hci_h4p to use gpio_request/free calls

Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoSPI: TSC2301: Switch to gpio_request/free calls
Jarkko Nikula [Fri, 31 Oct 2008 12:18:52 +0000 (14:18 +0200)]
SPI: TSC2301: Switch to gpio_request/free calls

Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Switch OMAP LCD panels to use gpio_request/free calls
Jarkko Nikula [Fri, 31 Oct 2008 12:18:51 +0000 (14:18 +0200)]
ARM: OMAP: Switch OMAP LCD panels to use gpio_request/free calls

Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Switch to gpio_request/free calls (part 2)
Jarkko Nikula [Fri, 31 Oct 2008 12:18:50 +0000 (14:18 +0200)]
ARM: OMAP: Switch to gpio_request/free calls (part 2)

This converts new files which are not yet merged upstream including
gpio-switch and board files for 3430sdp, Nokia N800 and omap3evm.

Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoUSB: EHCI-OMAP: Switch to gpio_request/free calls
Jarkko Nikula [Fri, 31 Oct 2008 12:18:49 +0000 (14:18 +0200)]
USB: EHCI-OMAP: Switch to gpio_request/free calls

Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoRevert "Sync arch/arm/include/asm/mach/map.h with mainline"
Tony Lindgren [Fri, 21 Nov 2008 23:36:34 +0000 (15:36 -0800)]
Revert "Sync arch/arm/include/asm/mach/map.h with mainline"

This reverts commit 41cc3cea4bd402941af17363b9d99e9fd2b33525.

Oops, my mistake, I was diffing wrong branches.

Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agousb: musb: build fixes for DaVinci
Kevin Hilman [Mon, 10 Nov 2008 12:45:42 +0000 (14:45 +0200)]
usb: musb: build fixes for DaVinci

- update includes after asm/arch --> mach headers move
- adds musb_platform_set_mode() stub

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
17 years agousb: musb: sysfs mode updates
David Brownell [Mon, 8 Sep 2008 08:25:58 +0000 (01:25 -0700)]
usb: musb: sysfs mode updates

Fix three omissions in the "mode" sysfs attribute support:
  (a) inability to report errors;
  (b) no DaVinci support ... just report an error;
  (c) for omap2430, accepting unsupportable values

The 2430 stuff is still odd....

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
17 years agoi2c-omap: Enable I2C wakeups for 34xx
Kalle Jokiniemi [Fri, 21 Nov 2008 21:39:55 +0000 (13:39 -0800)]
i2c-omap: Enable I2C wakeups for 34xx

I2C_WE registers were not configured, which caused huge delays in
I2C operations while cpu idle was enabled and omap entered WFI.

This patch enables all I2C wakeup sources.

Signed-off-by: Kalle Jokiniemi <ext-kalle.jokiniemi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoi2c-omap: reprogram OCP_SYSCONFIG register after reset
Paul Walmsley [Fri, 21 Nov 2008 21:39:55 +0000 (13:39 -0800)]
i2c-omap: reprogram OCP_SYSCONFIG register after reset

The I2C controller clears its OCP_SYSCONFIG register after an OCP soft reset.
Reprogram OCP_SYSCONFIG for maximum power savings on rev3.6 controllers
and beyond.  On 2430, this involves setting the module AUTOIDLE bit.
On 3430, this includes module AUTOIDLE, wakeup enable, slave smart-idle,
and considers only the module functional clock state for idle-ack.

Boot-tested on 2430SDP and 3430SDP.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Richard Woodruff <r-woodruff2@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoi2c-omap: convert 'rev1' flag to generic 'rev' u8
Paul Walmsley [Fri, 21 Nov 2008 21:39:55 +0000 (13:39 -0800)]
i2c-omap: convert 'rev1' flag to generic 'rev' u8

i2c-omap discriminates only between "revision 1" or "greater than
revision 1."  A following patch introduces code that must also
discriminate between rev2.x, rev3.6, and rev3.12 controllers.  Support
this by storing the full revision data from the I2C_REV register, rather
than just a single bit.

The revision definitions may need to be extended for other ES levels
that aren't currently available here.  rev3.6 is what's present on the
2430SDP here (unknown ES revision); rev3.12 is used on the 3430ES2
here.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoi2c-omap: fix I2C timeouts due to recursive omap_i2c_{un,}idle()
Paul Walmsley [Fri, 21 Nov 2008 21:39:47 +0000 (13:39 -0800)]
i2c-omap: fix I2C timeouts due to recursive omap_i2c_{un,}idle()

omap_i2c_unidle() and omap_i2c_idle() are called recursively during
omap_i2c_probe().  This is evidently unexpected and will wipe
out the I2C interrupt enable register the second time that
omap_i2c_idle() is called consecutively.  Any I2C transactions
following a probe of a bus with at least one device on it will then
time out.

Fix by moving omap_i2c_idle() further up in omap_i2c_probe().  Ensure
the I2C controller is marked as idle before the probe starts.  Also
attempt to catch future reappearances of this bug early in development
by warning in omap_i2c_{un,}idle() when they are called recursively.

Problem reported by David Brownell <david-b@pacbell.net>.

Tested on 3430SDP and 2430SDP.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: David Brownell <david-b@pacbell.net>
Cc: Richard Woodruff <r-woodruff2@ti.com>
Acked-by; Steve Sakoman <steve@sakoman.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoi2c-omap: Clean-up i2c-omap
Tony Lindgren [Fri, 21 Nov 2008 21:39:47 +0000 (13:39 -0800)]
i2c-omap: Clean-up i2c-omap

Minor sparse, checkpatch and formatting clean-up. Also update copyrights.

Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoi2c-omap: Don't compile in OMAP15xx I2C ISR for non-OMAP15xx builds
Paul Walmsley [Fri, 21 Nov 2008 21:39:47 +0000 (13:39 -0800)]
i2c-omap: Don't compile in OMAP15xx I2C ISR for non-OMAP15xx builds

Skip compiling OMAP15xx I2C ISR for non-OMAP15xx builds.  Saves 400 bytes
of text for most OMAP builds.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoi2c-omap: Mark init-only functions as __init
Paul Walmsley [Fri, 21 Nov 2008 21:39:46 +0000 (13:39 -0800)]
i2c-omap: Mark init-only functions as __init

Mark functions called only at init time as __init.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoi2c-omap: Add support for omap34xx
Chandra shekhar [Fri, 21 Nov 2008 21:39:46 +0000 (13:39 -0800)]
i2c-omap: Add support for omap34xx

Add support for omap34xx

Signed-off-by: chandra shekhar <x0044955@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoi2c-omap: FIFO handling support and broken hw workaround for i2c-omap
Nishanth Menon [Fri, 21 Nov 2008 21:39:46 +0000 (13:39 -0800)]
i2c-omap: FIFO handling support and broken hw workaround for i2c-omap

Based on an earlier patch from Nishant Menon:

- Transfers can use FIFO on FIFO capable devices
- Prevents errors for HSI2C if FIFO is not used
- Implemented errenous handling of STT-STP handling on SDP2430

Also merged in is a fix from Jaron Marini to fix occasional i2c
hang if OMAP_I2C_CON_STT remains asserted.

Signed-off-by: Jason P Marini <jason.marini@gmail.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoi2c-omap: Add high-speed support to omap-i2c
Syed Mohammed Khasim [Fri, 21 Nov 2008 21:39:45 +0000 (13:39 -0800)]
i2c-omap: Add high-speed support to omap-i2c

Omap2430 has additional support for high-speed I2C.

This patch moves I2C speed parameter (from module) to platform data.
Also added basic High Speed support based on I2C bus speed.

This patch is tested for high speed I2C (with TWL4030 Keypad) and works as
expected.

Also change the 2430 i2chs_fck names to use the standard naming.

Cc: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Syed Mohammed Khasim <x0khasim@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoi2c-omap: Close suspected race between omap_i2c_idle() and omap_i2c_isr()
Paul Walmsley [Fri, 21 Nov 2008 21:39:45 +0000 (13:39 -0800)]
i2c-omap: Close suspected race between omap_i2c_idle() and omap_i2c_isr()

omap_i2c_idle() sets an internal flag, "dev->idle", instructing its
ISR to decline interrupts.  It sets this flag before it actually masks
the interrupts on the I2C controller.  This is problematic, since an
I2C interrupt could arrive after dev->idle is set, but before the
interrupt source is masked.  When this happens, Linux disables the I2C
controller's IRQ, causing all future transactions on the bus to fail.

Symptoms, happening on about 7% of boots:

   irq 56: nobody cared (try booting with the "irqpoll" option)
   <warning traceback here>
   Disabling IRQ #56
   i2c_omap i2c_omap.1: controller timed out

In omap_i2c_idle(), this patch sets dev->idle only after the interrupt
mask write to the I2C controller has left the ARM write buffer.
That's probably the major offender.  For additional prophylaxis, in
omap_i2c_unidle(), the patch clears the dev->idle flag before
interrupts are enabled, rather than afterwards.

The patch has survived twenty-two reboots on the 3430SDP here without
wedging I2C1.  Not absolutely dispositive, but promising!

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoi2c-omap: Do not use interruptible wait call in omap_i2c_xfer_msg
Jarkko Nikula [Fri, 21 Nov 2008 21:39:45 +0000 (13:39 -0800)]
i2c-omap: Do not use interruptible wait call in omap_i2c_xfer_msg

If there is a signal pending and wait_for_completion_interruptible_timeout
terminates with -ERESTARTSYS, we return and disable the i2c clocks in
omap_i2c_xfer.

If we terminate before sending last i2c message with a stop condition, the
bus remains busy and we are not able to send new messages into bus with
successive omap_i2c_xfer calls. Therefore a pending signal is not caught
here and we return only because of timeout or i2c error.

Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoOMAP3: I2C: Enable I2C wakeups
Kalle Jokiniemi [Tue, 18 Nov 2008 15:43:14 +0000 (17:43 +0200)]
OMAP3: I2C: Enable I2C wakeups

I2C_WE registers were not configured, which caused huge delays in
I2C operations while cpu idle was enabled and omap entered WFI.

This patch enables all I2C wakeup sources.

Signed-off-by: Kalle Jokiniemi <ext-kalle.jokiniemi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>