From nobody Tue Jun 9 01:06:09 2026 Received: from mail-wm1-f44.google.com (mail-wm1-f44.google.com [209.85.128.44]) (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 C32BB30C147 for ; Mon, 25 May 2026 04:05:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779681923; cv=none; b=C1iYjoTP+Da6bt5xrDQMQHi0krloe0MExuSz4WiVoEJsFrNeNaQ/aZtuhSFe4IQ4We5kwY6T+TUZ9as2h7pk4ZYTHnJmSi5aUCGB5ccCxO63fWhHBetOhpxgAbEPhuPF/ga0JMLY0APmZAbjFHRFm6xaUkTfJphvamDcr+CKCSA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779681923; c=relaxed/simple; bh=0LiGFSnAG1ky07fXk30884dB5c4PT2edc9+LUOXuFH4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=T9QDpRKy2FWVzS9DNKuFQ842xs8PaGthtk7sH5zVQxXB2ULdYvpacAjOc6/lQe/Wm1aCzkR6uJz6zcN9EOoeC4LxTWveyZ2EqepZ5pG3jykThC5MqzTbhrvd+uaje3NbiqbTeGyq/7FIXepgRoQcqUJQggiKsi+8e89s4LGDRLc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com; spf=pass smtp.mailfrom=baylibre.com; dkim=pass (2048-bit key) header.d=baylibre.com header.i=@baylibre.com header.b=UAqZVkLM; arc=none smtp.client-ip=209.85.128.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=baylibre.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=baylibre.com header.i=@baylibre.com header.b="UAqZVkLM" Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-4905e190c71so7814845e9.3 for ; Sun, 24 May 2026 21:05:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre.com; s=google; t=1779681919; x=1780286719; darn=vger.kernel.org; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:from:to:cc:subject:date:message-id:reply-to; bh=emURdgeOlHgaBm174Q/3Nh8W7QxeCMTToVw2jNEniUE=; b=UAqZVkLMiCwmHqSt6pfWOyNEa+m8Cg/sdtU9MteBfC44eeN/834Yy0iBqwi5VrreN2 LgosFqze4P0DEki0gIW6EOQYNlvc6SqZbicarXGTxBOT4Dz0An0hGpIwImwTw8007iCL a4MVL/uxZubNB21XafnYlhThqdQOn6v9wIMnlyBLDo8R9krf17udSF9tKP9CtQtnemZa YAZbvUTKzzUHSmfNtbxebwHWyfL0iRYw2sSPYDEB/Lnc+0mqtzCcg8OxdnwrjiD44n5A qW3jHdvFbLUHKifry/iY0ISOVywht7StfGwMCwcGZN/wf+UY4/WSWRlUse15X48WSvsW ByMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779681919; x=1780286719; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=emURdgeOlHgaBm174Q/3Nh8W7QxeCMTToVw2jNEniUE=; b=NGABe9ogwomVaKc2LC8PxfycPNUDtRkpYPe/lvRU1Ygw4uLprXNnbzbRwho6X1r3ox AG/W3f8tV9OoM+/HnmcBa0sgSRX9R8fCuo2skjadf6MpYKDD1Y3mvKX9kHv8FvWND9NN 16y8hlibJ4Aj50kLgLmxBpViyZL6sCFBwu4YnhrxYQnEvjjZXLoHqX4Ok0iS/kU89CE/ hRadmI9P3gPMwgQvemF1U+yEqwpaxDwSr9KGMUcZeeUOacd28JqcKHlmRh26sX39nbDm Ixx6Gn38BRHJN5fVKhBJ0C9MzV6q7QweWTN6K/9iid0Yw04ldzdmV1LMxp67N7aYhOSn 91gQ== X-Forwarded-Encrypted: i=1; AFNElJ+8k1gjMGPrFuUHmgoFa/SVcJXa+eTQNDVm40gLQA6qDmN615H7jMFQSR3SsgPXUAyLA2/8ut01AkFDFtE=@vger.kernel.org X-Gm-Message-State: AOJu0Yx0dpy4azQp4m/ZFae3HqovimyLfYjyTPbG4Xn9QBj/Myj9S/3l uJkKwomD6t2axz3V8ifq2Lo1aeFwSgOvwJ4CByEhEq5dd4mDiLsRevve64Umfe/WaZg= X-Gm-Gg: Acq92OFfra+1ycBC9MI6qv06HoqZB4DbnesGWgGJSULTLb3yOxsXL6TPFpAoXZOGNjo T1lbjj0taqE1Q4lJvMYruq96NrtqWJh1Y6ds9QPdrlt5lSVuYCs63U2GBFGrOpmHts8FVg3u7qd bfSnY7VPmUxVI6nQJ8gLJaXA3dWi9/PQ6c+VYaKsssMTHvzZHgRN3ysyumVS7e+CezdjKBwP/jj n59zCYib432n0EpNu+1fO3YXq0gxHDjPZlI4ORDYZm/pbu1i04/ts2q0sJ6X0YsVVbVU2HBpJes Dro+WsLBMEw0chgp7q08JYhm//DdhRVM9cLnqCY35QonXdyuXGV/tUNyGox+RrJ3tWJIc3V/iLo 3AOQWXl756zhsHzraM8CugUjzINdmB1SNeFZoi6CDYJhr+sgfYaBReSVJINHTCFbpSNmApw55/k KGBzcWz6TQaYWLyMQUdmV1Py1dOvI8dPs= X-Received: by 2002:a05:600c:c4a3:b0:488:ac01:72b6 with SMTP id 5b1f17b1804b1-490426ceed2mr211907195e9.21.1779681919171; Sun, 24 May 2026 21:05:19 -0700 (PDT) Received: from [192.168.0.2] ([2a07:7e81:7daa:0:62cf:84ff:feee:627]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45eb6d70c51sm26089543f8f.36.2026.05.24.21.05.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 24 May 2026 21:05:18 -0700 (PDT) From: Angelo Dureghello X-Google-Original-From: Angelo Dureghello Date: Mon, 25 May 2026 06:05:17 +0200 Subject: [PATCH] m68k: fix dma allocation for ColdFire with mmu 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: quoted-printable Message-Id: <20260525-wip-bl-mcf-edma-v1-1-bd079bcb48b1@baylibre.com> X-B4-Tracking: v=1; b=H4sIAAAAAAAC/yXMTQ6CMBBA4as0s3aSOlgwXsW46M8UxgiSVtSk4 e4UXX6L9wpkTsIZLqpA4rdkeU4Vx4MCP9ipZ5RQDaSp1YYMfmRG98DRR+QwWuzcSZNlik08Q63 mxFG+v+P19nde3J39a9/Aum4VQM6ocwAAAA== X-Change-ID: 20260525-wip-bl-mcf-edma-7b402ae2f3f8 To: Geert Uytterhoeven , Greg Ungerer Cc: linux-m68k@lists.linux-m68k.org, linux-kernel@vger.kernel.org, Angelo Dureghello X-Mailer: b4 0.15.2 From: Angelo Dureghello This patch fixes the following issue on mcf54415: [ 2.270000] fsl-dspi fsl-dspi.0: Not able to get desc for DMA xfer [ 2.280000] fsl-dspi fsl-dspi.0: DMA transfer failed [ 2.280000] spi_master spi0: failed to transfer one message from queue [ 2.290000] spi_master spi0: noqueue transfer failed [ 2.290000] spi-nor spi0.1: probe with driver spi-nor failed with error = -5 related to mcf-edma and spi-fsl-dspi drivers (dspi is using edma), visible after the commit listed below. The mmu available on some evoluted ColdFire SoCs as mcf54415 allows to have a coherent dma allocation, so modify code accordingly. Fixes: 7a360df941a4 ("m68k: don't provide arch_dma_alloc for nommu/coldfire= ") Signed-off-by: Angelo Dureghello --- arch/m68k/Kconfig | 4 ++-- arch/m68k/kernel/dma.c | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig index 11835eb59d94..edbf6bc9c55a 100644 --- a/arch/m68k/Kconfig +++ b/arch/m68k/Kconfig @@ -7,7 +7,7 @@ config M68K select ARCH_HAS_CPU_CACHE_ALIASING select ARCH_HAS_CPU_FINALIZE_INIT if MMU select ARCH_HAS_CURRENT_STACK_POINTER - select ARCH_HAS_DMA_PREP_COHERENT if M68K_NONCOHERENT_DMA && !COLDFIRE + select ARCH_HAS_DMA_PREP_COHERENT if M68K_NONCOHERENT_DMA && (!COLDFIRE |= | MMU) select ARCH_HAS_SYNC_DMA_FOR_DEVICE if M68K_NONCOHERENT_DMA select ARCH_HAVE_NMI_SAFE_CMPXCHG if RMW_INSNS select ARCH_MIGHT_HAVE_PC_PARPORT if ISA @@ -15,7 +15,7 @@ config M68K select ARCH_USE_MEMTEST if MMU_MOTOROLA select ARCH_WANT_IPC_PARSE_VERSION select BINFMT_FLAT_ARGVP_ENVP_ON_STACK - select DMA_DIRECT_REMAP if M68K_NONCOHERENT_DMA && !COLDFIRE + select DMA_DIRECT_REMAP if M68K_NONCOHERENT_DMA && (!COLDFIRE || MMU) select GENERIC_ATOMIC64 select GENERIC_CPU_DEVICES select GENERIC_IOMAP if HAS_IOPORT && MMU && !COLDFIRE diff --git a/arch/m68k/kernel/dma.c b/arch/m68k/kernel/dma.c index 16063783aa80..59233ebe3a63 100644 --- a/arch/m68k/kernel/dma.c +++ b/arch/m68k/kernel/dma.c @@ -8,12 +8,14 @@ #include #include =20 -#ifndef CONFIG_COLDFIRE +#ifdef CONFIG_MMU void arch_dma_prep_coherent(struct page *page, size_t size) { cache_push(page_to_phys(page), size); } +#endif =20 +#ifndef CONFIG_COLDFIRE pgprot_t pgprot_dmacoherent(pgprot_t prot) { if (CPU_IS_040_OR_060) { @@ -24,7 +26,7 @@ pgprot_t pgprot_dmacoherent(pgprot_t prot) } return prot; } -#endif /* CONFIG_MMU && !CONFIG_COLDFIRE */ +#endif /* !CONFIG_COLDFIRE */ =20 void arch_sync_dma_for_device(phys_addr_t handle, size_t size, enum dma_data_direction dir) --- base-commit: cf72ff0dc9ecc711965604b4241314454d1f9ff3 change-id: 20260525-wip-bl-mcf-edma-7b402ae2f3f8 Best regards, -- =20 Angelo Dureghello