Commit Graph

261 Commits

Author SHA1 Message Date
Ajit Khaparde
48f5a19168 be2net: dynamically allocate adapter->vf_cfg
Instead of a fixed sized array for vf_cfg, allocate the size dynamically
depending on number of VFs the device supports.

Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-04-07 15:04:45 -07:00
Ajit Khaparde
81be8f0ab4 be2net: fix to get max VFs supported from adapter
The user supplied num_vfs value need not be compared
against a static BE_MAX_VF, but can be checked against
the actual VFs that the device can support.

Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-04-07 15:04:45 -07:00
Ajit Khaparde
b0060586d2 be2net: use common method to check for sriov function type
Lancer and BE can both use SLI_INTF_REG to check a VF or a PF.

Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-04-07 15:04:44 -07:00
Ajit Khaparde
4b97291429 be2net: add rxhash support
Add rxhash support,
Based on initial work by Eric Dumazet.

Cc: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-04-07 15:04:44 -07:00
David S. Miller
c1e48efc70 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts:
	drivers/net/benet/be_main.c
2011-04-07 14:05:23 -07:00
Padmanabh Ratnakar
1f5db83375 be2net: Fix suspend/resume operation
eq_next_idx is not getting reset to zero during suspend.
This causes resume to fail. Added the fix.

Signed-off-by: Sarveswara Rao Mygapula <sarveswararao.mygapula@emulex.com>
Signed-off-by: Padmanabh Ratnakar <padmanabh.ratnakar@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-04-06 14:40:15 -07:00
Padmanabh Ratnakar
ecd6210765 be2net: Rename some struct members for clarity
Renamed msix_vec_idx to eq_idx in be_eq_obj struct.
Renamed msix_vec_next_idx to eq_next_idx in be_adapter structure.
These members are used in INTX mode also.

Signed-off-by: Sarveswara Rao Mygapula <sarveswararao.mygapula@emulex.com>
Signed-off-by: Padmanabh Ratnakar <padmanabh.ratnakar@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-04-06 14:40:15 -07:00
stephen hemminger
1a64246913 benet: convert to set_phys_id
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-04-06 14:35:22 -07:00
Ajit Khaparde
2d5d415465 be2net: Fix a potential crash during shutdown.
adapter could remain uninitialized if probe fails for some reason.
A null pointer access could cause a crash if be_shutdown
is called after that.

Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-04-06 12:40:18 -07:00
Sathya Perla
e8c37c8000 be2net: remove one useless line
Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-03-30 21:39:21 -07:00
Sathya Perla
0f4a682882 be2net: cancel be_worker in be_shutdown() even when i/f is down
As the be_worker() workqueue is scheduled in be_probe() it must
be canceled unconditionally in be_shutdown().

Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-03-30 21:39:21 -07:00
Sathya Perla
16da8250df be2net: remove redundant code in be_worker()
Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-03-30 21:39:20 -07:00
Sathya Perla
15d721847f be2net: parse vid and vtm fields of rx-compl only if vlanf bit is set
Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-03-30 21:39:20 -07:00
Sathya Perla
ac6a0c4aab be2net: refactor code that decides adapter->num_rx_queues
The code has been refactored to not set num_rx_qs inside be_enable_msix().
num_rx_qs is now set at the time of queue creation based on the number of
available msix vectors.

Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-03-30 21:39:19 -07:00
Somnath Kotur
311fddc756 be2net: Support for FAT dump retrieval using ethtool --register-dump option
Signed-off-by: Somnath Kotur <somnath.kotur@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-03-30 21:39:19 -07:00
Ajit Khaparde
c888385a0d be2net: Bump up the version number
Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-03-16 11:29:47 -07:00
Ajit Khaparde
d2145cde58 be2net: Copyright notice change. Update to Emulex instead of ServerEngines
Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-03-16 11:29:46 -07:00
Padmanabh Ratnakar
9ecb42fda6 be2net: Fix UDP packet detected status in RX compl
Status of UDP packet detection not getting populated in RX completion
structure. This is required in csum_passed() routine.

