All of lore.kernel.org
 help / color / mirror / Atom feed
From: Denys Dmytriyenko <denys@ti.com>
To: Jacob Stiffler <j-stiffler@ti.com>
Cc: meta-ti@yoctoproject.org
Subject: Re: [PATCH] linux: cmem.inc: Implement way to configure more complex CMEM config
Date: Wed, 28 Oct 2015 15:30:13 -0400	[thread overview]
Message-ID: <20151028193013.GW8780@edge> (raw)
In-Reply-To: <56311C9C.5020003@ti.com>

On Wed, Oct 28, 2015 at 03:06:04PM -0400, Jacob Stiffler wrote:
> 
> 
> On 10/28/2015 2:21 PM, Denys Dmytriyenko wrote:
> >On Wed, Oct 28, 2015 at 10:36:06AM -0400, Jacob Stiffler wrote:
> >>* Supply the entire cmem.dtsi per machine
> >>   - Disabled by default
> >>   - Currently only supported for dra7xx and k2hk-evm
> >>* Enable by setting RESERVE_CMEM = "1"
> >>
> >>Signed-off-by: Jacob Stiffler <j-stiffler@ti.com>
> >>---
> >>  recipes-kernel/linux/cmem.inc                 |  9 +----
> >>  recipes-kernel/linux/files/cmem.dtsi          | 16 +-------
> >>  recipes-kernel/linux/files/dra7xx/cmem.dtsi   | 26 +++++++++++++
> >>  recipes-kernel/linux/files/k2hk-evm/cmem.dtsi | 54 +++++++++++++++++++++++++++
> >So, why do you need a generic cmem.dtsi, if you now have machine-specific
> >versions of the same?
> 
> The generic dtsi does not actually add any reserved regions. I just
> thought it would be good to have. If you do not think that it is
> necessary, I can remove it.

If you want to keep it as an example, you might want to add a small comment in 
it saying it is an example and doesn't reserve any regions, which need to be 
added manually for specific device. That way if the wrong dtsi gets copied, it 
should be "easier" to figure out why cmem doesn't work :)


