Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp686986imu; Fri, 7 Dec 2018 07:25:21 -0800 (PST) X-Google-Smtp-Source: AFSGD/Ubk019/TUrxerDlcYRwfAeqlwTOeBU8MYx4n8NFkzefhM0i0xrBMoUT2c3MBIJAZpK+e9Z X-Received: by 2002:a17:902:8641:: with SMTP id y1mr2509950plt.159.1544196321448; Fri, 07 Dec 2018 07:25:21 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1544196321; cv=none; d=google.com; s=arc-20160816; b=HKFvCe5I2rcC8d/M4CNPRjndujHjB4V06mOuW9rkM2bF+2jiKOqPNwJBaXVnvsWR/K lqQ0zwQlMxaF7Q4099gI3UPynfAbXVsE9jJbz5bcCTV6CzEkMtwNrkKe/Dj02F4PLLZz SLAgl1hjo96okVMhjaDJ1mkr/82atJ9H623AlR1z3rq1oNrJGy45L0bD2D+02/+5ifL+ mbvuR7damBVwH1eO1zdl05tc3Brei7Uv7ntds5QSXm44Fdy2ufY+SdOYkfq7ZvYemY88 G1sP8PErjQ0dGa5JX2gbiF1OhYAk92/UhmoPepRO6KBiBMKXEPXkQj8HXQVFJ8fWrAc+ Fzpg== 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:date:message-id:autocrypt :openpgp:references:cc:to:subject:from:dkim-signature; bh=QPml2Vc/UoEux42jfLu2s49QsSSw48uijhTZBz2Sgig=; b=PMF5CsZ9THUwB7V5MVu7ls2IFwim3QdEkCQete202UTsZkUDUFidt6tM/Ae7q1lqco pIeNRf3DTKsdYLagHqfEOl9jrv1Rw88/60dpnLxOM/9GDDPRSsXrMYs+On5f61dCWhj7 7DpihX8SRN+B/vOlRN7x2JnyuOir5EzqzrSa+JAJViooIczBiHgd8MNnz+0d7k4eLYYW o3OffMLbSdCwjlhvFtT0AO12OznFY6nf9Hi+pWDQIb1MT92BBdI/rvflqZqOy3Dwtiu6 H+DkgWPbiRqjYCMsFy+yFw1UulwBiKOdxb2p+aVQpiky+I9MG+GhXF6PYsi5YRtFAtN2 YpwA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=CY9iVyGJ; 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=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id e4si3006452pgl.570.2018.12.07.07.25.02; Fri, 07 Dec 2018 07:25:21 -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=@linaro.org header.s=google header.b=CY9iVyGJ; 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=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726124AbeLGPYX (ORCPT + 99 others); Fri, 7 Dec 2018 10:24:23 -0500 Received: from mail-wm1-f68.google.com ([209.85.128.68]:53434 "EHLO mail-wm1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726047AbeLGPYX (ORCPT ); Fri, 7 Dec 2018 10:24:23 -0500 Received: by mail-wm1-f68.google.com with SMTP id y1so4717770wmi.3 for ; Fri, 07 Dec 2018 07:24:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:subject:to:cc:references:openpgp:autocrypt:message-id:date :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=QPml2Vc/UoEux42jfLu2s49QsSSw48uijhTZBz2Sgig=; b=CY9iVyGJDiYwiqJjOvL/NG7t/94ZbQKl1fs+V81UJMraDQtShqxobXmLUBE794FUQF 8Uk+xVOx500Fmt7IMLvKdPCYsut1NdRreB68jlz1NbvWfJaZfVwQAIiQqlAaVF4cljx8 mSaaYu/RcevyFVVp07tp9pLlQW0G2YEqks29U= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:subject:to:cc:references:openpgp:autocrypt :message-id:date:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=QPml2Vc/UoEux42jfLu2s49QsSSw48uijhTZBz2Sgig=; b=e2twrGkBc5vPR9YxwsHEeFTXUhYAqelVLBW892onyyp5QrhQ6mDvilX1pueKHshe4g Kru4BaekMSvWYQlk1jVUX6jV5o+h3RhwIMGNyvqYncCtlPl0upAld+wiPv0mZijHVZPc fn860IOJt1P+U2viEhDwVCWsJvycJcfrkGDtD6PL+8VZtulwgKHoOt2Fpgm2Z/7+N3TK BksfwdfYNOWRzr9DUGxu+wQfR950SfCWoQqCfJYWoO617NHgP74OjhCD5JYwIkqnX9cZ CCYphu7kBxQksbJ//JOMI7KM9mFNLWSl6ikUgWViE4pnO6AIpWgI0HZ8GAvJIOtGe5DV pg4A== X-Gm-Message-State: AA+aEWaFSAmWOo1pns+7t4McdmAom28ixy+0k7O8tR8TvwruT9rqWCLq iPXX3nOvtOM4fFlqYFZRQWDmGw== X-Received: by 2002:a1c:4d12:: with SMTP id o18mr2721364wmh.92.1544196260697; Fri, 07 Dec 2018 07:24:20 -0800 (PST) Received: from [10.44.66.8] ([212.45.67.2]) by smtp.googlemail.com with ESMTPSA id l20sm8191241wrb.93.2018.12.07.07.24.18 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 07 Dec 2018 07:24:19 -0800 (PST) From: Georgi Djakov Subject: Re: [PATCH v10 1/7] interconnect: Add generic on-chip interconnect API To: Rob Herring Cc: "open list:THERMAL" , Greg Kroah-Hartman , "Rafael J. Wysocki" , Michael Turquette , Kevin Hilman , Vincent Guittot , Saravana Kannan , Bjorn Andersson , Amit Kucheria , seansw@qti.qualcomm.com, daidavid1@codeaurora.org, Evan Green , Mark Rutland , Lorenzo Pieralisi , Alexandre Bailon , Maxime Ripard , Arnd Bergmann , Thierry Reding , ksitaraman@nvidia.com, sanjayc@nvidia.com, devicetree@vger.kernel.org, "linux-kernel@vger.kernel.org" , "moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE" , linux-arm-msm , linux-tegra@vger.kernel.org References: <20181127180349.29997-1-georgi.djakov@linaro.org> <20181127180349.29997-2-georgi.djakov@linaro.org> Openpgp: preference=signencrypt Autocrypt: addr=georgi.djakov@linaro.org; prefer-encrypt=mutual; keydata= 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 KEmKjLDvB0pePJkdTw== Message-ID: Date: Fri, 7 Dec 2018 17:24:17 +0200 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Rob, On 12/5/18 18:16, Rob Herring wrote: > On Tue, Nov 27, 2018 at 12:03 PM Georgi Djakov wrote: >> >> This patch introduces a new API to get requirements and configure the >> interconnect buses across the entire chipset to fit with the current >> demand. >> >> The API is using a consumer/provider-based model, where the providers are >> the interconnect buses and the consumers could be various drivers. >> The consumers request interconnect resources (path) between endpoints and >> set the desired constraints on this data flow path. The providers receive >> requests from consumers and aggregate these requests for all master-slave >> pairs on that path. Then the providers configure each participating in the >> topology node according to the requested data flow path, physical links and >> constraints. The topology could be complicated and multi-tiered and is SoC >> specific. >> >> Signed-off-by: Georgi Djakov >> Reviewed-by: Evan Green > > [...] > >> +struct icc_path *icc_get(struct device *dev, const int src_id, >> + const int dst_id); >> +void icc_put(struct icc_path *path); >> +int icc_set(struct icc_path *path, u32 avg_bw, u32 peak_bw); > > icc_set() is very generic, but this function isn't easily extended to > other parameters than bandwidth. Perhaps icc_set_bandwidth() instead. > Then when you add some other setting, you just add a new function. Of > course, if you wind up with a bunch of different parameters, then > you'll probably need an atomic type interface where you test all the > settings together and then commit them separately in one call. But Thanks for the comment. We have already started some discussion with the Nvidia guys about supporting also latency and priority. We can do a structure based approach and pass a struct with all the bandwidth / latency / priority stuff to a function like icc_set_extended(); It's very early for any conclusions yet and for now we support only bandwidth. The function name still can be easy changed with a follow-up patch until one is using it yet. Let me think again. > from a DT perspective, I certainly hope there are not lots of new > settings folks want to add. Regarding DT, all settings should go into the drivers for now and later we can decide if something makes sense to be really in device-tree. Thanks, Georgi