Received: by 10.223.185.116 with SMTP id b49csp3712778wrg; Tue, 13 Feb 2018 06:40:06 -0800 (PST) X-Google-Smtp-Source: AH8x2245/wNxD+ug+4qOhEnlLgXQbb+wT/lLDjEr2iGXmgTVteDtzAUO5G9kJwCCltqy1mLS1zyO X-Received: by 2002:a17:902:9044:: with SMTP id w4-v6mr1338324plz.354.1518532806856; Tue, 13 Feb 2018 06:40:06 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1518532806; cv=none; d=google.com; s=arc-20160816; b=JqQjDXNVB/D4ziVV3P6tgrWytxMRWKonwjOHg2qEIz7ZAYiAeK9pUlYvjdXLrFXBAD Q5w6UiP/+/+s6A647bSL1NNnpPbq3qime4H5TAMaQiqwBfPZ2QXv1Dk37U+4q9ZOPY6I blNnU/ahbrJLJ1/VhTttUWm3rPWp+cP/E8v0UHCti8BIaq+A14naj71VI/HDcc4/Tvl/ isbyaR4MGSilVlCdDtYxNmK0urSXhbHOgflmz/bkTHQSZbaWQHKX7/OeNBuulNalJOdK 7NVpMwhetZA6pGPV+Uvfyw+aXCe7kLG6prWS8I4aI+nogWWTPgU62YJJVxzRo5nPGkqR mUog== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:arc-authentication-results; bh=M1Y8/epNNeqt+WU5nE/EmJn9fszVG46mTgolUK9uIqc=; b=u8C0EUmsJgTVc/1x+MfjhV646Z6U32eUspmlKbQ+1UOXmNnBIfHDkkJiBdDYXZ7+Qu KFTm2fG3Qi02l2mvLC6CIyMKpin8tlvJ2DNQySjZ6q5WapZUM6ksJNrxA0n/TWBfPlms RUg7tzyP1dMBVQOUiEqQEP4sMLS05/9JUJTi9I6CCF40KqPk2uLl9OBkzX9ox+gjPdkQ 6ZuOHBm7ICM+EjGlE/lWzagW1rAWhlGe2wQQ03Othmw1QNAUjNMLndG1noukOvbReh2D +3IhXmSSiO0AFZNJEpJq39WgtDZJ5Bv0S1pNsWZ6nP9d2JBt7A0VvJbXNqpA4/OXtNG3 TYVw== ARC-Authentication-Results: i=1; mx.google.com; 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 d2si1025151pgn.504.2018.02.13.06.39.52; Tue, 13 Feb 2018 06:40:06 -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; 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 S935459AbeBMOhk (ORCPT + 99 others); Tue, 13 Feb 2018 09:37:40 -0500 Received: from foss.arm.com ([217.140.101.70]:58720 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933651AbeBMOhi (ORCPT ); Tue, 13 Feb 2018 09:37:38 -0500 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id C95CD1529; Tue, 13 Feb 2018 06:37:37 -0800 (PST) Received: from lakrids.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.72.51.249]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 4FD5F3F53D; Tue, 13 Feb 2018 06:37:36 -0800 (PST) Date: Tue, 13 Feb 2018 14:37:33 +0000 From: Mark Rutland To: Channa Cc: linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-arm@lists.infradead.org, linux-kernel@vger.kernel.org, tsoni@codeaurora.org, sboyd@codeaurora.org, kyan@codeaurora.org Subject: Re: [PATCH 1/2] dt-bindings: Documentation for qcom,llcc Message-ID: <20180213143733.ts3dlcnhcf7jzbbm@lakrids.cambridge.arm.com> References: <1516924513-20183-1-git-send-email-ckadabi@codeaurora.org> <1516924513-20183-2-git-send-email-ckadabi@codeaurora.org> <20180201104434.7j27fl2hb4glqd3v@lakrids.cambridge.arm.com> <20180202110532.n2eez3zqbmf2jelr@lakrids.cambridge.arm.com> <2801cac8583d56260a9df0cdf7f41f47@codeaurora.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <2801cac8583d56260a9df0cdf7f41f47@codeaurora.org> User-Agent: NeoMutt/20170113 (1.7.2) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Feb 06, 2018 at 11:56:50AM -0800, Channa wrote: > On 2018-02-02 03:05, Mark Rutland wrote: > > On Thu, Feb 01, 2018 at 12:39:09PM -0800, Channa wrote: > > > On 2018-02-01 02:44, Mark Rutland wrote: > > > > On Thu, Jan 25, 2018 at 03:55:12PM -0800, Channagoud Kadabi wrote: > > > > > +- llcc-bank-off: > > > > > + Usage: required > > > > > + Value Type: > > > > > + Definition: Offsets of llcc banks from llcc base address starting > > > > > from > > > > > + LLCC bank0. > > > > > + > > > > > +- llcc-broadcast-off: > > > > > + Usage: required > > > > > + Value Type: > > > > > + Definition: Offset of broadcast register from LLCC bank0 address. > > > > > > > > Please could we use "offset" rather than "off" for both of these? That > > > > way it's obvious these aren't properties for disabling some feature. > > > > > > > > How variable are these offsets in practice? Is the memory map not fixed? > > > > > > The offsets depends on the number of LLCC HW blocks. These number of > > > HW > > > blocks vary from > > > chipset to chipset and new registers could be added that changes the > > > offset. > > > > Surely if new registers are added, we need a new compatible string? > > > > Can't we encode the number of LLCC HW blocks, instead? Presumably that > > would give enough information to cover both llcc-bank-off and > > llcc-broadcast-off. > > > > [...] > > Are you suggesting to move these offset handing out of DTS files and manage > in the driver? Something like that, though it depends on how exactly the offsets can be derived. Using reg entries, as Matt suggested, sounds better though. > > > > > +compatible devices: > > > > > + qcom,sdm845-llcc > > > > > > > > Huh? The "qcom,sdm845-llcc" bindings wasn't described above, and it's > > > > not clear what this means. > > > > > > > > > + > > > > > +Example: > > > > > + > > > > > + qcom,system-cache@1300000 { > > > > > + compatible = "qcom,llcc-core", "syscon", "simple-mfd"; > > > > > > > > This looks very wrong. Why do you need syscon and simple-mfd? > > > > > > LLCC HW block has 3 functionalities: > > > System cache core, ECC & AMON drivers for debugging. > > > All three drivers use the same register space for configuration, > > > status etc. > > > In order to avoid remapping the same address region across multiple > > > drivers, > > > I have implemented this driver as a syncon and simple-mfd. > > > > Please don't do that; that's completely dependent on Linux > > implementation details. > > Why do you think simple-mfd is not good here? The LLCC HW clock is outside > of CPUSS and has > multiple functional blocks. For one thing, there's no need for this to be a syscon *and* a simple-mfd. W.R.T. simple-mfd, I think it would bet better to decompose the device in a top-level driver, as I described in my prior reply, rather than describing a set of drivers (which are not themselves HW). > > > > > +- cache-slices: > > > > > + Usage: required > > > > > + Value type: > > > > > + Definition: The tuple has phandle to llcc device as the first > > > > > argument and the > > > > > + second argument is the usecase id of the client. > > > > > > > > What is a "usecase id" ? > > > > > > Usecase id for use case that wants to use system cache for eg: > > > video-encode > > > and video-decode > > > > Sure, but how is the value used? Is it the index of a slice? Or > > something more abstract? > > This is used as an index to the SCT (System cache Table) configuration > data that controls the behavior of each cache slice. Ok. Where does that SCT live? Is that in HW? Is it programmed by SW, or statically configured for a given platform? Thanks, Mark.