Hi Anshul,
On 19:02, Anshul Dalal wrote:
> With the change to dma_addr_t from u32 to u64 for the R5 SPL, the

>From above line, Does this patch meant to after patch 2/2 ?

> existing typecasts from void* to int or vice-versa cause the compiler to
> throw a "cast from pointer to integer of different size".
> 
> Therefore this patch changes the casts to a uintptr_t which is
> guaranteed to hold any pointer value, thus supressing the compiler
> warning.
> 
> Signed-off-by: Anshul Dalal <[email protected]>
> ---
>  drivers/dma/ti/k3-udma.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/dma/ti/k3-udma.c b/drivers/dma/ti/k3-udma.c
> index 723265ab2e5..01824310995 100644
> --- a/drivers/dma/ti/k3-udma.c
> +++ b/drivers/dma/ti/k3-udma.c
> @@ -2327,7 +2327,7 @@ static int udma_send(struct dma *dma, void *src, size_t 
> len, void *metadata)
>  {
>       struct udma_dev *ud = dev_get_priv(dma->dev);
>       struct cppi5_host_desc_t *desc_tx;
> -     dma_addr_t dma_src = (dma_addr_t)src;
> +     dma_addr_t dma_src = (uintptr_t)src;

Considering after the dma_addr_t changed to u64, please help me understand what
warning does the above change fix.

Thanks,
Prasanth

>       struct ti_udma_drv_packet_data packet_data = { 0 };
>       dma_addr_t paddr;
>       struct udma_chan *uc;
> @@ -2426,7 +2426,7 @@ static int udma_receive(struct dma *dma, void **dst, 
> void *metadata)
>  
>       cppi5_desc_get_tags_ids(&desc_rx->hdr, &port_id, NULL);
>  
> -     *dst = (void *)buf_dma;
> +     *dst = (void *)(uintptr_t)buf_dma;
>       uc->num_rx_bufs--;
>  
>       return pkt_len;
> @@ -2518,7 +2518,7 @@ int udma_prepare_rcv_buf(struct dma *dma, void *dst, 
> size_t size)
>  
>       desc_num = uc->desc_rx_cur % UDMA_RX_DESC_NUM;
>       desc_rx = uc->desc_rx + (desc_num * uc->config.hdesc_size);
> -     dma_dst = (dma_addr_t)dst;
> +     dma_dst = (uintptr_t)dst;
>  
>       cppi5_hdesc_reset_hbdesc(desc_rx);
>  
> -- 
> 2.50.1
> 

Reply via email to