aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/benet/be_main.c
Commit message (Collapse)AuthorAge
...
* | be2net: remove one useless lineSathya Perla2011-03-31
| | | | | | | | | | Signed-off-by: Sathya Perla <sathya.perla@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | be2net: cancel be_worker in be_shutdown() even when i/f is downSathya Perla2011-03-31
| | | | | | | | | | | | | | | | 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>
* | be2net: remove redundant code in be_worker()Sathya Perla2011-03-31
| | | | | | | | | | Signed-off-by: Sathya Perla <sathya.perla@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | be2net: parse vid and vtm fields of rx-compl only if vlanf bit is setSathya Perla2011-03-31
| | | | | | | | | | Signed-off-by: Sathya Perla <sathya.perla@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | be2net: refactor code that decides adapter->num_rx_queuesSathya Perla2011-03-31
|/ | | | | | | | | 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>
* be2net: Copyright notice change. Update to Emulex instead of ServerEnginesAjit Khaparde2011-03-16
| | | | | Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: Fix UDP packet detected status in RX complPadmanabh Ratnakar2011-03-15
| | | | | | | | | 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>
* be2net: changes for BE3 native mode supportSathya Perla2011-03-14
| | | | | | | | | 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>
* be2net: Add multicast filter capability for LancerPadmanabh Ratnakar2011-03-07
| | | | | | | | | | 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>
* be2net: Disarm CQ and EQ to disable interrupt in LancerPadmanabh Ratnakar2011-03-07
| | | | | | | | | | 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>
* be2net: Remove TX Queue stop in closePadmanabh Ratnakar2011-03-07
| | | | | | | | | 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>
* be2net: Add error recovery during load for LancerPadmanabh Ratnakar2011-03-07
| | | | | | | | | 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>
* be2net: Checksum field valid only for TCP/UDPPadmanabh Ratnakar2011-03-07
| | | | | | | | | 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>
* be2net: Remove ERR compl workaround for LancerPadmanabh Ratnakar2011-03-07
| | | | | | | | | | 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>
* benet: use GFP_KERNEL allocations when possibleEric Dumazet2011-03-03
| | | | | | | | | 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>
* be2net: use hba_port_num instead of port_numAjit Khaparde2011-02-22
| | | | | | | | 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>
* be2net: fix to ignore transparent vlan ids wrongly indicated by NICAjit Khaparde2011-02-22
| | | | | | | | | 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>
* be2net: variable name changeAjit Khaparde2011-02-22
| | | | | | | 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>
* be2net: detect a UE even when a interface is down.Ajit Khaparde2011-02-12
| | | | | Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: gracefully handle situations when UE is detectedAjit Khaparde2011-02-12
| | | | | | | 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>
* be2net: fix be_suspend/resume/shutdownAjit Khaparde2011-02-12
| | | | | | | | | | | > 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>
* be2net: pass proper hdr_size while flashing redboot.Ajit Khaparde2011-02-12
| | | | | Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: Allow VFs to call be_cmd_reset_function.Ajit Khaparde2011-02-12
| | | | | Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: pass domain numbers for pmac_add/del functionsAjit Khaparde2011-02-12
| | | | | | | 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>
* be2net: Cleanup the VF interface handlesAjit Khaparde2011-02-12
| | | | | | | 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>
* be2net: call be_vf_eth_addr_config() after register_netdevAjit Khaparde2011-02-12
| | | | | | | | | 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>
* be2net: Initialize and cleanup sriov resources only if pci_enable_sriov has ↵Ajit Khaparde2011-02-12
| | | | | | | succeeded. Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: Use domain id when be_cmd_if_destroy is called.Ajit Khaparde2011-02-12
| | | | | Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: While configuring QOS for VF, pass proper domain idAjit Khaparde2011-02-12
| | | | | | | | 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>
* Merge branch 'master' of ↵David S. Miller2011-02-04
|\ | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
| * be2net: remove netif_stop_queue being called before register_netdev.Ajit Khaparde2011-02-01
| | | | | | | | | | | | | | It is illegal to call netif_stop_queue before register_netdev. Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * be2net: fix a crash seen during insmod/rmmod testAjit Khaparde2011-02-01
| | | | | | | | | | | | | | | | | | While running insmod/rmood in a loop, an unnecessary netif_stop_queue causes the system to crash. Remove the netif_stop_queue call and netif_start_queue in the link status update path. Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | be2net: use device model DMA APIIvan Vecera2011-02-03
|/ | | | | | | | Use DMA API as PCI equivalents will be deprecated. Signed-off-by: Ivan Vecera <ivecera@redhat.com> Acked-by: Ajit Khaparde <ajit.khaparde@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* drivers/net/*/: Use static constJoe Perches2010-12-21
| | | | | | | Using static const generally increases object text and decreases data size. It also generally decreases overall object size. Signed-off-by: Joe Perches <joe@perches.com>
* Merge branch 'master' of ↵David S. Miller2010-12-17
|\ | | | | | | | | | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/bnx2x/bnx2x.h drivers/net/wireless/iwlwifi/iwl-1000.c drivers/net/wireless/iwlwifi/iwl-6000.c drivers/net/wireless/iwlwifi/iwl-core.h drivers/vhost/vhost.c
| * be2net: use mutex instead of spin lock for mbox_lockIvan Vecera2010-12-16
| | | | | | | | | | | | | | | | | | | | Since the mbox polling uses the schedule_timeout, the mbox_lock should be a mutex and not a spin lock. The commit f25b03a replaced udelay() with schedule_timeout() but didn't change mbox_lock to semaphore or mutex. Signed-off-by: Ivan Vecera <ivecera@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | be2net: Handle out of buffer completions for lancerSathya Perla2010-12-06
| | | | | | | | | | | | | | | | | | | | | | | | | | If Lancer chip does not have posted RX buffers, it posts an RX completion entry with the same frag_index as the last valid completion. The Error bit is also set. In BE, a flush completion is indicated with a zero value for num_rcvd in the completion. Such completions don't carry any data and are not processed. This patch refactors code to handle both cases with the same code. 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>
* | be2net: Fix be_dev_family_check() return value checkSathya Perla2010-12-06
| | | | | | | | | | Signed-off-by: Sathya Perla <sathya.perla@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net: Fix too optimistic NETIF_F_HW_CSUM featuresMichał Mirosław2010-12-06
| | | | | | | | | | | | | | | | | | | | NETIF_F_HW_CSUM is a superset of NETIF_F_IP_CSUM+NETIF_F_IPV6_CSUM, but some drivers miss the difference. Fix this and also fix UFO dependency on checksumming offload as it makes the same mistake in assumptions. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Jon Mason <jon.mason@exar.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | be2net: adding support for Lancer family of CNAsSathya Perla2010-11-27
|/ | | | | | | | | | | | | | | | | Key changes are: - EQ ids are not assigned consecutively in Lancer. So, fix mapping of MSIx vector to EQ-id. - BAR mapping and some req locations different for Lancer. - TCP,UDP,IP checksum fields must be compulsorily set in TX wrb for TSO in Lancer. - CEV_IST reg not present in Lancer; so, peek into event queue to check for new entries - cq_create and mcc_create cmd interface is different for Lancer; handle accordingly 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>
* be2net: Fix to avoid firmware update when interface is not open.Sarveshwar Bandi2010-11-19
| | | | | | | | | | Since interrupts are enabled only when open is called on the interface, Attempting a firmware update operation when interface is down could lead to partial success or failure of operation. This fix fails the request if netif_running is false. Signed-off-by: Sarveshwar Bandi <Sarveshwar.Bandi@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: Schedule/Destroy worker thread in probe()/remove() rather than ↵Somnath Kotur2010-10-27
| | | | | | | | | | | | open()/close() When async mcc compls are rcvd on an i/f that is down (and so interrupts are disabled) they just lie unprocessed in the compl queue.The compl queue can eventually get filled up and cause the BE to lock up.The fix is to use be_worker to reap mcc compls when the i/f is down.be_worker is now launched in be_probe() and canceled in be_remove(). Signed-off-by: Somnath Kotur <somnath.kotur@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: Fix CSO for UDP packetsSomnath Kotur2010-10-25
| | | | | | | | We're setting skb->ip_summed to CHECKSUM_NONE for all non-TCP pkts, making the stack recompute checksum.This is a bug for UDP pkts for which cso must be used. Signed-off-by: Somnath Kotur <somnath.kotur@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: Call netif_carier_off() after register_netdev()Somnath Kotur2010-10-25
| | | | | | | | | Calling netif_carrier_off before register_netdev was causing the network interface to miss a linkwatch pending event leading to an inconsistent state if the link is not up when interface is initialized.This is now invoked after register_netdev. Signed-off-by: Somnath Kotur <somnath.kotur@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* benet: make be_poll_rx localstephen hemminger2010-10-24
| | | | | | | Only used in one file. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* benet: remove dead codestephen hemminger2010-10-24
| | | | | | | | The following code and data are defined but never used in current driver. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: Changes to use only priority codes allowed by f/wSomnath Kotur2010-10-21
| | | | | | | | | | Changes to use one of the priority codes allowed by CNA f/w for NIC traffic from host. The driver gets the bit map of the priority codes allowed for host traffic through a asynchronous message from the f/w that the driver subscribes to. Signed-off-by: Somnath Kotur <somnath.kotur@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* vlan: Don't check for vlan group before vlan_tx_tag_present.Jesse Gross2010-10-21
| | | | | | | | | | | | | Many (but not all) drivers check to see whether there is a vlan group configured before using a tag stored in the skb. There's not much point in this check since it just throws away data that should only be present in the expected circumstances. However, it will soon be legal and expected to get a vlan tag when no vlan group is configured, so remove this check from all drivers to avoid dropping the tags. Signed-off-by: Jesse Gross <jesse@nicira.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* vlan: Rename VLAN_GROUP_ARRAY_LEN to VLAN_N_VID.Jesse Gross2010-10-21
| | | | | | | | | | VLAN_GROUP_ARRAY_LEN is simply the number of possible vlan VIDs. Since vlan groups will soon be more of an implementation detail for vlan devices, rename the constant to be descriptive of its actual purpose. Signed-off-by: Jesse Gross <jesse@nicira.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: add multiple RX queue supportSathya Perla2010-10-04
| | | | | | | | | This patch adds multiple RX queue support to be2net. There are upto 4 extra rx-queues per port into which TCP/UDP traffic can be hashed into. Some of the ethtool stats are now displayed on a per queue basis. Signed-off-by: Sathya Perla <sathya.perla@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>