Received: by 2002:a05:6a10:2726:0:0:0:0 with SMTP id ib38csp5576389pxb; Mon, 28 Mar 2022 14:27:15 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwtVMFK1SF/izITUK1EGHdM1MJcltZ3Ofjw9DQR1i3r6K7JS/N1DTj7agKdgw/VgeKE3noz X-Received: by 2002:a05:6122:404:b0:343:32ef:2503 with SMTP id e4-20020a056122040400b0034332ef2503mr5696585vkd.27.1648502834778; Mon, 28 Mar 2022 14:27:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1648502834; cv=none; d=google.com; s=arc-20160816; b=RCAa64TBabN8mdwyoki+FH9uYW8f8z3NEDCBc1x9j3w71g0Ukp9hxTBnI7EB1YUbSV 55irREW5IWkxcBlPPe2pdikQgTW51U5+CcSJD+8r0CynHolQSeF00oRw7SeY+CyxjfxT ATAdZsY4LTqnXmS4dyQDHvAcYxLzkzotCD1KrZcmeZEc+jqsABJdRP6mSp/dB/AblT30 kH8je2zazGSVDqyNQ/zmga6U7MOYV6Z723IgtH+FLI7Pcy46SN9fBBigabVFxC+9AJCK 1cr0x82DNb/eekP9kbwxWnUFv5kTkuy5N0Dovb0tgnUomxTdNmbYIm/Glut+dodmgGDZ E+kA== 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:dkim-filter; bh=iq392ifBKJNeXd07OpQlSazUKapg75sZrK0PlOvjOHo=; b=eTLV+dPBiQSij3vGDojARsmrMrd+LMCTcaYEz0xhKIdGKvfSUwkfTvTB6CUjBcoaiW jr94CgNfkqkH5k0jjfxio2IuGnuUCoNH79TpigySlJ6b8aL5Qv3AUpwp81ILYPq4rI4F RDkVZNfbJd4RMkOEoIjvEFw67aTtyZD85tAVQsO7c1y3SxulVp6XdZ60rNpTawhPYNCr ABHW2s29yPrlw3kBA1JVaWA3W4geaS7Nr202qFTQKr+XlKBLq20Y1ArrZCzeO1w+t0Z6 VHJfcW0s6tBvmgpmtPpUunLXCcTKe+eLhuokQKslbgA7RsHZ9jeuUZgDMFCMBRgFywXG btxQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@baikalelectronics.ru header.s=mail header.b=QmjmIg4d; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id p18-20020ab03b92000000b003505ec81632si3094864uaw.85.2022.03.28.14.27.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Mar 2022 14:27:14 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@baikalelectronics.ru header.s=mail header.b=QmjmIg4d; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id D57517E081; Mon, 28 Mar 2022 14:11:28 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243846AbiC1QrY (ORCPT + 99 others); Mon, 28 Mar 2022 12:47:24 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45152 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S242855AbiC1QqD (ORCPT ); Mon, 28 Mar 2022 12:46:03 -0400 Received: from mail.baikalelectronics.ru (mail.baikalelectronics.com [87.245.175.226]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 8F44921E2D; Mon, 28 Mar 2022 09:44:16 -0700 (PDT) Received: from mail.baikalelectronics.ru (unknown [192.168.51.25]) by mail.baikalelectronics.ru (Postfix) with ESMTP id 583BA1E495A; Thu, 24 Mar 2022 04:48:53 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 mail.baikalelectronics.ru 583BA1E495A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baikalelectronics.ru; s=mail; t=1648086533; bh=iq392ifBKJNeXd07OpQlSazUKapg75sZrK0PlOvjOHo=; h=From:To:CC:Subject:Date:In-Reply-To:References:From; b=QmjmIg4dvnszJpqrvsQpKe9XCdhnitbukZUqOSIt212Mwr/eZ5j7q3ZQL+7Dhu7nW v1s3M6sGrv+7HO47I0Lv8Nx/zpk+XlFBZ5s2wZwbJe9czZuy27jLhxVhz8Icz+YkIl VcRvVrp2mJmyZob0iP3ncz8G2sSj7HhKmLivI7pc= Received: from localhost (192.168.168.10) by mail (192.168.51.25) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Thu, 24 Mar 2022 04:48:53 +0300 From: Serge Semin To: Gustavo Pimentel , Vinod Koul , Jingoo Han , Bjorn Helgaas , Frank Li , Manivannan Sadhasivam CC: Serge Semin , Serge Semin , Alexey Malahov , Pavel Parkhomenko , Lorenzo Pieralisi , Rob Herring , =?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= , , , Subject: [PATCH 21/25] dmaengine: dw-edma: Drop DT-region allocation Date: Thu, 24 Mar 2022 04:48:32 +0300 Message-ID: <20220324014836.19149-22-Sergey.Semin@baikalelectronics.ru> In-Reply-To: <20220324014836.19149-1-Sergey.Semin@baikalelectronics.ru> References: <20220324014836.19149-1-Sergey.Semin@baikalelectronics.ru> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: MAIL.baikal.int (192.168.51.25) To mail (192.168.51.25) X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no 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 --- 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 bc530f0a2468..dbe1119fd1d2 100644 --- a/drivers/dma/dw-edma/dw-edma-core.c +++ b/drivers/dma/dw-edma/dw-edma-core.c @@ -744,7 +744,6 @@ static void dw_edma_free_chan_resources(struct dma_chan *dchan) static int dw_edma_channel_setup(struct dw_edma_chip *chip, u32 wr_alloc, u32 rd_alloc) { - struct dw_edma_region *dt_region; struct device *dev = chip->dev; struct dw_edma *dw = chip->dw; struct dw_edma_chan *chan; @@ -761,12 +760,6 @@ static int dw_edma_channel_setup(struct dw_edma_chip *chip, u32 wr_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) { @@ -814,17 +807,11 @@ static int dw_edma_channel_setup(struct dw_edma_chip *chip, u32 wr_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.35.1