From patchwork Sun Feb 4 06:59:28 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrea della Porta X-Patchwork-Id: 13544515 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id EC709C48286 for ; Sun, 4 Feb 2024 07:00:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=n2dOA2P5duIGS1fevLNUFi0mzORlUqiTfoSnYfmLtxY=; b=Es4v3cvqfwoFkT G+tKK/bQV2IbFcil8Cq/jKkSqUvxMlAQ9ZbKf7iue0S1u6cPCoNIlJVDEo1yTyI2FCVWICoToW761 zTZcFkMKSl++krK1ZlVEbkRawOHttXTt2PIlQohmVHp/iflkYJ1V/O1oYpDaxPNiJlLXRMD3MI+y4 IMdDK6LTfDzv2gCJABfJa9fNjZuuhcAJfMQZoMVWLJjZvh9GapaVELejCWl/jasv5jx6hMmh7vboj ymBi/XW3shEx6eVOyV8gQIccxZeL7YJ9t/IRPOlofMhYTLgAhsY4dOdBjN9Gus21GR2GqnVQzDugD BGr4HXvSE5OBUjc66j6Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rWWU6-00000000H9A-0BPs; Sun, 04 Feb 2024 07:00:10 +0000 Received: from smtp-out1.suse.de ([2a07:de40:b251:101:10:150:64:1]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rWWTs-00000000Gx5-45T4; Sun, 04 Feb 2024 06:59:58 +0000 Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [10.150.64.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 363D021FAA; Sun, 4 Feb 2024 06:59:47 +0000 (UTC) Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 136131338E; Sun, 4 Feb 2024 06:59:47 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id X25xAuM1v2V4ZwAAD6G6ig (envelope-from ); Sun, 04 Feb 2024 06:59:47 +0000 From: Andrea della Porta To: Vinod Koul , Florian Fainelli , Ray Jui , Scott Branden , Broadcom internal kernel review list , dmaengine@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: Maxime Ripard , Dom Cobley , Phil Elwell , Andrea della Porta Subject: [PATCH 00/12] Add support for BCM2712 DMA engine Date: Sun, 4 Feb 2024 07:59:28 +0100 Message-ID: X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 Authentication-Results: smtp-out1.suse.de; none X-Spamd-Result: default: False [4.10 / 50.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_MISSING_CHARSET(2.50)[]; FREEMAIL_ENVRCPT(0.00)[gmail.com]; MIME_GOOD(-0.10)[text/plain]; TO_MATCH_ENVRCPT_ALL(0.00)[]; BROKEN_CONTENT_TYPE(1.50)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; RCVD_COUNT_THREE(0.00)[3]; NEURAL_HAM_SHORT(-0.20)[-0.999]; RCPT_COUNT_TWELVE(0.00)[13]; MID_CONTAINS_FROM(1.00)[]; FORGED_SENDER(0.30)[andrea.porta@suse.com,aporta@suse.de]; FUZZY_BLOCKED(0.00)[rspamd.com]; MIME_TRACE(0.00)[0:+]; FREEMAIL_CC(0.00)[cerno.tech,gmail.com,raspberrypi.com,suse.com]; FROM_NEQ_ENVFROM(0.10)[andrea.porta@suse.com,aporta@suse.de]; RCVD_TLS_ALL(0.00)[] X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240203_225957_245244_E0AC4F84 X-CRM114-Status: UNSURE ( 9.73 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org This patchset aims to update the dma engine for BCM* chipset with respect to current advancements in downstream vendor tree. In particular: * Added support for BCM2712 DMA. * Extended DMA addressing to 40 bit. Since BCM2711 also supports 40 bit addressing, it will also benefit from the update. * Handled the devicetree node from vendor dts (e.g. "dma40"). The only difference between the application of this patch and the relative code in vendor tree is the dropping of channel reservation for BCM2708 DMA legacy driver, that seems to have not made its way to upstream anyway, and it's probably used only from deprecated subsystems. Compile tested and runtime tested on RPi4B only. Dom Cobley (4): bcm2835-dma: Support dma flags for multi-beat burst bcm2835-dma: Need to keep PROT bits set in CS on 40bit controller dmaengine: bcm2835: Rename to_bcm2711_cbaddr to to_40bit_cbaddr bcm2835-dma: Fixes for dma_abort Maxime Ripard (2): dmaengine: bcm2835: Use to_bcm2711_cbaddr where relevant dmaengine: bcm2835: Support DMA-Lite channels Phil Elwell (6): bcm2835-dma: Add support for per-channel flags bcm2835-dma: Add proper 40-bit DMA support bcm2835-dma: Add NO_WAIT_RESP, DMA_WIDE_SOURCE and DMA_WIDE_DEST flag bcm2835-dma: Advertise the full DMA range bcm2835-dma: Derive slave DMA addresses correctly dmaengine: bcm2835: Add BCM2712 support drivers/dma/bcm2835-dma.c | 701 ++++++++++++++++++++++++++++++++------ 1 file changed, 588 insertions(+), 113 deletions(-)