2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2025-01-27 08:05:27 +08:00
Commit Graph

425 Commits

Author SHA1 Message Date
Mark Einon
644bbf95f5 staging: et131x: Simplify for loop in et131x_init_send()
The for loop in this function increments two variables and has an unusual
starting index of 1 (not 0). Make it look more familiar.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-29 13:00:23 -04:00
Mark Einon
ccb32b13c7 staging: et131x: Audit and update comments
Many of the functions and variables in the driver have been renamed and are now
more understandable, as well as defines added for various constants. Update /
remove some comments to reflect this.

Also many comments were unnecessary dialogue describing what is evident
from the code, or comments were just plain incorrect. Remove these too.

Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-29 13:00:23 -04:00
Mark Einon
20187a7b69 staging: et131x: Remove unnecessary parentheses
Reported-by: Joe Perches <joe@perches.com>
Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-28 21:58:12 -04:00
Mark Einon
177e882ee8 staging: et131x: Remove unnecessary OOM message
Reported-by: Joe Perches <joe@perches.com>
Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-28 21:58:12 -04:00
Mark Einon
f4aae620e3 staging: et131x: Cat some lines less than 80 columns
Some split lines are less than 80 chars if rejoined, so rejoin them.

Reported-by: Joe Perches <joe@perches.com>
Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-28 21:58:12 -04:00
Mark Einon
37dcca4364 staging: et131x: Use ether_addr_copy when copying ethernet addresses
Reported-by: Joe Perches <joe@perches.com>
Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-28 21:58:12 -04:00
Mark Einon
d40f0d8d3d staging: et131x: Remove unnecessary defines to enable driver PM
The Power Management functions can be conditional by assigning pm ops
directly to .driver.pm, instead of using #ifdef's, saving some lines of
code.

