[PATCH 00/12] soc: qcom: smem: some refactoring

From: Alex Elder
Date: Tue May 01 2018 - 21:10:35 EST


This series contains a few general cleanups in the Qualcomm SMEM
code, reorganizing some things so memory partitions are treated
more consistently, and to avoid some duplication. A few patches
change existing behavior, as highlighted below. Each of these
changes has been tested and verified to function with available
hardware.

-Alex

Alex Elder (12):
soc: qcom: smem: rename variable in qcom_smem_get_global()
soc: qcom: smem: initialize region struct only when successful
These two are simple cleanups.

soc: qcom: smem: always ignore partitions with 0 offset or size
This patch makes partitions with a zero offset always be
ignored. Previously this condition was flagged as an error
in one place and ignored in another.

soc: qcom: smem: small refactor in qcom_smem_enumerate_partitions()
This just simplifies a little logic in one spot.

soc: qcom: smem: verify both host ids in partition header
This patch makes it so *both* IDs, not just one or the
other, must use the special value SMEM_GLOBAL_HOST to
signify the special global partition.

soc: qcom: smem: require order of host ids to match
A memory partition is described by an entry in a partition
table, which identifies two hosts permitted to access the
partition. A partition also embeds a header, which also
identifies the hosts. Previously the host ids could be
in any order; now the two host ids are required to be
listed in the same order in the partition table and header.

soc: qcom: smem: introduce qcom_smem_partition_header()
soc: qcom: smem: verify partition header size
soc: qcom: smem: verify partition offset_free_uncached
soc: qcom: smem: small change in global entry loop
soc: qcom: smem: verify partition host ids match
These patches together introduce a single function
to locate a partition header in memory, and to validate its
contents. The common function is used in two place and
removes some duplication. The patches build up the function
in steps to facilitate review.

soc: qcom: smem: a few last cleanups
This patch gathers a small set of trivial cleanups.

drivers/soc/qcom/smem.c | 173 +++++++++++++++++++++++-------------------------
1 file changed, 82 insertions(+), 91 deletions(-)

--
2.14.1