On 7/4/2024 4:41 AM, Aisheng Dong wrote: > Hi Oreoluwa, > > We observed a CMA regression issue on MX8MN that the CMA region failed to be > setup by rmem_cma_setup() since the following patch: > f2a524d9ef5b ("of: reserved_mem: Restructure code to call reserved mem init functions earlier") [1] > And the CMA node was incorrect parsed (e.g. non-reuseable) due to NULL node pointer. > Below is one line boot log tested with the tag next-20240703 of linux-next tree. > OF: reserved mem: 0x0000000058000000..0x000000007fffffff (655360 KiB) map non-reusable linux,cma > NOTE: actually there is a reusable property: > linux,cma { > compatible = "shared-dma-pool"; > reusable; > size = <0 0x28000000>; > alloc-ranges = <0 0x40000000 0 0x40000000>; > linux,cma-default; > }; > > The root cause was that the CMA region was initialized at a very early stage > since above commit in question. > The call flow became: > early_init_fdt_scan_reserved_mem()->fdt_scan_reserved_mem()-> > __reserved_mem_alloc_size()->of_reserved_mem_save_node(NULL, xxx)-> > of_init_reserved_mem_node()->__reserved_mem_init_node(). > > The rmem->dev_node is still NULL when calling __reserved_mem_init_node() > which fails to call the rmem_cma_setup(). > > Please let me know if there's already a fix patch. > > [1] https://lore.kernel.org/all/20240620001027.2326275-1-quic_obabatun@xxxxxxxxxxx/ > > Regards > Aisheng Hi Aisheng, I have uploaded a fix here: https://lore.kernel.org/all/20240708230613.448846-1-quic_obabatun@xxxxxxxxxxx/ Please test and see if this fixes the issue. Thank you! Oreoluwa