]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
net: ipa: define IPA_MEM_END_MARKER
authorAlex Elder <elder@linaro.org>
Wed, 9 Jun 2021 22:34:53 +0000 (17:34 -0500)
committerDavid S. Miller <davem@davemloft.net>
Wed, 9 Jun 2021 22:59:33 +0000 (15:59 -0700)
Define a new pseudo memory region identifer that specifies the
offset at the end of IPA resident memory.  Use it instead of
IPA_MEM_UC_EVENT_RING in places where the size of that region was
defined to be 0.

The size of the IPA_MEM_END_MARKER pseudo region must be zero.

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ipa/ipa_data-v4.11.c
drivers/net/ipa/ipa_data-v4.2.c
drivers/net/ipa/ipa_mem.c
drivers/net/ipa/ipa_mem.h

index 05806ceae8b5405c23b333a86b410f92306a8faf..e7bdb8b4400e7d85f2e87f938a2ecd0e3afe294f 100644 (file)
@@ -325,7 +325,7 @@ static const struct ipa_mem ipa_mem_local_data[] = {
                .size           = 0x100c,
                .canary_count   = 2,
        },
-       [IPA_MEM_UC_EVENT_RING] = {
+       [IPA_MEM_END_MARKER] = {
                .offset         = 0x3000,
                .size           = 0x0000,
                .canary_count   = 1,
index 8744f19c64011e9f9d5d66fe63ded4338cd51bdd..95f75dbc3c3bc716c9dc7ef4b3f936e92d8a0f9e 100644 (file)
@@ -304,7 +304,7 @@ static const struct ipa_mem ipa_mem_local_data[] = {
                .size           = 0x140c,
                .canary_count   = 0,
        },
-       [IPA_MEM_UC_EVENT_RING] = {
+       [IPA_MEM_END_MARKER] = {
                .offset         = 0x2000,
                .size           = 0,
                .canary_count   = 1,
index 1624125e7459f145275dc1c14e826f46f0154349..e3c43cf6e44129a3257b6686fc828b33f6869e53 100644 (file)
@@ -120,6 +120,8 @@ static bool ipa_mem_valid(struct ipa *ipa, enum ipa_mem_id mem_id)
        else if (mem->offset + mem->size > ipa->mem_size)
                dev_err(dev, "region %u ends beyond memory limit (0x%08x)\n",
                        mem_id, ipa->mem_size);
+       else if (mem_id == IPA_MEM_END_MARKER && mem->size)
+               dev_err(dev, "non-zero end marker region size\n");
        else
                return true;
 
index a422aec69e5dad086b7b10c455a6e057750a8073..5a4f865a45afaa84807742dd21d961449ce31555 100644 (file)
@@ -70,6 +70,7 @@ enum ipa_mem_id {
        IPA_MEM_STATS_DROP,             /* 0 canaries (IPA v4.0 and above) */
        IPA_MEM_MODEM,                  /* 0/2 canaries */
        IPA_MEM_UC_EVENT_RING,          /* 1 canary */
+       IPA_MEM_END_MARKER,             /* 1 canary (not a real region) */
        IPA_MEM_COUNT,                  /* Number of regions (not an index) */
 };