[v3] media: mediatek: vcodec: fix AV1 decoding on MT8188

2023-08-03 Thread Xiaoyong Lu
Fix AV1 decoding failure when the iova is 36bit. Before this fix, the decoder was accessing incorrect addresses with 36bit iova tile buffer, leading to iommu faults. Fixes: 2f5d0aef37c6 ("media: mediatek: vcodec: support stateless AV1 decoder") Signed-off-by: Xiaoyong Lu --- Chang

[v2] media: mediatek: vcodec: fix AV1 decode fail for 36bit iova

2023-07-03 Thread Xiaoyong Lu
Fix av1 decode fail when iova is 36bit. Decoder hardware will access incorrect iova address when tile buffer is 36bit, it will lead to iommu fault when hardware access dram data. Fixes: 2f5d0aef37c6 ("media: mediatek: vcodec: support stateless AV1 decoder") Signed-off-by: Xiaoyong Lu -

media: mediatek: vcodec: fix AV1 decode fail for 36bit iova

2023-06-27 Thread Xiaoyong Lu
Decoder hardware will access incorrect iova address when tile buffer is 36bit, leading to iommu fault when hardware access dram data. Fixes: 2f5d0aef37c6 ("media: mediatek: vcodec: support stateless AV1 decoder") Signed-off-by: Xiaoyong Lu --- - Test ok: mt8195 32bit and mt8188

[v11] media: mediatek: vcodec: support stateless AV1 decoder

2023-05-30 Thread Xiaoyong Lu
Add mediatek av1 decoder linux driver which use the stateless API in MT8195. Signed-off-by: Xiaoyong Lu Tested-by: Nicolas Dufresne Reviewed-by: Nicolas Dufresne Tested-by: AngeloGioacchino Del Regno Reviewed-by: AngeloGioacchino Del Regno --- Changes from v10: - fix conflict with new patch

[v10] media: mediatek: vcodec: support stateless AV1 decoder

2023-04-14 Thread Xiaoyong Lu
Add mediatek av1 decoder linux driver which use the stateless API in MT8195. Signed-off-by: Xiaoyong Lu Tested-by: Nicolas Dufresne Reviewed-by: Nicolas Dufresne Tested-by: AngeloGioacchino Del Regno Reviewed-by: AngeloGioacchino Del Regno --- Changes from v9: - match av1 uapi version from

[v9] media: mediatek: vcodec: support stateless AV1 decoder

2023-04-11 Thread Xiaoyong Lu
Add mediatek av1 decoder linux driver which use the stateless API in MT8195. Signed-off-by: Xiaoyong Lu Tested-by: Nicolas Dufresne Reviewed-by: Nicolas Dufresne Tested-by: AngeloGioacchino Del Regno Reviewed-by: AngeloGioacchino Del Regno --- Changes from v8: - remove RFC tag in subject

[RFC PATCH v8] media: mediatek: vcodec: support stateless AV1 decoder

2023-01-30 Thread Xiaoyong Lu
Add mediatek av1 decoder linux driver which use the stateless API in MT8195. Signed-off-by: Xiaoyong Lu --- Changes from v7: - change V4L2_CID_STATELESS_AV1_PROFILE to V4L2_CID_MPEG_VIDEO_AV1_PROFILE, V4L2_CID_STATELESS_AV1_LEVEL to V4L2_CID_MPEG_VIDEO_AV1_LEVEL to match av1 uAPI V4. - remove

[RFC PATCH v7] media: mediatek: vcodec: support stateless AV1 decoder

2022-11-17 Thread Xiaoyong Lu
Add mediatek av1 decoder linux driver which use the stateless API in MT8195. Signed-off-by: Xiaoyong Lu --- Changes from v6: - change slot_id type from u8 to s8 - test by av1 fluster, result is 173/239 Changes from v5: - change av1 PROFILE and LEVEL cfg - test by av1 fluster, result is 173/239

[RFC PATCH v6] media: mediatek: vcodec: support stateless AV1 decoder

2022-11-16 Thread Xiaoyong Lu
Add mediatek av1 decoder linux driver which use the stateless API in MT8195. Signed-off-by: Xiaoyong Lu --- Changes from v5: - change av1 PROFILE and LEVEL cfg - test by av1 fluster, result is 173/239 Changes from v4: - convert vb2_find_timestamp to vb2_find_buffer - test by av1 fluster

[RFC PATCH v5] media: mediatek: vcodec: support stateless AV1 decoder

2022-09-30 Thread Xiaoyong Lu
Add mediatek av1 decoder linux driver which use the stateless API in MT8195. Signed-off-by: Xiaoyong Lu --- Changes from v4: - convert vb2_find_timestamp to vb2_find_buffer - test by av1 fluster, result is 173/239 Changes from v3: - modify comment for struct vdec_av1_slice_slot - add define

[RFC PATCH v4] media: mediatek: vcodec: support stateless AV1 decoder

2022-09-29 Thread Xiaoyong Lu
Add mediatek av1 decoder linux driver which use the stateless API in MT8195. Signed-off-by: Xiaoyong Lu --- Changes from v3: - modify comment for struct vdec_av1_slice_slot - add define SEG_LVL_ALT_Q - change use_lr/use_chroma_lr parse from av1 spec - use ARRAY_SIZE to replace size