net: ipa: store memory region id in descriptor
Store the memory region ID in the memory descriptor structure. This is a move toward *not* indexing the array by the ID, but for now we must still specify those index values. Define an explicitly undefined region ID, value 0, so uninitialized entries in the array won't use an otherwise valid ID. Signed-off-by: Alex Elder <elder@linaro.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
f636a83662
commit
14ab6a208c
@ -272,76 +272,91 @@ static const struct ipa_resource_data ipa_resource_data = {
|
||||
/* IPA-resident memory region data for an SoC having IPA v3.5.1 */
|
||||
static const struct ipa_mem ipa_mem_local_data[] = {
|
||||
[IPA_MEM_UC_SHARED] = {
|
||||
.id = IPA_MEM_UC_SHARED,
|
||||
.offset = 0x0000,
|
||||
.size = 0x0080,
|
||||
.canary_count = 0,
|
||||
},
|
||||
[IPA_MEM_UC_INFO] = {
|
||||
.id = IPA_MEM_UC_INFO,
|
||||
.offset = 0x0080,
|
||||
.size = 0x0200,
|
||||
.canary_count = 0,
|
||||
},
|
||||
[IPA_MEM_V4_FILTER_HASHED] = {
|
||||
.id = IPA_MEM_V4_FILTER_HASHED,
|
||||
.offset = 0x0288,
|
||||
.size = 0x0078,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_V4_FILTER] = {
|
||||
.id = IPA_MEM_V4_FILTER,
|
||||
.offset = 0x0308,
|
||||
.size = 0x0078,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_V6_FILTER_HASHED] = {
|
||||
.id = IPA_MEM_V6_FILTER_HASHED,
|
||||
.offset = 0x0388,
|
||||
.size = 0x0078,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_V6_FILTER] = {
|
||||
.id = IPA_MEM_V6_FILTER,
|
||||
.offset = 0x0408,
|
||||
.size = 0x0078,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_V4_ROUTE_HASHED] = {
|
||||
.id = IPA_MEM_V4_ROUTE_HASHED,
|
||||
.offset = 0x0488,
|
||||
.size = 0x0078,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_V4_ROUTE] = {
|
||||
.id = IPA_MEM_V4_ROUTE,
|
||||
.offset = 0x0508,
|
||||
.size = 0x0078,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_V6_ROUTE_HASHED] = {
|
||||
.id = IPA_MEM_V6_ROUTE_HASHED,
|
||||
.offset = 0x0588,
|
||||
.size = 0x0078,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_V6_ROUTE] = {
|
||||
.id = IPA_MEM_V6_ROUTE,
|
||||
.offset = 0x0608,
|
||||
.size = 0x0078,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_MODEM_HEADER] = {
|
||||
.id = IPA_MEM_MODEM_HEADER,
|
||||
.offset = 0x0688,
|
||||
.size = 0x0140,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_MODEM_PROC_CTX] = {
|
||||
.id = IPA_MEM_MODEM_PROC_CTX,
|
||||
.offset = 0x07d0,
|
||||
.size = 0x0200,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_AP_PROC_CTX] = {
|
||||
.id = IPA_MEM_AP_PROC_CTX,
|
||||
.offset = 0x09d0,
|
||||
.size = 0x0200,
|
||||
.canary_count = 0,
|
||||
},
|
||||
[IPA_MEM_MODEM] = {
|
||||
.id = IPA_MEM_MODEM,
|
||||
.offset = 0x0bd8,
|
||||
.size = 0x1024,
|
||||
.canary_count = 0,
|
||||
},
|
||||
[IPA_MEM_UC_EVENT_RING] = {
|
||||
.id = IPA_MEM_UC_EVENT_RING,
|
||||
.offset = 0x1c00,
|
||||
.size = 0x0400,
|
||||
.canary_count = 1,
|
||||
|
@ -221,111 +221,133 @@ static const struct ipa_resource_data ipa_resource_data = {
|
||||
/* IPA-resident memory region data for an SoC having IPA v4.11 */
|
||||
static const struct ipa_mem ipa_mem_local_data[] = {
|
||||
[IPA_MEM_UC_SHARED] = {
|
||||
.id = IPA_MEM_UC_SHARED,
|
||||
.offset = 0x0000,
|
||||
.size = 0x0080,
|
||||
.canary_count = 0,
|
||||
},
|
||||
[IPA_MEM_UC_INFO] = {
|
||||
.id = IPA_MEM_UC_INFO,
|
||||
.offset = 0x0080,
|
||||
.size = 0x0200,
|
||||
.canary_count = 0,
|
||||
},
|
||||
[IPA_MEM_V4_FILTER_HASHED] = {
|
||||
.id = IPA_MEM_V4_FILTER_HASHED,
|
||||
.offset = 0x0288,
|
||||
.size = 0x0078,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_V4_FILTER] = {
|
||||
.id = IPA_MEM_V4_FILTER,
|
||||
.offset = 0x0308,
|
||||
.size = 0x0078,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_V6_FILTER_HASHED] = {
|
||||
.id = IPA_MEM_V6_FILTER_HASHED,
|
||||
.offset = 0x0388,
|
||||
.size = 0x0078,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_V6_FILTER] = {
|
||||
.id = IPA_MEM_V6_FILTER,
|
||||
.offset = 0x0408,
|
||||
.size = 0x0078,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_V4_ROUTE_HASHED] = {
|
||||
.id = IPA_MEM_V4_ROUTE_HASHED,
|
||||
.offset = 0x0488,
|
||||
.size = 0x0078,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_V4_ROUTE] = {
|
||||
.id = IPA_MEM_V4_ROUTE,
|
||||
.offset = 0x0508,
|
||||
.size = 0x0078,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_V6_ROUTE_HASHED] = {
|
||||
.id = IPA_MEM_V6_ROUTE_HASHED,
|
||||
.offset = 0x0588,
|
||||
.size = 0x0078,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_V6_ROUTE] = {
|
||||
.id = IPA_MEM_V6_ROUTE,
|
||||
.offset = 0x0608,
|
||||
.size = 0x0078,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_MODEM_HEADER] = {
|
||||
.id = IPA_MEM_MODEM_HEADER,
|
||||
.offset = 0x0688,
|
||||
.size = 0x0240,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_AP_HEADER] = {
|
||||
.id = IPA_MEM_AP_HEADER,
|
||||
.offset = 0x08c8,
|
||||
.size = 0x0200,
|
||||
.canary_count = 0,
|
||||
},
|
||||
[IPA_MEM_MODEM_PROC_CTX] = {
|
||||
.id = IPA_MEM_MODEM_PROC_CTX,
|
||||
.offset = 0x0ad0,
|
||||
.size = 0x0200,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_AP_PROC_CTX] = {
|
||||
.id = IPA_MEM_AP_PROC_CTX,
|
||||
.offset = 0x0cd0,
|
||||
.size = 0x0200,
|
||||
.canary_count = 0,
|
||||
},
|
||||
[IPA_MEM_NAT_TABLE] = {
|
||||
.id = IPA_MEM_NAT_TABLE,
|
||||
.offset = 0x0ee0,
|
||||
.size = 0x0d00,
|
||||
.canary_count = 4,
|
||||
},
|
||||
[IPA_MEM_PDN_CONFIG] = {
|
||||
.id = IPA_MEM_PDN_CONFIG,
|
||||
.offset = 0x1be8,
|
||||
.size = 0x0050,
|
||||
.canary_count = 0,
|
||||
},
|
||||
[IPA_MEM_STATS_QUOTA_MODEM] = {
|
||||
.id = IPA_MEM_STATS_QUOTA_MODEM,
|
||||
.offset = 0x1c40,
|
||||
.size = 0x0030,
|
||||
.canary_count = 4,
|
||||
},
|
||||
[IPA_MEM_STATS_QUOTA_AP] = {
|
||||
.id = IPA_MEM_STATS_QUOTA_AP,
|
||||
.offset = 0x1c70,
|
||||
.size = 0x0048,
|
||||
.canary_count = 0,
|
||||
},
|
||||
[IPA_MEM_STATS_TETHERING] = {
|
||||
.id = IPA_MEM_STATS_TETHERING,
|
||||
.offset = 0x1cb8,
|
||||
.size = 0x0238,
|
||||
.canary_count = 0,
|
||||
},
|
||||
[IPA_MEM_STATS_DROP] = {
|
||||
.id = IPA_MEM_STATS_DROP,
|
||||
.offset = 0x1ef0,
|
||||
.size = 0x0020,
|
||||
.canary_count = 0,
|
||||
},
|
||||
[IPA_MEM_MODEM] = {
|
||||
.id = IPA_MEM_MODEM,
|
||||
.offset = 0x1f18,
|
||||
.size = 0x100c,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_END_MARKER] = {
|
||||
.id = IPA_MEM_END_MARKER,
|
||||
.offset = 0x3000,
|
||||
.size = 0x0000,
|
||||
.canary_count = 1,
|
||||
|
@ -220,91 +220,109 @@ static const struct ipa_resource_data ipa_resource_data = {
|
||||
/* IPA-resident memory region data for an SoC having IPA v4.2 */
|
||||
static const struct ipa_mem ipa_mem_local_data[] = {
|
||||
[IPA_MEM_UC_SHARED] = {
|
||||
.id = IPA_MEM_UC_SHARED,
|
||||
.offset = 0x0000,
|
||||
.size = 0x0080,
|
||||
.canary_count = 0,
|
||||
},
|
||||
[IPA_MEM_UC_INFO] = {
|
||||
.id = IPA_MEM_UC_INFO,
|
||||
.offset = 0x0080,
|
||||
.size = 0x0200,
|
||||
.canary_count = 0,
|
||||
},
|
||||
[IPA_MEM_V4_FILTER_HASHED] = {
|
||||
.id = IPA_MEM_V4_FILTER_HASHED,
|
||||
.offset = 0x0288,
|
||||
.size = 0,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_V4_FILTER] = {
|
||||
.id = IPA_MEM_V4_FILTER,
|
||||
.offset = 0x0290,
|
||||
.size = 0x0078,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_V6_FILTER_HASHED] = {
|
||||
.id = IPA_MEM_V6_FILTER_HASHED,
|
||||
.offset = 0x0310,
|
||||
.size = 0,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_V6_FILTER] = {
|
||||
.id = IPA_MEM_V6_FILTER,
|
||||
.offset = 0x0318,
|
||||
.size = 0x0078,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_V4_ROUTE_HASHED] = {
|
||||
.id = IPA_MEM_V4_ROUTE_HASHED,
|
||||
.offset = 0x0398,
|
||||
.size = 0,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_V4_ROUTE] = {
|
||||
.id = IPA_MEM_V4_ROUTE,
|
||||
.offset = 0x03a0,
|
||||
.size = 0x0078,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_V6_ROUTE_HASHED] = {
|
||||
.id = IPA_MEM_V6_ROUTE_HASHED,
|
||||
.offset = 0x0420,
|
||||
.size = 0,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_V6_ROUTE] = {
|
||||
.id = IPA_MEM_V6_ROUTE,
|
||||
.offset = 0x0428,
|
||||
.size = 0x0078,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_MODEM_HEADER] = {
|
||||
.id = IPA_MEM_MODEM_HEADER,
|
||||
.offset = 0x04a8,
|
||||
.size = 0x0140,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_MODEM_PROC_CTX] = {
|
||||
.id = IPA_MEM_MODEM_PROC_CTX,
|
||||
.offset = 0x05f0,
|
||||
.size = 0x0200,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_AP_PROC_CTX] = {
|
||||
.id = IPA_MEM_AP_PROC_CTX,
|
||||
.offset = 0x07f0,
|
||||
.size = 0x0200,
|
||||
.canary_count = 0,
|
||||
},
|
||||
[IPA_MEM_PDN_CONFIG] = {
|
||||
.id = IPA_MEM_PDN_CONFIG,
|
||||
.offset = 0x09f8,
|
||||
.size = 0x0050,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_STATS_QUOTA_MODEM] = {
|
||||
.id = IPA_MEM_STATS_QUOTA_MODEM,
|
||||
.offset = 0x0a50,
|
||||
.size = 0x0060,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_STATS_TETHERING] = {
|
||||
.id = IPA_MEM_STATS_TETHERING,
|
||||
.offset = 0x0ab0,
|
||||
.size = 0x0140,
|
||||
.canary_count = 0,
|
||||
},
|
||||
[IPA_MEM_MODEM] = {
|
||||
.id = IPA_MEM_MODEM,
|
||||
.offset = 0x0bf0,
|
||||
.size = 0x140c,
|
||||
.canary_count = 0,
|
||||
},
|
||||
[IPA_MEM_END_MARKER] = {
|
||||
.id = IPA_MEM_END_MARKER,
|
||||
.offset = 0x2000,
|
||||
.size = 0,
|
||||
.canary_count = 1,
|
||||
|
@ -266,116 +266,139 @@ static const struct ipa_resource_data ipa_resource_data = {
|
||||
/* IPA-resident memory region data for an SoC having IPA v4.5 */
|
||||
static const struct ipa_mem ipa_mem_local_data[] = {
|
||||
[IPA_MEM_UC_SHARED] = {
|
||||
.id = IPA_MEM_UC_SHARED,
|
||||
.offset = 0x0000,
|
||||
.size = 0x0080,
|
||||
.canary_count = 0,
|
||||
},
|
||||
[IPA_MEM_UC_INFO] = {
|
||||
.id = IPA_MEM_UC_INFO,
|
||||
.offset = 0x0080,
|
||||
.size = 0x0200,
|
||||
.canary_count = 0,
|
||||
},
|
||||
[IPA_MEM_V4_FILTER_HASHED] = {
|
||||
.id = IPA_MEM_V4_FILTER_HASHED,
|
||||
.offset = 0x0288,
|
||||
.size = 0x0078,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_V4_FILTER] = {
|
||||
.id = IPA_MEM_V4_FILTER,
|
||||
.offset = 0x0308,
|
||||
.size = 0x0078,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_V6_FILTER_HASHED] = {
|
||||
.id = IPA_MEM_V6_FILTER_HASHED,
|
||||
.offset = 0x0388,
|
||||
.size = 0x0078,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_V6_FILTER] = {
|
||||
.id = IPA_MEM_V6_FILTER,
|
||||
.offset = 0x0408,
|
||||
.size = 0x0078,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_V4_ROUTE_HASHED] = {
|
||||
.id = IPA_MEM_V4_ROUTE_HASHED,
|
||||
.offset = 0x0488,
|
||||
.size = 0x0078,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_V4_ROUTE] = {
|
||||
.id = IPA_MEM_V4_ROUTE,
|
||||
.offset = 0x0508,
|
||||
.size = 0x0078,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_V6_ROUTE_HASHED] = {
|
||||
.id = IPA_MEM_V6_ROUTE_HASHED,
|
||||
.offset = 0x0588,
|
||||
.size = 0x0078,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_V6_ROUTE] = {
|
||||
.id = IPA_MEM_V6_ROUTE,
|
||||
.offset = 0x0608,
|
||||
.size = 0x0078,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_MODEM_HEADER] = {
|
||||
.id = IPA_MEM_MODEM_HEADER,
|
||||
.offset = 0x0688,
|
||||
.size = 0x0240,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_AP_HEADER] = {
|
||||
.id = IPA_MEM_AP_HEADER,
|
||||
.offset = 0x08c8,
|
||||
.size = 0x0200,
|
||||
.canary_count = 0,
|
||||
},
|
||||
[IPA_MEM_MODEM_PROC_CTX] = {
|
||||
.id = IPA_MEM_MODEM_PROC_CTX,
|
||||
.offset = 0x0ad0,
|
||||
.size = 0x0b20,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_AP_PROC_CTX] = {
|
||||
.id = IPA_MEM_AP_PROC_CTX,
|
||||
.offset = 0x15f0,
|
||||
.size = 0x0200,
|
||||
.canary_count = 0,
|
||||
},
|
||||
[IPA_MEM_NAT_TABLE] = {
|
||||
.id = IPA_MEM_NAT_TABLE,
|
||||
.offset = 0x1800,
|
||||
.size = 0x0d00,
|
||||
.canary_count = 4,
|
||||
},
|
||||
[IPA_MEM_STATS_QUOTA_MODEM] = {
|
||||
.id = IPA_MEM_STATS_QUOTA_MODEM,
|
||||
.offset = 0x2510,
|
||||
.size = 0x0030,
|
||||
.canary_count = 4,
|
||||
},
|
||||
[IPA_MEM_STATS_QUOTA_AP] = {
|
||||
.id = IPA_MEM_STATS_QUOTA_AP,
|
||||
.offset = 0x2540,
|
||||
.size = 0x0048,
|
||||
.canary_count = 0,
|
||||
},
|
||||
[IPA_MEM_STATS_TETHERING] = {
|
||||
.id = IPA_MEM_STATS_TETHERING,
|
||||
.offset = 0x2588,
|
||||
.size = 0x0238,
|
||||
.canary_count = 0,
|
||||
},
|
||||
[IPA_MEM_STATS_FILTER_ROUTE] = {
|
||||
.id = IPA_MEM_STATS_FILTER_ROUTE,
|
||||
.offset = 0x27c0,
|
||||
.size = 0x0800,
|
||||
.canary_count = 0,
|
||||
},
|
||||
[IPA_MEM_STATS_DROP] = {
|
||||
.id = IPA_MEM_STATS_DROP,
|
||||
.offset = 0x2fc0,
|
||||
.size = 0x0020,
|
||||
.canary_count = 0,
|
||||
},
|
||||
[IPA_MEM_MODEM] = {
|
||||
.id = IPA_MEM_MODEM,
|
||||
.offset = 0x2fe8,
|
||||
.size = 0x0800,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_UC_EVENT_RING] = {
|
||||
.id = IPA_MEM_UC_EVENT_RING,
|
||||
.offset = 0x3800,
|
||||
.size = 0x1000,
|
||||
.canary_count = 1,
|
||||
},
|
||||
[IPA_MEM_PDN_CONFIG] = {
|
||||
.id = IPA_MEM_PDN_CONFIG,
|
||||
.offset = 0x4800,
|
||||
.size = 0x0050,
|
||||
.canary_count = 0,
|
||||
|
@ -264,115 +264,139 @@ static const struct ipa_resource_data ipa_resource_data = {
|
||||
/* IPA-resident memory region data for an SoC having IPA v4.9 */
|
||||
static const struct ipa_mem ipa_mem_local_data[] = {
|
||||
[IPA_MEM_UC_SHARED] = {
|
||||
.id = IPA_MEM_UC_SHARED,
|
||||
.offset = 0x0000,
|
||||
.size = 0x0080,
|
||||
.canary_count = 0,
|
||||
},
|
||||
[IPA_MEM_UC_INFO] = {
|
||||
.id = IPA_MEM_UC_INFO,
|
||||
.offset = 0x0080,
|
||||
.size = 0x0200,
|
||||
.canary_count = 0,
|
||||
},
|
||||
[IPA_MEM_V4_FILTER_HASHED] = { .offset = 0x0288,
|
||||
[IPA_MEM_V4_FILTER_HASHED] = {
|
||||
.id = IPA_MEM_V4_FILTER_HASHED,
|
||||
.offset = 0x0288,
|
||||
.size = 0x0078,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_V4_FILTER] = {
|
||||
.id = IPA_MEM_V4_FILTER,
|
||||
.offset = 0x0308,
|
||||
.size = 0x0078,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_V6_FILTER_HASHED] = {
|
||||
.id = IPA_MEM_V6_FILTER_HASHED,
|
||||
.offset = 0x0388,
|
||||
.size = 0x0078,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_V6_FILTER] = {
|
||||
.id = IPA_MEM_V6_FILTER,
|
||||
.offset = 0x0408,
|
||||
.size = 0x0078,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_V4_ROUTE_HASHED] = {
|
||||
.id = IPA_MEM_V4_ROUTE_HASHED,
|
||||
.offset = 0x0488,
|
||||
.size = 0x0078,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_V4_ROUTE] = {
|
||||
.id = IPA_MEM_V4_ROUTE,
|
||||
.offset = 0x0508,
|
||||
.size = 0x0078,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_V6_ROUTE_HASHED] = {
|
||||
.id = IPA_MEM_V6_ROUTE_HASHED,
|
||||
.offset = 0x0588,
|
||||
.size = 0x0078,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_V6_ROUTE] = {
|
||||
.id = IPA_MEM_V6_ROUTE,
|
||||
.offset = 0x0608,
|
||||
.size = 0x0078,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_MODEM_HEADER] = {
|
||||
.id = IPA_MEM_MODEM_HEADER,
|
||||
.offset = 0x0688,
|
||||
.size = 0x0240,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_AP_HEADER] = {
|
||||
.id = IPA_MEM_AP_HEADER,
|
||||
.offset = 0x08c8,
|
||||
.size = 0x0200,
|
||||
.canary_count = 0,
|
||||
},
|
||||
[IPA_MEM_MODEM_PROC_CTX] = {
|
||||
.id = IPA_MEM_MODEM_PROC_CTX,
|
||||
.offset = 0x0ad0,
|
||||
.size = 0x0b20,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_AP_PROC_CTX] = {
|
||||
.id = IPA_MEM_AP_PROC_CTX,
|
||||
.offset = 0x15f0,
|
||||
.size = 0x0200,
|
||||
.canary_count = 0,
|
||||
},
|
||||
[IPA_MEM_NAT_TABLE] = {
|
||||
.id = IPA_MEM_NAT_TABLE,
|
||||
.offset = 0x1800,
|
||||
.size = 0x0d00,
|
||||
.canary_count = 4,
|
||||
},
|
||||
[IPA_MEM_STATS_QUOTA_MODEM] = {
|
||||
.id = IPA_MEM_STATS_QUOTA_MODEM,
|
||||
.offset = 0x2510,
|
||||
.size = 0x0030,
|
||||
.canary_count = 4,
|
||||
},
|
||||
[IPA_MEM_STATS_QUOTA_AP] = {
|
||||
.id = IPA_MEM_STATS_QUOTA_AP,
|
||||
.offset = 0x2540,
|
||||
.size = 0x0048,
|
||||
.canary_count = 0,
|
||||
},
|
||||
[IPA_MEM_STATS_TETHERING] = {
|
||||
.id = IPA_MEM_STATS_TETHERING,
|
||||
.offset = 0x2588,
|
||||
.size = 0x0238,
|
||||
.canary_count = 0,
|
||||
},
|
||||
[IPA_MEM_STATS_FILTER_ROUTE] = {
|
||||
.id = IPA_MEM_STATS_FILTER_ROUTE,
|
||||
.offset = 0x27c0,
|
||||
.size = 0x0800,
|
||||
.canary_count = 0,
|
||||
},
|
||||
[IPA_MEM_STATS_DROP] = {
|
||||
.id = IPA_MEM_STATS_DROP,
|
||||
.offset = 0x2fc0,
|
||||
.size = 0x0020,
|
||||
.canary_count = 0,
|
||||
},
|
||||
[IPA_MEM_MODEM] = {
|
||||
.id = IPA_MEM_MODEM,
|
||||
.offset = 0x2fe8,
|
||||
.size = 0x0800,
|
||||
.canary_count = 2,
|
||||
},
|
||||
[IPA_MEM_UC_EVENT_RING] = {
|
||||
.id = IPA_MEM_UC_EVENT_RING,
|
||||
.offset = 0x3800,
|
||||
.size = 0x1000,
|
||||
.canary_count = 1,
|
||||
},
|
||||
[IPA_MEM_PDN_CONFIG] = {
|
||||
.id = IPA_MEM_PDN_CONFIG,
|
||||
.offset = 0x4800,
|
||||
.size = 0x0050,
|
||||
.canary_count = 0,
|
||||
|
@ -43,6 +43,7 @@ struct ipa_mem_data;
|
||||
|
||||
/* IPA-resident memory region ids */
|
||||
enum ipa_mem_id {
|
||||
IPA_MEM_UNDEFINED = 0, /* undefined region */
|
||||
IPA_MEM_UC_SHARED, /* 0 canaries */
|
||||
IPA_MEM_UC_INFO, /* 0 canaries */
|
||||
IPA_MEM_V4_FILTER_HASHED, /* 2 canaries */
|
||||
@ -76,11 +77,13 @@ enum ipa_mem_id {
|
||||
|
||||
/**
|
||||
* struct ipa_mem - IPA local memory region description
|
||||
* @id: memory region identifier
|
||||
* @offset: offset in IPA memory space to base of the region
|
||||
* @size: size in bytes base of the region
|
||||
* @canary_count: Number of 32-bit "canary" values that precede region
|
||||
*/
|
||||
struct ipa_mem {
|
||||
enum ipa_mem_id id;
|
||||
u32 offset;
|
||||
u16 size;
|
||||
u16 canary_count;
|
||||
|
Loading…
x
Reference in New Issue
Block a user