mirror_ubuntu-kernels/drivers/net/ethernet/intel/ice
Jacob Keller e94509906d ice: create function to read a section of the NVM and Shadow RAM
The NVM contents are read via firmware by using the ice_aq_read_nvm
function. This function has a couple of limits:

1) The AdminQ commands can only take buffers sized up to 4Kb. Thus, any
   larger read must be split into multiple reads.
2) when reading from the Shadow RAM, reads must not cross sector
   boundaries. The sectors are also 4Kb in size.

Implement the ice_read_flat_nvm function to read portions of the NVM by
flat offset. That is, to read using offsets from the start of the NVM
rather than from a specific module.

This function will be able to read both from the NVM and from the Shadow
RAM. For simplicity NVM reads will always be broken up to not cross 4Kb
page boundaries, even though this is not required unless reading from
the Shadow RAM.

Use this new function as the implementation of ice_read_sr_word_aq.

The ice_read_sr_buf_aq function is not modified here. This is because
a following change will remove the only caller of that function in favor
of directly using ice_read_flat_nvm. Thus, there is little benefit to
changing it now only to remove it momentarily. At the same time, the
ice_read_sr_aq function will also be removed.

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Reviewed-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2020-03-21 00:24:56 -07:00
..
ice_adminq_cmd.h ice: create function to read a section of the NVM and Shadow RAM 2020-03-21 00:24:56 -07:00
ice_base.c ice: add backslash-n to strings 2020-02-19 13:26:45 -08:00
ice_base.h ice: Add support to enable/disable all Rx queues before waiting 2020-02-15 16:39:55 -08:00
ice_common.c ice: fix incorrect size description of ice_get_nvm_version 2020-03-10 13:11:02 -07:00
ice_common.h ice: Remove ice_dev_onetime_setup() 2020-02-12 11:48:26 -08:00
ice_controlq.c ice: print opcode when printing controlq errors 2019-11-08 12:03:18 -08:00
ice_controlq.h ice: Update FW API minor version 2019-11-22 13:43:46 -08:00
ice_dcb_lib.c ice: use variable name more descriptive than type 2020-03-10 13:10:58 -07:00
ice_dcb_lib.h ice: Validate config for SW DCB map 2020-02-19 12:12:27 -08:00
ice_dcb_nl.c ice: SW DCB, report correct max TC value 2020-02-19 13:09:20 -08:00
ice_dcb_nl.h ice: Implement DCBNL support 2019-11-08 12:02:14 -08:00
ice_dcb.c ice: Trivial fixes 2020-02-12 11:49:12 -08:00
ice_dcb.h ice: Allow for delayed LLDP MIB change registration 2019-09-05 08:13:41 -07:00
ice_devids.h ice: fix define for E822 backplane device 2020-02-19 13:39:33 -08:00
ice_ethtool.c ice: fix use of deprecated strlcpy() 2020-03-10 13:10:42 -07:00
ice_flex_pipe.c ice: Fix for TCAM entry management 2020-02-19 12:59:37 -08:00
ice_flex_pipe.h ice: Optimize table usage 2020-01-25 21:42:50 -08:00
ice_flex_type.h ice: Enable writing filtering tables 2020-01-25 21:38:32 -08:00
ice_flow.c ice: use variable name more descriptive than type 2020-03-10 13:10:58 -07:00
ice_flow.h ice: Implement ethtool get/set rx-flow-hash 2020-01-25 21:47:28 -08:00
ice_hw_autogen.h ice: Always clear the QRXFLXP_CNTXT register for VF Rx queues 2020-02-19 13:01:51 -08:00
ice_lan_tx_rx.h ice: Allocate flow profile 2020-01-24 16:06:32 -08:00
ice_lib.c ice: use variable name more descriptive than type 2020-03-10 13:10:58 -07:00
ice_lib.h ice: use variable name more descriptive than type 2020-03-10 13:10:58 -07:00
ice_main.c ice: Fix format specifier 2020-03-10 13:10:47 -07:00
ice_nvm.c ice: create function to read a section of the NVM and Shadow RAM 2020-03-21 00:24:56 -07:00
ice_nvm.h ice: create function to read a section of the NVM and Shadow RAM 2020-03-21 00:24:56 -07:00
ice_osdep.h ice: Start hardware initialization 2018-03-26 09:59:08 -07:00
ice_protocol_type.h ice: Initilialize VF RSS tables 2020-01-25 21:45:19 -08:00
ice_sched.c ice: remove pointless NULL check of port_info 2019-11-22 13:43:42 -08:00
ice_sched.h ice: Add NDO callback to set the maximum per-queue bitrate 2019-11-08 11:58:49 -08:00
ice_sriov.c ice: remove unnecessary fallthrough comments 2020-02-15 16:56:48 -08:00
ice_sriov.h ice: Add handlers for VF netdevice operations 2018-10-03 07:42:30 -07:00
ice_status.h ice: Populate TCAM filter software structures 2020-01-25 21:34:36 -08:00
ice_switch.c ice: use variable name more descriptive than type 2020-03-10 13:10:58 -07:00
ice_switch.h ice: Add NDO callback to set the maximum per-queue bitrate 2019-11-08 11:58:49 -08:00
ice_txrx_lib.c ice: Don't allow same value for Rx tail to be written twice 2020-02-12 11:48:22 -08:00
ice_txrx_lib.h ice: Move common functions to ice_txrx_lib.c 2019-11-04 11:45:05 -08:00
ice_txrx.c ice: replace "fallthrough" comments with fallthrough reserved word 2020-02-15 17:03:12 -08:00
ice_txrx.h ice: Don't reject odd values of usecs set by user 2020-02-19 11:50:41 -08:00
ice_type.h ice: Trivial fixes 2020-02-12 11:49:12 -08:00
ice_virtchnl_pf.c ice: Use EOPNOTSUPP instead of ENOTSUPP 2020-03-10 13:10:53 -07:00
ice_virtchnl_pf.h ice: allow bigger VFs 2020-03-10 13:09:52 -07:00
ice_xsk.c ice: add backslash-n to strings 2020-02-19 13:26:45 -08:00
ice_xsk.h ice: Use EOPNOTSUPP instead of ENOTSUPP 2020-03-10 13:10:53 -07:00
ice.h ice: Increase mailbox receive queue length to maximum 2020-03-10 13:10:36 -07:00
Makefile ice: Enable writing hardware filtering tables 2020-01-24 13:18:19 -08:00