Commit b5c3babb authored by Nathan Chancellor's avatar Nathan Chancellor Committed by Jakub Kicinski
Browse files

net: ipa: Remove ipa_endpoint_stop{,_rx_dma} again

When building arm64 allyesconfig:

drivers/net/ipa/ipa_endpoint.c: In function 'ipa_endpoint_stop_rx_dma':
drivers/net/ipa/ipa_endpoint.c:1274:13: error: 'IPA_ENDPOINT_STOP_RX_SIZE' undeclared (first use in this function)
drivers/net/ipa/ipa_endpoint.c:1274:13: note: each undeclared identifier is reported only once for each function it appears in
drivers/net/ipa/ipa_endpoint.c:1289:2: error: implicit declaration of function 'ipa_cmd_dma_task_32b_addr_add' [-Werror=implicit-function-declaration]
drivers/net/ipa/ipa_endpoint.c:1291:45: error: 'ENDPOINT_STOP_DMA_TIMEOUT' undeclared (first use in this function)
drivers/net/ipa/ipa_endpoint.c: In function 'ipa_endpoint_stop':
drivers/net/ipa/ipa_endpoint.c:1309:16: error: 'IPA_ENDPOINT_STOP_RX_RETRIES' undeclared (first use in this function)

These functions were removed in a series, merged in as
commit 33395f4a ("Merge branch 'net-ipa-kill-endpoint-stop-workaround'").

Remove them again so that the build works properly.

Fixes: 3793faad ("Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net"

)
Signed-off-by: default avatarNathan Chancellor <natechancellor@gmail.com>
Reviewed-by: default avatarArnd Bergmann <arnd@arndb.de>
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent d8882935
Loading
Loading
Loading
Loading
+0 −61
Original line number Diff line number Diff line
@@ -1269,67 +1269,6 @@ static void ipa_endpoint_reset(struct ipa_endpoint *endpoint)
			ret, endpoint->channel_id, endpoint->endpoint_id);
}

static int ipa_endpoint_stop_rx_dma(struct ipa *ipa)
{
	u16 size = IPA_ENDPOINT_STOP_RX_SIZE;
	struct gsi_trans *trans;
	dma_addr_t addr;
	int ret;

	trans = ipa_cmd_trans_alloc(ipa, 1);
	if (!trans) {
		dev_err(&ipa->pdev->dev,
			"no transaction for RX endpoint STOP workaround\n");
		return -EBUSY;
	}

	/* Read into the highest part of the zero memory area */
	addr = ipa->zero_addr + ipa->zero_size - size;

	ipa_cmd_dma_task_32b_addr_add(trans, size, addr, false);

	ret = gsi_trans_commit_wait_timeout(trans, ENDPOINT_STOP_DMA_TIMEOUT);
	if (ret)
		gsi_trans_free(trans);

	return ret;
}

/**
 * ipa_endpoint_stop() - Stops a GSI channel in IPA
 * @client:	Client whose endpoint should be stopped
 *
 * This function implements the sequence to stop a GSI channel
 * in IPA. This function returns when the channel is is STOP state.
 *
 * Return value: 0 on success, negative otherwise
 */
int ipa_endpoint_stop(struct ipa_endpoint *endpoint)
{
	u32 retries = IPA_ENDPOINT_STOP_RX_RETRIES;
	int ret;

	do {
		struct ipa *ipa = endpoint->ipa;
		struct gsi *gsi = &ipa->gsi;

		ret = gsi_channel_stop(gsi, endpoint->channel_id);
		if (ret != -EAGAIN || endpoint->toward_ipa)
			break;

		/* For IPA v3.5.1, send a DMA read task and check again */
		if (ipa->version == IPA_VERSION_3_5_1) {
			ret = ipa_endpoint_stop_rx_dma(ipa);
			if (ret)
				break;
		}

		msleep(1);
	} while (retries--);

	return retries ? ret : -EIO;
}

static void ipa_endpoint_program(struct ipa_endpoint *endpoint)
{
	if (endpoint->toward_ipa) {