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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 9C353CDB465 for ; Mon, 16 Oct 2023 17:32:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=kuIW0tn7KhfptePx79JBEnrgyIN6LvRCtsS7N5FUgEE=; b=Dsx7qZ0SlyJZIk JMUG8GkgNZapsY5TWo96ZuUIOlM6C7c1bXG4Xk+yOj2Girevf11bsR9/anGvQ+2HSqGpyNYjrGcFm 7hS/j1CQfXCkuMJ9bWyyXEHFbqRtZ4HwKUPVtOXwr5mqtw8qlJJI9DNSGQYxRy84w2hl37t5FdipE mUVLNP3iYu7opCAQ4WucX3m19Lk3Xsvf+6bL0nypMOX9jQrRR9oaNbgyBUiEk+TyU1f3D8FZSckyp eYBqVmkBJv8nmFD2VxL/ekXAUtsJe/srd5hzFEJsqsTlG0E7GDm7AGNVPCIx566IC/SvY0ACYTQiM aMV1QjSrVdbAt5L9Ogmg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qsRRz-00AEjw-1V; Mon, 16 Oct 2023 17:32:19 +0000 Received: from mail-pf1-x433.google.com ([2607:f8b0:4864:20::433]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qsRRu-00AEiV-2j for linux-arm-kernel@lists.infradead.org; Mon, 16 Oct 2023 17:32:17 +0000 Received: by mail-pf1-x433.google.com with SMTP id d2e1a72fcca58-6ba54c3ed97so2033396b3a.2 for ; Mon, 16 Oct 2023 10:32:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1697477523; x=1698082323; darn=lists.infradead.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=Vk1d7b5CEyLP0IPU6mHLkR7If10Kf7hMWt9uBIdr69E=; b=OgtcDqJ6tTvUrCtPh07F/2bgDuLbX0G8VBHLDJhVtBPpqgFbfZ1fUa16fMZNysXWlb 8fuXa8Waky/1ziTI6swQtjYkGeLZWK52iqZUN3HTQFh8hF+9bNmFL75GdFhuVOnV6EvH wto/V3Wt2qQ/NfWSKu8a9DJV3q5wuAJNFHEW4B+3QqXHh2QmsS2fGEm1Mpmhq9CRW2ca IMpWbKpZrS9dZeqM786i9dsURUIYodrGbDSkR0PelLcvioruF//NBM54BGfmSUwT4070 ie+tC0R+WoQS9Baxm3cXWsgNMMd/qjn2+FVb2vKWjh7ti/HjGozrW1p5eaDD+dwBIE9B 46SA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697477523; x=1698082323; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Vk1d7b5CEyLP0IPU6mHLkR7If10Kf7hMWt9uBIdr69E=; b=cMubSgo2GNAVFSkL2yVIYcrAfiekjj+4l3VpDlREb1wDqChCWQdTHLEnKx++ge6grT TV9ds2+dcl/BBH0H/0TSj2abX0Vlc2uEh5PmhEFf/RyZSyO52ytu06847mczLeiFX6Rw EpYar9VIS5IlOxywhQKpkhMPA/NKI5JFC82gu36fnZ73teMuseIvK/bxK20LT7mgaO2H H7vsaLFR9xkFH9LoX9f37cOtIvQUCKp8n9TKSOEy+SfroWepnMyllFwZXHykFTnvhhjL +KibVJRp3JFhQoe0JBq7OlhXj8rA6YB2zF0iTmpTxrLzL4NaK38WawZVV92CmGlzq0P3 h1Zg== X-Gm-Message-State: AOJu0YzlPOn/1EtX9+PkRQRkodOhLsF3uBSARG9FOkENBK9SHvNMAdw0 e8/ZiESWXltytDFXHRGCLmzTaA== X-Google-Smtp-Source: AGHT+IG3Zc8YucFlDIjDPOK8ia6NP6GE2jbgrQaL2IURvBqGUulyKHlppicyrh2EgU1NTXj4BL8uUw== X-Received: by 2002:a05:6a20:3d85:b0:133:f0b9:856d with SMTP id s5-20020a056a203d8500b00133f0b9856dmr43166722pzi.17.1697477522909; Mon, 16 Oct 2023 10:32:02 -0700 (PDT) Received: from p14s ([2604:3d09:148c:c800:9add:9fdd:7517:f866]) by smtp.gmail.com with ESMTPSA id b21-20020a170902d31500b001c72f4334afsm8772925plc.20.2023.10.16.10.32.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Oct 2023 10:32:02 -0700 (PDT) Date: Mon, 16 Oct 2023 11:31:59 -0600 From: Mathieu Poirier To: Rob Herring Cc: Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Liam Girdwood , Mark Brown , Matthias Brugger , AngeloGioacchino Del Regno , Geert Uytterhoeven , Magnus Damm , Julien Massot , Trevor Wu , Simon Glass , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-remoteproc@vger.kernel.org, alsa-devel@alsa-project.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-renesas-soc@vger.kernel.org Subject: Re: [PATCH] dt-bindings: Drop kernel copy of common reserved-memory bindings Message-ID: References: <20231013200851.347042-1-robh@kernel.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20231013200851.347042-1-robh@kernel.org> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231016_103214_891890_BD48C3B9 X-CRM114-Status: GOOD ( 45.68 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Fri, Oct 13, 2023 at 03:08:49PM -0500, Rob Herring wrote: > The common reserved-memory bindings have recently been copied from the > kernel tree into dtschema. The preference is to host common, stable > bindings in dtschema. As reserved-memory is documented in the DT Spec, > it meets the criteria. > > The v2023.09 version of dtschema is what contains the reserved-memory > schemas we depend on, so bump the minimum version to that. Otherwise, > references to these schemas will generate errors. > > Signed-off-by: Rob Herring > --- > Documentation/devicetree/bindings/Makefile | 2 +- > .../remoteproc/renesas,rcar-rproc.yaml | 2 +- > .../bindings/reserved-memory/framebuffer.yaml | 52 ----- > .../reserved-memory/memory-region.yaml | 40 ---- > .../reserved-memory/reserved-memory.txt | 2 +- > .../reserved-memory/reserved-memory.yaml | 181 ------------------ > .../reserved-memory/shared-dma-pool.yaml | 97 ---------- > .../bindings/sound/mediatek,mt8188-afe.yaml | 2 +- > 8 files changed, 4 insertions(+), 374 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/reserved-memory/framebuffer.yaml > delete mode 100644 Documentation/devicetree/bindings/reserved-memory/memory-region.yaml > delete mode 100644 Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml > delete mode 100644 Documentation/devicetree/bindings/reserved-memory/shared-dma-pool.yaml > > diff --git a/Documentation/devicetree/bindings/Makefile b/Documentation/devicetree/bindings/Makefile > index 8b395893bd85..3e886194b043 100644 > --- a/Documentation/devicetree/bindings/Makefile > +++ b/Documentation/devicetree/bindings/Makefile > @@ -6,7 +6,7 @@ DT_MK_SCHEMA ?= dt-mk-schema > DT_SCHEMA_LINT = $(shell which yamllint || \ > echo "warning: python package 'yamllint' not installed, skipping" >&2) > > -DT_SCHEMA_MIN_VERSION = 2022.3 > +DT_SCHEMA_MIN_VERSION = 2023.9 > > PHONY += check_dtschema_version > check_dtschema_version: > diff --git a/Documentation/devicetree/bindings/remoteproc/renesas,rcar-rproc.yaml b/Documentation/devicetree/bindings/remoteproc/renesas,rcar-rproc.yaml > index 4bea679a0f61..5c280117dc93 100644 > --- a/Documentation/devicetree/bindings/remoteproc/renesas,rcar-rproc.yaml > +++ b/Documentation/devicetree/bindings/remoteproc/renesas,rcar-rproc.yaml > @@ -31,7 +31,7 @@ properties: > remoteproc device. This is variable and describes the memories shared with > the remote processor (e.g. remoteproc firmware and carveouts, rpmsg > vrings, ...). > - (see ../reserved-memory/reserved-memory.yaml) > + (see reserved-memory/reserved-memory.yaml in dtschema project) Reviewed-by: Mathieu Poirier > > required: > - compatible > diff --git a/Documentation/devicetree/bindings/reserved-memory/framebuffer.yaml b/Documentation/devicetree/bindings/reserved-memory/framebuffer.yaml > deleted file mode 100644 > index 851ec24d6142..000000000000 > --- a/Documentation/devicetree/bindings/reserved-memory/framebuffer.yaml > +++ /dev/null > @@ -1,52 +0,0 @@ > -# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > -%YAML 1.2 > ---- > -$id: http://devicetree.org/schemas/reserved-memory/framebuffer.yaml# > -$schema: http://devicetree.org/meta-schemas/core.yaml# > - > -title: /reserved-memory framebuffer node > - > -maintainers: > - - devicetree-spec@vger.kernel.org > - > -allOf: > - - $ref: reserved-memory.yaml > - > -properties: > - compatible: > - const: framebuffer > - description: > > - This indicates a region of memory meant to be used as a framebuffer for > - a set of display devices. It can be used by an operating system to keep > - the framebuffer from being overwritten and use it as the backing memory > - for a display device (such as simple-framebuffer). > - > -unevaluatedProperties: false > - > -examples: > - - | > - / { > - compatible = "foo"; > - model = "foo"; > - #address-cells = <1>; > - #size-cells = <1>; > - > - chosen { > - framebuffer { > - compatible = "simple-framebuffer"; > - memory-region = <&fb>; > - }; > - }; > - > - reserved-memory { > - #address-cells = <1>; > - #size-cells = <1>; > - ranges; > - > - fb: framebuffer@80000000 { > - compatible = "framebuffer"; > - reg = <0x80000000 0x007e9000>; > - }; > - }; > - }; > -... > diff --git a/Documentation/devicetree/bindings/reserved-memory/memory-region.yaml b/Documentation/devicetree/bindings/reserved-memory/memory-region.yaml > deleted file mode 100644 > index 592f180e6b0d..000000000000 > --- a/Documentation/devicetree/bindings/reserved-memory/memory-region.yaml > +++ /dev/null > @@ -1,40 +0,0 @@ > -# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > -%YAML 1.2 > ---- > -$id: http://devicetree.org/schemas/reserved-memory/memory-region.yaml# > -$schema: http://devicetree.org/meta-schemas/core.yaml# > - > -title: Reserved Memory Region > - > -maintainers: > - - devicetree-spec@vger.kernel.org > - > -description: | > - Regions in the /reserved-memory node may be referenced by other device > - nodes by adding a memory-region property to the device node. > - > -select: true > - > -properties: > - memory-region: > - $ref: /schemas/types.yaml#/definitions/phandle-array > - description: > > - Phandle to a /reserved-memory child node assigned to the device. > - > - memory-region-names: > - $ref: /schemas/types.yaml#/definitions/string-array > - description: > > - A list of names, one for each corresponding entry in the > - memory-region property > - > -additionalProperties: true > - > -examples: > - - | > - fb0: video@12300000 { > - /* ... */ > - reg = <0x12300000 0x1000>; > - memory-region = <&display_reserved>; > - }; > - > -... > diff --git a/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt b/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt > index 1810701a8509..8ce72996d500 100644 > --- a/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt > +++ b/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt > @@ -1 +1 @@ > -This file has been moved to reserved-memory.yaml. > +This file has been moved to reserved-memory.yaml in the dtschema repository. > diff --git a/Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml b/Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml > deleted file mode 100644 > index c680e397cfd2..000000000000 > --- a/Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml > +++ /dev/null > @@ -1,181 +0,0 @@ > -# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > -%YAML 1.2 > ---- > -$id: http://devicetree.org/schemas/reserved-memory/reserved-memory.yaml# > -$schema: http://devicetree.org/meta-schemas/core.yaml# > - > -title: /reserved-memory Child Node Common > - > -maintainers: > - - devicetree-spec@vger.kernel.org > - > -description: > > - Reserved memory is specified as a node under the /reserved-memory node. The > - operating system shall exclude reserved memory from normal usage one can > - create child nodes describing particular reserved (excluded from normal use) > - memory regions. Such memory regions are usually designed for the special > - usage by various device drivers. > - > - Each child of the reserved-memory node specifies one or more regions > - of reserved memory. Each child node may either use a 'reg' property to > - specify a specific range of reserved memory, or a 'size' property with > - optional constraints to request a dynamically allocated block of > - memory. > - > - Following the generic-names recommended practice, node names should > - reflect the purpose of the node (ie. "framebuffer" or "dma-pool"). > - Unit address (@
) should be appended to the name if the node > - is a static allocation. > - > -properties: > - reg: true > - > - size: > - oneOf: > - - $ref: /schemas/types.yaml#/definitions/uint32 > - - $ref: /schemas/types.yaml#/definitions/uint64 > - description: > > - Length based on parent's \#size-cells. Size in bytes of memory to > - reserve. > - > - alignment: > - oneOf: > - - $ref: /schemas/types.yaml#/definitions/uint32 > - - $ref: /schemas/types.yaml#/definitions/uint64 > - description: > > - Length based on parent's \#size-cells. Address boundary for > - alignment of allocation. > - > - alloc-ranges: > - $ref: /schemas/types.yaml#/definitions/uint32-array > - description: > > - Address and Length pairs. Specifies regions of memory that are > - acceptable to allocate from. > - > - iommu-addresses: > - $ref: /schemas/types.yaml#/definitions/phandle-array > - description: > > - A list of phandle and specifier pairs that describe static IO virtual > - address space mappings and carveouts associated with a given reserved > - memory region. The phandle in the first cell refers to the device for > - which the mapping or carveout is to be created. > - > - The specifier consists of an address/size pair and denotes the IO > - virtual address range of the region for the given device. The exact > - format depends on the values of the "#address-cells" and "#size-cells" > - properties of the device referenced via the phandle. > - > - When used in combination with a "reg" property, an IOVA mapping is to > - be established for this memory region. One example where this can be > - useful is to create an identity mapping for physical memory that the > - firmware has configured some hardware to access (such as a bootsplash > - framebuffer). > - > - If no "reg" property is specified, the "iommu-addresses" property > - defines carveout regions in the IOVA space for the given device. This > - can be useful if a certain memory region should not be mapped through > - the IOMMU. > - > - no-map: > - type: boolean > - description: > > - Indicates the operating system must not create a virtual mapping > - of the region as part of its standard mapping of system memory, > - nor permit speculative access to it under any circumstances other > - than under the control of the device driver using the region. > - > - reusable: > - type: boolean > - description: > > - The operating system can use the memory in this region with the > - limitation that the device driver(s) owning the region need to be > - able to reclaim it back. Typically that means that the operating > - system can use that region to store volatile or cached data that > - can be otherwise regenerated or migrated elsewhere. > - > -allOf: > - - if: > - required: > - - no-map > - > - then: > - not: > - required: > - - reusable > - > - - if: > - required: > - - reusable > - > - then: > - not: > - required: > - - no-map > - > -oneOf: > - - oneOf: > - - required: > - - reg > - > - - required: > - - size > - > - - oneOf: > - # IOMMU reservations > - - required: > - - iommu-addresses > - > - # IOMMU mappings > - - required: > - - reg > - - iommu-addresses > - > -additionalProperties: true > - > -examples: > - - | > - / { > - compatible = "foo"; > - model = "foo"; > - > - #address-cells = <2>; > - #size-cells = <2>; > - > - reserved-memory { > - #address-cells = <2>; > - #size-cells = <2>; > - ranges; > - > - adsp_resv: reservation-adsp { > - /* > - * Restrict IOVA mappings for ADSP buffers to the 512 MiB region > - * from 0x40000000 - 0x5fffffff. Anything outside is reserved by > - * the ADSP for I/O memory and private memory allocations. > - */ > - iommu-addresses = <&adsp 0x0 0x00000000 0x00 0x40000000>, > - <&adsp 0x0 0x60000000 0xff 0xa0000000>; > - }; > - > - fb: framebuffer@90000000 { > - reg = <0x0 0x90000000 0x0 0x00800000>; > - iommu-addresses = <&dc0 0x0 0x90000000 0x0 0x00800000>; > - }; > - }; > - > - bus@0 { > - #address-cells = <1>; > - #size-cells = <1>; > - ranges = <0x0 0x0 0x0 0x40000000>; > - > - adsp: adsp@2990000 { > - reg = <0x2990000 0x2000>; > - memory-region = <&adsp_resv>; > - }; > - > - dc0: display@15200000 { > - reg = <0x15200000 0x10000>; > - memory-region = <&fb>; > - }; > - }; > - }; > -... > diff --git a/Documentation/devicetree/bindings/reserved-memory/shared-dma-pool.yaml b/Documentation/devicetree/bindings/reserved-memory/shared-dma-pool.yaml > deleted file mode 100644 > index 457de0920cd1..000000000000 > --- a/Documentation/devicetree/bindings/reserved-memory/shared-dma-pool.yaml > +++ /dev/null > @@ -1,97 +0,0 @@ > -# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > -%YAML 1.2 > ---- > -$id: http://devicetree.org/schemas/reserved-memory/shared-dma-pool.yaml# > -$schema: http://devicetree.org/meta-schemas/core.yaml# > - > -title: /reserved-memory DMA pool > - > -maintainers: > - - devicetree-spec@vger.kernel.org > - > -allOf: > - - $ref: reserved-memory.yaml > - > -properties: > - compatible: > - oneOf: > - - const: shared-dma-pool > - description: > > - This indicates a region of memory meant to be used as a shared > - pool of DMA buffers for a set of devices. It can be used by an > - operating system to instantiate the necessary pool management > - subsystem if necessary. > - > - - const: restricted-dma-pool > - description: > > - This indicates a region of memory meant to be used as a pool > - of restricted DMA buffers for a set of devices. The memory > - region would be the only region accessible to those devices. > - When using this, the no-map and reusable properties must not > - be set, so the operating system can create a virtual mapping > - that will be used for synchronization. The main purpose for > - restricted DMA is to mitigate the lack of DMA access control > - on systems without an IOMMU, which could result in the DMA > - accessing the system memory at unexpected times and/or > - unexpected addresses, possibly leading to data leakage or > - corruption. The feature on its own provides a basic level of > - protection against the DMA overwriting buffer contents at > - unexpected times. However, to protect against general data > - leakage and system memory corruption, the system needs to > - provide way to lock down the memory access, e.g., MPU. Note > - that since coherent allocation needs remapping, one must set > - up another device coherent pool by shared-dma-pool and use > - dma_alloc_from_dev_coherent instead for atomic coherent > - allocation. > - > - linux,cma-default: > - type: boolean > - description: > > - If this property is present, then Linux will use the region for > - the default pool of the contiguous memory allocator. > - > - linux,dma-default: > - type: boolean > - description: > > - If this property is present, then Linux will use the region for > - the default pool of the consistent DMA allocator. > - > -if: > - properties: > - compatible: > - contains: > - const: restricted-dma-pool > -then: > - properties: > - no-map: false > - reusable: false > - > -unevaluatedProperties: false > - > -examples: > - - | > - reserved-memory { > - #address-cells = <1>; > - #size-cells = <1>; > - ranges; > - > - /* global autoconfigured region for contiguous allocations */ > - linux,cma { > - compatible = "shared-dma-pool"; > - reusable; > - size = <0x4000000>; > - alignment = <0x2000>; > - linux,cma-default; > - }; > - > - display_reserved: framebuffer@78000000 { > - reg = <0x78000000 0x800000>; > - }; > - > - restricted_dma_reserved: restricted-dma-pool@50000000 { > - compatible = "restricted-dma-pool"; > - reg = <0x50000000 0x4000000>; > - }; > - }; > - > -... > diff --git a/Documentation/devicetree/bindings/sound/mediatek,mt8188-afe.yaml b/Documentation/devicetree/bindings/sound/mediatek,mt8188-afe.yaml > index 90520f89208b..77af276ed2a2 100644 > --- a/Documentation/devicetree/bindings/sound/mediatek,mt8188-afe.yaml > +++ b/Documentation/devicetree/bindings/sound/mediatek,mt8188-afe.yaml > @@ -29,7 +29,7 @@ properties: > maxItems: 1 > description: | > Shared memory region for AFE memif. A "shared-dma-pool". > - See ../reserved-memory/reserved-memory.yaml for details. > + See dtschema reserved-memory/shared-dma-pool.yaml for details. > > mediatek,topckgen: > $ref: /schemas/types.yaml#/definitions/phandle > -- > 2.42.0 > _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel