Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753134AbbG1Sa2 (ORCPT ); Tue, 28 Jul 2015 14:30:28 -0400 Received: from mail-yk0-f174.google.com ([209.85.160.174]:36403 "EHLO mail-yk0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751386AbbG1Sa0 convert rfc822-to-8bit (ORCPT ); Tue, 28 Jul 2015 14:30:26 -0400 MIME-Version: 1.0 In-Reply-To: <55B7BC79.1060504@suse.de> References: <1438087956-17307-1-git-send-email-srinivas.kandagatla@linaro.org> <1438088049-17479-1-git-send-email-srinivas.kandagatla@linaro.org> <55B7BC79.1060504@suse.de> Date: Tue, 28 Jul 2015 14:30:25 -0400 Message-ID: Subject: Re: [PATCH v1 4/7] ARM: dts: apq8064: Add MDP support From: Rob Clark To: =?UTF-8?Q?Andreas_F=C3=A4rber?= Cc: Srinivas Kandagatla , linux-arm-msm , Andy Gross , Mark Rutland , "devicetree@vger.kernel.org" , Russell King , Pawel Moll , Ian Campbell , Linux Kernel Mailing List , Rob Herring , Kumar Gala , "linux-arm-kernel@lists.infradead.org" Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4813 Lines: 115 On Tue, Jul 28, 2015 at 1:31 PM, Andreas Färber wrote: > Hi, > > Am 28.07.2015 um 14:54 schrieb Srinivas Kandagatla: >> From: Rob Clark >> >> This patch adds MDP node to APQ8064 dt. >> >> Signed-off-by: Rob Clark >> [Srinivas Kandagatla] : updated with new style rpm regulators >> Signed-off-by: Srinivas Kandagatla >> --- >> arch/arm/boot/dts/qcom-apq8064.dtsi | 87 +++++++++++++++++++++++++++++++++++++ >> 1 file changed, 87 insertions(+) >> >> diff --git a/arch/arm/boot/dts/qcom-apq8064.dtsi b/arch/arm/boot/dts/qcom-apq8064.dtsi >> index cba4ccb..7d2cc45 100644 >> --- a/arch/arm/boot/dts/qcom-apq8064.dtsi >> +++ b/arch/arm/boot/dts/qcom-apq8064.dtsi > [...] >> + gpu: qcom,adreno-3xx@4300000 { >> + compatible = "qcom,adreno-3xx"; > > I thought that wildcards were forbidden in compatible strings? Then this > should be replaced by the real number, with a fallback to the first > compatible one. That would at least result in a big number of different compatibles, esp. when you consider patchlevels of the different gpu's, which in some cases needs to be known (esp. to userspace).. ie. a320.0 is not the same thing as a320.2. And the "real numbers" themselves are confusing as a result of meddling by marketeers.. (ie. a305 vs a305b vs a306.. which actually map to 305.x, 306.x and 307.x). The current scheme is easy to figure out how to setup the dt nodes, ie. easy to know a3xx vs a4xx, and then copy the chipid property from downstream dt, and everything works. The current scheme groups by major gpu revision (ie. things where basically all the registers change, ie. a3xx/a4xx/a5xx) with using chipid and a few if statements here and there (kernel and userspace) to deal with the intra-generation differences. (The chipid is something which in theory should be read out of a version register, but seems that cannot be trusted.) Not to mention that a3xx/a4xx/etc is how userspace code in mesa is partitioned. BR, -R > And can't we just name the node qcom,adreno without version suffix? > > Regards, > Andreas > >> + reg = <0x04300000 0x20000>; >> + reg-names = "kgsl_3d0_reg_memory"; >> + interrupts = ; >> + interrupt-names = "kgsl_3d0_irq"; >> + clock-names = >> + "core_clk", >> + "iface_clk", >> + "mem_clk", >> + "mem_iface_clk"; >> + clocks = >> + <&mmcc GFX3D_CLK>, >> + <&mmcc GFX3D_AHB_CLK>, >> + <&mmcc GFX3D_AXI_CLK>, >> + <&mmcc MMSS_IMEM_AHB_CLK>; >> + qcom,chipid = <0x03020002>; >> + qcom,gpu-pwrlevels { >> + compatible = "qcom,gpu-pwrlevels"; >> + qcom,gpu-pwrlevel@0 { >> + qcom,gpu-freq = <450000000>; >> + }; >> + qcom,gpu-pwrlevel@1 { >> + qcom,gpu-freq = <27000000>; >> + }; >> + }; >> + }; >> + >> + mdp: qcom,mdp@5100000 { >> + compatible = "qcom,mdp"; >> + reg = <0x05100000 0xf0000>; >> + interrupts = ; >> + connectors = <&hdmi>; >> + gpus = <&gpu>; >> + clock-names = >> + "core_clk", >> + "iface_clk", >> + "lut_clk", >> + "src_clk", >> + "hdmi_clk", >> + "mdp_clk", >> + "mdp_axi_clk"; >> + clocks = >> + <&mmcc MDP_CLK>, >> + <&mmcc MDP_AHB_CLK>, >> + <&mmcc MDP_LUT_CLK>, >> + <&mmcc TV_SRC>, >> + <&mmcc HDMI_TV_CLK>, >> + <&mmcc MDP_TV_CLK>, >> + <&mmcc MDP_AXI_CLK>; >> + }; >> }; >> }; > > -- > SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany > GF: Felix Imendörffer, Jane Smithard, Dilip Upmanyu, Graham Norton; HRB > 21284 (AG Nürnberg) -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/