Commit graph android_kernel_sony_sdm845/drivers/net/ipg.c
Message SHA1
drivers/net/ipg.c: remove unused variable
The variable gig is initialized but never used otherwise.

The semantic patch that makes this change is as follows:
(http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@@
type T;
identifier i;
constant C;
@@

(
extern T i;
|
- T i;
  <+... when != i
- i = C;
  ...+>
)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Jeff Garzik <jeff@garzik.org>

Julia Lawall   authored and   Jeff Garzik   commited 2008-03-17 07:56:42 -04:00
b97ef8757b
ipg fix
spurious cpu_to_le64()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Jeff Garzik <jeff@garzik.org>

Al Viro   authored and   Jeff Garzik   commited 2008-03-17 07:56:36 -04:00
48f5fec548
ipg: add __devexit annotation
ipg_remove() can become __devexit.

Signed-off-by: Adrian Bunk <bunk@kernel.org>

Adrian Bunk   authored and   David S. Miller   commited 2008-01-28 15:05:54 -08:00
ef3122463d
ipg: fix checkpatch reported errors
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Cc: Francois Romieu <romieu@fr.zoreil.com>
Cc: Sorbica Shieh <sorbica@icplus.com.tw>
Cc: Jesse Huang <jesse@icplus.com.tw>

Pekka Enberg   authored and   David S. Miller   commited 2008-01-28 15:05:53 -08:00
8da5bb7a27
ipg: naming convention fixes
This changes some camel-case names to follow proper kernel naming convention.

Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Cc: Francois Romieu <romieu@fr.zoreil.com>
Cc: Sorbica Shieh <sorbica@icplus.com.tw>
Cc: Jesse Huang <jesse@icplus.com.tw>
Signed-off-by: David S. Miller <davem@davemloft.net>

Pekka Enberg   authored and   David S. Miller   commited 2008-01-28 15:05:52 -08:00
9893ba16c8
ipg: remove some internal comments
This removes some now useless comments that were added when the driver was
developed out-of-tree.

Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Cc: Francois Romieu <romieu@fr.zoreil.com>
Cc: Sorbica Shieh <sorbica@icplus.com.tw>
Cc: Jesse Huang <jesse@icplus.com.tw>

Pekka Enberg   authored and   David S. Miller   commited 2008-01-28 15:05:51 -08:00
dea4a87cab
ipg: remove commented out code
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Cc: Francois Romieu <romieu@fr.zoreil.com>
Cc: Sorbica Shieh <sorbica@icplus.com.tw>
Cc: Jesse Huang <jesse@icplus.com.tw>

Pekka Enberg   authored and   David S. Miller   commited 2008-01-28 15:05:51 -08:00
6d3b2cb92b
ipg: remove driver version
The driver is in mainline now so there's no need to maintain a separate version
number.

Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Cc: Francois Romieu <romieu@fr.zoreil.com>
Cc: Sorbica Shieh <sorbica@icplus.com.tw>
Cc: Jesse Huang <jesse@icplus.com.tw>

Pekka Enberg   authored and   David S. Miller   commited 2008-01-28 15:05:50 -08:00
1662e4b7af
ipg: remove IPG_DEV_KFREE_SKB macro
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Cc: Francois Romieu <romieu@fr.zoreil.com>
Cc: Sorbica Shieh <sorbica@icplus.com.tw>
Cc: Jesse Huang <jesse@icplus.com.tw>

Pekka Enberg   authored and   David S. Miller   commited 2008-01-28 15:05:49 -08:00
85d68a5883
ipg: fix Tx completion irq request
The current logic will only request an ack for the first pending
packet. No irq is triggered as soon as the CPU submits a few
packets a bit quickly.  Let's request an irq for every packet
instead.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>

Francois Romieu   commited 2008-01-17 23:35:09 +01:00
47cccd7d7c
ipg: fix queue stop condition in the xmit handler
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>

Francois Romieu   commited 2008-01-17 23:35:09 +01:00
dafdec746f
ipg: plug Tx completion leak
The Tx skb release could not free more than one skb per call.
Add it to the fact that the xmit handler does not check for
a queue full condition and you have a recipe to leak quickly.

Let's release every pending Tx descriptor which has been given
back to the host CPU by the network controller. The xmit handler
suggests that it is done through the IPG_TFC_TFDDONE bit.

Remove the former "curr" computing: it does not produce anything
usable in its current form.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>

Francois Romieu   commited 2008-01-17 23:35:09 +01:00
0da1b995ae
ipg: balance locking in irq handler
Spotted-by: <linux@horizon.com>
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>

Francois Romieu   commited 2008-01-17 23:35:09 +01:00
227bc24d67
drivers/net/ipg.c: cleanups
This patch contains the following cleanups:
- make ipg_nic_get_stats() static
- move DefaultPhyParam[] from ipg.h to ipg.c and make it static

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>

Adrian Bunk   authored and   Jeff Garzik   commited 2007-10-25 03:31:13 -04:00
96fd74b2d9
ipg: endianness fixes
if your mask is host-endian, you should apply it after le64_to_cpu();
if it's little-endian - before.  Doing both (for the same mask and
little-endian value) is broken.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

Al Viro   authored and   Linus Torvalds   commited 2007-10-14 12:41:52 -07:00
325a80715f
ipg.c doesn't compile with with CONFIG_HIGHMEM64G
I've tried to compile 2.6.23-rc8-mm2, but it fails on ipg.c with the
error : ERROR: "__udivdi3" [drivers/net/ipg.ko] undefined!

I've instigated a bit, and I've found this code in ipg.c :

static void ipg_nic_txfree(struct net_device *dev)
{
       struct ipg_nic_private *sp = netdev_priv(dev);
       void __iomem *ioaddr = sp->ioaddr;
       const unsigned int curr = ipg_r32(TFD_LIST_PTR_0) -
               (sp->txd_map / sizeof(struct ipg_tx)) - 1;
       unsigned int released, pending;

sp->txd_map is an u64
because :
	dma_addr_t txd_map;

And in asm-i386/types.h, I see :
#ifdef CONFIG_HIGHMEM64G
typedef u64 dma_addr_t;
#else
typedef u32 dma_addr_t;
#endif
I my config, I use CONFIG_HIGHMEM64G

sizeof(struct ipg_tx) is an u32
So the div failed on i386 because of u64 / u32.

[akpm@linux-foundation.org: cleanups]
Cc: Sorbica Shieh <sorbica@icplus.com.tw>
Cc: Jesse Huang <jesse@icplus.com.tw>
Cc: Jeff Garzik <jeff@garzik.org>
Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>

trem   authored and   David S. Miller   commited 2007-10-10 16:54:28 -07:00
1dad939ddb
[IPG]: add IP1000A driver to kernel tree
Signed-off-by: Jesse Huang <jesse@icplus.com.tw>
Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

Francois Romieu   authored and   David S. Miller   commited 2007-10-10 16:51:33 -07:00
1202d6ff35