> >>  4 files changed, 84 insertions(+), 21 deletions(-)
> >>  create mode 100644 recipes-kernel/linux/files/dra7xx/cmem.dtsi
> >>  create mode 100644 recipes-kernel/linux/files/k2hk-evm/cmem.dtsi
> >>
> >>diff --git a/recipes-kernel/linux/cmem.inc b/recipes-kernel/linux/cmem.inc
> >>index 742f3c8..fc0bf48 100644
> >>--- a/recipes-kernel/linux/cmem.inc
> >>+++ b/recipes-kernel/linux/cmem.inc
> >>@@ -1,17 +1,12 @@
> >>  SRC_URI += "file://cmem.dtsi"
> >>-CMEM_BASE ?= ""
> >>-CMEM_SIZE ?= ""
> >>+RESERVE_CMEM ?= "0"
> >>  do_setup_cmem() {
> >>-    if [ ! -z "${CMEM_BASE}" ]
> >>+    if [ "${RESERVE_CMEM}" == "1" ]
> >>      then
> >>          cp ${WORKDIR}/cmem.dtsi ${S}/arch/arm/boot/dts/${MACHINE}-cmem.dtsi
> >>-        sed -i -e "s|__CMEM_BASE__|${CMEM_BASE}|g" \
> >>-               -e "s|__CMEM_SIZE__|${CMEM_SIZE}|g" \
> >>-               ${S}/arch/arm/boot/dts/${MACHINE}-cmem.dtsi
> >>-
> >>          for dtb in ${KERNEL_DEVICETREE}
> >>          do
> >>              dts=`echo $dtb | sed -e 's|dtb$|dts|'`
> >>diff --git a/recipes-kernel/linux/files/cmem.dtsi b/recipes-kernel/linux/files/cmem.dtsi
> >>index 6b1da99..8c62b06 100644
> >>--- a/recipes-kernel/linux/files/cmem.dtsi
> >>+++ b/recipes-kernel/linux/files/cmem.dtsi
> >>@@ -1,24 +1,12 @@
> >>  / {
> >>-        reserved-memory {
> >>-                cmem_block_mem_0: cmem_block_mem@__CMEM_BASE__ {
> >>-                        reg = <0x__CMEM_BASE__ 0x__CMEM_SIZE__>;
> >>-                        no-map;
> >>-                        status = "okay";
> >>-                };
> >>-        };
> >>-
> >>          cmem {
> >>                  compatible = "ti,cmem";
> >>                  #address-cells = <1>;
> >>                  #size-cells = <0>;
> >>-                status = "okay";
> >>+		#pool-size-cells = <1>;
> >>-                cmem_block_0: cmem_block@0 {
> >>-                        reg = <0>;
> >>-                        memory-region = <&cmem_block_mem_0>;
> >>-                        cmem-buf-pools = <1 0x__CMEM_SIZE__>;
> >>-                };
> >>+                status = "disabled";
> >>          };
> >>  };
> >>diff --git a/recipes-kernel/linux/files/dra7xx/cmem.dtsi b/recipes-kernel/linux/files/dra7xx/cmem.dtsi
> >>new file mode 100644
> >>index 0000000..d91faf9
> >>--- /dev/null
> >>+++ b/recipes-kernel/linux/files/dra7xx/cmem.dtsi
> >>@@ -0,0 +1,26 @@
> >>+/ {
> >>+        reserved-memory {
> >>+                cmem_block_mem_0: cmem_block_mem@a0000000 {
> >>+                        reg = <0x0 0xa0000000 0x0 0x0a000000>;
> >>+                        no-map;
> >>+                        status = "okay";
> >>+                };
> >>+        };
> >>+
> >>+        cmem {
> >>+                compatible = "ti,cmem";
> >>+                #address-cells = <1>;
> >>+                #size-cells = <0>;
> >>+
> >>+		#pool-size-cells = <2>;
> >>+
> >>+                status = "okay";
> >>+
> >>+                cmem_block_0: cmem_block@0 {
> >>+                        reg = <0>;
> >>+                        memory-region = <&cmem_block_mem_0>;
> >>+                        cmem-buf-pools = <1 0x0 0x0a000000>;
> >>+                };
> >>+        };
> >>+
> >>+};
> >>diff --git a/recipes-kernel/linux/files/k2hk-evm/cmem.dtsi b/recipes-kernel/linux/files/k2hk-evm/cmem.dtsi
> >>new file mode 100644
> >>index 0000000..7e897ab
> >>--- /dev/null
> >>+++ b/recipes-kernel/linux/files/k2hk-evm/cmem.dtsi
> >>@@ -0,0 +1,54 @@
> >>+/ {
> >>+        reserved-memory {
> >>+                mpm_block_mem_0: mpm_block_mem@820000000 {
> >>+                        reg = <0x00000008 0x20000000 0x00000000 0x02000000>;
> >>+                        no-map;
> >>+                        status = "okay";
> >>+                };
> >>+
> >>+                cmem_block_mem_0: cmem_block_mem@829000000 {
> >>+                        reg = <0x00000008 0x29000000 0x00000000 0x57000000>;
> >>+                        no-map;
> >>+                        status = "okay";
> >>+                };
> >>+
> >>+                cmem_block_mem_1: cmem_block_mem@00c100000 {
> >>+                        reg = <0x00000000 0x0c100000 0x00000000 0x00480000>;
> >>+                        no-map;
> >>+                        status = "okay";
> >>+                };
> >>+
> >>+                cmem_block_mem_2: cmem_block_mem@822000000 {
> >>+                        reg = <0x00000008 0x22000000 0x00000000 0x07000000>;
> >>+                        no-map;
> >>+                        status = "okay";
> >>+                };
> >>+        };
> >>+
> >>+        cmem {
> >>+                compatible = "ti,cmem";
> >>+                #address-cells = <1>;
> >>+                #size-cells = <0>;
> >>+
> >>+		#pool-size-cells = <2>;
> >>+
> >>+                status = "okay";
> >>+
> >>+                cmem_block_0: cmem_block@0 {
> >>+                        reg = <0>;
> >>+                        memory-region = <&cmem_block_mem_0>;
> >>+                        cmem-buf-pools = <1 0x00000000 0x57000000>;
> >>+                };
> >>+
> >>+                cmem_block_1: cmem_block@1 {
> >>+                        reg = <1>;
> >>+                        memory-region = <&cmem_block_mem_1>;
> >>+                };
> >>+
> >>+                cmem_block_2: cmem_block@2 {
> >>+                        reg = <2>;
> >>+                        memory-region = <&cmem_block_mem_2>;
> >>+                };
> >>+        };
> >>+
> >>+};
> >>-- 
> >>1.9.1
> >>
> >>-- 
> >>_______________________________________________
> >>meta-ti mailing list
> >>meta-ti@yoctoproject.org
> >>https://lists.yoctoproject.org/listinfo/meta-ti
> 


      reply	other threads:[~2015-10-28 19:30 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-28 14:36 [PATCH] linux: cmem.inc: Implement way to configure more complex CMEM config Jacob Stiffler
2015-10-28 18:21 ` Denys Dmytriyenko
2015-10-28 19:06   ` Jacob Stiffler
2015-10-28 19:30     ` Denys Dmytriyenko [this message]

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=20151028193013.GW8780@edge \
    --to=denys@ti.com \
    --cc=j-stiffler@ti.com \
    --cc=meta-ti@yoctoproject.org \
    /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.