Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp71142ybt; Thu, 9 Jul 2020 15:47:11 -0700 (PDT) X-Google-Smtp-Source: ABdhPJweJ0nR+mvn2LUM5sVCO2sOkt4jWOK+kPCFzrQt5mnjp/+K6lGOcsKA7dqyfwEsIT0SVIwP X-Received: by 2002:a05:6402:b1a:: with SMTP id bm26mr72790445edb.144.1594334831172; Thu, 09 Jul 2020 15:47:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1594334831; cv=none; d=google.com; s=arc-20160816; b=dSBabEQR6meRkZzpXel6EXWDEiC7kxtSR+ejT4AfbSTc9aIGizY9Tu1c1lHCzQMLGo 6608dqi6l/69ykqEPW1bfrnHzak+Dlf7eWODKaM9OEBkq+NcFAs7LHGA1sX8TrQkNVFY pXXZIHLM1rJAYmx2br/EjxoPWogc8iXDljc4gf2gfgCr/L4UBkPbcfKydN6t5OCVx11u TbxIoMZF4EoePyqM38FyWOdWTPOuGy7j2bMADZ2ly72So4kfXGbh7/P6XAzKXe90EPdz J8FF6ACIrpU0NBvQeNVrwwTsMpcGKvWbCxlaJ1czxG66gcsHlM7Lp8Z5eHMCK98v0sB8 j+Ng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=1aIZ7yONrxS4OzNril7QvaNmSAY47JeBbh1ouXMgDoU=; b=01od2XvzQ5cfud0AwKAL+l0wyg07W7fL+lI+Cl9KTANVb0Wb2KIss0z2XN0H+QPu9x HSqRhI+eB357XImvNZRvDCWoPaxXsNkRGC+oSYTNKsWpaFrvEk/2ujbOIoyTt6N2ylyQ b1fcTdqjqqgM4HefAlBvzL6AmpjwLquNv8L3UlrMRNycVbpl5PT5HQsAFiJFYf0+evie LgUU6UjpRbEXiCZRoGFMpEwQhY4Pe0cV0ENJma/GvKSQQVigoruHqpzs3FZvlBhbUOgE POeb4Q2oR1U+8SUujumGz+SXZXMX6BSWDpPiBU68IfU4SW+GRRFxlXr3USoTR7NErT6I FBAw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id dn16si3349249ejc.427.2020.07.09.15.46.45; Thu, 09 Jul 2020 15:47:11 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727807AbgGIWqa (ORCPT + 99 others); Thu, 9 Jul 2020 18:46:30 -0400 Received: from mail.baikalelectronics.com ([87.245.175.226]:48196 "EHLO mail.baikalelectronics.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727078AbgGIWqU (ORCPT ); Thu, 9 Jul 2020 18:46:20 -0400 Received: from localhost (unknown [127.0.0.1]) by mail.baikalelectronics.ru (Postfix) with ESMTP id 7E5CF8040A6B; Thu, 9 Jul 2020 22:46:15 +0000 (UTC) X-Virus-Scanned: amavisd-new at baikalelectronics.ru Received: from mail.baikalelectronics.ru ([127.0.0.1]) by localhost (mail.baikalelectronics.ru [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id hmBHIJvAoxUb; Fri, 10 Jul 2020 01:46:14 +0300 (MSK) From: Serge Semin To: Vinod Koul , Viresh Kumar , Andy Shevchenko , Dan Williams CC: Serge Semin , Serge Semin , Alexey Malahov , Thomas Bogendoerfer , Arnd Bergmann , Rob Herring , , , , Subject: [PATCH v7 09/11] dmaengine: dw: Initialize min and max burst DMA device capability Date: Fri, 10 Jul 2020 01:45:48 +0300 Message-ID: <20200709224550.15539-10-Sergey.Semin@baikalelectronics.ru> In-Reply-To: <20200709224550.15539-1-Sergey.Semin@baikalelectronics.ru> References: <20200709224550.15539-1-Sergey.Semin@baikalelectronics.ru> MIME-Version: 1.0 Content-Transfer-Encoding: 7BIT Content-Type: text/plain; charset=US-ASCII X-ClientProxiedBy: MAIL.baikal.int (192.168.51.25) To mail (192.168.51.25) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org According to the DW APB DMAC data book the minimum burst transaction length is 1 and it's true for any version of the controller since isn't parametrised in the coreAssembler so can't be changed at the IP-core synthesis stage. The maximum burst transaction can vary from channel to channel and from controller to controller depending on a IP-core parameter the system engineer activated during the IP-core synthesis. Let's initialise both min_burst and max_burst members of the DMA controller descriptor with extreme values so the DMA clients could use them to properly optimize the DMA requests. The channels and controller-specific max_burst length initialization will be introduced by the follow-up patches. Signed-off-by: Serge Semin Reviewed-by: Andy Shevchenko Cc: Alexey Malahov Cc: Thomas Bogendoerfer Cc: Arnd Bergmann Cc: Rob Herring Cc: linux-mips@vger.kernel.org Cc: devicetree@vger.kernel.org --- Changelog v4: - This is a new patch suggested by Andy. Changelog v5: - Introduce macro with extreme min and max burst length supported by the DW DMA controller. - Initialize max_burst length capability with extreme burst length supported by the DW DMAC IP-core. --- drivers/dma/dw/core.c | 2 ++ include/linux/platform_data/dma-dw.h | 2 ++ 2 files changed, 4 insertions(+) diff --git a/drivers/dma/dw/core.c b/drivers/dma/dw/core.c index ceded21537e2..4887aa2fc73c 100644 --- a/drivers/dma/dw/core.c +++ b/drivers/dma/dw/core.c @@ -1229,6 +1229,8 @@ int do_dma_probe(struct dw_dma_chip *chip) dw->dma.device_issue_pending = dwc_issue_pending; /* DMA capabilities */ + dw->dma.min_burst = DW_DMA_MIN_BURST; + dw->dma.max_burst = DW_DMA_MAX_BURST; dw->dma.src_addr_widths = DW_DMA_BUSWIDTHS; dw->dma.dst_addr_widths = DW_DMA_BUSWIDTHS; dw->dma.directions = BIT(DMA_DEV_TO_MEM) | BIT(DMA_MEM_TO_DEV) | diff --git a/include/linux/platform_data/dma-dw.h b/include/linux/platform_data/dma-dw.h index f3eaf9ec00a1..369e41e9dcc9 100644 --- a/include/linux/platform_data/dma-dw.h +++ b/include/linux/platform_data/dma-dw.h @@ -12,6 +12,8 @@ #define DW_DMA_MAX_NR_MASTERS 4 #define DW_DMA_MAX_NR_CHANNELS 8 +#define DW_DMA_MIN_BURST 1 +#define DW_DMA_MAX_BURST 256 /** * struct dw_dma_slave - Controller-specific information about a slave -- 2.26.2