This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM5728: Insufficient OpenCL global memory

Part Number: AM5728
Other Parts Discussed in Thread: TMDSEVM572X

Hi,

Board: TMDSEVM572X

SDK: Processor SDK Linux 06_03_00_106

Customers cannot adjust OpenCL's global memory, the following is his modification steps:

1. According to http://downloads.ti.com/mctools/esd/docs/tidl-api/using_api.html#sizing-device-side-heaps, he set the related PARAM_HEAP_SIZE and NETWORK_HEAP_SIZE in the program, and found that NETWORK_HEAP_SIZE still did not meet the requirements

2. Follow the http://downloads.ti.com/mctools/esd/docs/tidl-api/faq/out_of_memory.html#insufficient-opencl-global-memory to perform the following operations:

1) Convert am57xx-evm-reva3.dtb in the prebuilt_image folder to am57xx-evm-reva3.dts

2) Modify am57xx-evm-reva3.dts:

cmem_block_mem@a0000000,“reg = <0x0 0xa0000000 0x0 0xc000000>;”    =>     “reg = <0x0 0xa0000000 0x0 0x18000000>;” “linux,phandle = <0x13c>;”

cmem_block@0 ,“cmem-buf-pools = <0x1 0x0 0xc000000>;”    =>  “memory-region = <0x13c>;”  “cmem-buf-pools = <0x1 0x0 0x18000000>;”

3) Convert dts file to dtb file and copied back to /boot, reboot.

Note: When converting the dts file back to the dtb file, there is an error report with the attached picture. The customer added the -f parameter and forced the conversion. Presumably related to this, the dts file is not properly configured.

Run the program again and still report the same error:

  • memory@0 {
    		device_type = "memory";
    		reg = <0x0 0x80000000 0x0 0x80000000>;
    	};
    
    	reserved-memory {
    		#address-cells = <0x2>;
    		#size-cells = <0x2>;
    		ranges;
    
    		ipu2-memory@95800000 {
    			compatible = "shared-dma-pool";
    			reg = <0x0 0x95800000 0x0 0x3800000>;
    			reusable;
    			status = "okay";
    			phandle = <0xa0>;
    		};
    
    		dsp1-memory@99000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x0 0x99000000 0x0 0x4000000>;
    			reusable;
    			status = "okay";
    			phandle = <0xa6>;
    		};
    
    		ipu1-memory@9d000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x0 0x9d000000 0x0 0x2000000>;
    			status = "okay";
    			no-map;
    			phandle = <0x99>;
    		};
    
    		dsp2-memory@9f000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x0 0x9f000000 0x0 0x800000>;
    			reusable;
    			status = "okay";
    			phandle = <0xda>;
    		};
    
    		mmu-early-page-tables@95700000 {
    			reg = <0x0 0x95700000 0x0 0x100000>;
    			no-map;
    		};
    
    		cmem_block_mem@a0000000 {
    			reg = <0x0 0xa0000000 0x0 0x18000000>;
    			no-map;
    			status = "okay";
    			phandle = <0xed>;
    		};
    
    		cmem_block_mem@40500000 {
    			reg = <0x0 0x40500000 0x0 0x100000>;
    			no-map;
    			status = "okay";
    			phandle = <0xee>;
    		};
    	};

    cmem {
    		compatible = "ti,cmem";
    		#address-cells = <0x1>;
    		#size-cells = <0x0>;
    		#pool-size-cells = <0x2>;
    		status = "okay";
    
    		cmem_block@0 {
    			reg = <0x0>;
    			memory-region = <0xed>;
    			cmem-buf-pools = <0x1 0x0 0x18000000>;
    			phandle = <0x211>;
    		};
    
    		cmem_block@1 {
    			reg = <0x1>;
    			memory-region = <0xee>;
    			phandle = <0x212>;
    		};
    	};

  • Hello TI!

    Additional details:

    If I only modify the line 49 in "cmem_block_mem@a0000000", line 11 in "cmem_block@0" and others remain what it is.

    The dtb file can be converted successfully without any error report.

    Thanks!

  • The only changes to DTS file are two locations, 0xc000000 to 0x18000000.  Please do not update other values.  From your post, looks like you also updated linux,phandle value, please keep those values unmodified.  downloads.ti.com/.../out_of_memory.html

    If you can attach the DTS files before and after the update, it will help.