Received: by 2002:a05:6358:f14:b0:e5:3b68:ec04 with SMTP id b20csp2627171rwj; Mon, 19 Dec 2022 07:02:06 -0800 (PST) X-Google-Smtp-Source: AMrXdXskknJx/E43cNcWW16k4z/Hoxs//j4TsRAI1CJmAViZqWmqsxF8vb6V5AQRGQJc8tHCQJDf X-Received: by 2002:a17:907:7202:b0:81e:8dd4:4ea8 with SMTP id dr2-20020a170907720200b0081e8dd44ea8mr5197104ejc.69.1671462126681; Mon, 19 Dec 2022 07:02:06 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1671462126; cv=none; d=google.com; s=arc-20160816; b=G8xnjIqMb+KoBEQK03zaPEL13uoVC0oB++UuOKwlk1rg4ia91ie4hAQgmjKQO5fVMw 3vUnduBoNOYhmBcSiBML/tNvu6RuK5l/7+iC6UWzOL/skXL1I5VRJ9ChhuBHJ/+AFyQJ ikXnLo29LPPryJZA71Id0EzXv8EMnYg6RYyReM0tKsBDIxqftX1TCc9j7byNzh76Y6CO TeIKY2NQtkbftCEIYZnO1Xv050VFA7Dzp01vntdrZhsfsJTCRkcuS/K4tgQ5T9O50bv1 Wm+ThaGivfBOA6j8CDGC2nrmFWSM72FECxk0FJSUsbPXbp/u7AOCnpYds8S1yMqp3H5U HBww== 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=pXLKngyLmWaJzkgY6C8kxZXfu2HNIglie6UuuU/58+w=; b=qUBqv0j96w89p306+8CNvtG4peS7ANOHlRoBL8GBxJ6IrdkPzd0AACHZ0nuSLxIoxZ HmIUel0eaPmn/7x4JzCBRTHSSZXOWD9YbL+EroB8xru20NPS1Ass5uT2afWs1BcQefhR p8AG70Mx4lzh+pLqt0MqMlSydPTZo8K7UL+nFwcTrpbGu8XLCB0exGNLsEPJrE5Ug0Vn nJ2tv1wXDI4cbhqMucVIsRqMAtLv1BPxdp8qK9bpaRtxpfAj0rBW5wQBBprm/goBSm66 Wu0c2hUvH5JzIVHFmQ/KU3uGrRukcyB/n4mS5TyT764hbFmPtiTtVUne/hACjtsDsr+g QRqw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@baikalelectronics.ru header.s=post header.b="OR73Hh3/"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=baikalelectronics.ru Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id e19-20020a17090658d300b0078d288ddfc9si10501287ejs.143.2022.12.19.07.01.49; Mon, 19 Dec 2022 07:02:06 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@baikalelectronics.ru header.s=post header.b="OR73Hh3/"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=baikalelectronics.ru Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232521AbiLSOt2 (ORCPT + 71 others); Mon, 19 Dec 2022 09:49:28 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45848 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231990AbiLSOr1 (ORCPT ); Mon, 19 Dec 2022 09:47:27 -0500 Received: from post.baikalelectronics.com (post.baikalelectronics.com [213.79.110.86]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 95715E1F; Mon, 19 Dec 2022 06:47:16 -0800 (PST) Received: from post.baikalelectronics.com (localhost.localdomain [127.0.0.1]) by post.baikalelectronics.com (Proxmox) with ESMTP id 36B08E0EB0; Mon, 19 Dec 2022 17:47:16 +0300 (MSK) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= baikalelectronics.ru; h=cc:cc:content-transfer-encoding :content-type:content-type:date:from:from:in-reply-to:message-id :mime-version:references:reply-to:subject:subject:to:to; s=post; bh=pXLKngyLmWaJzkgY6C8kxZXfu2HNIglie6UuuU/58+w=; b=OR73Hh3/hWp/ iyyn0btycuIV9rxjgmZ3sU5rxp9Qbk37rZM1q2s+xRK14RqLDzjOPyadlNDuy2I7 JrvVtGAmtxyV27Bt3fDHmmu5f5ABCObo2uhuCVexxhLl3PmFVlRZ7nUgt1/W/ZM8 sMCwVQMd7Zh2jx6jKHsbJESGXIu6gA4= Received: from mail.baikal.int (mail.baikal.int [192.168.51.25]) by post.baikalelectronics.com (Proxmox) with ESMTP id 2374DE0E70; Mon, 19 Dec 2022 17:47:16 +0300 (MSK) Received: from localhost (10.8.30.14) by mail (192.168.51.25) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Mon, 19 Dec 2022 17:47:15 +0300 From: Serge Semin To: Gustavo Pimentel , Vinod Koul , Rob Herring , Bjorn Helgaas , Lorenzo Pieralisi , Cai Huoqing , Robin Murphy , Jingoo Han , Frank Li , Manivannan Sadhasivam CC: Serge Semin , Serge Semin , Alexey Malahov , Pavel Parkhomenko , =?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= , caihuoqing , Yoshihiro Shimoda , , , Subject: [PATCH v8 20/26] dmaengine: dw-edma: Drop DT-region allocation Date: Mon, 19 Dec 2022 17:46:51 +0300 Message-ID: <20221219144658.26620-21-Sergey.Semin@baikalelectronics.ru> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221219144658.26620-1-Sergey.Semin@baikalelectronics.ru> References: <20221219144658.26620-1-Sergey.Semin@baikalelectronics.ru> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [10.8.30.14] X-ClientProxiedBy: MAIL.baikal.int (192.168.51.25) To mail (192.168.51.25) X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org There is no point in allocating an additional memory for the data target regions passed then to the client drivers. Just use the already available structures defined in the dw_edma_chip instance. Note these regions are unused in normal circumstances since they are specific to the case of eDMA being embedded into the DW PCIe End-point and having it's CSRs accessible over a End-point' BAR. This case is only known to be implemented as a part of the Synopsys PCIe EndPoint IP prototype kit. Signed-off-by: Serge Semin Reviewed-by: Manivannan Sadhasivam Tested-by: Manivannan Sadhasivam Acked-by: Vinod Koul --- drivers/dma/dw-edma/dw-edma-core.c | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/drivers/dma/dw-edma/dw-edma-core.c b/drivers/dma/dw-edma/dw-edma-core.c index 58808bec4148..040a88cfe070 100644 --- a/drivers/dma/dw-edma/dw-edma-core.c +++ b/drivers/dma/dw-edma/dw-edma-core.c @@ -738,7 +738,6 @@ static void dw_edma_free_chan_resources(struct dma_chan *dchan) static int dw_edma_channel_setup(struct dw_edma *dw, u32 wr_alloc, u32 rd_alloc) { struct dw_edma_chip *chip = dw->chip; - struct dw_edma_region *dt_region; struct device *dev = chip->dev; struct dw_edma_chan *chan; struct dw_edma_irq *irq; @@ -754,12 +753,6 @@ static int dw_edma_channel_setup(struct dw_edma *dw, u32 wr_alloc, u32 rd_alloc) for (i = 0; i < ch_cnt; i++) { chan = &dw->chan[i]; - dt_region = devm_kzalloc(dev, sizeof(*dt_region), GFP_KERNEL); - if (!dt_region) - return -ENOMEM; - - chan->vc.chan.private = dt_region; - chan->dw = dw; if (i < dw->wr_ch_cnt) { @@ -807,17 +800,11 @@ static int dw_edma_channel_setup(struct dw_edma *dw, u32 wr_alloc, u32 rd_alloc) chan->msi.data); chan->vc.desc_free = vchan_free_desc; - vchan_init(&chan->vc, dma); + chan->vc.chan.private = chan->dir == EDMA_DIR_WRITE ? + &dw->chip->dt_region_wr[chan->id] : + &dw->chip->dt_region_rd[chan->id]; - if (chan->dir == EDMA_DIR_WRITE) { - dt_region->paddr = chip->dt_region_wr[chan->id].paddr; - dt_region->vaddr = chip->dt_region_wr[chan->id].vaddr; - dt_region->sz = chip->dt_region_wr[chan->id].sz; - } else { - dt_region->paddr = chip->dt_region_rd[chan->id].paddr; - dt_region->vaddr = chip->dt_region_rd[chan->id].vaddr; - dt_region->sz = chip->dt_region_rd[chan->id].sz; - } + vchan_init(&chan->vc, dma); dw_edma_v0_core_device_config(chan); } -- 2.38.1