* [PATCH v3] media: mediatek: vcodec: support 36 bits physical address
@ 2024-04-11 7:01 Yunfei Dong
2024-04-11 7:11 ` Hans Verkuil
0 siblings, 1 reply; 3+ messages in thread
From: Yunfei Dong @ 2024-04-11 7:01 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Nícolas F . R . A . Prado,
Nicolas Dufresne, Hans Verkuil, AngeloGioacchino Del Regno,
Benjamin Gaignard, Nathan Hebert, Sebastian Fricke
Cc: Hsin-Yi Wang, Fritz Koenig, Daniel Vetter, Steve Cho,
Yunfei Dong, linux-media, devicetree, linux-kernel,
linux-arm-kernel, linux-mediatek,
Project_Global_Chrome_Upstream_Group
The physical address on the MT8188 platform is larger than 32 bits,
change the type from unsigned int to dma_addr_t to be able to access
the high bits of the address.
Signed-off-by: Yunfei Dong <yunfei.dong@mediatek.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
---
compared with v2:
- remove unless cast
---
.../media/platform/mediatek/vcodec/decoder/vdec/vdec_vp8_if.c | 2 +-
.../mediatek/vcodec/decoder/vdec/vdec_vp9_req_lat_if.c | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp8_if.c b/drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp8_if.c
index 9649f4ec1f2a..5f848691cea4 100644
--- a/drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp8_if.c
+++ b/drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp8_if.c
@@ -449,7 +449,7 @@ static int vdec_vp8_decode(void *h_vdec, struct mtk_vcodec_mem *bs,
inst->frm_cnt, y_fb_dma, c_fb_dma, fb);
inst->cur_fb = fb;
- dec->bs_dma = (unsigned long)bs->dma_addr;
+ dec->bs_dma = bs->dma_addr;
dec->bs_sz = bs->size;
dec->cur_y_fb_dma = y_fb_dma;
dec->cur_c_fb_dma = c_fb_dma;
diff --git a/drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp9_req_lat_if.c b/drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp9_req_lat_if.c
index cf48d09b78d7..eea709d93820 100644
--- a/drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp9_req_lat_if.c
+++ b/drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp9_req_lat_if.c
@@ -1074,7 +1074,7 @@ static int vdec_vp9_slice_setup_tile_buffer(struct vdec_vp9_slice_instance *inst
unsigned int mi_row;
unsigned int mi_col;
unsigned int offset;
- unsigned int pa;
+ dma_addr_t pa;
unsigned int size;
struct vdec_vp9_slice_tiles *tiles;
unsigned char *pos;
@@ -1109,7 +1109,7 @@ static int vdec_vp9_slice_setup_tile_buffer(struct vdec_vp9_slice_instance *inst
pos = va + offset;
end = va + bs->size;
/* truncated */
- pa = (unsigned int)bs->dma_addr + offset;
+ pa = bs->dma_addr + offset;
tb = instance->tile.va;
for (i = 0; i < rows; i++) {
for (j = 0; j < cols; j++) {
--
2.18.0
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v3] media: mediatek: vcodec: support 36 bits physical address
2024-04-11 7:01 [PATCH v3] media: mediatek: vcodec: support 36 bits physical address Yunfei Dong
@ 2024-04-11 7:11 ` Hans Verkuil
2024-04-12 3:59 ` Yunfei Dong (董云飞)
0 siblings, 1 reply; 3+ messages in thread
From: Hans Verkuil @ 2024-04-11 7:11 UTC (permalink / raw)
To: Yunfei Dong, Mauro Carvalho Chehab,
Nícolas F . R . A . Prado, Nicolas Dufresne,
AngeloGioacchino Del Regno, Benjamin Gaignard, Nathan Hebert,
Sebastian Fricke
Cc: Hsin-Yi Wang, Fritz Koenig, Daniel Vetter, Steve Cho,
linux-media, devicetree, linux-kernel, linux-arm-kernel,
linux-mediatek, Project_Global_Chrome_Upstream_Group
Hi Yunfei,
Since the v2 patch is now merged in mainline as-is, you need to make a patch
on top of that.
So just post a new patch that applies to the mainline.
Regards,
Hans
On 11/04/2024 09:01, Yunfei Dong wrote:
> The physical address on the MT8188 platform is larger than 32 bits,
> change the type from unsigned int to dma_addr_t to be able to access
> the high bits of the address.
>
> Signed-off-by: Yunfei Dong <yunfei.dong@mediatek.com>
> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
> ---
> compared with v2:
> - remove unless cast
> ---
> .../media/platform/mediatek/vcodec/decoder/vdec/vdec_vp8_if.c | 2 +-
> .../mediatek/vcodec/decoder/vdec/vdec_vp9_req_lat_if.c | 4 ++--
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp8_if.c b/drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp8_if.c
> index 9649f4ec1f2a..5f848691cea4 100644
> --- a/drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp8_if.c
> +++ b/drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp8_if.c
> @@ -449,7 +449,7 @@ static int vdec_vp8_decode(void *h_vdec, struct mtk_vcodec_mem *bs,
> inst->frm_cnt, y_fb_dma, c_fb_dma, fb);
>
> inst->cur_fb = fb;
> - dec->bs_dma = (unsigned long)bs->dma_addr;
> + dec->bs_dma = bs->dma_addr;
> dec->bs_sz = bs->size;
> dec->cur_y_fb_dma = y_fb_dma;
> dec->cur_c_fb_dma = c_fb_dma;
> diff --git a/drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp9_req_lat_if.c b/drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp9_req_lat_if.c
> index cf48d09b78d7..eea709d93820 100644
> --- a/drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp9_req_lat_if.c
> +++ b/drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp9_req_lat_if.c
> @@ -1074,7 +1074,7 @@ static int vdec_vp9_slice_setup_tile_buffer(struct vdec_vp9_slice_instance *inst
> unsigned int mi_row;
> unsigned int mi_col;
> unsigned int offset;
> - unsigned int pa;
> + dma_addr_t pa;
> unsigned int size;
> struct vdec_vp9_slice_tiles *tiles;
> unsigned char *pos;
> @@ -1109,7 +1109,7 @@ static int vdec_vp9_slice_setup_tile_buffer(struct vdec_vp9_slice_instance *inst
> pos = va + offset;
> end = va + bs->size;
> /* truncated */
> - pa = (unsigned int)bs->dma_addr + offset;
> + pa = bs->dma_addr + offset;
> tb = instance->tile.va;
> for (i = 0; i < rows; i++) {
> for (j = 0; j < cols; j++) {
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v3] media: mediatek: vcodec: support 36 bits physical address
2024-04-11 7:11 ` Hans Verkuil
@ 2024-04-12 3:59 ` Yunfei Dong (董云飞)
0 siblings, 0 replies; 3+ messages in thread
From: Yunfei Dong (董云飞) @ 2024-04-12 3:59 UTC (permalink / raw)
To: nhebert, mchehab, nicolas.dufresne, benjamin.gaignard,
hverkuil-cisco, sebastian.fricke, angelogioacchino.delregno,
nfraprado
Cc: linux-kernel, linux-mediatek, frkoenig, stevecho, linux-media,
devicetree, daniel, Project_Global_Chrome_Upstream_Group, hsinyi,
linux-arm-kernel
Hi Hans,
Thanks for your advice.
Send the fix patch again => media: mediatek: vcodec: Fix unreasonable
data conversion
Best Regards,
Yunfei Dong
On Thu, 2024-04-11 at 09:11 +0200, Hans Verkuil wrote:
>
> External email : Please do not click links or open attachments until
> you have verified the sender or the content.
> Hi Yunfei,
>
> Since the v2 patch is now merged in mainline as-is, you need to make
> a patch
> on top of that.
>
> So just post a new patch that applies to the mainline.
>
> Regards,
>
> Hans
>
> On 11/04/2024 09:01, Yunfei Dong wrote:
> > The physical address on the MT8188 platform is larger than 32 bits,
> > change the type from unsigned int to dma_addr_t to be able to
> access
> > the high bits of the address.
> >
> > Signed-off-by: Yunfei Dong <yunfei.dong@mediatek.com>
> > Reviewed-by: AngeloGioacchino Del Regno <
> angelogioacchino.delregno@collabora.com>
> > ---
> > compared with v2:
> > - remove unless cast
> > ---
> > .../media/platform/mediatek/vcodec/decoder/vdec/vdec_vp8_if.c | 2
> +-
> > .../mediatek/vcodec/decoder/vdec/vdec_vp9_req_lat_if.c | 4
> ++--
> > 2 files changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git
> a/drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp8_if.c
> b/drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp8_if.c
> > index 9649f4ec1f2a..5f848691cea4 100644
> > ---
> a/drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp8_if.c
> > +++
> b/drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp8_if.c
> > @@ -449,7 +449,7 @@ static int vdec_vp8_decode(void *h_vdec, struct
> mtk_vcodec_mem *bs,
> > inst->frm_cnt, y_fb_dma, c_fb_dma, fb);
> >
> > inst->cur_fb = fb;
> > -dec->bs_dma = (unsigned long)bs->dma_addr;
> > +dec->bs_dma = bs->dma_addr;
> > dec->bs_sz = bs->size;
> > dec->cur_y_fb_dma = y_fb_dma;
> > dec->cur_c_fb_dma = c_fb_dma;
> > diff --git
> a/drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp9_req_la
> t_if.c
> b/drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp9_req_la
> t_if.c
> > index cf48d09b78d7..eea709d93820 100644
> > ---
> a/drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp9_req_la
> t_if.c
> > +++
> b/drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp9_req_la
> t_if.c
> > @@ -1074,7 +1074,7 @@ static int
> vdec_vp9_slice_setup_tile_buffer(struct vdec_vp9_slice_instance *inst
> > unsigned int mi_row;
> > unsigned int mi_col;
> > unsigned int offset;
> > -unsigned int pa;
> > +dma_addr_t pa;
> > unsigned int size;
> > struct vdec_vp9_slice_tiles *tiles;
> > unsigned char *pos;
> > @@ -1109,7 +1109,7 @@ static int
> vdec_vp9_slice_setup_tile_buffer(struct vdec_vp9_slice_instance *inst
> > pos = va + offset;
> > end = va + bs->size;
> > /* truncated */
> > -pa = (unsigned int)bs->dma_addr + offset;
> > +pa = bs->dma_addr + offset;
> > tb = instance->tile.va;
> > for (i = 0; i < rows; i++) {
> > for (j = 0; j < cols; j++) {
>
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-04-12 4:00 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-11 7:01 [PATCH v3] media: mediatek: vcodec: support 36 bits physical address Yunfei Dong
2024-04-11 7:11 ` Hans Verkuil
2024-04-12 3:59 ` Yunfei Dong (董云飞)
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®