This reverts commit 9314891df119442a6ec1518b3d872c330e2bf1a1.
We're adding support for TI VIP driver, so this is no longer unused.
Signed-off-by: Yemike Abhilash Chandra <y-abhilashchandra@ti.com>
---
drivers/media/platform/ti/vpe/vpdma.c | 32 +++++++++++++++++++++++++++
drivers/media/platform/ti/vpe/vpdma.h | 3 +++
2 files changed, 35 insertions(+)
diff --git a/drivers/media/platform/ti/vpe/vpdma.c b/drivers/media/platform/ti/vpe/vpdma.c
index bb8a8bd7980c..da90d7f03f82 100644
--- a/drivers/media/platform/ti/vpe/vpdma.c
+++ b/drivers/media/platform/ti/vpe/vpdma.c
@@ -552,6 +552,38 @@ EXPORT_SYMBOL(vpdma_submit_descs);
static void dump_dtd(struct vpdma_dtd *dtd);
+void vpdma_update_dma_addr(struct vpdma_data *vpdma,
+ struct vpdma_desc_list *list, dma_addr_t dma_addr,
+ void *write_dtd, int drop, int idx)
+{
+ struct vpdma_dtd *dtd = list->buf.addr;
+ dma_addr_t write_desc_addr;
+ int offset;
+
+ dtd += idx;
+ vpdma_unmap_desc_buf(vpdma, &list->buf);
+
+ dtd->start_addr = dma_addr;
+
+ /* Calculate write address from the offset of write_dtd from start
+ * of the list->buf
+ */
+ offset = (void *)write_dtd - list->buf.addr;
+ write_desc_addr = list->buf.dma_addr + offset;
+
+ if (drop)
+ dtd->desc_write_addr = dtd_desc_write_addr(write_desc_addr,
+ 1, 1, 0);
+ else
+ dtd->desc_write_addr = dtd_desc_write_addr(write_desc_addr,
+ 1, 0, 0);
+
+ vpdma_map_desc_buf(vpdma, &list->buf);
+
+ dump_dtd(dtd);
+}
+EXPORT_SYMBOL(vpdma_update_dma_addr);
+
void vpdma_set_max_size(struct vpdma_data *vpdma, int reg_addr,
u32 width, u32 height)
{
diff --git a/drivers/media/platform/ti/vpe/vpdma.h b/drivers/media/platform/ti/vpe/vpdma.h
index e4d7941c6207..393fcbb3cb40 100644
--- a/drivers/media/platform/ti/vpe/vpdma.h
+++ b/drivers/media/platform/ti/vpe/vpdma.h
@@ -222,6 +222,9 @@ void vpdma_free_desc_list(struct vpdma_desc_list *list);
int vpdma_submit_descs(struct vpdma_data *vpdma, struct vpdma_desc_list *list,
int list_num);
bool vpdma_list_busy(struct vpdma_data *vpdma, int list_num);
+void vpdma_update_dma_addr(struct vpdma_data *vpdma,
+ struct vpdma_desc_list *list, dma_addr_t dma_addr,
+ void *write_dtd, int drop, int idx);
/* VPDMA hardware list funcs */
int vpdma_hwlist_alloc(struct vpdma_data *vpdma, void *priv);
--
2.34.1
On 16/07/2025 13:19, Yemike Abhilash Chandra wrote:
> This reverts commit 9314891df119442a6ec1518b3d872c330e2bf1a1.
>
> We're adding support for TI VIP driver, so this is no longer unused.
>
> Signed-off-by: Yemike Abhilash Chandra <y-abhilashchandra@ti.com>
> ---
> drivers/media/platform/ti/vpe/vpdma.c | 32 +++++++++++++++++++++++++++
> drivers/media/platform/ti/vpe/vpdma.h | 3 +++
> 2 files changed, 35 insertions(+)
>
> diff --git a/drivers/media/platform/ti/vpe/vpdma.c b/drivers/media/platform/ti/vpe/vpdma.c
> index bb8a8bd7980c..da90d7f03f82 100644
> --- a/drivers/media/platform/ti/vpe/vpdma.c
> +++ b/drivers/media/platform/ti/vpe/vpdma.c
> @@ -552,6 +552,38 @@ EXPORT_SYMBOL(vpdma_submit_descs);
>
> static void dump_dtd(struct vpdma_dtd *dtd);
>
Please add kerneldoc.
> +void vpdma_update_dma_addr(struct vpdma_data *vpdma,
> + struct vpdma_desc_list *list, dma_addr_t dma_addr,
> + void *write_dtd, int drop, int idx)
> +{
> + struct vpdma_dtd *dtd = list->buf.addr;
> + dma_addr_t write_desc_addr;
> + int offset;
> +
> + dtd += idx;
> + vpdma_unmap_desc_buf(vpdma, &list->buf);
> +
> + dtd->start_addr = dma_addr;
> +
> + /* Calculate write address from the offset of write_dtd from start
> + * of the list->buf
> + */
> + offset = (void *)write_dtd - list->buf.addr;
> + write_desc_addr = list->buf.dma_addr + offset;
> +
> + if (drop)
> + dtd->desc_write_addr = dtd_desc_write_addr(write_desc_addr,
> + 1, 1, 0);
> + else
> + dtd->desc_write_addr = dtd_desc_write_addr(write_desc_addr,
> + 1, 0, 0);
> +
> + vpdma_map_desc_buf(vpdma, &list->buf);
> +
> + dump_dtd(dtd);
> +}
> +EXPORT_SYMBOL(vpdma_update_dma_addr);
This has to be GPL
> +
> void vpdma_set_max_size(struct vpdma_data *vpdma, int reg_addr,
> u32 width, u32 height)
Best regards,
Krzysztof
Hi Krzysztof,
Thanks for the review.
On 16/07/25 19:53, Krzysztof Kozlowski wrote:
> On 16/07/2025 13:19, Yemike Abhilash Chandra wrote:
>> This reverts commit 9314891df119442a6ec1518b3d872c330e2bf1a1.
>>
>> We're adding support for TI VIP driver, so this is no longer unused.
>>
>> Signed-off-by: Yemike Abhilash Chandra <y-abhilashchandra@ti.com>
>> ---
>> drivers/media/platform/ti/vpe/vpdma.c | 32 +++++++++++++++++++++++++++
>> drivers/media/platform/ti/vpe/vpdma.h | 3 +++
>> 2 files changed, 35 insertions(+)
>>
>> diff --git a/drivers/media/platform/ti/vpe/vpdma.c b/drivers/media/platform/ti/vpe/vpdma.c
>> index bb8a8bd7980c..da90d7f03f82 100644
>> --- a/drivers/media/platform/ti/vpe/vpdma.c
>> +++ b/drivers/media/platform/ti/vpe/vpdma.c
>> @@ -552,6 +552,38 @@ EXPORT_SYMBOL(vpdma_submit_descs);
>>
>> static void dump_dtd(struct vpdma_dtd *dtd);
>>
>
>
> Please add kerneldoc.
>
I will add kerneldoc in v3. Thanks
>> +void vpdma_update_dma_addr(struct vpdma_data *vpdma,
>> + struct vpdma_desc_list *list, dma_addr_t dma_addr,
>> + void *write_dtd, int drop, int idx)
>> +{
>> + struct vpdma_dtd *dtd = list->buf.addr;
>> + dma_addr_t write_desc_addr;
>> + int offset;
>> +
>> + dtd += idx;
>> + vpdma_unmap_desc_buf(vpdma, &list->buf);
>> +
>> + dtd->start_addr = dma_addr;
>> +
>> + /* Calculate write address from the offset of write_dtd from start
>> + * of the list->buf
>> + */
>> + offset = (void *)write_dtd - list->buf.addr;
>> + write_desc_addr = list->buf.dma_addr + offset;
>> +
>> + if (drop)
>> + dtd->desc_write_addr = dtd_desc_write_addr(write_desc_addr,
>> + 1, 1, 0);
>> + else
>> + dtd->desc_write_addr = dtd_desc_write_addr(write_desc_addr,
>> + 1, 0, 0);
>> +
>> + vpdma_map_desc_buf(vpdma, &list->buf);
>> +
>> + dump_dtd(dtd);
>> +}
>> +EXPORT_SYMBOL(vpdma_update_dma_addr);
>
>
> This has to be GPL
>
I will correct this in v3.
Thanks and Regards
Yemike Abhilash Chandra
>> +
>> void vpdma_set_max_size(struct vpdma_data *vpdma, int reg_addr,
>> u32 width, u32 height)
>
> Best regards,
> Krzysztof
© 2016 - 2026 Red Hat, Inc.