History log of /drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.h
Revision Date Author Comments
2b3d7b758c68775cdebd95787454d12e0b8247e7 21-Mar-2014 Shahed Shaikh <shahed.shaikh@qlogic.com> qlcnic: Add VXLAN Rx offload support

This patch adds Rx checksum offload support for VXLAN.
Implements .ndo_{add|del}_vxlan_port netdev ops.
Adapter supports only one VXLAN port, so program adapter with
very first UDP port which VXLAN driver is listening to.

Signed-off-by: Shahed Shaikh <shahed.shaikh@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
225837a076b284ac408a3b0104584ae0ad117a0c 21-Feb-2014 Shahed Shaikh <shahed.shaikh@qlogic.com> qlcnic: Re-factor firmware minidump template header handling

Treat firmware minidump template headers for 82xx and 83xx/84xx adapters separately,
as it may change for 82xx and 83xx/84xx adapter type independently.

Signed-off-by: Shahed Shaikh <shahed.shaikh@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
a514722afebc59cf9d98387ee4db81ee62154df0 23-Jan-2014 Himanshu Madhani <himanshu.madhani@qlogic.com> qlcnic: Refactor interrupt coalescing code for all adapters.

o Refactor configuration of interrupt coalescing parameters for
all supported adapters.

Signed-off-by: Himanshu Madhani <himanshu.madhani@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
21041400438ea816fa4ef1967fffa743e811f800 16-Jan-2014 stephen hemminger <stephen@networkplumber.org> qlcnic: make local functions static

Functions only used in one file should be static.
Found by running make namespacecheck

Compile tested only.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
a04315893db0dbdf490e2d284d3aef0f01762b54 10-Jan-2014 Himanshu Madhani <himanshu.madhani@qlogic.com> qlcnic: Enable beaconing for 83xx/84xx Series adapter.

o Refactored code to handle beaconing test for all adapters.
o Use GET_LED_CONFIG mailbox command for 83xx/84xx series adapter
to detect current beaconing state of the adapter.

Signed-off-by: Himanshu Madhani <himanshu.madhani@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
34e8c406fda5b5a9d2e126a92bab84cd28e3b5fa 04-Nov-2013 Himanshu Madhani <himanshu.madhani@qlogic.com> qlcnic: refactor Tx/SDS ring calculation and validation in driver.

o Current driver has duplicate code for validating user input
for changing Tx/SDS rings using set_channel ethtool interface.
This patch removes duplicate code and refactored Tx/SDS ring
validation for 82xx/83xx/84xx series adapter.
o Refactored code now calculates maximum Tx/Rx ring driver can
support based on Default, NPAR and SRIOV PF/VF mode of driver.

Signed-off-by: Himanshu Madhani <himanshu.madhani@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2d8ebcab86051f2cd7f207edb513995348b78213 23-Aug-2013 Sucheta Chakraborty <sucheta.chakraborty@qlogic.com> qlcnic: dcb: Register DCB AEN handler.

o Adapter sends Asynchronous Event Notifications to the driver when
there are changes in the switch or adapter DCBX configuration.
AEN handler updates the driver DCBX parameters.

Signed-off-by: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
fb859ed6916faeae6b44027d2e0738836a11e8c1 23-Aug-2013 Sucheta Chakraborty <sucheta.chakraborty@qlogic.com> qlcnic: dcb: Get DCB parameters from the adapter.

o Populate driver data structures with local, operational, and peer
DCB parameters.

Signed-off-by: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
14d385b9905920cc0136721316c185c45ee6e26c 23-Aug-2013 Sucheta Chakraborty <sucheta.chakraborty@qlogic.com> qlcnic: dcb: Query adapter DCB capabilities.

o Query adapter DCB capabilities and populate local data structures
with relevant information.

o Add QLCNIC_DCB to Kconfig for enabling/disabling DCB.

Signed-off-by: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
07a251c80cd11f5c1dec5be900c775d4264bfbe0 21-Aug-2013 Shahed Shaikh <shahed.shaikh@qlogic.com> qlcnic: Implement ndo_get_phys_port_id for 82xx adapter

Each function driver instance uses the MAC address of the
lowest function belonging to that physical port as a unique
port identifier. This port identifier is read and cached in
driver during probe and provided to user space through
ndo_get_phys_port_id()

