On Tue, May 19, 2015 at 01:23:06PM -0400, Jacob Stiffler wrote:
> 
> 
> On 5/18/2015 3:13 PM, Denys Dmytriyenko wrote:
> >On Mon, May 18, 2015 at 03:03:18PM -0400, Jacob Stiffler wrote:
> >>
> >>On 5/18/2015 2:11 PM, Denys Dmytriyenko wrote:
> >>>On Mon, May 18, 2015 at 08:20:58AM -0400, Jacob Stiffler wrote:
> >>>>To reserve contiguous memory for CMEM:
> >>>>* include the "recipes-kernel/linux/cmem.inc"
> >>>>* Set CMEM_BASE and CMEM_SIZE to the physical memory address and size,
> >>>>   respectively, to reserve for CMEM.
> >>>>
> >>>>Currently limited to reserving a single memory region used to create
> >>>>a single buffer pool of a single buffer.
> >>>Looks good. 2 comments below.
> >>>
> >>>
> >>>>Signed-off-by: Jacob Stiffler <j-stiff...@ti.com>
> >>>>---
> >>>>  recipes-kernel/linux/cmem.inc        |   22 ++++++++++++++++++++++
> >>>>  recipes-kernel/linux/linux/cmem.dtsi |   24 ++++++++++++++++++++++++
> >>>>  2 files changed, 46 insertions(+)
> >>>>  create mode 100644 recipes-kernel/linux/cmem.inc
> >>>>  create mode 100644 recipes-kernel/linux/linux/cmem.dtsi
> >>>>
> >>>>diff --git a/recipes-kernel/linux/cmem.inc b/recipes-kernel/linux/cmem.inc
> >>>>new file mode 100644
> >>>>index 0000000..207bdc6
> >>>>--- /dev/null
> >>>>+++ b/recipes-kernel/linux/cmem.inc
> >>>>@@ -0,0 +1,22 @@
> >>>>+FILESEXTRAPATHS_append := ":${THISDIR}/linux"
> >>>Move the file into standard "files" directory and drop above line.
> >>>
> >>Ok.
> >>
> >>>>+SRC_URI += "file://cmem.dtsi"
> >>>>+
> >>>>+CMEM_BASE ?= ""
> >>>>+CMEM_SIZE ?= ""
> >>>>+
> >>>>+do_compileconfigs_prepend() {
> >>>Should this be do_configure_append() instead? It would probably be safer, 
> >>>as
> >>>do_compileconfigs() is specific to multi-kernel.inc and some kernel recipes
> >>>may not include it...
> >>>
> >>I had noticed that do_configure() gets invoked multiple times.
> >>
> >>I'll try it as a do_configure_append() and make sure it will work.
> >Ah, you are right. Then you'd need to call this function uniquely like
> >do_setup_cmem() and then addtask it after do_patch before do_configure. It
> >looks like it should be safe to do it even before do_configure. It would be
> >nice to do it after do_configure, but it needs to be before do_compile and
> >also do_compileconfigs, while the latter one is only defined by multi-kernel
> >
> 
> This should be called before do_create_srcipk(). But I suppose it
> should not be assumed that do_create_srcipk() will be run for a
> general kernel recipe.
> 
> Should do_setup_cmem() be a postfunc of do_configure()? For example:
> 
> do_configure[postfuncs] += "do_setup_cmem"

Will it be called multiple times after each do_configure?


> >>>>+    if [ ! -z "${CMEM_BASE}" ]
> >>>>+    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 dts in ${KERNEL_DEVICETREE}
> >>>>+        do
> >>>>+            echo "#include \"${MACHINE}-cmem.dtsi\"" >> 
> >>>>${S}/arch/arm/boot/dts/${dts%.dtb}.dts
> >>>>+        done
> >>>>+    fi
> >>>>+}
> >>>>diff --git a/recipes-kernel/linux/linux/cmem.dtsi 
> >>>>b/recipes-kernel/linux/linux/cmem.dtsi
> >>>>new file mode 100644
> >>>>index 0000000..6b1da99
> >>>>--- /dev/null
> >>>>+++ b/recipes-kernel/linux/linux/cmem.dtsi
> >>>>@@ -0,0 +1,24 @@
> >>>>+/ {
> >>>>+        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";
> >>>>+
> >>>>+                cmem_block_0: cmem_block@0 {
> >>>>+                        reg = <0>;
> >>>>+                        memory-region = <&cmem_block_mem_0>;
> >>>>+                        cmem-buf-pools = <1 0x__CMEM_SIZE__>;
> >>>>+                };
> >>>>+        };
> >>>>+
> >>>>+};
> >>>>-- 
> >>>>1.7.9.5
> >>>>
> >>>>-- 
> >>>>_______________________________________________
> >>>>meta-ti mailing list
> >>>>meta-ti@yoctoproject.org
> >>>>https://lists.yoctoproject.org/listinfo/meta-ti
> 
-- 
_______________________________________________
meta-ti mailing list
meta-ti@yoctoproject.org
https://lists.yoctoproject.org/listinfo/meta-ti

Reply via email to