cppi5_hdesc_init(desc_rx, CPPI5_INFO0_HDESC_EPIB_PRESENT,
                         AM65_CPSW_NAV_PS_DATA_SIZE);
+       k3_udma_glue_rx_dma_to_cppi5_addr(rx_chn->rx_chn, &buf_dma);
        cppi5_hdesc_attach_buf(desc_rx, buf_dma, skb_tailroom(skb), buf_dma, skb_tailroom(skb));
        swdata = cppi5_hdesc_get_swdata(desc_rx);
        *((void **)swdata) = skb;
        swdata = cppi5_hdesc_get_swdata(desc_rx);
        skb = *swdata;
        cppi5_hdesc_get_obuf(desc_rx, &buf_dma, &buf_dma_len);
+       k3_udma_glue_rx_cppi5_to_dma_addr(rx_chn->rx_chn, &buf_dma);
 
        dma_unmap_single(rx_chn->dma_dev, buf_dma, buf_dma_len, DMA_FROM_DEVICE);
        k3_cppi_desc_pool_free(rx_chn->desc_pool, desc_rx);
        swdata = cppi5_hdesc_get_swdata(desc_rx);
        skb = *swdata;
        cppi5_hdesc_get_obuf(desc_rx, &buf_dma, &buf_dma_len);
+       k3_udma_glue_rx_cppi5_to_dma_addr(rx_chn->rx_chn, &buf_dma);
        pkt_len = cppi5_hdesc_get_pktlen(desc_rx);
        cppi5_desc_get_tags_ids(&desc_rx->hdr, &port_id, NULL);
        dev_dbg(dev, "%s rx port_id:%d\n", __func__, port_id);
        next_desc = first_desc;
 
        cppi5_hdesc_get_obuf(first_desc, &buf_dma, &buf_dma_len);
+       k3_udma_glue_tx_cppi5_to_dma_addr(tx_chn->tx_chn, &buf_dma);
 
        dma_unmap_single(tx_chn->dma_dev, buf_dma, buf_dma_len, DMA_TO_DEVICE);
 
        next_desc_dma = cppi5_hdesc_get_next_hbdesc(first_desc);
+       k3_udma_glue_tx_cppi5_to_dma_addr(tx_chn->tx_chn, &next_desc_dma);
        while (next_desc_dma) {
                next_desc = k3_cppi_desc_pool_dma2virt(tx_chn->desc_pool,
                                                       next_desc_dma);
                cppi5_hdesc_get_obuf(next_desc, &buf_dma, &buf_dma_len);
+               k3_udma_glue_tx_cppi5_to_dma_addr(tx_chn->tx_chn, &buf_dma);
 
                dma_unmap_page(tx_chn->dma_dev, buf_dma, buf_dma_len,
                               DMA_TO_DEVICE);
 
                next_desc_dma = cppi5_hdesc_get_next_hbdesc(next_desc);
+               k3_udma_glue_tx_cppi5_to_dma_addr(tx_chn->tx_chn, &next_desc_dma);
 
                k3_cppi_desc_pool_free(tx_chn->desc_pool, next_desc);
        }
        cppi5_hdesc_set_pkttype(first_desc, 0x7);
        cppi5_desc_set_tags_ids(&first_desc->hdr, 0, port->port_id);
 
+       k3_udma_glue_tx_dma_to_cppi5_addr(tx_chn->tx_chn, &buf_dma);
        cppi5_hdesc_attach_buf(first_desc, buf_dma, pkt_len, buf_dma, pkt_len);
        swdata = cppi5_hdesc_get_swdata(first_desc);
        *(swdata) = skb;
                }
 
                cppi5_hdesc_reset_hbdesc(next_desc);
+               k3_udma_glue_tx_dma_to_cppi5_addr(tx_chn->tx_chn, &buf_dma);
                cppi5_hdesc_attach_buf(next_desc,
                                       buf_dma, frag_size, buf_dma, frag_size);
 
                desc_dma = k3_cppi_desc_pool_virt2dma(tx_chn->desc_pool,
                                                      next_desc);
+               k3_udma_glue_tx_dma_to_cppi5_addr(tx_chn->tx_chn, &desc_dma);
                cppi5_hdesc_link_hbdesc(cur_desc, desc_dma);
 
                pkt_len += frag_size;