All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Rutland <mark.rutland@arm.com>
To: Leo Yan <leo.yan@linaro.org>
Cc: Rob Herring <robh+dt@kernel.org>, Pawel Moll <Pawel.Moll@arm.com>,
	Ian Campbell <ijc+devicetree@hellion.org.uk>,
	Kumar Gala <galak@codeaurora.org>,
	Catalin Marinas <Catalin.Marinas@arm.com>,
	Will Deacon <Will.Deacon@arm.com>,
	Jassi Brar <jassisinghbrar@gmail.com>,
	Bintian Wang <bintian.wang@huawei.com>,
	Haojian Zhuang <haojian.zhuang@linaro.org>,
	Yiping Xu <xuyiping@hisilicon.com>, Wei Xu <xuwei5@hisilicon.com>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	"guodong.xu@linaro.org" <guodong.xu@linaro.org>,
	Jian Zhang <zhangjian001@hisilicon.com>,
	Zhenwei Wang <Zhenwei.wang@hisilicon.com>,
	Haoju Mo <mohaoju@hisilicon.com>,
	Dan Zhao <dan.zhao@hisilicon.com>,
	"kongfei@hisilicon.com" <kongfei@hisilicon.com>,
	Guangyue Zeng <zengguangyue@hisilicon.com>,
	leif.lindholm@linaro.org
Subject: Re: [PATCH v1 3/3] arm64: dts: add Hi6220 mailbox node
Date: Mon, 24 Aug 2015 10:51:45 +0100	[thread overview]
Message-ID: <20150824095144.GA7139@leverpostej> (raw)
In-Reply-To: <20150824091845.GA28290@leoy-linaro>

On Mon, Aug 24, 2015 at 10:18:45AM +0100, Leo Yan wrote:
> Hi Mark,
> 
> On Fri, Aug 21, 2015 at 07:40:59PM +0100, Mark Rutland wrote:
> > On Wed, Aug 19, 2015 at 10:37:35AM +0100, Leo Yan wrote:
> > > On Hi6220, below memory regions in DDR have specific purpose:
> > > 
> > >   0x05e0,0000 - 0x05ef,ffff: For MCU firmware using at runtime;
> > >   0x0740,f000 - 0x0740,ffff: For MCU firmware's section;
> > >   0x06df,f000 - 0x06df,ffff: For mailbox message data.
> > > 
> > > This patch reserves these memory regions and add device node for
> > > mailbox in dts.
> > > 
> > > Signed-off-by: Leo Yan <leo.yan@linaro.org>
> > > ---
> > >  arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts | 20 +++++++++++++++++---
> > >  arch/arm64/boot/dts/hisilicon/hi6220.dtsi      |  8 ++++++++
> > >  2 files changed, 25 insertions(+), 3 deletions(-)
> > > 
> > > diff --git a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
> > > index e36a539..d5470d3 100644
> > > --- a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
> > > +++ b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
> > > @@ -7,9 +7,6 @@
> > >  
> > >  /dts-v1/;
> > >  
> > > -/*Reserved 1MB memory for MCU*/
> > > -/memreserve/ 0x05e00000 0x00100000;
> > > -
> > >  #include "hi6220.dtsi"
> > >  
> > >  / {
> > > @@ -28,4 +25,21 @@
> > >  		device_type = "memory";
> > >  		reg = <0x0 0x0 0x0 0x40000000>;
> > >  	};
> > > +
> > > +	reserved-memory {
> > > +		#address-cells = <2>;
> > > +		#size-cells = <2>;
> > > +		ranges;
> > > +
> > > +		mcu-buf@05e00000 {
> > > +			no-map;
> > > +			reg = <0x0 0x05e00000 0x0 0x00100000>,	/* MCU firmware buffer */
> > > +			      <0x0 0x0740f000 0x0 0x00001000>;	/* MCU firmware section */
> > > +		};
> > > +
> > > +		mbox-buf@06dff000 {
> > > +			no-map;
> > > +			reg = <0x0 0x06dff000 0x0 0x00001000>;	/* Mailbox message buf */
> > > +		};
> > > +	};
> > 
> > As far as I can see, it would be simpler to simply carve these out of the
> > memory node.
> > 
> > I don't see why you need reserved-memory here, given you're not referring to
> > these regions by phandle anyway.
> 
> - Now we have enabled EFI_STUB, so the memory node will be removed in
>   kernel:
>     efi_entry()
>       \-> allocate_new_fdt_and_exit_boot()
>             \-> update_fdt();
> 
>   Finally in kernel it cannot use memory node to carve out reseved
>   memory regions.
> 
> - On the other hand, DTS's the memory node is to "describes the
>   physical memory layout for the system"; so it's better to use it only
>   to describe the hardware info for memory. We can use reserved-memory
>   to help manage the memory regions which are reserved from software
>   perspective.

