Rasesh Mody
0b6bf70d7e
net/qede/base: support previous driver unload
...
New driver/management fw load request sequence for handling previous
driver unload.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 19:02:53 +02:00
Rasesh Mody
a261b214b2
net/qede/base: change valloc to vzalloc
...
Change OSAL_VALLOC() into OSAL_VZALLOC() which would also zero memory.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 19:02:53 +02:00
Rasesh Mody
69d7ba88f1
net/qede/base: use L2-handles for RSS configuration
...
Move RSS configuration into using L2-handles instead of queue-ids.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 19:02:53 +02:00
Rasesh Mody
d9c2569c78
net/qede/base: add new image types
...
Add new image types - RECOVERY and PK (Public Key) towards
the second phase of NVRAM security support.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 19:02:52 +02:00
Rasesh Mody
a5e7b7a2ee
net/qede/base: remove clock slowdown option
...
Remove clock slowdown NVM config option as this is not supported
for current chipsets.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 19:02:52 +02:00
Rasesh Mody
8a20e270f3
net/qede/base: add API for using MFW resource lock
...
Add base driver API for using the Management FW resource lock
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 19:02:52 +02:00
Rasesh Mody
70ab4d3d46
net/qede/base: add mask/shift defines for resource command
...
Add several mask/shift defines for the resource command
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 19:02:52 +02:00
Rasesh Mody
0e9c6de362
net/qede/base: prevent transmitter stuck condition
...
Change OOO TC properly to prevent transmitter stuck condition
due to credit underruns.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 19:02:52 +02:00
Rasesh Mody
45cf58a14f
net/qede/base: formatting changes
...
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 19:02:52 +02:00
Rasesh Mody
0b090fd364
net/qede/base: support tunnelling for VF
...
Add new tunnelling support for VFs.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 19:02:52 +02:00
Rasesh Mody
adce1f86f8
net/qede/base: revise tunnel APIs/structs
...
Revise tunnel APIs/structs.
- Unite tunnel start and update params in single struct
"ecore_tunnel_info"
- Remove A0 chip tunnelling support.
- Added per tunnel info - removed bitmasks.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 19:02:52 +02:00
Rasesh Mody
a7f3cac315
net/qede/base: change infrastructure for VF tunnelling
...
Infrastructure changes for VF tunnelling.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 19:02:52 +02:00
Rasesh Mody
6a0f9f5c62
net/qede/base: optimize cache-line access
...
Optimize cache-line access in ecore_chain -
re-arrange fields so that fields that are needed for fastpath
[mostly produce/consume and their derivatives] are in the first cache
line, and the rest are in the second.
This is true for both PBL and NEXT_PTR kind of chains.
Advancing a page in a SINGLE_PAGE chain would still require the 2nd
cacheline as well, but afaik only SPQ uses it and so it isn't
considered as 'fastpath'.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 19:02:52 +02:00
Rasesh Mody
43ef668c18
net/qede/base: support handling TLV request from MFW
...
Add support for handling the TLV request from Management FW.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 19:02:51 +02:00
Rasesh Mody
a55e422e4e
net/qede/base: make L2 queues handle based
...
L2 handler changes:
This is change to remove the queue-id/qzone difference for Tx queues.
It does that by mainly doing:
a. VFs queues are no longer determined by the SBs they're using.
Instead, the ecore-client needs to maintain those and choose the values
to be used by VF when initializing it.
b. Eliminate the HW-cid array in the hw-function.
To do that, have all the rx/tx functionality turn into 'handle' base -
when queue would be started the caller would get a (void*) handle,
which it would later use with ecore for configuring various
queue-related stop [update, close].
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 19:02:51 +02:00
Rasesh Mody
d411a2b5e4
net/qede/base: refactor code of SP queues
...
Maintain slowpath event queue and consumer queue within HW function
structure, update corresponding alloc and free APIs accordingly.
Cleanup unused code under CONFIG_ECORE_LL2 ifdef.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 19:02:51 +02:00
Rasesh Mody
ea7c1c6f37
net/qede/base: add interfaces for MFW TLV request processing
...
Add new base driver interfaces for Management FW TLV request processing.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 19:02:51 +02:00
Rasesh Mody
978580d86c
net/qede/base: prevent driver load with invalid resources
...
Prevent storage drivers from attempting to load with invalid resources.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 19:02:51 +02:00
Rasesh Mody
de5588af0b
net/qede/base: set driver type before sending load request
...
Set the drv_type before sending LOAD_REQ and remove the
ver_str which is not used by the MFW
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 19:02:51 +02:00
Rasesh Mody
bd96f72ff9
net/qede/base: check active VF queues before stopping
...
Make sure VF queue are closed before stopping vport.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 19:02:51 +02:00
Rasesh Mody
4fc58baef7
net/qede/base: print firmware MFW and MBI versions
...
Add a printout of the FW, Management FW and MBI versions.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 19:02:51 +02:00
Rasesh Mody
5ef4119332
net/qede/base: revamp qm initialization
...
This patch revamps queue initialization.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 19:02:51 +02:00
Rasesh Mody
6b190a9873
net/qede/base: allow only trusted VFs to be promisc
...
Allow only trusted VFs to be promisc/multi-promisc. The reasonable
thing is to use the 'trusted' node instead of simply allowing VFs to
become promiscuous.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 19:02:51 +02:00
Rasesh Mody
3750b3f8d8
net/qede/base: remove unneeded step in HW init
...
There is no need to close the OUT_EN NIG registers, so remove that.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 19:02:51 +02:00
Rasesh Mody
86030347db
net/qede/base: allow probe to succeed with minor HW-issues
...
Allow probe to succeed with various 'minor' HW-issues [if requested]
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 19:02:51 +02:00
Rasesh Mody
bdf4267dde
net/qede/base: read card personality via MFW commands
...
Add support to read NIC personality via management FW for non-L2
protocols.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 19:02:50 +02:00
Rasesh Mody
f60ec68828
net/qede/base: prevent device init failure
...
Device initialization flow should not be failed because the FW interface
command is not available.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 19:02:50 +02:00
Rasesh Mody
8764367752
net/qede/base: update MFW when default MTU is changed
...
Send mailbox command to Management FW when MTU changes.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 19:02:50 +02:00
Rasesh Mody
2dfd074e6c
net/qede/base: change queue/sb-id from 8 bit to 16 bit
...
Change the queue/sb-id values from 8 bit fields to 16 bit fields.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 19:02:50 +02:00
Rasesh Mody
5c11b7066f
net/qede/base: use default MTU from shared memory
...
Read and use the default MTU value from shared-memory.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 19:02:50 +02:00
Rasesh Mody
5c66fd8592
net/qede/base: add comment
...
Add a comment for the endianness manipulation in
ecore_mcp_send_drv_version().
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 19:02:50 +02:00
Rasesh Mody
48ba75dd7d
net/qede/base: add nvram options
...
Add a bunch of NVRAM options like MCOT, FEC selection, temperature
threshold, Reset On Lan, etc.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 19:02:50 +02:00
Rasesh Mody
bb42c23b19
net/qede/base: remove attribute from update current config
...
Remove attribute field from update_current_config() API, Management FW
need to know only the last entity who configured the device.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 19:02:50 +02:00
Rasesh Mody
8bb13112f3
net/qede/base: move mask constants defining NIC type
...
Move mask constants defining NIC type to ecore.h
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 19:02:50 +02:00
Rasesh Mody
47a06aaf5a
net/qede/base: decrease maximum HW func per device
...
Decrease MAX_HWFNS_PER_DEVICE from 4 to 2
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 19:02:50 +02:00
Rasesh Mody
806474a684
net/qede: upgrade the FW to 8.18.9.0
...
This patchset adds changes to upgrade to 8.18.9.0 FW.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 19:02:50 +02:00
Rasesh Mody
69ff7477b7
net/qede/base: utilize FW 8.18.9.0
...
This change is in preparation to work with new FW 8.18.9.0.
Rename the defines to use E4_ and structs to use e4_. This renaming
is to add support for future chipsets.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 19:02:49 +02:00
Rasesh Mody
1a998268bf
net/qede/base: print various indication on Tx-timeouts
...
Print various indication on Tx-timeouts.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 19:02:49 +02:00
Rasesh Mody
f061e24d8d
net/qede/base: mask Rx buffer attention bits
...
Mask the BRB "RC0_EOP_OUT_SYNC_FIFO_PUSH_ERROR" attention.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 19:02:49 +02:00
Rasesh Mody
3ca097bbb2
net/qede/base: send FW version driver state to MFW
...
Add support to send FW version and driver state to Management FW.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 19:02:49 +02:00
Rasesh Mody
63efb906ba
net/qede/base: return an initialized return value
...
Make sure ecore_iov_mark_vf_flr() always returns an initialized return
value.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 19:02:49 +02:00
Rasesh Mody
f2b852169b
net/qede/base: fix to use NULL pointer
...
Use OSAL NULL where appropriate
Fixes: 22d07d939c3c ("net/qede/base: update")
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 18:59:45 +02:00
Rasesh Mody
0dfa4c3bdc
net/qede/base: fix resource lock minimum value
...
Fixes: ababb5203de2 ("net/qede/base: semantic/formatting changes")
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 18:59:45 +02:00
Rasesh Mody
2d5036ab10
net/qede/base: fix sriov typo
...
Typo in ecore_sriov.c; Ending line with , instead of ;
Fixes: 379cbb2c446a ("net/qede/base: semantic change")
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 18:59:45 +02:00
Rasesh Mody
ada5b88f63
net/qede/base: refactor return path
...
No need to return - base on return at end of function.
Fixes: 22d07d939c3c ("net/qede/base: update")
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 18:59:45 +02:00
Rasesh Mody
613949ff26
net/qede/base: fix typo
...
Fixes: 22d07d939c3c ("net/qede/base: update")
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 18:59:45 +02:00
Rasesh Mody
1c46a0fc02
net/qede/base: fix first VF index calculation
...
When a server doesn't support ARI, VF offsets begin at a much higher
number. As a result, ecore miscalculates the first_vf_in_pf and
initialization fails since base driver incorrectly learns there are
no SBs for its VF [as its VFs are out of range].
Fixes: 22d07d939c3c ("net/qede/base: update")
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 18:59:44 +02:00
Rasesh Mody
32376ac6b5
net/qede/base: fix remove the unneeded conversion to LE
...
Remove the unneeded conversion to LE when writing to the 32-bit
XSDM_REG_OPERATION_GEN register
Fixes: ec94dbc57362 ("qede: add base driver")
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 18:59:44 +02:00
Rasesh Mody
96d1cace81
net/qede/base: fix to remove redundant memset
...
Fixes: 22d07d939c3c ("net/qede/base: update")
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 18:59:44 +02:00
Rasesh Mody
68cd48d059
net/qede/base: fix out-of-bound memory access
...
Fix out-of-bound memory access on Management FW interaction for
resource allocation
Fixes: 252b88b58f70 ("net/qede/base: add selftest and query sensor info")
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
2017-04-04 18:59:44 +02:00