- Sep 07, 2009
-
-
Dhananjay Phadke authored
Implement state machine to detect firmware hung state and recover. Since firmware will be shared by all PCI functions that have different class drivers (NIC or FCOE or iSCSI), explicit hardware based serialization is required for initializing firmware. o Used global scratchpad register to maintain device reference count. Every probed pci function adds to ref count. o Implement timer (delayed work) for each pci func that checks firmware heartbit every 5 sec and detaches itself if firmware is dead. Last detaching function reloads firmware. Other functions wait for firmware init, and re-attach themselves. Heartbit is not supported by NX2031 firmware. Signed-off-by:
Amit Kumar Salecha <amit@netxen.com> Signed-off-by:
Dhananjay Phadke <dhananjay@netxen.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Aug 26, 2009
-
-
Dhananjay Phadke authored
Consolidate all MAC/PHY access functions into netxen_nic_hw.c Signed-off-by:
Dhananjay Phadke <dhananjay@netxen.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Dhananjay Phadke authored
Implement common function for locking/unlocking 8 hardware semaphores used for serializing access to shared resouces on a NIC board by different PCI functions. As by definition, callers of these semaphore API can be put to sleep till the semaphore is locked. Signed-off-by:
Dhananjay Phadke <dhananjay@netxen.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Aug 23, 2009
-
-
Dhananjay Phadke authored
Consolidate register definitions in netxen_nic_hdr.h Signed-off-by:
Dhananjay Phadke <dhananjay@netxen.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Narender Kumar authored
Add ethtool -K knob to control LRO in firmware. LRO path is completely separated from GRO, LRO packets are still fed with netif_receive_skb(). Also fix ethtool statistics to include LRO packets. Also use correct message type while configuring interrupt coalescing. Signed-off-by:
Narender Kumar <narender.kumar@qlogic.com> Signed-off-by:
Dhananjay Phadke <dhananjay@netxen.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Aug 05, 2009
-
-
Dhananjay Phadke authored
Add support to handle aggregate packets from firmware. Local TCP flows are automatically identified by firmware based on the dest IP hash added by driver for local IP addresses. The packets are sent down on the jumbo rx ring. Signed-off-by:
Narender Kumar <narender.kumar@qlogic.com> Signed-off-by:
Dhananjay Phadke <dhananjay@netxen.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Jul 27, 2009
-
-
Dhananjay Phadke authored
NX2031 firmware version will never be > 4.0.0, so replace (adapter->fw_major < 4) checks with pci revision ID check. Signed-off-by:
Dhananjay Phadke <dhananjay@netxen.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Jul 20, 2009
-
-
Dhananjay Phadke authored
o Use D3 reset context deletion for NX2031, it cleans up more resources in the firmware. o Release rx buffers after hardware context has been reset. o Delete tx context after rx context, some firmware control commands are sent on tx context, so it should be the last to go. Signed-off-by:
Dhananjay Phadke <dhananjay@netxen.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Apr 28, 2009
-
-
Dhananjay Phadke authored
o move related fields into netxen_recv_context struct. o allocate rx buffer and descriptor rings dynamically. Signed-off-by:
Dhananjay Phadke <dhananjay@netxen.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Apr 08, 2009
-
-
Dhananjay Phadke authored
Enable multiple rx rings for older NX2031 chip, firmware 3.4.336 or newer supports this feature. Signed-off-by:
Amit Kumar Salecha <amit@netxen.com> Signed-off-by:
Dhananjay Phadke <dhananjay@netxen.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Dhananjay Phadke authored
Replace superfluous wrapper functions with two macros: NXWR32 replaces netxen_nic_reg_write, netxen_nic_write_w0, netxen_nic_read_w1, netxen_crb_writelit_adapter. NXRD32 replaces netxen_nic_reg_read, netxen_nic_read_w0, netxen_nic_read_w1. Signed-off-by:
Dhananjay Phadke <dhananjay@netxen.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Dhananjay Phadke authored
o remove unnecessary length parameter since register access width is fixed 4 byte. o remove superfluous pci_read_normalize and pci_write_normalize functions. Signed-off-by:
Dhananjay Phadke <dhananjay@netxen.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Dhananjay Phadke authored
o move tx stuff into nx_host_tx_ring structure, this will help managing multiple tx rings in future. o sanitize some variable names Signed-off-by:
Dhananjay Phadke <dhananjay@netxen.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Dhananjay Phadke authored
Rearrange members to align them at right offset. Signed-off-by:
Dhananjay Phadke <dhananjay@netxen.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Mar 14, 2009
-
-
Dhananjay Phadke authored
This patch enables the load balancing capability of firmware and hardware to spray traffic into different cpus through separate rx msix interrupts. The feature is being enabled for NX3031, NX2031 (old) will be enabled later. This depends on msi-x and compatibility with msi and legacy is maintained by enabling single rx ring. Signed-off-by:
Dhananjay Phadke <dhananjay@netxen.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Dhananjay Phadke authored
o remove max_ prefix from ring sizes, since they don't really represent max possible sizes. o cleanup naming of rx ring types (normal, jumbo, lro). o simplify logic to choose rx ring size, gig ports get half rx ring of 10 gig ports. Signed-off-by:
Dhananjay Phadke <dhananjay@netxen.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Mar 10, 2009
-
-
Dhananjay Phadke authored
MAX_RCV_CTX was set to 1, there's only rx context per PCI function. Signed-off-by:
Dhananjay Phadke <dhananjay@netxen.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Feb 27, 2009
-
-
Dhananjay Phadke authored
Extend copyright into 2009 and update address. Signed-off-by:
Dhananjay Phadke <dhananjay@netxen.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Jan 14, 2009
-
-
Dhananjay Phadke authored
o Set restricted (little endian) data types in firmware command requests and responses. o Remove unnecessary conversion to LE when writing registers. Signed-off-by:
Dhananjay Phadke <dhananjay@netxen.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Aug 07, 2008
-
-
Dhananjay Phadke authored
For NX3031, multicast filtering, promisc mode, and max frame size setting is handled by firmware, driver needs to send request to enable/disable it. For old chip revisions / firmware, driver still sets it directly. Added function pointer to set mtu according to chip revision. Signed-off-by:
Dhananjay Phadke <dhananjay@netxen.com> Signed-off-by:
Jeff Garzik <jgarzik@redhat.com>
-
- Jul 22, 2008
-
-
Dhananjay Phadke authored
NX3031 supports cut-through operation where ingress packets are directly dma'ed into host buffers to reduce latency. This requires larger dma buffers (2kb) and different alignemnt. The buffer posting logic is changed a bit. The free rx buffers are maintained in linked list, since the received reference handles can be out of order. However rx descriptors are still posted sequentially, indexed by producer. Signed-off-by:
Dhananjay Phadke <dhananjay@netxen.com> Signed-off-by:
Jeff Garzik <jgarzik@redhat.com>
-