From nobody Tue Apr 7 20:31:45 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 6D9AE3BBA01 for ; Tue, 7 Apr 2026 13:35:55 +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=1775568958; cv=none; b=dL3dv3yGK4uazwnZWaEtVQg+1+/ga08sZWZnhIPtbA8EduHbI/f+lCznfg5GwAMRMcVFbk26vZDJzA8mWw/fBNjlZ9Tyd7+yvsYxPaOdPlX40d1gO/qI9dSmzXhefOXLSPLhAuPYOWpNLPUX8G42pG/7FkPvCWl76sy/up6Fz80= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775568958; c=relaxed/simple; bh=qj2erbi8E1PHLHMBePLWqnr6WpeMTkKkmKKSAlTnqiI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=K+FDrpaxkJSJ2IOU2TVr+FwU060zzxBgNRpUzl2LbrTNSRomwRbUbCDl/dMnBeBPANuqq1HEbIDVeR791QwTjqGosJMngv4/LrdIYfCkQqvbD9BICZKaAdQw8vX1pPbDWFUj5S0m3p5znMJQTtE1DTLyy3KSvNQFQ3Kk24AagxE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=tuxon.dev; spf=pass smtp.mailfrom=tuxon.dev; dkim=pass (2048-bit key) header.d=tuxon.dev header.i=@tuxon.dev header.b=Nai77aew; arc=none smtp.client-ip=209.85.128.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=tuxon.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=tuxon.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=tuxon.dev header.i=@tuxon.dev header.b="Nai77aew" Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-4889e045bc6so33196125e9.2 for ; Tue, 07 Apr 2026 06:35:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1775568953; x=1776173753; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=rQUgXvLWYybp144uyKlEx9/0iJj8Kfku3jsi1mOzCQA=; b=Nai77aew6DrKho186rrpgwSBX1nT6l5LAiqCPZLoJE/1j8eVlYfuPHS2BEF4EMxI02 LlIFiNFCFOldNbFwuH+hJUhU9GtZNK6bsm5kXXNjTfylpqDnn2mTPtXUYA4Fegl9RzVE wGRp9a4UvLp1kfFvV3+zYztj6aI7bcXZGpKWibI5zISiHDnk53vl+8YOwEyEwyIrgOns JX+mt4T85OulqeptHdzq0mJJiKtF5LMSDrfcZ2Ak3yZgiWgEmM5CEWv/kqR1XEscyh/w +XmdyrkCyp62RjKMhDmLHGjhYq4fEjuiZAMPkRgJfBp8WlkfIlvyOZpdPfsfcxQEwHAH 5DcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775568953; x=1776173753; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=rQUgXvLWYybp144uyKlEx9/0iJj8Kfku3jsi1mOzCQA=; b=i3pxj9m8CV4QfgHGbB2wo0qLssRnU2Ygk20BSQPo4cR3Z2ufDC6FPMdG+X5dexXIAt XjbNhusi/pL0JiQ+0ya5jCAKeRjwQLjSpfwSH3Kdeut8oila9X/y4g3+S30pleVnV+SJ vojNwzbKV7voGiXp74AZQREVWShXiQ/z6fau7qLiM4sAVx2J/C/Fi0+Ijvuyl623KbH2 js1fr0kd2AcpfNDoirXHxzETiq5eYxSlL0sIU3nvxvkwg1U7jFrm8zsHWoD44xeqdaHn 7PCok8PKi1H9iHflyWSJMStha8N2uF+wurVN+DaLokkmP4Dd4kuG+wqoCqh/G7+tNLph 5KiA== X-Forwarded-Encrypted: i=1; AJvYcCVzRsZSnK4TJxCCq5C6Gv4hLpDKDaxJS4TZIXddJLSvrfgsPAsb5POJXZkcFCrGkAh3N9PT6990chpQJZ4=@vger.kernel.org X-Gm-Message-State: AOJu0YzF7MFin17EyYHVEDw9KjTgK8bWW0uSUcoEexuNUvrr9wgmQTea c0qm1MA079vcffQbnhDMmyrCKaRGQoTVMWSvrmk2XYeqCzzmMZjIikfgfAiv/Gt625c= X-Gm-Gg: AeBDievOomTADDW3x1UgRSMw36rJLFREdvXT5Huhki0SKCKyQm1D/wcYXWEsjvCZ/0N r/xX7Qu4dlQgi313P3T6/am+QwVwVbjvw5Ts9gpqgYgkZlrO/maBY28RyLjep8lhHkqYPshNVkX R1F3SZJmJtmTq5MBqJuFHeWAo3nKBt0T3QVWa4ewca+fDof8EStFC5FXmNB4RdIKfyLeM86HEsP eyhPVQxDrJUH9q7qRzM3mfRc1jx87gMxhLGX3vmQ0XigVjR0XTm3qpQ0B0DV51TrRo8oMzHlaS4 tHmKYoogCc3DOxEnxuI5qx5Nsb/7dxh7Be98seDtJ5wzZMW+h9Q81N7h4bMotiA4SXsGlIoaetu Kd7nphNwCAzW1964uiJqMZCRBcJov+tx14BZFPvOdJQagsqFpMHTSHovb4EhW7XcQkdB4SDufO/ bJ86CZomxIXf93E5T9me0jc3BDiaJ9B+8uwtRMDn9kd9q9zCsuevWp X-Received: by 2002:a05:600c:638e:b0:485:1878:7b8c with SMTP id 5b1f17b1804b1-488997b21e9mr238787175e9.18.1775568953327; Tue, 07 Apr 2026 06:35:53 -0700 (PDT) Received: from claudiu-X670E-Pro-RS.. ([82.78.167.248]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-488a91686f9sm285777675e9.10.2026.04.07.06.35.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Apr 2026 06:35:52 -0700 (PDT) From: Claudiu X-Google-Original-From: Claudiu To: vkoul@kernel.org, Frank.Li@kernel.org, lgirdwood@gmail.com, broonie@kernel.org, perex@perex.cz, tiwai@suse.com, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, p.zabel@pengutronix.de, geert+renesas@glider.be, fabrizio.castro.jz@renesas.com Cc: claudiu.beznea@tuxon.dev, dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org, linux-sound@vger.kernel.org, linux-renesas-soc@vger.kernel.org, Claudiu Beznea Subject: [PATCH v3 15/15] dmaengine: sh: rz-dmac: Set the Link End (LE) bit on the last descriptor Date: Tue, 7 Apr 2026 16:35:07 +0300 Message-ID: <20260407133507.887404-16-claudiu.beznea.uj@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260407133507.887404-1-claudiu.beznea.uj@bp.renesas.com> References: <20260407133507.887404-1-claudiu.beznea.uj@bp.renesas.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Claudiu Beznea On an RZ/G2L-based system, it has been observed that when the DMA channels for all enabled IPs are active (TX and RX for one serial IP, TX and RX for one audio IP, and TX and RX for one SPI IP), shortly after all of them are started, the system can become irrecoverably blocked. In one debug session the system did not block, and the DMA HW registers were inspected. It was found that the DER (Descriptor Error) bit in the CHSTAT register for one of the SPI DMA channels was set. According to the RZ/G2L HW Manual, Rev. 1.30, chapter 14.4.7 Channel Status Register n/nS (CHSTAT_n/nS), description of the DER bit, the DER bit is set when the LV (Link Valid) value loaded with a descriptor in link mode is 0. This means that the DMA engine has loaded an invalid descriptor (as defined in Table 14.14, Header Area, of the same manual). The same chapter states that when a descriptor error occurs, the transfer is stopped, but no DMA error interrupt is generated. Set the LE bit on the last descriptor of a transfer. This informs the DMA engine that this is the final descriptor for the transfer. Signed-off-by: Claudiu Beznea --- Changes in v3: - none Changes in v2: - none drivers/dma/sh/rz-dmac.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/dma/sh/rz-dmac.c b/drivers/dma/sh/rz-dmac.c index 3265c7b3ab83..ac388e7607df 100644 --- a/drivers/dma/sh/rz-dmac.c +++ b/drivers/dma/sh/rz-dmac.c @@ -200,6 +200,7 @@ struct rz_dmac { =20 /* LINK MODE DESCRIPTOR */ #define HEADER_LV BIT(0) +#define HEADER_LE BIT(1) #define HEADER_WBD BIT(2) =20 #define RZ_DMAC_MAX_CHAN_DESCRIPTORS 16 @@ -385,7 +386,7 @@ static void rz_dmac_prepare_desc_for_memcpy(struct rz_d= mac_chan *channel) lmdesc->chcfg =3D chcfg; lmdesc->chitvl =3D 0; lmdesc->chext =3D 0; - lmdesc->header =3D HEADER_LV; + lmdesc->header =3D HEADER_LV | HEADER_LE; =20 rz_dmac_set_dma_req_no(dmac, channel->index, dmac->info->default_dma_req_= no); =20 @@ -428,7 +429,7 @@ static void rz_dmac_prepare_descs_for_slave_sg(struct r= z_dmac_chan *channel) lmdesc->chext =3D 0; if (i =3D=3D (sg_len - 1)) { lmdesc->chcfg =3D (channel->chcfg & ~CHCFG_DEM); - lmdesc->header =3D HEADER_LV; + lmdesc->header =3D HEADER_LV | HEADER_LE; } else { lmdesc->chcfg =3D channel->chcfg; lmdesc->header =3D HEADER_LV; --=20 2.43.0