linux (Samsung): rebase patches for 6.9

This commit is contained in:
Rudi Heitbaum 2024-05-15 11:12:18 +00:00
parent 222b4353f7
commit d8d9a4a612

View File

@ -13,35 +13,35 @@ diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c b/drivers/medi
index b65e506665af..d445466046eb 100644
--- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c
+++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c
@@ -1214,6 +1214,7 @@ static int enc_post_frame_start(struct s5p_mfc_ctx *ctx)
@@ -1231,6 +1231,7 @@ static int enc_post_frame_start(struct s5p_mfc_ctx *ctx)
{
struct s5p_mfc_dev *dev = ctx->dev;
struct s5p_mfc_buf *mb_entry;
+ struct s5p_mfc_buf *dst_buf;
unsigned long enc_y_addr = 0, enc_c_addr = 0;
unsigned long mb_y_addr, mb_c_addr;
unsigned long enc_y_addr = 0, enc_c_addr = 0, enc_c_1_addr = 0;
unsigned long mb_y_addr, mb_c_addr, mb_c_1_addr;
int slice_type;
@@ -1233,8 +1234,12 @@ static int enc_post_frame_start(struct s5p_mfc_ctx *ctx)
&mb_entry->b->vb2_buf, 0);
mb_c_addr = vb2_dma_contig_plane_dma_addr(
&mb_entry->b->vb2_buf, 1);
@@ -1259,8 +1260,12 @@ static int enc_post_frame_start(struct s5p_mfc_ctx *ctx)
(&mb_entry->b->vb2_buf, 2);
else
mb_c_1_addr = 0;
+ dst_buf = list_entry(ctx->dst_queue.next,
+ struct s5p_mfc_buf, list);
if ((enc_y_addr == mb_y_addr) &&
(enc_c_addr == mb_c_addr)) {
if (enc_y_addr == mb_y_addr && enc_c_addr == mb_c_addr && enc_c_1_addr
== mb_c_1_addr) {
+ dst_buf->b->timecode = mb_entry->b->timecode;
+ dst_buf->b->vb2_buf.timestamp = mb_entry->b->vb2_buf.timestamp;
list_del(&mb_entry->list);
ctx->src_queue_cnt--;
vb2_buffer_done(&mb_entry->b->vb2_buf,
@@ -1247,8 +1252,12 @@ static int enc_post_frame_start(struct s5p_mfc_ctx *ctx)
&mb_entry->b->vb2_buf, 0);
mb_c_addr = vb2_dma_contig_plane_dma_addr(
&mb_entry->b->vb2_buf, 1);
@@ -1280,8 +1285,12 @@ static int enc_post_frame_start(struct s5p_mfc_ctx *ctx)
mb_entry->b->vb2_buf, 2);
else
mb_c_1_addr = 0;
+ dst_buf = list_entry(ctx->dst_queue.next,
+ struct s5p_mfc_buf, list);
if ((enc_y_addr == mb_y_addr) &&
(enc_c_addr == mb_c_addr)) {
if (enc_y_addr == mb_y_addr && enc_c_addr == mb_c_addr && enc_c_1_addr
== mb_c_1_addr) {
+ dst_buf->b->timecode = mb_entry->b->timecode;
+ dst_buf->b->vb2_buf.timestamp = mb_entry->b->vb2_buf.timestamp;
list_del(&mb_entry->list);