Commit fbb763e7 authored by Alex Elder's avatar Alex Elder Committed by David S. Miller

net: ipa: add IPA v4.5 configuration data

Add support for the SDX55 SoC, which includes IPA version 4.5.

Starting with IPA v4.5, a few of the memory regions have a different
number of "canary" values; update comments in the where the region
identifers are defined to accurately reflect that.

I'll note three differences in SDX55 versus the other two existing
platforms (SDM845 and SC7180):
  - SDX55 uses a 32-bit Linux kernel
  - SDX55 has four interconnects rather than three
  - SDX55 uses IPA v4.5, which uses inline checksum offload
Signed-off-by: default avatarAlex Elder <elder@linaro.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent c88c34fc
......@@ -9,4 +9,5 @@ ipa-y := ipa_main.o ipa_clock.o ipa_reg.o ipa_mem.o \
ipa_endpoint.o ipa_cmd.o ipa_modem.o \
ipa_resource.o ipa_qmi.o ipa_qmi_msg.o
ipa-y += ipa_data-v3.5.1.o ipa_data-v4.2.o
ipa-y += ipa_data-v3.5.1.o ipa_data-v4.2.o \
ipa_data-v4.5.o
This diff is collapsed.
......@@ -302,5 +302,6 @@ struct ipa_data {
extern const struct ipa_data ipa_data_v3_5_1;
extern const struct ipa_data ipa_data_v4_2;
extern const struct ipa_data ipa_data_v4_5;
#endif /* _IPA_DATA_H_ */
......@@ -573,6 +573,10 @@ static const struct of_device_id ipa_match[] = {
.compatible = "qcom,sc7180-ipa",
.data = &ipa_data_v4_2,
},
{
.compatible = "qcom,sdx55-ipa",
.data = &ipa_data_v4_5,
},
{ },
};
MODULE_DEVICE_TABLE(of, ipa_match);
......
......@@ -58,8 +58,8 @@ enum ipa_mem_id {
IPA_MEM_MODEM_PROC_CTX, /* 2 canaries */
IPA_MEM_AP_PROC_CTX, /* 0 canaries */
IPA_MEM_NAT_TABLE, /* 4 canaries (IPA v4.5 and above) */
IPA_MEM_PDN_CONFIG, /* 2 canaries (IPA v4.0 and above) */
IPA_MEM_STATS_QUOTA_MODEM, /* 2 canaries (IPA v4.0 and above) */
IPA_MEM_PDN_CONFIG, /* 0/2 canaries (IPA v4.0 and above) */
IPA_MEM_STATS_QUOTA_MODEM, /* 2/4 canaries (IPA v4.0 and above) */
IPA_MEM_STATS_QUOTA_AP, /* 0 canaries (IPA v4.0 and above) */
IPA_MEM_STATS_TETHERING, /* 0 canaries (IPA v4.0 and above) */
IPA_MEM_STATS_V4_FILTER, /* 0 canaries (IPA v4.0-v4.2) */
......@@ -68,7 +68,7 @@ enum ipa_mem_id {
IPA_MEM_STATS_V6_ROUTE, /* 0 canaries (IPA v4.0-v4.2) */
IPA_MEM_STATS_FILTER_ROUTE, /* 0 canaries (IPA v4.5 and above) */
IPA_MEM_STATS_DROP, /* 0 canaries (IPA v4.0 and above) */
IPA_MEM_MODEM, /* 0 canaries */
IPA_MEM_MODEM, /* 0/2 canaries */
IPA_MEM_UC_EVENT_RING, /* 1 canary */
IPA_MEM_COUNT, /* Number of regions (not an index) */
};
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment