Received: by 10.223.185.116 with SMTP id b49csp3914598wrg; Tue, 13 Feb 2018 09:39:35 -0800 (PST) X-Google-Smtp-Source: AH8x2263XzeHl2gSklSzmm5C8ZKb2Chrr/E4WIOsPJ/Z3BZPmhXfI9XIbY/DdGcFaR3jtX9hWhem X-Received: by 2002:a17:902:68ca:: with SMTP id x10-v6mr1763152plm.367.1518543575184; Tue, 13 Feb 2018 09:39:35 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1518543575; cv=none; d=google.com; s=arc-20160816; b=vuz7shKBT+k7onrgsSXam3C7X9PbQmU7K7Lyk9vhrvybYpzbWG6IQh3Q4gu0Uluik7 q3haIV+kVrlyoA1i8dtWxDzMVqfR22U3M8bomqc1zBcRjaM9HfmQSkrX0AxamthXnQ4A oi/IGFfb6EBHZeYcDIcN/2i39XIaSGC1fuDih8ChBH6e8xTYvEXRGUYQrVLYb4uvtPaq ijVtCD7NAVjL7ANFAYN4+K9VlIvO0Dympy7XdbdYW2pPY5pQANTfV0uDKpqOeHVLh3gS FXVXDsBHLsyHK0L3RDZD7yn7gvGnj1dqjdN4ksW/ieWUFn3ktSs6Hha0oQpGAfizBIu7 h/yA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:message-id:references :in-reply-to:subject:cc:to:from:date:content-transfer-encoding :mime-version:dkim-signature:dkim-signature :arc-authentication-results; bh=fmc5GJh3gKVA7b3LBoUEAMZQY94mlr7KofFbHBrY6p4=; b=u+2ExquwkXEbdRRdfOjN03S5kBo8wDSdWCYwSnqrNImeuiYmtRurbAM2KEFkioby89 YHBV/3CZu60iknhQm4FScLTCCVyIM0WEBQ9wCMIwX02O2z+acZ/d6gnNVD0zT4NNpm58 lcIMnLlOMvyvinOTYLXxGEXr9cr5zIyvHpHe8q3ZYvkRDJDoygqH3l/3OZxq0uVcM83l qTApbLhgSjGq2cDnozkNM1ik+TEvFFZKUcMaiCk2j0PB/ZyKa3FWhfholcwZ1f2a7CPE 52pJk2SGLskPYjF10M/nU91u37fqKgnMkrf2746LpPx7THo73IbQzoL5AEZIfDeKRbcB WXqQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=KKojgzSd; dkim=pass header.i=@codeaurora.org header.s=default header.b=KKojgzSd; 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 b127si1852756pgc.220.2018.02.13.09.39.19; Tue, 13 Feb 2018 09:39:35 -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=@codeaurora.org header.s=default header.b=KKojgzSd; dkim=pass header.i=@codeaurora.org header.s=default header.b=KKojgzSd; 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 S965294AbeBMRil (ORCPT + 99 others); Tue, 13 Feb 2018 12:38:41 -0500 Received: from smtp.codeaurora.org ([198.145.29.96]:55542 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965099AbeBMRij (ORCPT ); Tue, 13 Feb 2018 12:38:39 -0500 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id E868660240; Tue, 13 Feb 2018 17:38:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1518543518; bh=c0bel5N0KYSe1rYLG+A9H7wXEjJC0THzepIH/WTKSZg=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=KKojgzSdJ9D4bDmcOe6UWl+dhyxgxcXglrV+MMc2Yc3CbRXZJjDGNvgeR6WypVLYf LMfa17MrfMPs/jzrPgiTE/SOo5q0PsJSzoyyow+qv0E6cREYSIRv9lNFXZczux9Tab dyn0lOQvr0euJCb/20dU40zdsmngJx8iXUKI6yPY= X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on pdx-caf-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.8 required=2.0 tests=ALL_TRUSTED,BAYES_00, DKIM_SIGNED,T_DKIM_INVALID autolearn=no autolearn_force=no version=3.4.0 Received: from mail.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.codeaurora.org (Postfix) with ESMTP id 25E0C60240; Tue, 13 Feb 2018 17:38:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1518543518; bh=c0bel5N0KYSe1rYLG+A9H7wXEjJC0THzepIH/WTKSZg=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=KKojgzSdJ9D4bDmcOe6UWl+dhyxgxcXglrV+MMc2Yc3CbRXZJjDGNvgeR6WypVLYf LMfa17MrfMPs/jzrPgiTE/SOo5q0PsJSzoyyow+qv0E6cREYSIRv9lNFXZczux9Tab dyn0lOQvr0euJCb/20dU40zdsmngJx8iXUKI6yPY= MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Tue, 13 Feb 2018 09:38:38 -0800 From: Channa To: Mark Rutland 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 In-Reply-To: <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> <20180213143733.ts3dlcnhcf7jzbbm@lakrids.cambridge.arm.com> Message-ID: X-Sender: ckadabi@codeaurora.org User-Agent: Roundcube Webmail/1.2.5 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2018-02-13 06:37, Mark Rutland wrote: > 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? SCT is in the HW. Kernel driver programs these settings for a given platform. The table is also used to lookup size, cache slice id details requested by client drivers. > > Thanks, > Mark. -- -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project