[PATCH net-next 00/11] net: ipa: memory region rework, part 1
From: Alex Elder
Date: Wed Jun 09 2021 - 18:35:39 EST
This is the first portion of a very long series of patches that has
been split in two. Once these patches are accepted, I'll post the
remaining patches.
The combined series reworks the way memory regions are defined in
the configuration data, and in the process solidifies code that
ensures configurations are valid.
In this portion (part 1), most of the focus is on improving
validation of code. This validation is now done unconditionally
(something I promised Leon Romanovsky I would work on). Validation
will occur earlier than before, catching configuration problems as
early as possible and permitting the rest of the driver to avoid
needing to do some error checking. There will now be checks to
ensure all defined regions are supported by the hardware, that
required regions are all defined, and that there are no duplicate
regions.
The second portion (part 2) is mainly a set of small but pervasive
changes whose result is to have the memory region array not be
indexed by region ID. I'll provide further explanation when I post
that series.
-Alex
Alex Elder (11):
net: ipa: define IPA_MEM_END_MARKER
net: ipa: store memory region id in descriptor
net: ipa: validate memory regions unconditionally
net: ipa: separate memory validation from initialization
net: ipa: separate region range check from other validation
net: ipa: validate memory regions at init time
net: ipa: pass memory configuration data to ipa_mem_valid()
net: ipa: introduce ipa_mem_id_optional()
net: ipa: validate memory regions based on version
net: ipa: flag duplicate memory regions
net: ipa: use bitmap to check for missing regions
drivers/net/ipa/ipa_data-v3.5.1.c | 15 +++
drivers/net/ipa/ipa_data-v4.11.c | 24 +++-
drivers/net/ipa/ipa_data-v4.2.c | 20 ++-
drivers/net/ipa/ipa_data-v4.5.c | 23 ++++
drivers/net/ipa/ipa_data-v4.9.c | 26 +++-
drivers/net/ipa/ipa_mem.c | 196 ++++++++++++++++++++++++++----
drivers/net/ipa/ipa_mem.h | 25 ++--
7 files changed, 291 insertions(+), 38 deletions(-)
--
2.27.0