The fact that you have no-map means that the memory should not be
described to the kernel as mappable in the first place. It's wrong to
place such memory in the memory node, even if listed in reserved-memory.

If your EFI memory map describes the memory as mappable, it is wrong.

> According to upper info, we still need to use reserved-memory node to
> depict the reserved memory regions. i have no knowledge about EFI_STUB,
> so please confirm or correct as needed.

If the memory shouldn't be mapped, it should neither be in the memory
node nor EFI memory map (with attributes allowing it to be mapped) to
begin with.

As far as I can see you do not need to use reserved-memory.

Thanks,
Mark.

WARNING: multiple messages have this Message-ID (diff)
From: Mark Rutland <mark.rutland@arm.com>
To: Leo Yan <leo.yan@linaro.org>
Cc: Rob Herring <robh+dt@kernel.org>, Pawel Moll <Pawel.Moll@arm.com>,
	Ian Campbell <ijc+devicetree@hellion.org.uk>,
	Kumar Gala <galak@codeaurora.org>,
	Catalin Marinas <Catalin.Marinas@arm.com>,
	Will Deacon <Will.Deacon@arm.com>,
	Jassi Brar <jassisinghbrar@gmail.com>,
	Bintian Wang <bintian.wang@huawei.com>,
	Haojian Zhuang <haojian.zhuang@linaro.org>,
	Yiping Xu <xuyiping@hisilicon.com>, Wei Xu <xuwei5@hisilicon.com>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"guodong.xu@linaro.org" <guodong.xu@linaro.org>,
	Jian Zhang <zhangjian001@hisilicon.com>,
	Zhenwei Wang <Zhenwei.wang@hisilicon.com>,
	Haoju Mo <mohaoju@hisilicon.com>,
	Dan Zhao <dan.zhao@hisilicon.com>,
	"kongfei@hisilicon.com" <kongfei@hisilicon.com>,
	Guangyu
Subject: Re: [PATCH v1 3/3] arm64: dts: add Hi6220 mailbox node
Date: Mon, 24 Aug 2015 10:51:45 +0100	[thread overview]
Message-ID: <20150824095144.GA7139@leverpostej> (raw)
In-Reply-To: <20150824091845.GA28290@leoy-linaro>

On Mon, Aug 24, 2015 at 10:18:45AM +0100, Leo Yan wrote:
> Hi Mark,
> 
> On Fri, Aug 21, 2015 at 07:40:59PM +0100, Mark Rutland wrote:
> > On Wed, Aug 19, 2015 at 10:37:35AM +0100, Leo Yan wrote:
> > > On Hi6220, below memory regions in DDR have specific purpose:
> > > 
> > >   0x05e0,0000 - 0x05ef,ffff: For MCU firmware using at runtime;
> > >   0x0740,f000 - 0x0740,ffff: For MCU firmware's section;
> > >   0x06df,f000 - 0x06df,ffff: For mailbox message data.
> > > 
> > > This patch reserves these memory regions and add device node for
> > > mailbox in dts.
> > > 
> > > Signed-off-by: Leo Yan <leo.yan@linaro.org>
> > > ---
> > >  arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts | 20 +++++++++++++++++---
> > >  arch/arm64/boot/dts/hisilicon/hi6220.dtsi      |  8 ++++++++
> > >  2 files changed, 25 insertions(+), 3 deletions(-)
> > > 
> > > diff --git a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
> > > index e36a539..d5470d3 100644
> > > --- a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
> > > +++ b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
> > > @@ -7,9 +7,6 @@
> > >  
> > >  /dts-v1/;
> > >  
> > > -/*Reserved 1MB memory for MCU*/
> > > -/memreserve/ 0x05e00000 0x00100000;
> > > -
> > >  #include "hi6220.dtsi"
> > >  
> > >  / {
> > > @@ -28,4 +25,21 @@
> > >  		device_type = "memory";
> > >  		reg = <0x0 0x0 0x0 0x40000000>;
> > >  	};
> > > +
> > > +	reserved-memory {
> > > +		#address-cells = <2>;
> > > +		#size-cells = <2>;
> > > +		ranges;
> > > +
> > > +		mcu-buf@05e00000 {
> > > +			no-map;
> > > +			reg = <0x0 0x05e00000 0x0 0x00100000>,	/* MCU firmware buffer */
> > > +			      <0x0 0x0740f000 0x0 0x00001000>;	/* MCU firmware section */
> > > +		};
> > > +
> > > +		mbox-buf@06dff000 {
> > > +			no-map;
> > > +			reg = <0x0 0x06dff000 0x0 0x00001000>;	/* Mailbox message buf */
> > > +		};
> > > +	};
> > 
> > As far as I can see, it would be simpler to simply carve these out of the
> > memory node.
> > 
> > I don't see why you need reserved-memory here, given you're not referring to
> > these regions by phandle anyway.
> 
> - Now we have enabled EFI_STUB, so the memory node will be removed in
>   kernel:
>     efi_entry()
>       \-> allocate_new_fdt_and_exit_boot()
>             \-> update_fdt();
> 
>   Finally in kernel it cannot use memory node to carve out reseved
>   memory regions.
> 
> - On the other hand, DTS's the memory node is to "describes the
>   physical memory layout for the system"; so it's better to use it only
>   to describe the hardware info for memory. We can use reserved-memory
>   to help manage the memory regions which are reserved from software
>   perspective.