Signed-off-by: Padmanabh Ratnakar <padmanabh.ratnakar@emulex.com>
Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-03-15 14:57:09 -07:00
Sathya Perla
2e588f84f2 be2net: changes for BE3 native mode support
So far be2net has been using BE3 in legacy mode. It now checks for native
 mode capability and if available it sets it. In native mode, the RX_COMPL
 structure is different from that in legacy mode.

Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-03-14 15:17:09 -07:00
Padmanabh Ratnakar
f21b538ced be2net: Add multicast filter capability for Lancer
Lancer requires multicast capability flag set during IFACE_CREATE
for adding multicast filters.

Signed-off-by: Padmanabh Ratnakar <padmanabh.ratnakar@emulex.com>
Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: Subramanian Seetharaman <subbu.seetharaman@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-03-07 15:26:58 -08:00
Padmanabh Ratnakar
63fcb27fdc be2net: Disarm CQ and EQ to disable interrupt in Lancer
For Lancer disable interrupts in close by disarming CQs and EQs.
Change the order of calls in be_close to achieve the correct result.

Signed-off-by: Padmanabh Ratnakar <padmanabh.ratnakar@emulex.com>
Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: Subramanian Seetharaman <subbu.seetharaman@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-03-07 15:26:58 -08:00
Padmanabh Ratnakar
d8a29d3159 be2net: Remove TX Queue stop in close
Remove TX Queue stop in close

Signed-off-by: Padmanabh Ratnakar <padmanabh.ratnakar@emulex.com>
Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: Subramanian Seetharaman <subbu.seetharaman@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-03-07 15:26:57 -08:00
Padmanabh Ratnakar
8b7756ca52 be2net: Change f/w command versions for Lancer
Change f/w command versions for Lancer

Signed-off-by: Padmanabh Ratnakar <padmanabh.ratnakar@emulex.com>
Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: Subramanian Seetharaman <subbu.seetharaman@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-03-07 15:26:57 -08:00
Padmanabh Ratnakar
37eed1cbbd be2net: Add error recovery during load for Lancer
Add error recovery during load for Lancer

Signed-off-by: Padmanabh Ratnakar <padmanabh.ratnakar@emulex.com>
Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: Subramanian Seetharaman <subbu.seetharaman@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-03-07 15:26:56 -08:00
Padmanabh Ratnakar
19fad86f3b be2net: Checksum field valid only for TCP/UDP
L4 checksum field is valid only for TCP/UDP packets in Lancer

Signed-off-by: Padmanabh Ratnakar <padmanabh.ratnakar@emulex.com>
Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: Subramanian Seetharaman <subbu.seetharaman@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-03-07 15:26:56 -08:00
Padmanabh Ratnakar
e80d9da651 be2net: Remove ERR compl workaround for Lancer
Workaround added for Lancer in handling RX ERR completion received
when no RX buffers are posted is not needed.

Signed-off-by: Padmanabh Ratnakar <padmanabh.ratnakar@emulex.com>
Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: Subramanian Seetharaman <subbu.seetharaman@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-03-07 15:26:55 -08:00
Eric Dumazet
1829b086d1 benet: use GFP_KERNEL allocations when possible
Extend be_alloc_pages() with a gfp parameter, so that we use GFP_KERNEL
allocations instead of GFP_ATOMIC when not running in softirq context.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Acked-by: Ajit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-03-03 13:02:30 -08:00
Ajit Khaparde
9e1453c5c5 be2net: use hba_port_num instead of port_num
Use hba_port_num for phy loopback and ethtool phy identification.

From: Suresh R <suresh.reddy@emulex.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-22 10:26:47 -08:00
Ajit Khaparde
609ff3bb8f be2net: add code to display temperature of ASIC
Add support to display temperature of ASIC via ethtool -S

