Re: [PATCH] firmware: qcom_scm: use correct parameter type for dma_alloc_coherent

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux