From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751991AbbJGIn5 (ORCPT ); Wed, 7 Oct 2015 04:43:57 -0400 Received: from hqemgate14.nvidia.com ([216.228.121.143]:4000 "EHLO hqemgate14.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750951AbbJGInx (ORCPT ); Wed, 7 Oct 2015 04:43:53 -0400 X-PGP-Universal: processed; by hqnvupgp07.nvidia.com on Wed, 07 Oct 2015 01:36:25 -0700 Subject: Re: [PATCH V2 1/2] Documentation: DT: Add binding documentation for NVIDIA ADMA To: Stephen Warren References: <1444047007-30494-1-git-send-email-jonathanh@nvidia.com> <1444047007-30494-2-git-send-email-jonathanh@nvidia.com> <56145369.7040404@wwwdotorg.org> CC: Laxman Dewangan , Vinod Koul , Thierry Reding , Alexandre Courbot , Rob Herring , Pawel Moll , Mark Rutland , Ian Campbell , Kumar Gala , "Arnd Bergmann" , , , From: Jon Hunter Message-ID: <5614DB41.5080907@nvidia.com> Date: Wed, 7 Oct 2015 09:43:45 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <56145369.7040404@wwwdotorg.org> X-Originating-IP: [10.21.132.159] X-ClientProxiedBy: UKMAIL101.nvidia.com (10.26.138.13) To UKMAIL101.nvidia.com (10.26.138.13) Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 07/10/15 00:04, Stephen Warren wrote: > On 10/05/2015 06:10 AM, Jon Hunter wrote: >> Add device-tree binding documentation for the Tegra210 Audio DMA >> controller. > >> diff --git a/Documentation/devicetree/bindings/dma/tegra210-adma.txt >> b/Documentation/devicetree/bindings/dma/tegra210-adma.txt > >> +- #dma-cells : Must be <2>. The first cell denotes the transmit or >> + receive request number and should be between 1 and the maximum number >> + of requests supported (see properties "dma-rx-requests" and >> + "dma-tx-requests"). This value corresponds to the RX/TX_REQUEST_SELECT >> + fields in the ADMA_CHn_CTRL register. The second cell denotes whether >> + the channel is a receive or transmit channel and must be either 2 for >> + a receive channel and 4 for a transmit channel. These values >> correspond >> + to the TRANSFER_DIRECTION field of the ADMA_CHn_CTRL register. > > Is it typical to encode the direction into the dma cells? I would have > thought the client would provide that information at run-time when > requesting a DMA channel. I have seen other dma bindings that do [0]. If we don't put the direction in the client binding, then it would appear as ... tegra_admaif: admaif@0x702d0000 { ... dmas = <&adma 1>, <&adma 1>, <&adma 2>, <&adma 2>, <&adma 3>, <&adma 3>, <&adma 4>, <&adma 4>, <&adma 5>, <&adma 5>, <&adma 6>, <&adma 6>, <&adma 7>, <&adma 7>, <&adma 8>, <&adma 8>, <&adma 9>, <&adma 9>, <&adma 10>, <&adma 10>; dma-names = "rx1", "tx1", "rx2", "tx2", "rx3", "tx3", "rx4", "tx4", "rx5", "tx5", "rx6", "tx6", "rx7", "tx7", "rx8", "tx8", "rx9", "tx9", "rx10", "tx10"; ... }; ... where "rxN" and "txN" appear to use the same request, but the reality is that "rxN" is using rx-request-N and "txN" is using tx-request-N. Arnd questioned this before. Obviously I can explain this in the binding document if the above is preferred. However, given that they are named "rx1", "rx2", etc, why not put the direction in the binding? By the way, in the ADMA driver, the driver does check that the direction specified when configuring the transfer (ie. via tegra_adma_prep_dma_cyclic()) matches the adma channel being used. Cheers Jon [0] http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/dma/ste-dma40.txt