Received: by 2002:a25:d7c1:0:0:0:0:0 with SMTP id o184csp2705757ybg; Thu, 24 Oct 2019 13:54:21 -0700 (PDT) X-Google-Smtp-Source: APXvYqySnLEL1c8AsYg1acUhiBz2CMTCbIYdDDVAzPWzr7hbKpL7wyFLftJaB1xXz1d+6sr2txIS X-Received: by 2002:a50:eb95:: with SMTP id y21mr145062edr.155.1571950461556; Thu, 24 Oct 2019 13:54:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1571950461; cv=none; d=google.com; s=arc-20160816; b=mAfkmIDNNIud9Gmh1dtC2VhHelI+c9DldBeCGj7j3LBOl2w7Yd0GXPWFDYfBekk18T vXRLeK3fuYv/rqGOcQBgM/pt8RIbcenayG5hWwP01yPT0tRMnHYKXizoygLSgJ/F9YqP PPVkXMi4U1P+u8IXD44PQCDMzAezCySurizyKZLqlMFld6VvgeF1m8nxdDs7N0B+Qu0G qpiMOhybb+wmLUwhlSEw+Dxsx911NVoTdYEAggN/jpQyrc1aIUxqqxwJCfxV3QVxAA+S oR/hugIt9h0fbmx9TomG1OKc06q36koYyROzqTCvfa3jKW56YnY8F9qTkDdWlWpW4KRO fdPw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=hqjeu1qdrqQX2VInWmYsNt4Uxhg9bx9c8DVYYKx7nkQ=; b=ikLisShaJK2CeNWlpnR176/Xxj1T7WNG3QhSnxX6oh2r/jMKmvoQk6aemZVC5Bw/gH bjCLuYCUeyaJ99ZbXGfwyS+pbUEw+5bRMoT2ETSea8XZL0cCshBoogoIj42bB7EH17zW 55N3yT45tuei+Cw9FOQlF3ofzhNL80WJK+Yi1Iodl0kQbv6RqD4fENHS46r0wyymnXUj sKsh+UhS/2w3WhwU/yst5KK7nb4vXTyG1f0ZFveTjIdISzgWBqxQfSoHGl8Yohq6932Y mxPpfyPxH2Sd5lqQyu+1sgGkk0qEvDaUhhkNWuJd2V5uqP7TubxtU6FQPJcNL2U1ucjk x0Pw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass (test mode) header.i=@onstation.org header.s=default header.b=BljIAdCm; 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 k24si6998253edk.367.2019.10.24.13.53.57; Thu, 24 Oct 2019 13:54:21 -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 (test mode) header.i=@onstation.org header.s=default header.b=BljIAdCm; 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 S2437872AbfJXHHb (ORCPT + 99 others); Thu, 24 Oct 2019 03:07:31 -0400 Received: from onstation.org ([52.200.56.107]:36614 "EHLO onstation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727635AbfJXHHb (ORCPT ); Thu, 24 Oct 2019 03:07:31 -0400 Received: from localhost (c-98-239-145-235.hsd1.wv.comcast.net [98.239.145.235]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: masneyb) by onstation.org (Postfix) with ESMTPSA id 9DC693E88C; Thu, 24 Oct 2019 07:07:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=onstation.org; s=default; t=1571900850; bh=Dd3LcWl/3IsTamvy8Zm2T8waJpgR0GN+K+t3Gns4Kzw=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=BljIAdCmSBPQJoMkCdPK9vSnCl/XK2ohuqjyatJrxZfuKtzIGnroppAOkatB8EdHp MXmTBPmWjHgzJWrUFGaQ8AOLWc4/tHMtnCiiNw4dhle3YrpjGysM1ut1pPTiNYlm9z TtvWMxSeW+a6CvejIjQNDcWqlsE8iR9ZfnkaG7kA= Date: Thu, 24 Oct 2019 03:07:30 -0400 From: Brian Masney To: Georgi Djakov Cc: agross@kernel.org, bjorn.andersson@linaro.org, robh+dt@kernel.org, mark.rutland@arm.com, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH 5/5] ARM: dts: qcom: msm8974: add interconnect nodes Message-ID: <20191024070730.GA19974@onstation.org> References: <20191013080804.10231-1-masneyb@onstation.org> <20191013080804.10231-6-masneyb@onstation.org> <20191023124753.GA14218@onstation.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Oct 23, 2019 at 04:39:21PM +0300, Georgi Djakov wrote: > On 23.10.19 г. 15:47 ч., Brian Masney wrote: > > On Wed, Oct 23, 2019 at 02:50:19PM +0300, Georgi Djakov wrote: > >> On 13.10.19 г. 11:08 ч., Brian Masney wrote: > >>> Add interconnect nodes that's needed to support bus scaling. > >>> > >>> Signed-off-by: Brian Masney > >>> --- > >>> arch/arm/boot/dts/qcom-msm8974.dtsi | 60 +++++++++++++++++++++++++++++ > >>> 1 file changed, 60 insertions(+) > >>> > >>> diff --git a/arch/arm/boot/dts/qcom-msm8974.dtsi b/arch/arm/boot/dts/qcom-msm8974.dtsi > >>> @@ -1152,6 +1207,11 @@ > >>> "core", > >>> "vsync"; > >>> > >>> + interconnects = <&mmssnoc MNOC_MAS_GRAPHICS_3D &bimc BIMC_SLV_EBI_CH0>, > >>> + <&ocmemnoc OCMEM_VNOC_MAS_GFX3D &ocmemnoc OCMEM_SLV_OCMEM>; > >> > >> Who will be the requesting bandwidth to DDR and ocmem? Is it the display or GPU > >> or both? The above seem like GPU-related interconnects, so maybe these > >> properties should be in the GPU DT node. > > > > The display is what currently requests the interconnect path, > > specifically mdp5_setup_interconnect() in > > drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c. The Freedreno GPU bindings > > currently don't have interconnect support. Maybe this is something that > > I should add to that driver as well? > > The "mdp0-mem" and "mdp1-mem" paths mentioned in the mdp5_kms.c are the two > interconnects between the display and DDR memory. OK, I see. Most of the interconnect paths in the downstream MSM 3.4 sources are configured in device tree using the qcom,msm-bus,vectors-KBps property, which is what I was only looking at before. The interconnect path for the display is configured directly in code (drivers/video/msm/mdss/mdss_mdp.c) to setup a path between MSM_BUS_MASTER_MDP_PORT0 and MSM_BUS_SLAVE_EBI_CH0. In the upstream kernel, it looks like I'll need to 1) add support for an optional second interconnect path for ocmem to drivers/gpu/drm/msm/adreno/adreno_gpu.c. 2) add implementations of gpu_get_freq and gpu_get_freq to the adreno_gpu_funcs struct in drivers/gpu/drm/msm/adreno/a3xx_gpu.c. Brian