Reported-by: Tobias Klauser <tklauser@distanz.ch>
Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-23 23:38:16 -07:00
Mark Einon
b57cb55b46 staging: et131x: Add space after { in pci ID table
Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-23 23:38:16 -07:00
Mark Einon
ecce565056 staging: et131x: don't cast a void* to a struct pointer
Casting a void* popinter to a struct pointer is unnecessary, don't do
it.

Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-23 23:38:15 -07:00
Mark Einon
e112eb598d staging: et131x: zero allocation of fbr to prevent random address access
If et131x_rx_dma_memory_alloc() allocates rx_ring->fbr[0] but fails to
allocate rx_ring->fbr[1], this leaves fbr[0]->ring_virtaddr with the
possibility of being accessed in et131x_rx_dma_memory_free() as it
contains a random value, potentially causing an oops.

Fix this by zeroing the fbr memory on allocation. Subsequent frees of
this fbr memory explicitly zeros the ring_virtaddr value.

Reported-by: Tobias Klauser <tklauser@distanz.ch>
Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-23 23:38:15 -07:00
Mark Einon
b9ed09b3bc staging: et131x: Remove TODO item regarding split lines
Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-23 11:35:09 -07:00
Mark Einon
26ca0f1b1a staging: et131x: Reduce split lines by renaming flowcontrol
Rename adapter->flowcontrol to adapter->flow, reducing split lines.

Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-23 11:35:09 -07:00
Mark Einon
c9e3c03a76 staging: et131x: Use braces on all arms of if/else in et131x_handle_recv_pkts
The 'if' blocks have braces, so the 'else' blocks should too.

Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-23 11:35:08 -07:00
Mark Einon
3f4d202942 staging: et131x: Reduce split lines by renaming some psr variables
Modify some packet status ring associated variables to save a few
split lines:

pktstat_ringsize -> psr_size
psr_num_entries -> psr_entries
index -> ii

Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-23 11:35:08 -07:00
Mark Einon
a02a26f0d6 staging: et131x: Reduce split lines in et131x_rx_dma_memory_alloc()
Modify temporary variables so that split lines can be reduced:

index -> k
fbr_tmp_physaddr -> fbr_physaddr

Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-23 11:35:08 -07:00
Mark Einon
3b11d00df7 staging: et131x: Remove unused ce_stats struct member
This ce_stats struct member is no longer used. Remove it.

Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-23 11:35:08 -07:00
Mark Einon
d99249f17b staging: et131x: Remove unused MP_TCB defines
These two defines are not used, so remove them.

Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-23 11:35:08 -07:00
Mark Einon
365027332b staging: et131x: Remove unused et131x_adapter struct members
These two adapter struct members are not used, remove them.

Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-23 11:35:08 -07:00
Mark Einon
cec78b98df staging: et131x: logical continuations should be on the previous line
Fix two occurrences of the checkpatch check:

CHECK: Logical continuations should be on the previous line

Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-19 16:05:20 -07:00
Mark Einon
d855b8935e staging: et131x: Fix 'else is not generally useful after a break or return'
Fix this checkpatch warning:

WARNING: else is not generally useful after a break or return

Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-19 16:05:20 -07:00
Mark Einon
b6cb966074 staging: et131x: Use variable names instead of types in sizeof
A few calls to sizeof() in et131x.c give the type as a parameter
- use the equivalent variable name instead.

Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-19 16:05:20 -07:00
Mark Einon
ee60c8ec32 staging: et131x: Use braces on all arms of if/else statements
In some places in et131x.c, one arm of am if/else statement has braces
and the other not - put braces on both arms where this happens.

Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-19 16:05:19 -07:00
Mark Einon
c13756784a staging: et131x: Remove spaces after casts
In three places in et131x.c, spaces exist after a cast. Remove them.

Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-19 16:05:19 -07:00
Mark Einon
48c8f78914 staging: et131x: Add spinlock definition comments
Checkpatch --strict advises that spinlocks should be described when
defined, seems a good idea so this change does that.

Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-19 16:04:52 -07:00
Mark Einon
0c55fe2018 staging: et131x: Remove useless assignment to NULL
The stack variable skb is no longer used after it's set to
NULL. Don't set it to NULL.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-19 16:04:52 -07:00
Mark Einon
bacb71edb4 staging: et131x: Remove send_hw_lock spinlock
We don't need to use this lock - the tx path is protected by the
networking subsystem xmit_lock, so we don't also need it in
nic_send_packet().

The other use of this spinlock in et1310_enable_phy_coma() to protect
a low power flag makes no sense, so can just be removed.

Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-19 16:04:52 -07:00
Mark Einon
82d95799d8 staging: et131x: Simplify unlocking tcb_send_qlock in et131x_tx_timeout()
The tcb_send_qlock spinlock is unlocked in all three paths at the end of
et131x_tx_timeout(). We can call it once before entering any of the paths,
saving ourselves a few lines of code.

This change puts tcb->count++ outside of the lock, but et131x_tx_timeout()
itself is protected by the tx_global_lock, so this shouldn't matter.

Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-19 16:04:52 -07:00
Mark Einon
0b06912b84 staging: et131x: Remove blank lines form et131x.c
Remove some unecessary blank lines from et131x.c

Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-19 16:04:52 -07:00
Mark Einon
82bb0be4c0 staging: et131x: Remove extra blank lines in et131x.h
Remove some blank lines from et131.h, including double blank lines.

Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-19 16:04:51 -07:00
Mark Einon
be685bb01f staging: et131x: Remove 'reduce number of spinlocks' TODO item
The number of spinlocks has been halved, from 8 to 4 since this
comment was made, let's see if this is enough.

Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-19 16:02:12 -07:00
Mark Einon
8019f2e2aa staging: et131x: Simplify code in nic_rx_pkts() for multicast_pkts_rcvd
In nic_rx_pkts(), we check that a multicast packet received (when using
a multicast list) is one that was requested - despite setting the list
up with the hardware. We shouldn't expect to get a mc packet we didn't
ask for, so remove these extra checks.

This also means that the surrounding code can be tiedied up a little.

Tested somewhat with omping, with no adverse effects seen.

Also remove this item from the TODO list.

Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-19 16:02:12 -07:00
Mark Einon
668caa674c staging: et131x: Combine two if statements with same effect
Both these if statements have the same effect when true, so combine
them and save a few lines.

Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-19 16:02:12 -07:00
Mark Einon
97cd38dc93 staging: et131x: Remove struct tcb->flags
'struct tcb' member 'flags' was only used to collect tx stats, now
we are no longer collecting those particular stats, we no longer
need tcb->flags or the code used to peek into the skb to set it's
value.

Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-19 16:02:12 -07:00
Mark Einon
f7cc9e0fd4 staging: et131x: Remove ununsed statistics
From struct ce_stats; unicast_pkts_rcvd, unicast_pkts_xmtd,
multicast_pkts_xmtd, broadcast_pkts_rcvd and broadcast_pkts_xmtd
are not returned or used for anything meaningful - remove the code
that collects them, and the struct members too.

Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-19 16:02:12 -07:00
Mark Einon
23780f077b staging: et131x: Tidy up rx/tx dropped & bytes stats
Remove some fairly useless comments regarding rx/tx _bytes and
_dropped, and use rcvd_pkts_dropped stat value to provide rx_dropped.

Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-19 16:02:12 -07:00
Mark Einon
701b943e5c staging: et131x: In et131x_tx(), don't return NETDEV_TX_BUSY, just drop the packet
Memory allocation errors do not denote NETDEV_TX_BUSY, simply drop
the packet silently with kfree_skb() and return NETDEV_TX_OK.

Also remove this item from the TODO list.

Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-19 16:02:12 -07:00
Mark Einon
4792e6d136 staging: et131x: Remove et131x_send_packets() function
Remove et131x_send_packets() and replace the only use in et131x_tx
with the removed function's body.

Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-19 16:02:12 -07:00
Mark Einon
096e622438 staging: et131x: Fix whitespace - alignment matching open parenthesis
Fix occurrences in et131x.c of:

CHECK: Alignment should match open parenthesis

Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-08 13:47:01 -07:00
Mark Einon
bbf45bcfda staging: et131x: Add auto-negotiation and 1000BT_Half as supported protocols
The driver supports auto-negotiation and 100BaetT_Half but doesn't
advertise or list it in it's phydev. Fix that.

Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-08 13:47:01 -07:00
Mark Einon
8b09e8cf36 staging: et131x: Remove spinlock fbr_lock
The spinlock fbr_lock is only used in a single call sequence staring
from et131x_poll. As this call is already locked by napi->poll_lock,
we can remove it.

Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-08 13:47:01 -07:00
Mark Einon
be40a261aa staging: et131x: Remove dead code in isr
Dan Carpenter reports:
The patch c2ebf58ba0: "staging: et131x: Implement NAPI support"
from Aug 21, 2014, leads to the following static checker warning:

        drivers/staging/et131x/et131x.c:4004 et131x_isr()
        warn: we tested 'status' before and it was 'true'

We don't actually need the dead code, as we're now using NAPI to
handle enabling interrupts - but we do need to enable interrupts if
NAPI is not scheduled - so enable interrupts if this is the case.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-08 13:47:00 -07:00
Sudip Mukherjee
1a5a5cbc39 staging: et131x: et131x.c: sparse warning of incompatible types
fixed sparse warning:   incompatible types in comparison expression
			(different address spaces)

wolw and reg both are being used only for the initialization of
the __iomem area.

Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-02 10:57:03 -07:00
Greg Kroah-Hartman
e9723bf2ad Merge 3.17-rc3 into staging-next
We want the staging bugfixes in this branch as well.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-08-31 20:53:12 -07:00
Mark Einon
c2ebf58ba0 staging: et131x: Implement NAPI support
This implements NAPI support for et131x by:

-adding a napi_struct to the private adapter struct
-changing netfif_rx_skb() call to netif_receive_skb()
-changing et131x_handle_recv_interrupt() to et131x_handle_recv_pkts()
 and taking a budget allocation.
-changing et131x_handle_send_interrupt() to et131x_handle_send_pkts()
-replacing bottom half workqueue with poll function which handles
 send & receive of skbs.
-adding various other necessary standard napi calls.

Also remove this item from the README TODO list.

Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-08-30 13:35:37 -07:00
Mark Einon
df7b3b8a3a staging: et131x: Fix ET_INTR_TXDMA_ISR register name typo
We actually mean to clear the ET_INTR_TXDMA_ISR reg after handling
a completed transfer, not the ET_INTR_TXDMA_ERR reg, which should
get handled immediately after.

Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-08-30 13:34:47 -07:00
Mark Einon
b60e6d0ad3 staging: et131x: Rename NUM_PACKETS_HANDLED to MAX_PACKETS_HANDLED
To better describe it's use as a hard limit.

Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-08-30 13:34:23 -07:00
Mark Einon
5a5835ea5f staging: et131x: Remove unnecessary i2c_wack variable
i2c_wack is only used to implement a while(1) loop, so let's remove it.

Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-08-30 13:34:08 -07:00
Mark Einon
becce4a47e staging: et131x: Use for loop to initialise contiguous macstat registers to zero
Replace a long list of contiguous writel() calls with a for loop iterating
over the same address values.

Also remove redundant comments on the macstat registers, the variable names
are good enough.

Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-08-30 13:33:23 -07:00
Mark Einon
6697b87051 staging: et131x: Use for loop to initialise contiguous registers to zero
Replace a long list of contiguous writel() calls with a for loop iterating
over the same values.

Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-08-30 13:33:23 -07:00
Mark Einon
bcbadc04c5 staging: et131x: Don't handle rx/tx packets when changing mtu
There's no need to handle any rx/tx interrupts in the middle of an mtu
change, so don't.

After this change, receive and transmit interrupts are only handled in
one place, which paves the way to using NAPI.

Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-08-30 13:32:36 -07:00