From patchwork Tue Nov 17 10:56:39 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Ujfalusi X-Patchwork-Id: 324576 Delivered-To: patch@linaro.org Received: by 2002:a05:6e02:5ce:0:0:0:0 with SMTP id l14csp4067699ils; Tue, 17 Nov 2020 02:59:12 -0800 (PST) X-Google-Smtp-Source: ABdhPJzIq1rPZ6oMo7PMISmfnuB8V7iwX2J887VE9mYxr2cTpQNIoBD3SK8Hi1rynI5BLeOOwKUY X-Received: by 2002:a50:dac9:: with SMTP id s9mr19246640edj.75.1605610752775; Tue, 17 Nov 2020 02:59:12 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1605610752; cv=none; d=google.com; s=arc-20160816; b=R2nVvqQ7K83JLHsr3C/W7lsp9ocKlB4sX62/geZ7vxqrgQi/HwXjZYPvJcbGYtfW85 8z0y8cg/9Db3WEt/5W2PIXl1Jq9Nk0e1dQbgUqXGHFXFkQr9pUH54OMX+9P4LOlYF0BH vIohtvOPMj9FN/aXwzsqwt7SfllhRmUTtn4RMNYl2VirMBGPJZmL+Hf0cY0PPiGzdJBp czer5BruZ0aw213m7HPOu4aTQObmSFaVYrxw95m/1Iy2HbkXqo70a8PDU4gRSeFz3Oqs 6hPwAyMPT3hk9wUbvaaHGOYzvpBT9RUSR9RbNTvDOiZTZcZaSpBPmToOJHSwkVLBzfkY Se+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=LQWkom4AlDyOMYyG9quYjUCZhb57RJ8vj/xUJWaN+D0=; b=UT81QCnPSGkWPIEeGmMtrU9WRFkDsMqZ1KFG9qTtMnN3VB9GXQzd6CvguKzp47NiHh f1VVW3Lpln1CS/BufEso6XsNBHk1d7JPqAHr87GTN79HZWiYIh+kJTWKxeutxcFrRcZq WonupTcev4WGN2cq2h45DrLjfOuVris5035nrLxg0WPUojCgVhqMrpMfBzp5V26KJHez elzW4oIAMSAkh36OVmXQVyeuAr+dgXQ0+orXKa2XOkl/RMNeyxxm2rDDbnbfRW4RmLQH FK3BUExFFOtAUEVUEOOzLs7w9Ve/N7BluR3qNbAds8szkm+eovSiWAMzV6su5Ehx0/gQ UY3w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=fb3LVBkR; spf=pass (google.com: domain of devicetree-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=devicetree-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id rv19si13591680ejb.459.2020.11.17.02.59.12; Tue, 17 Nov 2020 02:59:12 -0800 (PST) Received-SPF: pass (google.com: domain of devicetree-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=fb3LVBkR; spf=pass (google.com: domain of devicetree-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=devicetree-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727952AbgKQK4X (ORCPT + 6 others); Tue, 17 Nov 2020 05:56:23 -0500 Received: from fllv0015.ext.ti.com ([198.47.19.141]:59610 "EHLO fllv0015.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727347AbgKQK4V (ORCPT ); Tue, 17 Nov 2020 05:56:21 -0500 Received: from lelv0265.itg.ti.com ([10.180.67.224]) by fllv0015.ext.ti.com (8.15.2/8.15.2) with ESMTP id 0AHAuGPc019508; Tue, 17 Nov 2020 04:56:16 -0600 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1605610576; bh=LQWkom4AlDyOMYyG9quYjUCZhb57RJ8vj/xUJWaN+D0=; h=From:To:CC:Subject:Date:In-Reply-To:References; b=fb3LVBkRu5Z6JEvUr+0Q2d8iNO8h7CAFdxJTUbeZfTJf3JFhTtFT0K7eidyv7hFup FKCGFulewIC9lsTz7cUQPLLMG6QiH6/wk+Vrk5d391w5xbIZLQRRsHKyx1GharbfNv dpZAFLG8dfttRwnD05Nnx9CpywhYkAJe5Qe8lnSI= Received: from DFLE100.ent.ti.com (dfle100.ent.ti.com [10.64.6.21]) by lelv0265.itg.ti.com (8.15.2/8.15.2) with ESMTPS id 0AHAuGKP005098 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL); Tue, 17 Nov 2020 04:56:16 -0600 Received: from DFLE106.ent.ti.com (10.64.6.27) by DFLE100.ent.ti.com (10.64.6.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1979.3; Tue, 17 Nov 2020 04:56:15 -0600 Received: from lelv0327.itg.ti.com (10.180.67.183) by DFLE106.ent.ti.com (10.64.6.27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1979.3 via Frontend Transport; Tue, 17 Nov 2020 04:56:15 -0600 Received: from feketebors.ti.com (ileax41-snat.itg.ti.com [10.172.224.153]) by lelv0327.itg.ti.com (8.15.2/8.15.2) with ESMTP id 0AHAu6tm087311; Tue, 17 Nov 2020 04:56:13 -0600 From: Peter Ujfalusi To: , , , CC: , , , , , , , Subject: [PATCH v2 02/19] dmaengine: ti: k3-udma: Wait for peer teardown completion if supported Date: Tue, 17 Nov 2020 12:56:39 +0200 Message-ID: <20201117105656.5236-3-peter.ujfalusi@ti.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20201117105656.5236-1-peter.ujfalusi@ti.com> References: <20201117105656.5236-1-peter.ujfalusi@ti.com> MIME-Version: 1.0 X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Set the TDTYPE if it is supported on the platform (j721e) which will cause UDMAP to wait for the remote peer to finish the teardown before returning the teardown completed message. Signed-off-by: Peter Ujfalusi Tested-by: Keerthy Reviewed-by: Grygorii Strashko --- drivers/dma/ti/k3-udma.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) -- Peter Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki diff --git a/drivers/dma/ti/k3-udma.c b/drivers/dma/ti/k3-udma.c index 0e8426dd18a7..eee43757e774 100644 --- a/drivers/dma/ti/k3-udma.c +++ b/drivers/dma/ti/k3-udma.c @@ -86,6 +86,7 @@ struct udma_rchan { #define UDMA_FLAG_PDMA_ACC32 BIT(0) #define UDMA_FLAG_PDMA_BURST BIT(1) +#define UDMA_FLAG_TDTYPE BIT(2) struct udma_match_data { u32 psil_base; @@ -1589,6 +1590,13 @@ static int udma_tisci_tx_channel_config(struct udma_chan *uc) req_tx.tx_fetch_size = fetch_size >> 2; req_tx.txcq_qnum = tc_ring; req_tx.tx_atype = uc->config.atype; + if (uc->config.ep_type == PSIL_EP_PDMA_XY && + ud->match_data->flags & UDMA_FLAG_TDTYPE) { + /* wait for peer to complete the teardown for PDMAs */ + req_tx.valid_params |= + TI_SCI_MSG_VALUE_RM_UDMAP_CH_TX_TDTYPE_VALID; + req_tx.tx_tdtype = 1; + } ret = tisci_ops->tx_ch_cfg(tisci_rm->tisci, &req_tx); if (ret) @@ -3105,14 +3113,14 @@ static struct udma_match_data am654_mcu_data = { static struct udma_match_data j721e_main_data = { .psil_base = 0x1000, .enable_memcpy_support = true, - .flags = UDMA_FLAG_PDMA_ACC32 | UDMA_FLAG_PDMA_BURST, + .flags = UDMA_FLAG_PDMA_ACC32 | UDMA_FLAG_PDMA_BURST | UDMA_FLAG_TDTYPE, .statictr_z_mask = GENMASK(23, 0), }; static struct udma_match_data j721e_mcu_data = { .psil_base = 0x6000, .enable_memcpy_support = false, /* MEM_TO_MEM is slow via MCU UDMA */ - .flags = UDMA_FLAG_PDMA_ACC32 | UDMA_FLAG_PDMA_BURST, + .flags = UDMA_FLAG_PDMA_ACC32 | UDMA_FLAG_PDMA_BURST | UDMA_FLAG_TDTYPE, .statictr_z_mask = GENMASK(23, 0), };