On Thu, Feb 8, 2018 at 1:21 PM, Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx> wrote: > dma_alloc_coherent expects it third argument type to be dma_addr_t and > not phys_addr_t. > When phys_addr_t is defined as u32 and dma_addr_t as u64 that generate > a compilation issue. > Change the variable name because dma_alloc_coherent returns a bus > address not a physical address. > > @@ -480,14 +480,14 @@ int qcom_scm_assign_mem(phys_addr_t mem_addr, size_t mem_sz, > > /* Fill details of mem buff to map */ > mem_to_map = ptr + ALIGN(src_sz, SZ_64); > - mem_to_map_phys = ptr_phys + ALIGN(src_sz, SZ_64); > + mem_to_map_phys = handle + ALIGN(src_sz, SZ_64); > mem_to_map[0].mem_addr = cpu_to_le64(mem_addr); > mem_to_map[0].mem_size = cpu_to_le64(mem_sz); > > next_vm = 0; > /* Fill details of next vmid detail */ > destvm = ptr + ALIGN(mem_to_map_sz, SZ_64) + ALIGN(src_sz, SZ_64); > - dest_phys = ptr_phys + ALIGN(mem_to_map_sz, SZ_64) + ALIGN(src_sz, SZ_64); > + dest_phys = handle + ALIGN(mem_to_map_sz, SZ_64) + ALIGN(src_sz, SZ_64); This still assigns from a 'dma' address to a 'phys' address without a long comment explaining why you do it. There is also another instance of the naming confusion in qcom_scm_pas_init_image and __qcom_scm_pas_init_image, so maybe they should be addressed at the same time. Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html