Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp3813311imm; Tue, 17 Jul 2018 10:41:43 -0700 (PDT) X-Google-Smtp-Source: AAOMgpeUW7AcVzK/KifLMnbUBBQnXz4vctU8rYgZ3iTLcBIvE8SyHEl074Ze9DGvi3KiPsnCL1nU X-Received: by 2002:a63:90c8:: with SMTP id a191-v6mr2462666pge.173.1531849303657; Tue, 17 Jul 2018 10:41:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1531849303; cv=none; d=google.com; s=arc-20160816; b=lpPIwfdapoxxNtwFS58erX1cEz44qd/KllJOsG6Dmn1ttY3oZI1JPMj+AENp1VXd// K5NSyb7AqfWTn3g1Fn0ooMJKc+sjIitrqRJpJp9fc8P7chsjZ5NaHaefOWp+sX2pviuP dwgT8+NvgTGewpamuNjM3DyROFf2K1bIQbTDXXI6wjYpXGrflw5ehcIZYWNp+qRvfzAv yHfey6grWedRJS96lW0kYEF5PE5YAiJhM9l85xp+Nm3/e7IIuoyqst8LG5Af6TQSG5E3 6OX8Q8whs7dJ1rifoS9En1LwoHVgayh3djZLs8dvsEtMVL9XCjefV3xJx4jDqiLU4ycV 2GcA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature :arc-authentication-results; bh=JRj9jom8uCLUjs1rQXdeTKX76H6ChxKW8HwBOBzEPuc=; b=MZ+e4htxaToS8PPRe0rbig7WGo2SOotVzR2pOBGaodFzmMRNO07wUKgkhFWlEZ1jxu eqVWtEnguKSU996k9AMNhgNEKGgNeopeA1McglH7UEoNXSp5gfsxdPEeQ1erCyHK5t11 ASpz4+G01EbPPdx+OyDZBZIswSaZ6OOOWbtWF/xcyBjeI2rc5HHpMxVutvgZ8zMNFAn7 7Wno0QxK1syd6SsVDXT5+JkQl/w1vwQc0CcTp9y8bHFDDv/ezkPCHEeq6g6aRriSKVig T7D4ArSyw6nyF9lafKWzjkZmNArSJ0ORbTaIZmYhroXs4Dh2HVizuN0j3EZYK9ZM1wXo irjg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=o41GQMt3; 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=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a16-v6si1214594pff.43.2018.07.17.10.41.28; Tue, 17 Jul 2018 10:41:43 -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=@kernel.org header.s=default header.b=o41GQMt3; 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=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730798AbeGQSOQ (ORCPT + 99 others); Tue, 17 Jul 2018 14:14:16 -0400 Received: from mail.kernel.org ([198.145.29.99]:51614 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730000AbeGQSOQ (ORCPT ); Tue, 17 Jul 2018 14:14:16 -0400 Received: from mail-io0-f177.google.com (mail-io0-f177.google.com [209.85.223.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id C0C3E20837; Tue, 17 Jul 2018 17:40:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1531849232; bh=Px1GozGzbDixcgRN1Qk8qM50W7B/5iHOjIxyUQScFiw=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=o41GQMt3eHCcA8+qu9duTkREATQLvjjuVCtEvgePUhTKf0KOd/MQTcEOqWaHQ4Ud7 +jjdOcZQr0Juq8CrZF8dN5LPOG9PZQXno1tC67wlGc4QqPzGc6LuEYLUdDIXAo3YPk KgWv74FYMczvkUbrn9Ao2jg3ynNJOJJ3EwjCKluA= Received: by mail-io0-f177.google.com with SMTP id l25-v6so1688419ioh.12; Tue, 17 Jul 2018 10:40:32 -0700 (PDT) X-Gm-Message-State: AOUpUlEF41KgOc76/tm8uv8osM/uNC+CD2xCxWz36yJZIMkzVsqRlIO/ xXqhs8R8l+RbwWo4fyFOjvtj4I/nDlN/S9bbjQ== X-Received: by 2002:a6b:6407:: with SMTP id t7-v6mr2402963iog.111.1531849232149; Tue, 17 Jul 2018 10:40:32 -0700 (PDT) MIME-Version: 1.0 References: <20180703123214.23090-1-paul@crapouillou.net> <20180703123214.23090-6-paul@crapouillou.net> <20180709171226.GK22377@vkoul-mobl> <20180716213339.GA19161@rob-hp-laptop> <20180717153407.GF3219@vkoul-mobl> In-Reply-To: <20180717153407.GF3219@vkoul-mobl> From: Rob Herring Date: Tue, 17 Jul 2018 11:40:20 -0600 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH 05/14] dmaengine: dma-jz4780: Add support for the JZ4740 SoC To: Vinod Cc: Paul Cercueil , Mark Rutland , Ralf Baechle , Paul Burton , James Hogan , Zubair Lutfullah Kakakhel , Mathieu Malaterre , Daniel Silsby , "open list:DMA GENERIC OFFLOAD ENGINE SUBSYSTEM" , devicetree@vger.kernel.org, "linux-kernel@vger.kernel.org" , Linux-MIPS Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Jul 17, 2018 at 9:34 AM Vinod wrote: > > On 16-07-18, 15:33, Rob Herring wrote: > > On Mon, Jul 09, 2018 at 10:42:26PM +0530, Vinod wrote: > > > On 03-07-18, 14:32, Paul Cercueil wrote: > > > > > > > enum jz_version { > > > > + ID_JZ4740, > > > > ID_JZ4770, > > > > ID_JZ4780, > > > > }; > > > > @@ -247,6 +248,7 @@ static void jz4780_dma_desc_free(struct virt_dma_desc *vdesc) > > > > } > > > > > > > > static const unsigned int jz4780_dma_ord_max[] = { > > > > + [ID_JZ4740] = 5, > > > > [ID_JZ4770] = 6, > > > > [ID_JZ4780] = 7, > > > > }; > > > > @@ -801,11 +803,13 @@ static struct dma_chan *jz4780_of_dma_xlate(struct of_phandle_args *dma_spec, > > > > } > > > > > > > > static const unsigned int jz4780_dma_nb_channels[] = { > > > > + [ID_JZ4740] = 6, > > > > [ID_JZ4770] = 6, > > > > [ID_JZ4780] = 32, > > > > }; > > > > > > I feel these should be done away with if we describe hardware in DT > > > > The compatible property can imply things like this. > > So what is the general recommendation, let DT describe hardware > including version delta or use compatible to code that in driver? Compatible is the version. Looking at the above, the version or ID isn't even stable. > Is it documented anywhere? Not really. It's a judgment call generally. Maybe # of DMA channels should be a property because that is something most controllers have. But you really have to define the property up front, not when the 2nd version of h/w shows up with different properties. To start defining guidelines, a couple of things come to mind: - Define properties for parameters that vary from board to board (for one SoC). - You can't add new required properties to existing bindings, so the not present default must work for all existing compatibles (or you need per compatible driver data). - Bugs/quirks/errata should be handled by compatible, not adding a property. Because bugs should be fixable without a dtb update and only a kernel update. Rob