From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.0 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C2273C04AB4 for ; Thu, 16 May 2019 06:13:05 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 92E5020862 for ; Thu, 16 May 2019 06:13:05 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="Jo21rNGd"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="g8xowfc0" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 92E5020862 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=chromium.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:To:Subject:Message-ID:Date:From: In-Reply-To:References:MIME-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=dqKzyOaDXEkPsVMDPQx9c2fWQ0SD9tUsueaDwgTvxDE=; b=Jo21rNGdKyUQWc ZJqMhINrwM+ao9DCqAdgncE3CMYWPyhfiei8/CcnamyGieYG77A/f5jHT/t9VJkUlnpzILUyBEM7I 0/5JrfRmW5R3GgLCJSS8yYtqCOJuLRwZk8IGbzy0w3tg/iX1xYq6b8hLgatS/Q0HL4KP91Zj7yRM8 qk8zI6s5As5YDcnxH20eu97JrJj/zLdlIZckWqFjtaCLjlTFJvQb0EcciuVfdURm3GT6SPuMfJtC6 Ss9mjBJF1H8xCqoCDCBwy/rFAT9mR/QWYl3M8vp3ytaIpIO9HBsaNndXnD1aBCE9pzr3xpQ+q9qtq qmJDrE66uxs3ZgQjp/BQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1hR9dQ-0000d6-N7; Thu, 16 May 2019 06:12:56 +0000 Received: from mail-lj1-x242.google.com ([2a00:1450:4864:20::242]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1hR9dH-0000RT-HW for linux-arm-kernel@lists.infradead.org; Thu, 16 May 2019 06:12:49 +0000 Received: by mail-lj1-x242.google.com with SMTP id z5so1909734lji.10 for ; Wed, 15 May 2019 23:12:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=m8h2qGhJXexlZb92JzkwEQ/P4hBp4dKDlpHUHiZAB0o=; b=g8xowfc0K6UdPYmn3ArPMZFjU7qfFh4F/4ON1m7lE6SOJovSSFXHVv1UiavBfVCG2l q7pZYKU88gyD/qOVszluU3b1hMqu8rFRTHgCTMho+jGXuZ9JcaBdoFQYvTKEVsLZZM1P cvUqkCuERqLxmtBXW/rghMJ0t316OS8OAaFL8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=m8h2qGhJXexlZb92JzkwEQ/P4hBp4dKDlpHUHiZAB0o=; b=SGBcf3GGDP2SWkk12QQf7b8+RrzSlEnDPGIBD98ZYNEF5MXLoFTXuo+KtqoH6vhpSy ESZ6XC7f4eG7JvYKo4Q96qdZQ+GhieR+/hOY3HxyFKxQk1vf99uZKg2oSyW18+ctZUFF kw22ui+yeXrM+2zc4WNejSIGTQB+DnrVxmV6Q94yGJp1GK9KqkoJ2wOEmXPIQuwvloDh Ov4kvC03ZUysIQLRwEJPbYqcAF/FDkdHfhcQVKQhxH/EBN16DrHtd0pPdeaVzqQ8iZLJ bULwK3S7amFRRl7VtM47BiQ5xufgZ8tjc/bf4BIvibGjldB3MXLAjPLxQ1KPQsU5lf+B lNMw== X-Gm-Message-State: APjAAAU/ASwQT5JmZftCr8AsilR5k6JdXx4kqZFV5Q6O2Ccw1MjMcGFq cb8u2Hr0NZPmvu4q1OPd82waqxXT1Hc0yA== X-Google-Smtp-Source: APXvYqzLiz/zdDGD1BNWgaGf+WYn7dV3JLmHE6AocJP9ozGRmE/NVIcgR3iR0eMVHuwf2sCONCFVJg== X-Received: by 2002:a2e:9692:: with SMTP id q18mr22020414lji.89.1557987165432; Wed, 15 May 2019 23:12:45 -0700 (PDT) Received: from mail-lf1-f49.google.com (mail-lf1-f49.google.com. [209.85.167.49]) by smtp.gmail.com with ESMTPSA id b7sm701951ljb.93.2019.05.15.23.12.42 for (version=TLS1_3 cipher=AEAD-AES128-GCM-SHA256 bits=128/128); Wed, 15 May 2019 23:12:43 -0700 (PDT) Received: by mail-lf1-f49.google.com with SMTP id v18so1669630lfi.1 for ; Wed, 15 May 2019 23:12:42 -0700 (PDT) X-Received: by 2002:ac2:4899:: with SMTP id x25mr18443319lfc.44.1557987161731; Wed, 15 May 2019 23:12:41 -0700 (PDT) MIME-Version: 1.0 References: <20190417104511.21514-1-frederic.chen@mediatek.com> <20190417104511.21514-2-frederic.chen@mediatek.com> <20190430011506.GA8514@bogus> <1557238925.11663.21.camel@mtksdccf07> In-Reply-To: From: Tomasz Figa Date: Thu, 16 May 2019 15:12:30 +0900 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [RFC PATCH V1 1/6] dt-bindings: mt8183: Add binding for DIP shared memory To: Rob Herring X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190515_231247_795887_7FB59AA4 X-CRM114-Status: GOOD ( 32.60 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Shik Chen , devicetree@vger.kernel.org, =?UTF-8?B?U2VhbiBDaGVuZyAo6YSt5piH5byYKQ==?= , Frederic Chen , =?UTF-8?B?UnlubiBXdSAo5ZCz6IKy5oGpKQ==?= , =?UTF-8?B?Q2hyaXN0aWUgWXUgKOa4uOmbheaDoCk=?= , srv_heupstream , =?UTF-8?B?SG9sbWVzIENoaW91ICjpgrHmjLop?= , suleiman@chromium.org, Jerry-ch Chen , yuzhao@chromium.org, =?UTF-8?B?SnVuZ28gTGluICjmnpfmmI7kv4op?= , Sj Huang , Laurent Pinchart , Hans Verkuil , zwisler@chromium.org, Matthias Brugger , "moderated list:ARM/Mediatek SoC support" , Mauro Carvalho Chehab , "moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE" , Linux Media Mailing List Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Wed, May 15, 2019 at 1:19 AM Rob Herring wrote: > > On Tue, May 7, 2019 at 9:22 AM Frederic Chen wrote: > > > > Dear Rob, > > > > I appreciate your comments. > > > > On Mon, 2019-04-29 at 20:15 -0500, Rob Herring wrote: > > > On Wed, Apr 17, 2019 at 06:45:06PM +0800, Frederic Chen wrote: > > > > This patch adds the binding for describing the shared memory > > > > used to exchange configuration and tuning data between the > > > > co-processor and Digital Image Processing (DIP) unit of the > > > > camera ISP system on Mediatek SoCs. > > > > > > > > Signed-off-by: Frederic Chen > > > > --- > > > > .../mediatek,reserve-memory-dip_smem.txt | 45 +++++++++++++++++++ > > > > 1 file changed, 45 insertions(+) > > > > create mode 100644 Documentation/devicetree/bindings/reserved-memory/mediatek,reserve-memory-dip_smem.txt > > > > > > > > diff --git a/Documentation/devicetree/bindings/reserved-memory/mediatek,reserve-memory-dip_smem.txt b/Documentation/devicetree/bindings/reserved-memory/mediatek,reserve-memory-dip_smem.txt > > > > new file mode 100644 > > > > index 000000000000..64c001b476b9 > > > > --- /dev/null > > > > +++ b/Documentation/devicetree/bindings/reserved-memory/mediatek,reserve-memory-dip_smem.txt > > > > @@ -0,0 +1,45 @@ > > > > +Mediatek DIP Shared Memory binding > > > > + > > > > +This binding describes the shared memory, which serves the purpose of > > > > +describing the shared memory region used to exchange data between Digital > > > > +Image Processing (DIP) and co-processor in Mediatek SoCs. > > > > + > > > > +The co-processor doesn't have the iommu so we need to use the physical > > > > +address to access the shared buffer in the firmware. > > > > + > > > > +The Digital Image Processing (DIP) can access memory through mt8183 IOMMU so > > > > +it can use dma address to access the memory region. > > > > +(See iommu/mediatek,iommu.txt for the detailed description of Mediatek IOMMU) > > > > + > > > > + > > > > +Required properties: > > > > + > > > > +- compatible: must be "mediatek,reserve-memory-dip_smem" > > > > > > Don't use '_'. > > > > I got it. I will use "mediatek,reserve-memory-dip-smem" instead in next > > version of the patch > > > > > > > > > + > > > > +- reg: required for static allocation (see reserved-memory.txt for > > > > + the detailed usage) > > > > + > > > > +- alloc-range: required for dynamic allocation. The range must > > > > + between 0x00000400 and 0x100000000 due to the co-processer's > > > > + addressing limitation > > > > > > Generally, you should pick either static or dynamic allocation for a > > > given binding. Static if there's some address restriction or sharing, > > > dynamic if not. > > > > > > Sounds like static in this case. > > > > > > > DIP reserved memory has address restriction so it is the static case. I > > would like to remove the dynamic allocation part and modify the > > description as following: > > > > - reg: required for DIP. The range must be between 0x00000400 and > > 0x100000000 due to the co-processor's addressing limitation. > > The size must be 26MB. Please see reserved-memory.txt for the > > detailed usage. > > You can use dma-ranges to define addressing translations and > restrictions like this. That will in turn set the device's dma-mask to > ensure allocations are done in a region that is addressable. > > But if you have a known, fixed size, then a carve out with > reserved-memory is fine. There is also another aspect here. The coprocessor that we're allocating the memory for is behind an MPU that must be programmed completely in one go and locked for security reasons to ensure that the coprocessor itself doesn't rewrite the MPU settings. That means that we need to have all the allocations completed before booting that coprocessor. To be honest, I'd adopt a completely different design here. We're going to have a driver for that coprocessor (SCP) and IMHO any shared memory areas should belong to it. Then, any specific drivers talking to the firmware running on SCP should ask the SCP driver to allocate some memory from its fixed pool. WDYT? Best regards, Tomasz _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel