Commit 56dfe8de authored by Alex Elder's avatar Alex Elder Committed by Jakub Kicinski
Browse files

net: ipa: use version in gsi_channel_init()



A quirk of IPA v4.2 requires the AP to allocate the GSI channels
that are owned by the modem.

Rather than pass a flag argument to gsi_channel_init(), use the
IPA version directly in that function to determine whether modem
channels need to be allocated.

Signed-off-by: default avatarAlex Elder <elder@linaro.org>
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 14dbf977
Loading
Loading
Loading
Loading
+6 −7
Original line number Diff line number Diff line
@@ -1894,12 +1894,15 @@ static void gsi_channel_exit_one(struct gsi_channel *channel)

/* Init function for channels */
static int gsi_channel_init(struct gsi *gsi, u32 count,
			    const struct ipa_gsi_endpoint_data *data,
			    bool modem_alloc)
			    const struct ipa_gsi_endpoint_data *data)
{
	bool modem_alloc;
	int ret = 0;
	u32 i;

	/* IPA v4.2 requires the AP to allocate channels for the modem */
	modem_alloc = gsi->version == IPA_VERSION_4_2;

	gsi_evt_ring_init(gsi);

	/* The endpoint data array is indexed by endpoint name */
@@ -1961,14 +1964,10 @@ int gsi_init(struct gsi *gsi, struct platform_device *pdev,
	struct resource *res;
	resource_size_t size;
	unsigned int irq;
	bool modem_alloc;
	int ret;

	gsi_validate_build();

	/* IPA v4.2 requires the AP to allocate channels for the modem */
	modem_alloc = version == IPA_VERSION_4_2;

	gsi->dev = dev;
	gsi->version = version;

@@ -2014,7 +2013,7 @@ int gsi_init(struct gsi *gsi, struct platform_device *pdev,
		goto err_free_irq;
	}

	ret = gsi_channel_init(gsi, count, data, modem_alloc);
	ret = gsi_channel_init(gsi, count, data);
	if (ret)
		goto err_iounmap;