[{"id":1771060,"web_url":"http://patchwork.ozlabs.org/comment/1771060/","msgid":"<20170919141034.ahhmuxfk6ldpegfp@rob-hp-laptop>","list_archive_url":null,"date":"2017-09-19T14:10:34","subject":"Re: [RFC PATCH 1/1] iommu/arm-smmu: Add support for multiple TBU\n\tchild devices","submitter":{"id":62529,"url":"http://patchwork.ozlabs.org/api/people/62529/","name":"Rob Herring (Arm)","email":"robh@kernel.org"},"content":"On Tue, Sep 12, 2017 at 05:31:07PM +0530, Vivek Gautam wrote:\n> ARM MMU-500 implements a TBU (uTLB) for each connected master\n> besides a single TCU which controls and manages the address\n> translations. Each of these TBUs can either be in the same\n> power domain as the master, or they can have a independent\n> power switch.\n> This design addresses the challenges to control TBU power.\n> Adding child devices for each TBUs present in the configuration\n> lets us control the power and clocks to TLBs having individual\n> power domains. The device link between master devices (such as,\n> display, and GPU) and TBU devices ensures that the master takes\n> care of powering the smmu as long as it's available.\n> When the master is not available, the TBUs are identified with\n> sid and powered on.\n> \n> Signed-off-by: Vivek Gautam <vivek.gautam@codeaurora.org>\n> ---\n> \n>  - The idea behind this patch is to handle the distributed smmu\n>    architectures, similar to MMU-500.\n>  - Untested yet.\n>  - There are still few instances where the correct tbu device has\n>    to be referenced and thus powered on to handle TLB maintenance\n>    operations.\n> \n>  .../devicetree/bindings/iommu/arm,smmu.txt         |  27 +++\n>  drivers/iommu/arm-smmu.c                           | 191 +++++++++++++++++++--\n>  2 files changed, 205 insertions(+), 13 deletions(-)\n> \n> diff --git a/Documentation/devicetree/bindings/iommu/arm,smmu.txt b/Documentation/devicetree/bindings/iommu/arm,smmu.txt\n> index d97a6bc8e608..7cf67e75022e 100644\n> --- a/Documentation/devicetree/bindings/iommu/arm,smmu.txt\n> +++ b/Documentation/devicetree/bindings/iommu/arm,smmu.txt\n> @@ -98,6 +98,18 @@ conditions.\n>                    accessed before master gets enabled and linked to its\n>                    SMMU.\n>  \n> +- child nodes:    ARM MMU-500 implements a TBU (page table cache or TLB) for\n> +                  each connected master besides a single TCU that controls\n> +                  and manages the address translations.\n> +                  Each of the child nodes represents a TBU that is attached to\n> +                  the master. This child node will have following property:\n> +\n> +  - compatibe:       must be \"arm,mmu-500-tbu\" for TBU child nodes of arm,mmu-500\n> +                     smmu.\n> +  - stream-id-range: array representing the starting stream id and the number\n> +                     of supported stream-ids. This gives information about\n> +                     the range of stream-ids that are supported by this TBU.\n\nNeeds a vendor prefix.\n\nAlso need to document reg property. What does reg represent? If just an \nindex with no correlation to h/w numbering, then perhaps stream ids \ncould be put into reg instead.\n\nRob\n--\nTo unsubscribe from this list: send the line \"unsubscribe devicetree\" in\nthe body of a message to majordomo@vger.kernel.org\nMore majordomo info at  http://vger.kernel.org/majordomo-info.html","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xxPsq4Kk0z9s7c\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tWed, 20 Sep 2017 00:10:39 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751361AbdISOKi (ORCPT\n\t<rfc822;incoming-dt@patchwork.ozlabs.org>);\n\tTue, 19 Sep 2017 10:10:38 -0400","from mail-io0-f193.google.com ([209.85.223.193]:33434 \"EHLO\n\tmail-io0-f193.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1750974AbdISOKg (ORCPT\n\t<rfc822; devicetree@vger.kernel.org>); Tue, 19 Sep 2017 10:10:36 -0400","by mail-io0-f193.google.com with SMTP id j26so4995795iod.0;\n\tTue, 19 Sep 2017 07:10:36 -0700 (PDT)","from localhost (rrcs-67-78-118-34.sw.biz.rr.com. [67.78.118.34])\n\tby smtp.gmail.com with ESMTPSA id\n\tu97sm338118ota.50.2017.09.19.07.10.35\n\t(version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256);\n\tTue, 19 Sep 2017 07:10:35 -0700 (PDT)"],"X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:date:from:to:cc:subject:message-id:references\n\t:mime-version:content-disposition:in-reply-to:user-agent;\n\tbh=l78OxE6AMb9jcDOB0mQbRAC1CMb2B3hDQPoKaT3R5V0=;\n\tb=ppfOcQHEQOJVzZ+1n9ato85EdCfFVz18tKp27+QOJADLa4FIJeVpNoGvsCq+xmY+tu\n\t3B3mk7TEaf/ylAezGnQSEtcQrmXVtFGoHCPNgYYH3S69RWC33e0D98CgvTixbSPNIWQu\n\tE7IS9ibdxcBRS47UMJk1O/8qT3BxcN79kH/tQqRgOa6ZW86nekid5xy3eoN+5asWFqLL\n\tk0iWISFv8NG+TkqMGShVsmgOTNeUmsd54zSpRESDZidAvJMLHu5aZ18q6RNcfwvMFyIC\n\t/ClIa7s0wNOImuiqrWPIXADW8Udb+78bjZe/yfyaPvHx9x5JhL430KSyzi+TP718Sawy\n\tiPsA==","X-Gm-Message-State":"AHPjjUhMf42/5Y4/gBmPiAiLEiEhX4tJgu/EL0uzcphZube+OwgrOzlh\n\tIZv+BS7lFPhe5AJlvGTYHQ==","X-Google-Smtp-Source":"AOwi7QA0p+WQqIaR/ymoV5o/Ps17MNUcxVuicGgXlYjNc8aPPhSr+lglyp1RheQViYoeQpuAiiMsXg==","X-Received":"by 10.202.6.2 with SMTP id 2mr1620199oig.60.1505830236159;\n\tTue, 19 Sep 2017 07:10:36 -0700 (PDT)","Date":"Tue, 19 Sep 2017 09:10:34 -0500","From":"Rob Herring <robh@kernel.org>","To":"Vivek Gautam <vivek.gautam@codeaurora.org>","Cc":"robin.murphy@arm.com, will.deacon@arm.com,\n\tiommu@lists.linux-foundation.org, devicetree@vger.kernel.org,\n\tjoro@8bytes.org, linux-kernel@vger.kernel.org,\n\tlinux-arm-kernel@lists.infradead.org, mark.rutland@arm.com,\n\tlinux-arm-msm@vger.kernel.org","Subject":"Re: [RFC PATCH 1/1] iommu/arm-smmu: Add support for multiple TBU\n\tchild devices","Message-ID":"<20170919141034.ahhmuxfk6ldpegfp@rob-hp-laptop>","References":"<1505217667-31184-1-git-send-email-vivek.gautam@codeaurora.org>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<1505217667-31184-1-git-send-email-vivek.gautam@codeaurora.org>","User-Agent":"NeoMutt/20170113 (1.7.2)","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}},{"id":1776063,"web_url":"http://patchwork.ozlabs.org/comment/1776063/","msgid":"<b148de29-be38-41f1-7eb5-1ea81c15243e@codeaurora.org>","list_archive_url":null,"date":"2017-09-27T06:42:27","subject":"Re: [RFC PATCH 1/1] iommu/arm-smmu: Add support for multiple TBU\n\tchild devices","submitter":{"id":69805,"url":"http://patchwork.ozlabs.org/api/people/69805/","name":"Vivek Gautam","email":"vivek.gautam@codeaurora.org"},"content":"Hi Rob,\n\n\nOn 09/19/2017 07:40 PM, Rob Herring wrote:\n\nThanks for reviewing the patch.\n\n> On Tue, Sep 12, 2017 at 05:31:07PM +0530, Vivek Gautam wrote:\n>> ARM MMU-500 implements a TBU (uTLB) for each connected master\n>> besides a single TCU which controls and manages the address\n>> translations. Each of these TBUs can either be in the same\n>> power domain as the master, or they can have a independent\n>> power switch.\n>> This design addresses the challenges to control TBU power.\n>> Adding child devices for each TBUs present in the configuration\n>> lets us control the power and clocks to TLBs having individual\n>> power domains. The device link between master devices (such as,\n>> display, and GPU) and TBU devices ensures that the master takes\n>> care of powering the smmu as long as it's available.\n>> When the master is not available, the TBUs are identified with\n>> sid and powered on.\n>>\n>> Signed-off-by: Vivek Gautam <vivek.gautam@codeaurora.org>\n>> ---\n>>\n>>   - The idea behind this patch is to handle the distributed smmu\n>>     architectures, similar to MMU-500.\n>>   - Untested yet.\n>>   - There are still few instances where the correct tbu device has\n>>     to be referenced and thus powered on to handle TLB maintenance\n>>     operations.\n>>\n>>   .../devicetree/bindings/iommu/arm,smmu.txt         |  27 +++\n>>   drivers/iommu/arm-smmu.c                           | 191 +++++++++++++++++++--\n>>   2 files changed, 205 insertions(+), 13 deletions(-)\n>>\n>> diff --git a/Documentation/devicetree/bindings/iommu/arm,smmu.txt b/Documentation/devicetree/bindings/iommu/arm,smmu.txt\n>> index d97a6bc8e608..7cf67e75022e 100644\n>> --- a/Documentation/devicetree/bindings/iommu/arm,smmu.txt\n>> +++ b/Documentation/devicetree/bindings/iommu/arm,smmu.txt\n>> @@ -98,6 +98,18 @@ conditions.\n>>                     accessed before master gets enabled and linked to its\n>>                     SMMU.\n>>   \n>> +- child nodes:    ARM MMU-500 implements a TBU (page table cache or TLB) for\n>> +                  each connected master besides a single TCU that controls\n>> +                  and manages the address translations.\n>> +                  Each of the child nodes represents a TBU that is attached to\n>> +                  the master. This child node will have following property:\n>> +\n>> +  - compatibe:       must be \"arm,mmu-500-tbu\" for TBU child nodes of arm,mmu-500\n>> +                     smmu.\n>> +  - stream-id-range: array representing the starting stream id and the number\n>> +                     of supported stream-ids. This gives information about\n>> +                     the range of stream-ids that are supported by this TBU.\n> Needs a vendor prefix.\n\nSure will add the vendor prefix.\nThis can be a generic arm-mmu500 implementation where,\na range of stream-ids are serviced by a TBU.\nWould \"arm,stream-id-range\" make sense?\n\n>\n> Also need to document reg property. What does reg represent? If just an\n> index with no correlation to h/w numbering, then perhaps stream ids\n> could be put into reg instead.\n\nOkay. Stream-ids make sense, since the reg doesn't necessarily represent\nany hardware number such as channel number, etc.\n\nBest regards\nVivek\n\n>\n> Rob\n> --\n> To unsubscribe from this list: send the line \"unsubscribe linux-arm-msm\" in\n> the body of a message to majordomo@vger.kernel.org\n> More majordomo info at  http://vger.kernel.org/majordomo-info.html","headers":{"Return-Path":"<devicetree-owner@vger.kernel.org>","X-Original-To":"incoming-dt@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-dt@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=devicetree-owner@vger.kernel.org; receiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=codeaurora.org header.i=@codeaurora.org\n\theader.b=\"YQ5kkBxe\"; \n\tdkim=fail reason=\"signature verification failed\" (1024-bit key)\n\theader.d=codeaurora.org header.i=@codeaurora.org header.b=\"YQ5kkBxe\"; \n\tdkim-atps=neutral","pdx-caf-mail.web.codeaurora.org;\n\tdmarc=none (p=none dis=none) header.from=codeaurora.org","pdx-caf-mail.web.codeaurora.org;\n\tspf=none smtp.mailfrom=vivek.gautam@codeaurora.org"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3y27Y83tvlz9t1G\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n\tWed, 27 Sep 2017 16:42:36 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751245AbdI0Gme (ORCPT\n\t<rfc822;incoming-dt@patchwork.ozlabs.org>);\n\tWed, 27 Sep 2017 02:42:34 -0400","from smtp.codeaurora.org ([198.145.29.96]:34888 \"EHLO\n\tsmtp.codeaurora.org\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1750905AbdI0Gmd (ORCPT\n\t<rfc822; devicetree@vger.kernel.org>); Wed, 27 Sep 2017 02:42:33 -0400","by smtp.codeaurora.org (Postfix, from userid 1000)\n\tid F0D6260719; Wed, 27 Sep 2017 06:42:32 +0000 (UTC)","from [10.79.40.103]\n\t(blr-bdr-fw-01_globalnat_allzones-outside.qualcomm.com\n\t[103.229.18.19])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128\n\tbits)) (No client certificate requested)\n\t(Authenticated sender: vivek.gautam@smtp.codeaurora.org)\n\tby smtp.codeaurora.org (Postfix) with ESMTPSA id 97FD36044E;\n\tWed, 27 Sep 2017 06:42:29 +0000 (UTC)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org;\n\ts=default; t=1506494552;\n\tbh=iRpM6+rSzAOF8nMLbJlc4qaCQzq5IUReY1a5qIhA3Ag=;\n\th=Subject:To:References:Cc:From:Date:In-Reply-To:From;\n\tb=YQ5kkBxeu5v4o7qN980gaZ6D09ndSPoK7xK5sg/KZbGsi07aKgrVvzOCK5Y6zSsxP\n\tlZLXQ1mmTyZz7hjrYZrfczFC/mV4c9muJEI7ARzlrHvEBenuOzkc6da+QFGETNdCB8\n\tv8RPFmW5DHN7rae3DpaZTvt0e2ns4yr44bjRyDEE=","v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org;\n\ts=default; t=1506494552;\n\tbh=iRpM6+rSzAOF8nMLbJlc4qaCQzq5IUReY1a5qIhA3Ag=;\n\th=Subject:To:References:Cc:From:Date:In-Reply-To:From;\n\tb=YQ5kkBxeu5v4o7qN980gaZ6D09ndSPoK7xK5sg/KZbGsi07aKgrVvzOCK5Y6zSsxP\n\tlZLXQ1mmTyZz7hjrYZrfczFC/mV4c9muJEI7ARzlrHvEBenuOzkc6da+QFGETNdCB8\n\tv8RPFmW5DHN7rae3DpaZTvt0e2ns4yr44bjRyDEE="],"X-Spam-Checker-Version":"SpamAssassin 3.4.0 (2014-02-07) on\n\tpdx-caf-mail.web.codeaurora.org","X-Spam-Level":"","X-Spam-Status":"No, score=-2.8 required=2.0 tests=ALL_TRUSTED,BAYES_00,\n\tDKIM_SIGNED,\n\tT_DKIM_INVALID autolearn=no autolearn_force=no version=3.4.0","DMARC-Filter":"OpenDMARC Filter v1.3.2 smtp.codeaurora.org 97FD36044E","Subject":"Re: [RFC PATCH 1/1] iommu/arm-smmu: Add support for multiple TBU\n\tchild devices","To":"Rob Herring <robh@kernel.org>","References":"<1505217667-31184-1-git-send-email-vivek.gautam@codeaurora.org>\n\t<20170919141034.ahhmuxfk6ldpegfp@rob-hp-laptop>","Cc":"robin.murphy@arm.com, will.deacon@arm.com,\n\tiommu@lists.linux-foundation.org, devicetree@vger.kernel.org,\n\tjoro@8bytes.org, linux-kernel@vger.kernel.org,\n\tlinux-arm-kernel@lists.infradead.org, mark.rutland@arm.com,\n\tlinux-arm-msm@vger.kernel.org","From":"Vivek Gautam <vivek.gautam@codeaurora.org>","Message-ID":"<b148de29-be38-41f1-7eb5-1ea81c15243e@codeaurora.org>","Date":"Wed, 27 Sep 2017 12:12:27 +0530","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101\n\tThunderbird/45.2.0","MIME-Version":"1.0","In-Reply-To":"<20170919141034.ahhmuxfk6ldpegfp@rob-hp-laptop>","Content-Type":"text/plain; charset=windows-1252; format=flowed","Content-Transfer-Encoding":"7bit","Sender":"devicetree-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<devicetree.vger.kernel.org>","X-Mailing-List":"devicetree@vger.kernel.org"}}]