Received: by 2002:a25:7ec1:0:0:0:0:0 with SMTP id z184csp130575ybc; Mon, 18 Nov 2019 21:50:39 -0800 (PST) X-Google-Smtp-Source: APXvYqx7DbqWZIv0Z0ensw/yxVhMtGwRFGc/cSC40TuUeLF/As83pWA92gWtMjqUm1vxDLof86Zv X-Received: by 2002:a17:906:5a92:: with SMTP id l18mr1796512ejq.238.1574142639809; Mon, 18 Nov 2019 21:50:39 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1574142639; cv=none; d=google.com; s=arc-20160816; b=pnai+6BP9o1YmbMbVvd3BdyL8tXRIXR1iAn/6XwQrGLk9OorO6U3jIKe8IMlzAw5zO Da75yFLFqg5UF1qG2ywTH9yf9ML85um7BIa6DNHmzvZfNgylxyxrzxIIg3/BTF8YaGS7 PEvJr2k2rei/IXXYpI0ABP8lqwU+jsdTsCHrrKYxwNMWMgKsbrGHJ9S1pU/fXUb22qY3 AL4kopkHiUF9ZplrtSW49pY+04bkMIT4oLt6semf6a3Ir8z9aNV7jZKqs5B55olyUvrk cVfBJclvZxmQReZXGGPAhoawAPnXWeqv1D+9OXKdFlYZvLPIpUJXdAImYjpYetK/30ef W8iw== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=8PKN+FggCvLQeUMCBVH74Eg/ZoBzUATRpNsT+OOX5C4=; b=NzOv+B9WDS0wqUwTNTnvZQD9or+P/P0I2ZuIqcIPbXjY/lMkcToqBAKFIdTYhaMiiI qGmu5v8HUFvXTwPGeg0HBM3VrFP+K2awtbImTBzht3y293gbZ8VlwUH9T75mucbHs0TQ su40d+iBdzhgD3TT+q/hnwWTPQTYvJA4R4CtWIbA+ektLAAauS+JJgC+o1JSEmtlsdRs mfpxG/L+b2YSxnuc8NipbhPV5tIBsmnGnzDbuaFKs1oVimNRep3JWjL6V6iNCLroSNDP fataX6eQaLhYtxKMcRA4w88PTVm44pRuM8Viq9QYAKez61ya7kSj6itcOairxZQGtteG w+Fw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=GJa0n4Cq; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id gw9si13150273ejb.284.2019.11.18.21.50.15; Mon, 18 Nov 2019 21:50:39 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=GJa0n4Cq; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730693AbfKSFtV (ORCPT + 99 others); Tue, 19 Nov 2019 00:49:21 -0500 Received: from mail.kernel.org ([198.145.29.99]:46028 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731470AbfKSFtT (ORCPT ); Tue, 19 Nov 2019 00:49:19 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 06CD621783; Tue, 19 Nov 2019 05:49:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1574142558; bh=lgzmDY7hvgwZlBz91lc4Dp9NshUnGaue5baV8VcMsmk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=GJa0n4CqYQ1gXRx6MyRVsAFw6/WDMCtH1IUOOyJb12qdw5KrdRLI+xasrbDOCSI6w YWLzOh6uyBijmSng+5K/Rs96UpUCkMWD/xG4WfYB0ipkeF32cisSNc/7qhwEY39veJ u3156/4CZ9TYG/EJpyfq92apcmZvciBRfOJkeMZs= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Daniel Silsby , Paul Cercueil , Mathieu Malaterre , Vinod Koul , Sasha Levin Subject: [PATCH 4.14 085/239] dmaengine: dma-jz4780: Further residue status fix Date: Tue, 19 Nov 2019 06:18:05 +0100 Message-Id: <20191119051317.783541817@linuxfoundation.org> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191119051255.850204959@linuxfoundation.org> References: <20191119051255.850204959@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Daniel Silsby [ Upstream commit 83ef4fb7556b6a673f755da670cbacab7e2c7f1b ] Func jz4780_dma_desc_residue() expects the index to the next hw descriptor as its last parameter. Caller func jz4780_dma_tx_status(), however, applied modulus before passing it. When the current hw descriptor was last in the list, the index passed became zero. The resulting excess of reported residue especially caused problems with cyclic DMA transfer clients, i.e. ALSA AIC audio output, which rely on this for determining current DMA location within buffer. Combined with the recent and related residue-reporting fixes, spurious ALSA audio underruns on jz4770 hardware are now fixed. Signed-off-by: Daniel Silsby Signed-off-by: Paul Cercueil Tested-by: Mathieu Malaterre Signed-off-by: Vinod Koul Signed-off-by: Sasha Levin --- drivers/dma/dma-jz4780.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/dma/dma-jz4780.c b/drivers/dma/dma-jz4780.c index 803cfb4523b08..aca2d6fd92d56 100644 --- a/drivers/dma/dma-jz4780.c +++ b/drivers/dma/dma-jz4780.c @@ -580,7 +580,7 @@ static enum dma_status jz4780_dma_tx_status(struct dma_chan *chan, to_jz4780_dma_desc(vdesc), 0); } else if (cookie == jzchan->desc->vdesc.tx.cookie) { txstate->residue = jz4780_dma_desc_residue(jzchan, jzchan->desc, - (jzchan->curr_hwdesc + 1) % jzchan->desc->count); + jzchan->curr_hwdesc + 1); } else txstate->residue = 0; -- 2.20.1