Commit fc566dab authored by Alex Elder's avatar Alex Elder Committed by David S. Miller
Browse files

net: ipa: switch to version based configuration



Rename the SDM845 configuration data file so that its name is
derived from its IPA version.  I am not aware of any special IPA
behavior or handling that would be based on a specific SoC (as
opposed to a specific version of the IPA it contains).

Update a few other references to the code that talk about the SDM845
rather than just IPA v3.5.1.

Signed-off-by: default avatarAlex Elder <elder@linaro.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent d21d1f33
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -12,8 +12,7 @@ config QCOM_IPA
	  that is capable of generic hardware handling of IP packets,
	  including routing, filtering, and NAT.  Currently the IPA
	  driver supports only basic transport of network traffic
	  between the AP and modem, on the Qualcomm SDM845 and SC7180
	  SoCs.
	  between the AP and modem.

	  Note that if selected, the selection type must match that
	  of QCOM_Q6V5_COMMON (Y or M).
+1 −1
Original line number Diff line number Diff line
@@ -9,4 +9,4 @@ 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-sdm845.o ipa_data-sc7180.o
ipa-y			+=	ipa_data-v3.5.1.o ipa_data-sc7180.o
+12 −10
Original line number Diff line number Diff line
@@ -11,7 +11,7 @@
#include "ipa_endpoint.h"
#include "ipa_mem.h"

/** enum ipa_resource_type - IPA resource types */
/** enum ipa_resource_type - IPA resource types for an SoC having IPA v3.5.1 */
enum ipa_resource_type {
	/* Source resource types; first must have value 0 */
	IPA_RESOURCE_TYPE_SRC_PKT_CONTEXTS		= 0,
@@ -25,7 +25,7 @@ enum ipa_resource_type {
	IPA_RESOURCE_TYPE_DST_DPS_DMARS,
};

/* Resource groups used for the SDM845 SoC */
/* Resource groups used for an SoC having IPA v3.5.1 */
enum ipa_rsrc_group_id {
	/* Source resource group identifiers */
	IPA_RSRC_GROUP_SRC_LWA_DL	= 0,
@@ -41,7 +41,7 @@ enum ipa_rsrc_group_id {
	IPA_RSRC_GROUP_DST_COUNT,	/* Last; not a destination group */
};

/* QSB configuration for the SDM845 SoC. */
/* QSB configuration data for an SoC having IPA v3.5.1 */
static const struct ipa_qsb_data ipa_qsb_data[] = {
	[IPA_QSB_MASTER_DDR] = {
		.max_writes	= 8,
@@ -53,7 +53,7 @@ static const struct ipa_qsb_data ipa_qsb_data[] = {
	},
};

/* Endpoint configuration for the SDM845 SoC. */
/* Endpoint datdata for an SoC having IPA v3.5.1 */
static const struct ipa_gsi_endpoint_data ipa_gsi_endpoint_data[] = {
	[IPA_ENDPOINT_AP_COMMAND_TX] = {
		.ee_id		= GSI_EE_AP,
@@ -170,7 +170,7 @@ static const struct ipa_gsi_endpoint_data ipa_gsi_endpoint_data[] = {
	},
};

/* Source resource configuration data for the SDM845 SoC */
/* Source resource configuration data for an SoC having IPA v3.5.1 */
static const struct ipa_resource ipa_resource_src[] = {
	[IPA_RESOURCE_TYPE_SRC_PKT_CONTEXTS] = {
		.limits[IPA_RSRC_GROUP_SRC_LWA_DL] = {
@@ -232,7 +232,7 @@ static const struct ipa_resource ipa_resource_src[] = {
	},
};

/* Destination resource configuration data for the SDM845 SoC */
/* Destination resource configuration data for an SoC having IPA v3.5.1 */
static const struct ipa_resource ipa_resource_dst[] = {
	[IPA_RESOURCE_TYPE_DST_DATA_SECTORS] = {
		.limits[IPA_RSRC_GROUP_DST_LWA_DL] = {
@@ -258,7 +258,7 @@ static const struct ipa_resource ipa_resource_dst[] = {
	},
};

/* Resource configuration for the SDM845 SoC. */
/* Resource configuration data for an SoC having IPA v3.5.1 */
static const struct ipa_resource_data ipa_resource_data = {
	.rsrc_group_src_count	= IPA_RSRC_GROUP_SRC_COUNT,
	.rsrc_group_dst_count	= IPA_RSRC_GROUP_DST_COUNT,
@@ -268,7 +268,7 @@ static const struct ipa_resource_data ipa_resource_data = {
	.resource_dst		= ipa_resource_dst,
};

/* IPA-resident memory region configuration for the SDM845 SoC. */
/* 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] = {
		.offset		= 0x0000,
@@ -347,6 +347,7 @@ static const struct ipa_mem ipa_mem_local_data[] = {
	},
};

/* Memory configuration data for an SoC having IPA v3.5.1 */
static const struct ipa_mem_data ipa_mem_data = {
	.local_count	= ARRAY_SIZE(ipa_mem_local_data),
	.local		= ipa_mem_local_data,
@@ -376,14 +377,15 @@ static const struct ipa_interconnect_data ipa_interconnect_data[] = {
	},
};

/* Clock and interconnect configuration data for an SoC having IPA v3.5.1 */
static const struct ipa_clock_data ipa_clock_data = {
	.core_clock_rate	= 75 * 1000 * 1000,	/* Hz */
	.interconnect_count	= ARRAY_SIZE(ipa_interconnect_data),
	.interconnect_data	= ipa_interconnect_data,
};

/* Configuration data for the SDM845 SoC. */
const struct ipa_data ipa_data_sdm845 = {
/* Configuration data for an SoC having IPA v3.5.1 */
const struct ipa_data ipa_data_v3_5_1 = {
	.version	= IPA_VERSION_3_5_1,
	.backward_compat = BCR_CMDQ_L_LACK_ONE_ENTRY_FMASK |
			   BCR_TX_NOT_USING_BRESP_FMASK |
+1 −1
Original line number Diff line number Diff line
@@ -300,7 +300,7 @@ struct ipa_data {
	const struct ipa_clock_data *clock_data;
};

extern const struct ipa_data ipa_data_sdm845;
extern const struct ipa_data ipa_data_v3_5_1;
extern const struct ipa_data ipa_data_sc7180;

#endif /* _IPA_DATA_H_ */
+1 −1
Original line number Diff line number Diff line
@@ -578,7 +578,7 @@ static int ipa_firmware_load(struct device *dev)
static const struct of_device_id ipa_match[] = {
	{
		.compatible	= "qcom,sdm845-ipa",
		.data		= &ipa_data_sdm845,
		.data		= &ipa_data_v3_5_1,
	},
	{
		.compatible	= "qcom,sc7180-ipa",