The fact that you have no-map means that the memory should not be
described to the kernel as mappable in the first place. It's wrong to
place such memory in the memory node, even if listed in reserved-memory.

If your EFI memory map describes the memory as mappable, it is wrong.

> According to upper info, we still need to use reserved-memory node to
> depict the reserved memory regions. i have no knowledge about EFI_STUB,
> so please confirm or correct as needed.

If the memory shouldn't be mapped, it should neither be in the memory
node nor EFI memory map (with attributes allowing it to be mapped) to
begin with.

As far as I can see you do not need to use reserved-memory.

Thanks,
Mark.

WARNING: multiple messages have this Message-ID (diff)
From: mark.rutland@arm.com (Mark Rutland)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v1 3/3] arm64: dts: add Hi6220 mailbox node
Date: Mon, 24 Aug 2015 10:51:45 +0100	[thread overview]
Message-ID: <20150824095144.GA7139@leverpostej> (raw)
In-Reply-To: <20150824091845.GA28290@leoy-linaro>

On Mon, Aug 24, 2015 at 10:18:45AM +0100, Leo Yan wrote:
> Hi Mark,
> 
> On Fri, Aug 21, 2015 at 07:40:59PM +0100, Mark Rutland wrote:
> > On Wed, Aug 19, 2015 at 10:37:35AM +0100, Leo Yan wrote:
> > > On Hi6220, below memory regions in DDR have specific purpose:
> > > 
> > >   0x05e0,0000 - 0x05ef,ffff: For MCU firmware using at runtime;
> > >   0x0740,f000 - 0x0740,ffff: For MCU firmware's section;
> > >   0x06df,f000 - 0x06df,ffff: For mailbox message data.
> > > 
> > > This patch reserves these memory regions and add device node for
> > > mailbox in dts.
> > > 
> > > Signed-off-by: Leo Yan <leo.yan@linaro.org>
> > > ---
> > >  arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts | 20 +++++++++++++++++---
> > >  arch/arm64/boot/dts/hisilicon/hi6220.dtsi      |  8 ++++++++
> > >  2 files changed, 25 insertions(+), 3 deletions(-)
> > > 
> > > diff --git a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
> > > index e36a539..d5470d3 100644
> > > --- a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
> > > +++ b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
> > > @@ -7,9 +7,6 @@
> > >  
> > >  /dts-v1/;
> > >  
> > > -/*Reserved 1MB memory for MCU*/
> > > -/memreserve/ 0x05e00000 0x00100000;
> > > -
> > >  #include "hi6220.dtsi"
> > >  
> > >  / {
> > > @@ -28,4 +25,21 @@
> > >  		device_type = "memory";
> > >  		reg = <0x0 0x0 0x0 0x40000000>;
> > >  	};
> > > +
> > > +	reserved-memory {
> > > +		#address-cells = <2>;
> > > +		#size-cells = <2>;
> > > +		ranges;
> > > +
> > > +		mcu-buf at 05e00000 {
> > > +			no-map;
> > > +			reg = <0x0 0x05e00000 0x0 0x00100000>,	/* MCU firmware buffer */
> > > +			      <0x0 0x0740f000 0x0 0x00001000>;	/* MCU firmware section */
> > > +		};
> > > +
> > > +		mbox-buf at 06dff000 {
> > > +			no-map;
> > > +			reg = <0x0 0x06dff000 0x0 0x00001000>;	/* Mailbox message buf */
> > > +		};
> > > +	};
> > 
> > As far as I can see, it would be simpler to simply carve these out of the
> > memory node.
> > 
> > I don't see why you need reserved-memory here, given you're not referring to
> > these regions by phandle anyway.
> 
> - Now we have enabled EFI_STUB, so the memory node will be removed in
>   kernel:
>     efi_entry()
>       \-> allocate_new_fdt_and_exit_boot()
>             \-> update_fdt();
> 
>   Finally in kernel it cannot use memory node to carve out reseved
>   memory regions.
> 
> - On the other hand, DTS's the memory node is to "describes the
>   physical memory layout for the system"; so it's better to use it only
>   to describe the hardware info for memory. We can use reserved-memory
>   to help manage the memory regions which are reserved from software
>   perspective.