Signed-off-by: Shahed Shaikh <shahed.shaikh@qlogic.com>
Signed-off-by: Himanshu Madhani <himanshu.madhani@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
aa4a1f7df7cbb98797c9f4edfde3c726e2b3841f 21-Aug-2013 Himanshu Madhani <himanshu.madhani@qlogic.com> qlcnic: Enable Tx queue changes using ethtool for 82xx Series adapter.

o using ethtool {set|get}_channel option, user can change number
of Tx queues for 82xx Series adapter.
o updated ethtool -S <ethX> option to display stats from each Tx queue.

Signed-off-by: Himanshu Madhani <himanshu.madhani@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
012ec81223aa45d2b80aeafb77392fd1a19c7b10 21-Aug-2013 Himanshu Madhani <himanshu.madhani@qlogic.com> qlcnic: Multi Tx queue support for 82xx Series adapter.

o 82xx firmware allows support for multiple Tx queues. This
patch will enable multi Tx queue support for 82xx series
adapter. Max number of Tx queues supported will be 8.

Signed-off-by: Himanshu Madhani <himanshu.madhani@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
4bd8e7385961932d863ea976a67f384c3a8302cb 03-Aug-2013 Himanshu Madhani <himanshu.madhani@qlogic.com> qlcnic: Fix for flash update failure on 83xx adapter

Flash update routine was improperly checking register read API return value.
Modify register read API and perform proper error check.

Signed-off-by: Himanshu Madhani <himanshu.madhani@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
486a5bc77a4a83d29b72b17fde229e45a2428194 22-Jun-2013 Rajesh Borundia <rajesh.borundia@qlogic.com> qlcnic: Add support for 83xx suspend and resume.

o Implement shutdown and resume handlers for 83xx.
o Refactor 82xx shutdown and resume handlers.

Signed-off-by: Rajesh Borundia <rajesh.borundia@qlogic.com>
Signed-off-by: Jitendra Kalsaria <jitendra.kalsaria@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
8af3f33db05c6d0146ad14905145a5c923770856 22-Jun-2013 Pratik Pujar <pratik.pujar@qlogic.com> qlcnic: Add support for 'set driver version' in 83XX

Issue 'set driver version' during driver load and after reset recovery
to notify the driver version to the firmware.

Signed-off-by: Pratik Pujar <pratik.pujar@qlogic.com>
Signed-off-by: Jitendra Kalsaria <jitendra.kalsaria@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
487042af928c16d2a5b4dd52a9639a03b8b40761 23-May-2013 Himanshu Madhani <himanshu.madhani@qlogic.com> qlcnic: Implement GET_LED_STATUS command for 82xx adapter.

o GET_LED_STATUS command will be used by driver to get
current beacon state from 82xx adapter.
o Refactored qlcnic_store_beacon() to split 8200 and 8300
specific calls.

Signed-off-by: Himanshu Madhani <himanshu.madhani@qlogic.com>
Signed-off-by: Shahed Shaikh <shahed.shaikh@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
9106e5db8336d5048ac79f72056572c461a2566b 09-May-2013 Rajesh Borundia <rajesh.borundia@qlogic.com> qlcnic: Fix mailbox response handling.

o Fix mailbox response poll time to maximum 5 seconds which
includes mailbox response time as well as time required for
processing AEN if any.
o Driver need to read firmware control mailbox register instead
of host control mailbox register.

Signed-off-by: Jitendra Kalsaria <jitendra.kalsaria@qlogic.com>
Signed-off-by: Rajesh Borundia <rajesh.borundia@qlogic.com>
Signed-off-by: Shahed Shaikh <shahed.shaikh@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
f80bc8fe6d44f1f0ebd90d4e698189c5b9ad25e7 19-Apr-2013 Rajesh Borundia <rajesh.borundia@qlogic.com> qlcnic: Change 82xx adapter VLAN id endian type.

o 82xx adapter requires VLAN id in little endian format.
Instead of passing vlan id parameter as __le16, pass the
parameter as u16 and use cpu_to_le16 at appropriate places.

Signed-off-by: Rajesh Borundia <rajesh.borundia@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
7cb03b2347d5edace4fb8e7dd9d6c3889368a179 29-Mar-2013 Rajesh Borundia <rajesh.borundia@qlogic.com> qlcnic: Support VF-PF communication channel commands.

o Add support for commands from VF to PF.
o PF validates the commands sent by the VF before sending
it to adapter.
o vPort is a container of resources. PF creates vPort
for VFs and attach resources to it. vPort is
transparent to the VF.
o Separate 83xx TX and RX hardware resource cleanup from 82xx.

