Intel-Wired-Lan Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Bowers, AndrewX <andrewx.bowers@intel.com>
To: intel-wired-lan@osuosl.org
Subject: [Intel-wired-lan] [PATCH v3 2/9] ice: create function to read a section of the NVM and Shadow RAM
Date: Mon, 16 Mar 2020 19:17:30 +0000	[thread overview]
Message-ID: <e6b9c97c293f4b2bad0d1935c8de05c5@intel.com> (raw)
In-Reply-To: <20200312015818.1007882-3-jacob.e.keller@intel.com>

-----Original Message-----
From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf Of Jacob Keller
Sent: Wednesday, March 11, 2020 6:58 PM
To: Intel Wired LAN <intel-wired-lan@lists.osuosl.org>
Cc: Jakub Kicinski <kuba@kernel.org>
Subject: [Intel-wired-lan] [PATCH v3 2/9] 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>
---
 .../net/ethernet/intel/ice/ice_adminq_cmd.h   |  2 +
 drivers/net/ethernet/intel/ice/ice_nvm.c      | 87 +++++++++++++++++--
 drivers/net/ethernet/intel/ice/ice_nvm.h      |  3 +
 3 files changed, 85 insertions(+), 7 deletions(-)

Tested-by: Andrew Bowers <andrewx.bowers@intel.com>



  reply	other threads:[~2020-03-16 19:17 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-12  1:58 [Intel-wired-lan] [PATCH v3 0/9] ice devlink support Jacob Keller
2020-03-12  1:58 ` [Intel-wired-lan] [PATCH v3 1/9] ice: use __le16 types for explicitly Little Endian values Jacob Keller
2020-03-16 19:15   ` Bowers, AndrewX
2020-03-12  1:58 ` [Intel-wired-lan] [PATCH v3 2/9] ice: create function to read a section of the NVM and Shadow RAM Jacob Keller
2020-03-16 19:17   ` Bowers, AndrewX [this message]
2020-03-12  1:58 ` [Intel-wired-lan] [PATCH v3 3/9] ice: store NVM version info in extracted format Jacob Keller
2020-03-16 19:18   ` Bowers, AndrewX
2020-03-12  1:58 ` [Intel-wired-lan] [PATCH v3 4/9] ice: discover and store size of available flash Jacob Keller
2020-03-16 19:21   ` Bowers, AndrewX
2020-03-12  1:58 ` [Intel-wired-lan] [PATCH v3 5/9] ice: implement full NVM read from ETHTOOL_GEEPROM Jacob Keller
2020-03-16 19:22   ` Bowers, AndrewX
2020-03-12  1:58 ` [Intel-wired-lan] [PATCH v3 6/9] ice: enable initial devlink support Jacob Keller
2020-03-16 20:22   ` Bowers, AndrewX
2020-03-12  1:58 ` [Intel-wired-lan] [PATCH v3 7/9] devlink: promote "fw.bundle_id" to a generic info version Jacob Keller
2020-03-12 20:17   ` Jakub Kicinski
2020-03-16 20:26   ` Bowers, AndrewX
2020-03-12  1:58 ` [Intel-wired-lan] [PATCH v3 8/9] ice: add basic handler for devlink .info_get Jacob Keller
2020-03-12 20:18   ` Jakub Kicinski
2020-03-16 20:23   ` Bowers, AndrewX
2020-03-12  1:58 ` [Intel-wired-lan] [PATCH v3 9/9] ice: add board identifier info to " Jacob Keller
2020-03-12 20:18   ` Jakub Kicinski
2020-03-16 20:24   ` Bowers, AndrewX

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e6b9c97c293f4b2bad0d1935c8de05c5@intel.com \
    --to=andrewx.bowers@intel.com \
    --cc=intel-wired-lan@osuosl.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox