From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-qk1-f170.google.com (mail-qk1-f170.google.com [209.85.222.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BACE050276 for ; Wed, 26 Aug 2026 01:30:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.170 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787707825; cv=none; b=NbbkofezJSbfIFOH3vwyH5v9czhicZi8gZJIZ2ro9oxouEzREIe6YSNVSozhdj5xFrY+iNZp2Duu6dvq8ck2Xmld5EkXO15uzXZxM9vswHEeFdhQOXmppkvI0wW+zNSExVaMDIrxiHHN6V8HHz0NVRlfaETrEuCMl5s51uBIKlM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787707825; c=relaxed/simple; bh=beIIm8qKX5xAz1kaK23VPevYeR5bzySrtqmTuOgVCWk=; h=From:Subject:Date:Message-Id:MIME-Version:Content-Type:To:Cc; b=HTQJ0akprg6qXKtey3/3eXmC2NILMgyPhUxxwVUwjJbjqGVcPZF8HAg+Rqkew7F9aNSv1dECGjogpzO1AC2L8/WrQM7R2XT8LHBN90rgyQ6X8prUTIIMl9EgsB6ps0NbMVw/nNuRwpby2QDQc5sBAe7oJMFJidiLpvCsSJjvRjw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=j9UfgDdN; arc=none smtp.client-ip=209.85.222.170 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="j9UfgDdN" Received: by mail-qk1-f170.google.com with SMTP id af79cd13be357-936dfd009d1so118798085a.1 for ; Tue, 25 Aug 2026 18:30:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787707823; x=1788312623; darn=vger.kernel.org; h=cc:to:content-transfer-encoding:content-type:mime-version :message-id:date:subject:from:from:to:cc:subject:date:message-id :reply-to:content-type; bh=OZ92bi0xtWb9sBQgu6ZDoMhAhxRk9cQM2bCHLJFTXQ4=; b=j9UfgDdNXYwnq0quq6gL6uWpsN6sS1GqRR84UGJvjndL+gPbYtq1saHyStTygiwv0e vpNHJXCTHS7IXTnw1Y9lFTieKvTB0CrOtLLQjmU2Sq2zVKP5GyGI+0yqwJFg/z7GrxPK CX4B4fx7YGrqrYjFLViDKeXK5BJr9cSiNYGtIa3zsHPBd6kMF2e//nK94unRXAN3Xdty 4Ztk6Kd19xXDkBcqtF6ayGXfT8yNzBNRIu1PTkqs2sAbGAC+E3HUcRsoXkRX7kTRtN+0 91GbYJ08gq6/414S8gj2moiX7+NI9r+MV1NOQR+SAvGYAbB+Vxgzz2+wq0S3I+NY37Oi 6WOg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787707823; x=1788312623; h=cc:to:content-transfer-encoding:content-type:mime-version :message-id:date:subject:from:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to:content-type; bh=OZ92bi0xtWb9sBQgu6ZDoMhAhxRk9cQM2bCHLJFTXQ4=; b=dLlder73jC8j7XQeLfQmhbSoR4drNQzia85dS13QVU8YMHVOECiw4Kw7cXUYsWsLpE JlcwIuyVjtTSTaMCIoj5b45XbC3PdRvU45J44UWeCY29fLETQ4QAEmPk8y+0bo7bTc3U 8D4TNdZG/sDYozzxy9hbY2lC76btdIQfmsxrkGa1PESXR6ZM+ip5yB/5VSC/5vBbNy4S nBATZxrb685vKtU4V9KzUA6yLBGXR3gtyeJT+s7qp3cnam2U9L8ElVQEs0SRrEm3pjv1 biWgh3ygS5gaB4LZLNgPaMNlD29eBL7rh+nU9OXMRUZYNApw2VRAPREUFqYkvj8+moyA ceYg== X-Forwarded-Encrypted: i=1; AHgh+Robb5LBhKnY7lKdv/o8M4oUaFWKCnqt9iiNV7fnUmRWxgH3Zykl8q712pcgP9D2cWjpt50HmXoDGFpXReE=@vger.kernel.org X-Gm-Message-State: AFuF++lszbSm4rImAdLwwAwNVj5f7T0EhE4E7cpLlAE6XgnXCEiz+zlL hh2AFE/qmn+UFsBGU+GrYlMvpyd9hGx1saaGRsUe3NysftkVLfabNKtVAzCaH9gq X-Gm-Gg: AR+sD11zxBJe+acStDrcdaP5eD+uBAFe4ygQgjcrzEL8QxraWZbXo1O0YMjRu91En0d NunrrBVdkBMCTCaOt3mHBHXyHSsBLSyk+RVilruhWcGDS7tmZLg+C0A1z3CJRC4MvZgP8BKHaIX iOVFFCKY6OdoleZ923JlIaqtypx+CEw2OeM9tXyaSIKDv0EDCc6CnExAmekBskNyKhtOt2+TCm1 uwk6SVMFVrC2YuZ18tu+mAcZH+vGsCOFNj/sSSZujpgxKngyoBLdtZeyMVV1kVP0VyY2gKqhz2T Yg3gLVVIF+s7Rs1ydWoevYtMQjf6FNiQFppriEBywEsNS2gtbbcvEK1cND1o19mk5/yEAcu/m+S TJeVCoH7CdgUYpJB77qcuRnUDftyZSCV8PV4ThupzsRJo1BU9AEanzauhjYCWws6kTBHe5yt8hL hjNlCvXnNlAmAydr/zlkJV4Z2mjfIOWqVXmzRVWfsvZ7SblDj9B0eMrEqxThXrVw== X-Received: by 2002:a05:620a:cc3:b0:936:ce17:7792 with SMTP id af79cd13be357-9376f3635ecmr870773685a.8.1787707822640; Tue, 25 Aug 2026 18:30:22 -0700 (PDT) Received: from [172.17.0.2] ([138.28.231.64]) by smtp.gmail.com with ESMTPSA id af79cd13be357-9377e67c52csm102398585a.38.2026.08.25.18.30.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Aug 2026 18:30:22 -0700 (PDT) From: Yuanshen Cao Subject: [PATCH v4 0/5] dmaengine: sun6i-dma: Add support for Allwinner A733 DMA controller Date: Wed, 26 Aug 2026 01:30:02 +0000 Message-Id: <20260826-sun60i-a733-dma-v4-0-dc2f745f40dc@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-B4-Tracking: v=1; b=H4sIAAAAAAAC/3XNTQ6CMBCG4auYrq1ppz9YV97DuCilhRoBQ6HRE O5uwQ1KXH7JPO+MKNjO24BOuxF1Nvrg2yYNvt8hU+mmtNgXaSMgIImkCoehkcRjnTGGi1pjA1w IyhWVokBJPTrr/HMpXq6fHYb8Zk0/Z+aLyoe+7V7Ly0jnu//1SDHBhea55MqZDPS5rLW/H0xbo 7keYeWBbj0kzzhxQMRRUWN+PVt72HqWvJMqsw6UNPmXn6bpDUbPGuNAAQAA X-Change-ID: 20260619-sun60i-a733-dma-c2455149165d To: Vinod Koul , Frank Li , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Maxime Ripard Cc: Yuanshen Cao , dmaengine@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Frank Li , Krzysztof Kozlowski X-Mailer: b4 0.16.0 Hi everyone, This patch series introduces support for the Allwinner A733 DMA controller in the `sun6i-dma` driver. The A733 DMA controller differs from previous generations in several key ways: - Support for higher addresses (up to 32G). - A different interrupt register layout and mapping. - A different number of channels per interrupt register. To support these differences without introducing complex conditional logic throughout the driver, this series refactors the `sun6i_dma_config` structure by adding hardware-specific parameters such as interrupt register offsets, address masks, and channel counts per register. This allows the driver to support the A733 and future hardware revisions. This approach also achieves the same functionality as the DMA drivers in Radxa BSP Package[1]. The series is organized as follows: 1. Refactor the configuration structure for interrupt and register operations. 2. Add support for variable address widths using masks. 3. Add support for variable channels per interrupt register. 4. Update the device tree bindings documentation. 5. Implement the A733-specific configuration and register mappings. Tested on Radxa Cubie A7Z. [1] https://github.com/radxa/allwinner-bsp/blob/cubie-aiot-v1.4.8/drivers/dma/sunxi-dma.c Thanks! Signed-off-by: Yuanshen Cao --- Changes in v4: - Refactor configuration structure to use irq stride and offsets instead of function pointers. - Use GENMASK and field_prep in set_addr for different high addresses. - Link to v3: https://patch.msgid.link/20260622-sun60i-a733-dma-v3-0-f697ef296cbc@gmail.com Changes in v3: - Reword patches for clarity. - Link to v2: https://patch.msgid.link/20260621-sun60i-a733-dma-v2-0-340f205891cc@gmail.com Changes in v2: - Implement SUN6I_DMA_IRQ_A31_COMMON_OPS macro to avoid duplicate. - Move set_addr into helper function and revert back sun6i_dma_set_addr. - Rename chan_num to irq_req to avoid misleading name as suggested by sashiko. - Reorder and reword the dtbinding patch for more clarity. - Link to v1: https://patch.msgid.link/20260619-sun60i-a733-dma-v1-0-da4b649fc72a@gmail.com To: Vinod Koul To: Frank Li To: Chen-Yu Tsai To: Jernej Skrabec To: Samuel Holland To: Rob Herring To: Krzysztof Kozlowski To: Conor Dooley To: Maxime Ripard Cc: dmaengine@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org Cc: linux-sunxi@lists.linux.dev Cc: linux-kernel@vger.kernel.org Cc: devicetree@vger.kernel.org --- Yuanshen Cao (5): dmaengine: sun6i-dma: Refactor to support A733 interrupt and register handling dmaengine: sun6i-dma: Support variable address widths using masks dmaengine: sun6i-dma: Add num_channels_per_reg for flexible interrupt mapping dt-bindings: dmaengine: sun50i-a64-dma: Add allwinner,sun60i-a733-dma compatible string dmaengine: sun6i-dma: Add support for Allwinner A733 DMA controller .../bindings/dma/allwinner,sun50i-a64-dma.yaml | 2 + drivers/dma/sun6i-dma.c | 153 ++++++++++++++++----- 2 files changed, 122 insertions(+), 33 deletions(-) --- base-commit: 8d3ae59288f1e7d58d76558a6ee96d533bc5019f change-id: 20260619-sun60i-a733-dma-c2455149165d Best regards, -- Yuanshen Cao