The fact that you have no-map means that the memory should not be
described to the kernel as mappable in the first place. It's wrong to
place such memory in the memory node, even if listed in reserved-memory.

If your EFI memory map describes the memory as mappable, it is wrong.

> According to upper info, we still need to use reserved-memory node to
> depict the reserved memory regions. i have no knowledge about EFI_STUB,
> so please confirm or correct as needed.

If the memory shouldn't be mapped, it should neither be in the memory
node nor EFI memory map (with attributes allowing it to be mapped) to
begin with.

As far as I can see you do not need to use reserved-memory.

Thanks,
Mark.

  reply	other threads:[~2015-08-24  9:52 UTC|newest]

Thread overview: 108+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-19  9:37 [PATCH v1 0/3] mailbox: hisilicon: add Hi6220 mailbox driver Leo Yan
2015-08-19  9:37 ` Leo Yan
2015-08-19  9:37 ` Leo Yan
2015-08-19  9:37 ` [PATCH v1 1/3] dt-bindings: mailbox: Document " Leo Yan
2015-08-19  9:37   ` Leo Yan
2015-08-25 11:17   ` Sudeep Holla
2015-08-25 11:17     ` Sudeep Holla
2015-08-25 11:17     ` Sudeep Holla
2015-08-25 13:01     ` Leo Yan
2015-08-25 13:01       ` Leo Yan
2015-08-25 13:01       ` Leo Yan
2015-08-19  9:37 ` [PATCH v1 2/3] mailbox: Hi6220: add " Leo Yan
2015-08-19  9:37   ` Leo Yan
2015-08-19  9:37 ` [PATCH v1 3/3] arm64: dts: add Hi6220 mailbox node Leo Yan
2015-08-19  9:37   ` Leo Yan
2015-08-21 18:40   ` Mark Rutland
2015-08-21 18:40     ` Mark Rutland
2015-08-21 18:40     ` Mark Rutland
2015-08-22 13:30     ` Leo Yan
2015-08-22 13:30       ` Leo Yan
2015-08-22 13:30       ` Leo Yan
2015-08-24  3:27       ` Leo Yan
2015-08-24  3:27         ` Leo Yan
2015-08-24  3:27         ` Leo Yan
2015-08-24  9:18     ` Leo Yan
2015-08-24  9:18       ` Leo Yan
2015-08-24  9:18       ` Leo Yan
2015-08-24  9:51       ` Mark Rutland [this message]
2015-08-24  9:51         ` Mark Rutland
2015-08-24  9:51         ` Mark Rutland
2015-08-24 10:19         ` Haojian Zhuang
2015-08-24 10:19           ` Haojian Zhuang
2015-08-24 10:19           ` Haojian Zhuang
2015-08-24 11:49           ` Leif Lindholm
2015-08-24 11:49             ` Leif Lindholm
2015-08-24 11:49             ` Leif Lindholm
2015-08-25  8:13             ` Haojian Zhuang
2015-08-25  8:13               ` Haojian Zhuang
2015-08-25  8:13               ` Haojian Zhuang
2015-08-25  9:46               ` Leif Lindholm
2015-08-25  9:46                 ` Leif Lindholm
2015-08-25  9:46                 ` Leif Lindholm
2015-08-25 10:15                 ` Haojian Zhuang
2015-08-25 10:15                   ` Haojian Zhuang
2015-08-25 10:15                   ` Haojian Zhuang
2015-08-25 10:40                   ` Leif Lindholm
2015-08-25 10:40                     ` Leif Lindholm
2015-08-25 10:40                     ` Leif Lindholm
2015-08-25 10:42                   ` Mark Rutland
2015-08-25 10:42                     ` Mark Rutland
2015-08-25 10:42                     ` Mark Rutland
2015-08-25 13:43                     ` Haojian Zhuang
2015-08-25 13:43                       ` Haojian Zhuang
2015-08-25 13:43                       ` Haojian Zhuang
2015-08-25 14:24                       ` Leif Lindholm
2015-08-25 14:24                         ` Leif Lindholm
2015-08-25 14:24                         ` Leif Lindholm
2015-08-25 14:51                         ` Ard Biesheuvel
2015-08-25 14:51                           ` Ard Biesheuvel
2015-08-25 14:51                           ` Ard Biesheuvel
2015-08-25 15:37                           ` Leif Lindholm
2015-08-25 15:37                             ` Leif Lindholm
2015-08-25 15:37                             ` Leif Lindholm
2015-08-25 15:45                             ` Ard Biesheuvel
2015-08-25 15:45                               ` Ard Biesheuvel
2015-08-25 15:45                               ` Ard Biesheuvel
2015-08-26  2:41                             ` Haojian Zhuang
2015-08-26  2:41                               ` Haojian Zhuang
2015-08-26  2:41                               ` Haojian Zhuang
2015-08-25 16:00                       ` Leo Yan
2015-08-25 16:00                         ` Leo Yan
2015-08-25 16:00                         ` Leo Yan
2015-08-26  1:25                         ` Haojian Zhuang
2015-08-26  1:25                           ` Haojian Zhuang
2015-08-26  1:25                           ` Haojian Zhuang
2015-08-26  6:59                           ` Leo Yan
2015-08-26  6:59                             ` Leo Yan
2015-08-26  6:59                             ` Leo Yan
2015-08-27 16:31                             ` Mark Rutland
2015-08-27 16:31                               ` Mark Rutland
2015-08-27 16:31                               ` Mark Rutland
2015-08-28  6:37                               ` Leo Yan
2015-08-28  6:37                                 ` Leo Yan
2015-08-28  6:37                                 ` Leo Yan
2015-08-27 15:54                           ` Daniel Thompson
2015-08-27 15:54                             ` Daniel Thompson
2015-08-27 15:54                             ` Daniel Thompson
2015-08-27 16:46                           ` Mark Rutland
2015-08-27 16:46                             ` Mark Rutland
2015-08-27 16:46                             ` Mark Rutland
2015-08-24 12:48           ` Mark Rutland
2015-08-24 12:48             ` Mark Rutland
2015-08-24 12:48             ` Mark Rutland
2015-08-25  8:04             ` Haojian Zhuang
2015-08-25  8:04               ` Haojian Zhuang
2015-08-25  8:04               ` Haojian Zhuang
2015-08-25 11:09               ` Mark Rutland
2015-08-25 11:09                 ` Mark Rutland
2015-08-25 11:09                 ` Mark Rutland
2015-08-25 11:36   ` Sudeep Holla
2015-08-25 11:36     ` Sudeep Holla
2015-08-25 11:36     ` Sudeep Holla
2015-08-25 14:04     ` Leo Yan
2015-08-25 14:04       ` Leo Yan
2015-08-25 14:04       ` Leo Yan
2015-08-25 14:13       ` Sudeep Holla
2015-08-25 14:13         ` Sudeep Holla
2015-08-25 14:13         ` Sudeep Holla

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150824095144.GA7139@leverpostej \
    --to=mark.rutland@arm.com \
    --cc=Catalin.Marinas@arm.com \
    --cc=Pawel.Moll@arm.com \
    --cc=Will.Deacon@arm.com \
    --cc=Zhenwei.wang@hisilicon.com \
    --cc=bintian.wang@huawei.com \
    --cc=dan.zhao@hisilicon.com \
    --cc=devicetree@vger.kernel.org \
    --cc=galak@codeaurora.org \
    --cc=guodong.xu@linaro.org \
    --cc=haojian.zhuang@linaro.org \
    --cc=ijc+devicetree@hellion.org.uk \
    --cc=jassisinghbrar@gmail.com \
    --cc=kongfei@hisilicon.com \
    --cc=leif.lindholm@linaro.org \
    --cc=leo.yan@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mohaoju@hisilicon.com \
    --cc=robh+dt@kernel.org \
    --cc=xuwei5@hisilicon.com \
    --cc=xuyiping@hisilicon.com \
    --cc=zengguangyue@hisilicon.com \
    --cc=zhangjian001@hisilicon.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.