Signed-off-by: Manish Chopra <manish.chopra@qlogic.com>
Signed-off-by: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com>
Signed-off-by: Rajesh Borundia <rajesh.borundia@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
f197a7aa62888f27c9a7976b18eb4f040f6606ce 29-Mar-2013 Rajesh Borundia <rajesh.borundia@qlogic.com> qlcnic: VF-PF communication channel implementation

o Adapter provides communication channel between VF and PF.
Any control commands from the VF driver are sent to the PF driver
through this communication channel. PF driver validates the
commands before sending them to the adapter. Similarly PF driver
forwards any control command responses to the VF driver
through this communication channel. Adapter sends message pending
event to VF or PF when there is an outstanding response or a command
for VF or PF respectively. When a command or a response is sent over
a channel VF or PF cannot send another command or a response
until adapter sends a channel free event. Adapter allocates 1K area to
VF and PF each for this communication.
o Commands and responses are encapsulated in a header. Header determines
sequence id, number of fragments, fragment number etc.

Signed-off-by: Manish Chopra <manish.chopra@qlogic.com>
Signed-off-by: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com>
Signed-off-by: Rajesh Borundia <rajesh.borundia@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
02feda1758755f2b5dbed060bdffda5e5b0244ba 29-Mar-2013 Rajesh Borundia <rajesh.borundia@qlogic.com> qlcnic: Support SR-IOV enable and disable

o Add QLCNIC_SRIOV to Kconfig.
o Provide PCI sysfs hooks to enable and disable SR-IOV.
o Allow enabling only when CONFIG_QLCNIC_SRIOV is defined.
o qlcnic_sriov_pf.c has all the PF related SR-IOV
functionality.
o qlcnic_sriov_common.c has VF functionality and SR-IOV
functionality which is common between VF and PF.
o qlcnic_sriov.h is a common header file for SR-IOV defines.

Signed-off-by: Manish Chopra <manish.chopra@qlogic.com>
Signed-off-by: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com>
Signed-off-by: Rajesh Borundia <rajesh.borundia@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
483202d590cd76fc794f3aa11a342b718a804a28 09-Feb-2013 Jitendra Kalsaria <jitendra.kalsaria@qlogic.com> qlcnic: helper routine to handle async events

Create a helper routine to handle async events, as it is being called
from multiple places

Signed-off-by: Jitendra Kalsaria <jitendra.kalsaria@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
577ae39ddb037242964f5fe87fd50b0b89e3263b 04-Feb-2013 Jitendra Kalsaria <jitendra.kalsaria@qlogic.com> qlcnic: Updating copyright information.

We recently refactored the driver source, this patch will take care of
updating copyright date and adding it to newly added files.

Signed-off-by: Jitendra Kalsaria <jitendra.kalsaria@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
7f9664525f9cb507de9198a395a111371413f230 01-Jan-2013 Sony Chacko <sony.chacko@qlogic.com> qlcnic: 83xx memory map and HW access routines

83xx adapter register map.
83xx hardware interface routines.

Signed-off-by: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com>
Signed-off-by: Anirban Chakraborty <anirban.chakraborty@qlogic.com>
Signed-off-by: Sritej Velaga <sritej.velaga@qlogic.com>
Signed-off-by: Sony Chacko <sony.chacko@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
a15ebd371992dbadb8a30367fd80cb5cd73b8fb1 01-Jan-2013 Himanshu Madhani <himanshu.madhani@qlogic.com> qlcnic: macros for common register access

Refactor 82xx driver to support new adapter - Qlogic 83XX CNA
Use QLC_SHARED_REG_RD32 and QLC__SHARED_REG_WR32 macros
for 82xx and 83xx common register access.

Signed-off-by: Anirban Chakraborty <anirban.chakraborty@qlogic.com>
Signed-off-by: Sony Chacko <sony.chacko@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
7e2cf4feba058476324dc545e3d1b316998c91e6 01-Jan-2013 Sony Chacko <sony.chacko@qlogic.com> qlcnic: change driver hardware interface mechanism

Refactor 82xx driver to support new adapter - Qlogic 83XX CNA

Create adapter abstraction layer and seperate 82xx hardware access routines.
Create mailbox based HW interface mechanism

Signed-off-by: Anirban Chakraborty <anirban.chakraborty@qlogic.com>
Signed-off-by: Sony Chacko <sony.chacko@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>