Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp3119505ybi; Tue, 2 Jul 2019 02:27:50 -0700 (PDT) X-Google-Smtp-Source: APXvYqxIZcnny3IBXkJJI+3kd6V6kLsRWzJKFhyeqvQORAvUiJZPYW7kj3vEgma/wOgtWOksKbRV X-Received: by 2002:a65:4489:: with SMTP id l9mr12075258pgq.207.1562059669934; Tue, 02 Jul 2019 02:27:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1562059669; cv=none; d=google.com; s=arc-20160816; b=RM67soQqkGUhYFUOF5XHb8Ox1c8CetdmIy+M9EJQ30HPglu7Y3JMFYRnsOZMER//kC suYgQ+D6jE6s9ybc5bWBsXwCSBKc9jFR/OXw5faswDxrzxsHb8b+eg9G2hBMWNFV7qjE zKRZSnrDyG23Cp7jreIGkv1domOMi8OI1RKzLTPmcNBXiol8spvZ+kuTiVsADyzOkJsH gI4vNQP9+g/8sVh9UVyQRBLtQ33IwXYYAwgOAzZJzmFav7J3MYCNRwhlct78qpBNibRn FG6rYtSKle5WmGSz6QrsWrDYLs8SwjTvXHeR9Ix/EmeiwpGxy21c1KsOIiL4jQLQsY4M HrYQ== 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 :content-language:in-reply-to:mime-version:user-agent:date :message-id:references:cc:to:from:subject:dkim-signature; bh=e+ERxpd73DxC4MxlVJMnS2JsEkTIzOmmsxfHhHYhUvE=; b=UhwO/JnIbjEm7Ba/Mjxi3SuMjU0+n8gDP4g61qIwdEB6s+ROMjsjLdK6wYMUQkTUD/ Z/3V8cFA2VYWaQ2x0hjkyaSYdJHF6HvnXyHtllCm0XrBL8k6IGM6wVTvf9aBlvyG3YIJ a61RRk1fqZl8TRQHjdJK20CGDZT9nMjvjebZFsN5PZ3TXW+ONncCLqZGAxVUOoPbOkgu 36HpNENUwNdnMz8zj/O+tr9xfyxFUBKMNwFLmz28P3i2bjRVPz/9F483JBA0MbDOFDGx tJdauIro/+PGiv+DcxMyXP8ia6jrNzHgx+wQMYLqzsmJZzSVl3JXzlURXTXdguCeX+Ot fgOQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b="kyfd/lNb"; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id s11si11715405pgp.326.2019.07.02.02.27.34; Tue, 02 Jul 2019 02:27:49 -0700 (PDT) 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=@gmail.com header.s=20161025 header.b="kyfd/lNb"; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727201AbfGBJZW (ORCPT + 99 others); Tue, 2 Jul 2019 05:25:22 -0400 Received: from mail-lj1-f193.google.com ([209.85.208.193]:43396 "EHLO mail-lj1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726793AbfGBJZV (ORCPT ); Tue, 2 Jul 2019 05:25:21 -0400 Received: by mail-lj1-f193.google.com with SMTP id 16so16094767ljv.10; Tue, 02 Jul 2019 02:25:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:from:to:cc:references:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=e+ERxpd73DxC4MxlVJMnS2JsEkTIzOmmsxfHhHYhUvE=; b=kyfd/lNbUDSD4OtSsZRiiSWp/BtuSHOAbUzan0lLdCe6ywHkVdn5JaTskxFiB43DJ2 zAh1aAGyBrc2tIQ/JTwvbqzvHnL1k+zoakSLCW6i2CEYknA01zhe2CDEalZ07ofRwqFu N2q5kHhNLVB7DmdLYI4qOId/kdBCBk4s4+erxGKgc62sfbP6W0i4QIIzmvepdd+ddXWN BLWxAIpLW28uq1ozZWPIk8ZLoMSZNhjtflhwHDvPrk5lx9MEb3xCWlZzitvw7m07abJM mODKrGcXOqKDKa6abZusAPJ9/G1OWAOZRd9d41+yOC0hqlIU1y6bBAhUG10YjSXP/KEw SX4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:from:to:cc:references:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=e+ERxpd73DxC4MxlVJMnS2JsEkTIzOmmsxfHhHYhUvE=; b=OEX3REdF6h0gsqtvOrDQViiFXByk60YndetgWQcKZYzawzGgKt8NuUiqk1RfaBYCvU DRXBAn4Rsy5+VgHKl8/RyhHatdaxj75vY1YGAbdhQN62m1EtPzQ7Lc3AYCKEwA+kLWFG WZ+PNNnAqpwUhVgyx+SDtzM2GDDl/zxaSx7Fofhq24H8evqRaEj8AMQVGKhKMS5a8DqN AFBziYa4sO0eH2llFw79e52itaXWVe7A5x9x3PIiRYZIsnoCJxFDc1bTSf3rmVwxLfNq D9ZO2gt1ZC0IGJanyK8sICuvPheRcFlD9jFk8pYKXza60w/xVj/L+fTWC5MNbYTrDf3A 5GMQ== X-Gm-Message-State: APjAAAXzgxLLVhMl0OLi0hbURIts0qB0QjWSsWHDJF2GDGdyAh377goi n67sda/1oYZJgRWhw9XI/dScLElk X-Received: by 2002:a2e:81c4:: with SMTP id s4mr16580310ljg.182.1562059518979; Tue, 02 Jul 2019 02:25:18 -0700 (PDT) Received: from [192.168.2.145] (ppp79-139-233-208.pppoe.spdop.ru. [79.139.233.208]) by smtp.googlemail.com with ESMTPSA id y4sm1374885lfc.56.2019.07.02.02.25.17 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jul 2019 02:25:18 -0700 (PDT) Subject: Re: [PATCH v3] dmaengine: tegra-apb: Support per-burst residue granularity From: Dmitry Osipenko To: Laxman Dewangan , Vinod Koul , Thierry Reding , Jonathan Hunter , Ben Dooks Cc: dmaengine@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org References: <20190627194728.8948-1-digetx@gmail.com> Message-ID: <8b4fbdb5-c6fa-6481-4894-6c2c77c23195@gmail.com> Date: Tue, 2 Jul 2019 12:25:17 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.2 MIME-Version: 1.0 In-Reply-To: <20190627194728.8948-1-digetx@gmail.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 27.06.2019 22:47, Dmitry Osipenko пишет: > Tegra's APB DMA engine updates words counter after each transferred burst > of data, hence it can report transfer's residual with more fidelity which > may be required in cases like audio playback. In particular this fixes > audio stuttering during playback in a chromium web browser. The patch is > based on the original work that was made by Ben Dooks and a patch from > downstream kernel. It was tested on Tegra20 and Tegra30 devices. > > Link: https://lore.kernel.org/lkml/20190424162348.23692-1-ben.dooks@codethink.co.uk/ > Link: https://nv-tegra.nvidia.com/gitweb/?p=linux-4.4.git;a=commit;h=c7bba40c6846fbf3eaad35c4472dcc7d8bbc02e5 > Inspired-by: Ben Dooks > Signed-off-by: Dmitry Osipenko > --- > > Changelog: > > v3: Added workaround for a hardware design shortcoming that results > in a words counter wraparound before end-of-transfer bit is set > in a cyclic mode. > > v2: Addressed review comments made by Jon Hunter to v1. We won't try > to get words count if dma_desc is on free list as it will result > in a NULL dereference because this case wasn't handled properly. > > The residual value is now updated properly, avoiding potential > integer overflow by adding the "bytes" to the "bytes_transferred" > instead of the subtraction. Is there still any chance to get this into 5.3? Will be very nice! Jon / Vinod ?