From: Somnath K <somnath.kotur@emulex.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-22 10:26:46 -08:00
Ajit Khaparde
3968fa1e58 be2net: fix to ignore transparent vlan ids wrongly indicated by NIC
With transparent VLAN tagging, the ASIC wrongly indicates packets with VLAN ID.
Strip them off in the driver. The VLAN Tag to be stripped will be given to the host
as an async message.

Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-22 10:26:46 -08:00
Ajit Khaparde
b2aebe6d81 be2net: variable name change
change occurances of stats_ioctl_sent to stats_cmd_sent

Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-22 10:26:45 -08:00
Ajit Khaparde
4ee772144f be2net: fixes in ethtool selftest
> add missing separator between items in ethtool self_test array
> fix reporting of test resluts when link is down and
  when selftest command fails.

From: Suresh R <suresh.reddy@emulex.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-22 10:26:45 -08:00
Ajit Khaparde
f6c4bf3e69 be2net: add new counters to display via ethtool stats
New counters:
	> jabber frame stats
	> red drop stats

Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-22 10:26:44 -08:00
Ajit Khaparde
dcf96f1ff6 be2net: restrict WOL to PFs only.
WOL is not supported for Vrtual Functions.

Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-11 21:14:49 -08:00
Ajit Khaparde
9b037f3811 be2net: detect a UE even when a interface is down.
Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-11 21:14:49 -08:00
Ajit Khaparde
7acc2087fa be2net: gracefully handle situations when UE is detected
Avoid accessing the hardware when UE is detected.

Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-11 21:14:48 -08:00
Ajit Khaparde
a4ca055fc3 be2net: fix be_suspend/resume/shutdown
> call pci msix disable in be_suspend
	> call pci msix enable in be_resume
	> stop worker thread in be_suspend
	> start worker thread in be_resume
	> stop worker thread in be_shutdown

Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-11 21:14:48 -08:00
Ajit Khaparde
fae21a4da5 be2net: pass proper hdr_size while flashing redboot.
Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-11 21:14:47 -08:00
Ajit Khaparde
60964dd708 be2net: Fix broken priority setting when vlan tagging is enabled.
Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-11 21:14:47 -08:00
Ajit Khaparde
a4b4dfab6c be2net: Allow VFs to call be_cmd_reset_function.
Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-11 21:14:46 -08:00
Ajit Khaparde
f8617e0860 be2net: pass domain numbers for pmac_add/del functions
be_cmd_pmac_add/del functions need to pass domain number to the firmware.

Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-11 21:14:46 -08:00
Ajit Khaparde
7a2414a50b be2net: For the VF MAC, use the OUI from current MAC address
Currently we are always using the Emulex OUI for a VF MAC address
while generating MAC for a VF.  Use OUI from current MAC instead.

Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-11 21:14:45 -08:00
Ajit Khaparde
7ab8b0b432 be2net: Cleanup the VF interface handles
The PF needs to cleanup all the interface handles that it created for the VFs.

Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-11 21:14:45 -08:00
Ajit Khaparde
e63193652b be2net: call be_vf_eth_addr_config() after register_netdev
This is to avoid the completion processing for be_vf_eth_addr_config
to consume the link status notification before netdev_register.
Otherwise this causes the PF miss its first link status update.

Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-11 21:14:44 -08:00
Ajit Khaparde
c99ac3e7e4 be2net: Initialize and cleanup sriov resources only if pci_enable_sriov has succeeded.
Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-11 21:14:44 -08:00
Ajit Khaparde
658681f725 be2net: Use domain id when be_cmd_if_destroy is called.
Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-11 21:14:43 -08:00
Ajit Khaparde
6bff57a7a6 be2net: endianness fix in be_cmd_set_qos().
Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-11 21:14:43 -08:00
Ajit Khaparde
856c40125a be2net: While configuring QOS for VF, pass proper domain id
While configuring QOS for VFs, the VF number should be translated
to domain number correctly.

Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-11 21:14:42 -08:00
David S. Miller
263fb5b1bf Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts:
	drivers/net/e1000e/netdev.c
2011-02-08 17:19:01 -08:00
Ajit Khaparde
e45ff01d3f benet: Avoid potential null deref in be_cmd_get_seeprom_data()
Found by: Jesper Juhl <jj@chaosbits.net>

Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-05 17:58:18 -08:00