aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/benet/be_main.c
Commit message (Collapse)AuthorAge
* be2net: fix to avoid sending get_stats request if one is already being ↵Ajit Khaparde2010-07-31
| | | | | | | | | | | | | processed. GET_STATS request uses the same memory region as the response. If a new request for get stats is fired before the response for the previous get_stats request is received, the response will corrupt the new request, causing the f/w to misbehave. Signed-off-by: Somnath K <somnathk@serverengines.com> Signed-off-by: Ajit Khaparde <ajitk@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: add code to dump registers for debugAjit Khaparde2010-07-31
| | | | | | | | when the BE device becomes unresponsive, dump the registers to help debugging Signed-off-by: Somnath K <somnathk@serverengines.com> Signed-off-by: Ajit Khaparde <ajitk@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: fix to correctly know if driver needs to run for a VF or a PFAjit Khaparde2010-07-31
| | | | | | | | Move be_check_sriov_fn_type to appropriate place to correctly determine if the be2net driver needs to work as a VF driver or a PF driver. Signed-off-by: Ajit Khaparde <ajitk@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: variable name changesAjit Khaparde2010-07-23
| | | | | | | This patch changes names of some variables. Signed-off-by: Ajit Khaparde <ajitk@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: code to support tx rate configuration on virtual functionsAjit Khaparde2010-07-23
| | | | | Signed-off-by: Ajit Khaparde <ajitk@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: add vlan support for sriov virtual functionsAjit Khaparde2010-07-23
| | | | | Signed-off-by: Ajit Khaparde <ajitk@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: add support to get vf configAjit Khaparde2010-07-23
| | | | | Signed-off-by: Ajit Khaparde <ajitk@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: change to call pmac_del only if necessaryAjit Khaparde2010-07-23
| | | | | | | | If a mac address has not been configured for a VF, there is no need to call be_cmd_pmac_del. Signed-off-by: Ajit Khaparde <ajitk@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: Patch to determine if function is VF while running in guest OS.Sarveshwar Bandi2010-07-10
| | | | | | | | When driver is loaded in guest OS, the pci variables is_virtfn and is_physfn are both set to 0. This change uses registers in controller to determine the same. Signed-off-by: Sarveshwar Bandi <sarveshwarb@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: memory barrier fixes on IBM p7 platformSathya Perla2010-06-30
| | | | | | | | | | The ibm p7 architecure seems to reorder memory accesses more aggressively than previous ppc64 architectures. This requires memory barriers to ensure that rx/tx doorbells are pressed only after memory to be DMAed is written. Signed-off-by: Sathya Perla <sathyap@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: enable ipv6 tso supportAjit Khaparde2010-06-16
| | | | | | | Add ipv6 support to the be2net driver. Signed-off-by: Ajit Khaparde <ajitk@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: cleanup in case of error in be_open()Sathya Perla2010-06-01
| | | | | | | | | This patch adds cleanup code (things like unregistering irq, disabling napi etc) to be_open() when an error occurs inside the routine. Signed-off-by: Sathya Perla <sathyap@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: Patch removes redundant while statement in loop.Sarveshwar Bandi2010-05-28
| | | | | Signed-off-by: Sarveshwar Bandi <sarveshwarb@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: Bug fix to avoid disabling bottom half during firmware upgrade.Sarveshwar Bandi2010-05-25
| | | | | | | | | | | Certain firmware commands/operations to upgrade firmware could take several seconds to complete. The code presently disables bottom half during these operations which could lead to unpredictable behaviour in certain cases. This patch now does all firmware upgrade operations asynchronously using a completion variable. Signed-off-by: Sarveshwar Bandi <sarveshwarb@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: Bug fix in init code in probeSarveshwar Bandi2010-05-24
| | | | | | | PCI function reset needs to invoked after fw init ioctl is issued. Signed-off-by: Sarveshwar Bandi <sarveshwarb@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* drivers/net: Remove unnecessary returns from void function()sJoe Perches2010-05-14
| | | | | | | | | | | | | | | | | | | | | | This patch removes from drivers/net/ all the unnecessary return; statements that precede the last closing brace of void functions. It does not remove the returns that are immediately preceded by a label as gcc doesn't like that. It also does not remove null void functions with return. Done via: $ grep -rP --include=*.[ch] -l "return;\n}" net/ | \ xargs perl -i -e 'local $/ ; while (<>) { s/\n[ \t\n]+return;\n}/\n}/g; print; }' with some cleanups by hand. Compile tested x86 allmodconfig only. Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* drivers: net: use skb_headlen()Eric Dumazet2010-04-14
| | | | | | | replaces (skb->len - skb->data_len) occurrences by skb_headlen(skb) Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* benet: fix the misusage of zero dma addressFUJITA Tomonori2010-04-07
| | | | | | | | | | | benet driver wrongly assumes that zero is an invalid dma address (calls dma_unmap_page for only non zero dma addresses). Zero is a valid dma address on some architectures. The dma length can be used here. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Acked-by: Sathya Perla <sathyap@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* benet: use the dma state API instead of the pci equivalentsFUJITA Tomonori2010-04-07
| | | | | | | | The DMA API is preferred. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Acked-by: Sathya Perla <sathyap@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge branch 'master' of ↵David S. Miller2010-04-07
|\ | | | | | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/bonding/bond_main.c drivers/net/via-velocity.c drivers/net/wireless/iwlwifi/iwl-agn.c
| * be2net: fix bug in vlan rx path for big endian architectureAjit Khaparde2010-04-01
| | | | | | | | | | | | | | | | | | vlan traffic on big endian architecture is broken. Need to swap the vid before giving packet to stack. This patch fixes it. Signed-off-by: Ajit Khaparde <ajitk@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * be2net: fix flashing on big endian architecturesAjit Khaparde2010-04-01
| | | | | | | | | | | | | | | | | | Flashing is broken on big endian architectures like ppc. This patch fixes it. From: Naresh G <nareshg@serverengines.com> Signed-off-by: Ajit Khaparde <ajitk@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * be2net: fix a bug in flashing the redboot sectionAjit Khaparde2010-04-01
| | | | | | | | | | Signed-off-by: Ajit Khaparde <ajitk@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | be2net: Adding PCI SRIOV supportSarveshwar Bandi2010-04-01
| | | | | | | | | | | | | | | | - Patch adds support to enable PCI SRIOV in the driver and changes to handle initialization of PCI virtual functions. - Function handler to change mac addresses for VF from its corresponding PF. Signed-off-by: Sarveshwar Bandi <sarveshwarb@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net: remove redundant codeEric Dumazet2010-03-31
| | | | | | | | | | | | | | | | eth_type_trans(skb, netdev) does the "skb->dev = netdev;" initialization, we can remove it from various network drivers. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net/various: remove trailing space in messagesFrans Pop2010-03-24
| | | | | | | | | | Signed-off-by: Frans Pop <elendil@planet.nl> Signed-off-by: David S. Miller <davem@davemloft.net>
* | be2net: fix unmap_single/page() called incorrectly in Tx compl processingSathya Perla2010-03-23
| | | | | | | | | | | | | | | | | | | | The first wrb seen by tx compl processing does not have a dma handle in it. Currently, pci_unmap_single() is attempted on this wrb and pci_unmap_page() on the rest. So, pci_unmap_page() gets incorrectly called on the dma hdl of skb->data (that was mapped using map_single()). This patch fixes this issue. Signed-off-by: Sathya Perla <sathyap@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | be2net: handle dma mapping errors in Tx pathSathya Perla2010-03-23
|/ | | | | Signed-off-by: Sathya Perla <sathyap@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: remove unused code in be_load_fwAjit Khaparde2010-03-08
| | | | | | | This patch cleans up some unused code from be_load_fw(). Signed-off-by: Ajit Khaparde <ajitk@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: remove usage of be_pci_funcAjit Khaparde2010-03-08
| | | | | | | | | | | When PCI functions are virtuialized in applications by assigning PCI functions to VM (PCI passthrough), the be2net driver in the VM sees a different function number. So, use of PCI function number in any calculation will break existing code. This patch takes care of it. Signed-off-by: Ajit Khaparde <ajitk@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: download NCSI section during firmware updateSarveshwar Bandi2010-03-03
| | | | | | | Adding code to update NCSI section while updating firmware on the controller. Signed-off-by: Sarveshwar Bandi <sarveshwarb@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: fix tx completion pollingSathya Perla2010-03-02
| | | | | | | | | | | In tx/mcc polling, napi_complete() is being incorrectly called before reaping tx completions. This can cause tx compl processing to be scheduled on another cpu concurrently which can result in a panic. This if fixed by calling napi complete() after tx/mcc compl processing but before re-enabling interrupts (via a cq notify). Signed-off-by: Sathya Perla <sathyap@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* net: convert multiple drivers to use netdev_for_each_mc_addr, part3Jiri Pirko2010-02-22
| | | | | Signed-off-by: Jiri Pirko <jpirko@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: Maintain tx and rx counters in driverAjit Khaparde2010-02-19
| | | | | | | | | | For certain skews of the BE adapter, H/W Tx and Rx counters could be common for more than one interface. Add Tx and Rx counters in the adapter structure (to maintain stats on a per interfae basis). Signed-off-by: Ajit Khaparde <ajitk@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: update copyright datesAjit Khaparde2010-02-19
| | | | | Signed-off-by: Ajit Khaparde <ajitk@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: free tx buffers when completions never arriveSathya Perla2010-02-18
| | | | | | | | | | | be2net: free tx buffers when completions never arrive In cases like when a pci device is disconnected on an error, pending tx completions will never arrive. Unmap and free such buffers in the tx cleanup path. Signed-off-by: Sathya Perla <sathyap@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: implement pci shutdown handlerSathya Perla2010-02-17
| | | | | Signed-off-by: Sathya Perla <sathyap@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: fix rx-path to ignore a flush completionSathya Perla2010-02-17
| | | | | | | | | The flush compl (compl with numfrags == 0; no data) is rcvd from hw to indicate completion of RXQ destory operation. Fix the RX path to not process it as RX data. Signed-off-by: Sathya Perla <sathyap@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: don't rearm mcc cq when device is not openSathya Perla2010-02-17
| | | | | | | | | | | When an MCC cmd is issued (via a netdev/ethtool op) while the device is not open, the MCC CQ gets processed but the EQ is not processed (as isr is not registered.) This can cause the EQ to become full. So, while the device is not open, CQ must not be re-armed to prevent EQ entries. Signed-off-by: Sathya Perla <sathyap@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: a mini optimization in rx_compl_process() codeSathya Perla2010-02-17
| | | | | | | Introduce unlikely() for skb alloc failure and vlanf checks... Signed-off-by: Sathya Perla <sathyap@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: implement EEH pci error recovery handlersSathya Perla2010-02-16
| | | | | | | The code has been tested on IBM pSeries server. Signed-off-by: Sathya Perla <sathyap@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: fix to limit max vlans supported in certain skewsAjit Khaparde2010-02-12
| | | | | | | | | | In certain skews the ASIC can support only 16 vlans per interface. Once the limit is crossed, the ASIC is programmed in vlan promiscuous mode. Switch off the vlan promiscuous mode once the number of vlans falls back to the max vlans supported. Signed-off-by: Ajit Khaparde <ajitk@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: minor code optimizationsAjit Khaparde2010-02-12
| | | | | | | | Couple of code optimizations in the Rx path (to avoid a memset). From: Sathya P <sathyap@serverengines.com> Signed-off-by: Ajit Khaparde <ajitk@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: bug fix in be_change_mtuAjit Khaparde2010-02-12
| | | | | | | | | Current code allows the new mtu to cross the supported value. This patch fixes the boundary checks. From: Suresh R <sureshr@serverengines.com> Signed-off-by: Ajit Khaparde <ajitk@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: bug fix for flashing the BladeEngine3 ASICAjit Khaparde2010-02-12
| | | | | | | | Now flashing both BE2 and BE3 devices is supported. From: Naresh G <nareshg@serverengines.com> Signed-off-by: Ajit Khaparde <ajitk@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: remove unused pci device idAjit Khaparde2010-02-12
| | | | | | | We are not going to use this device id. Signed-off-by: Ajit Khaparde <ajitk@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* net: use netdev_mc_count and netdev_mc_empty when appropriateJiri Pirko2010-02-12
| | | | | | | | | | | This patch replaces dev->mc_count in all drivers (hopefully I didn't miss anything). Used spatch and did small tweaks and conding style changes when it was suitable. Jirka Signed-off-by: Jiri Pirko <jpirko@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: use eq-id to calculate cev-isr reg offsetSathya Perla2010-02-02
| | | | | | | | | cev-isr reg offset for each function is better calculated using (any) eq-id alloted to that function instead of using pci-func number(which does not work in some configurations...) Signed-off-by: Sathya Perla <sathyap@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: Fix memset() arg ordering.David S. Miller2010-01-29
| | | | | | Noticed by Ben Hutchings. Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: Bug fix to support newer generation of BE ASICAjit Khaparde2010-01-28
| | | | | | | Bug fix in be2net for newer generation of BladeEngine ASIC. Signed-off-by: Ajit Khaparde <ajitk@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>