|
@@ -1532,27 +1532,11 @@ static inline int s5p_mfc_get_new_ctx(struct s5p_mfc_dev *dev)
|
|
|
static inline void s5p_mfc_run_dec_last_frames(struct s5p_mfc_ctx *ctx)
|
|
|
{
|
|
|
struct s5p_mfc_dev *dev = ctx->dev;
|
|
|
- struct s5p_mfc_buf *temp_vb;
|
|
|
- unsigned long flags;
|
|
|
-
|
|
|
- spin_lock_irqsave(&dev->irqlock, flags);
|
|
|
-
|
|
|
- /* Frames are being decoded */
|
|
|
- if (list_empty(&ctx->src_queue)) {
|
|
|
- mfc_debug(2, "No src buffers.\n");
|
|
|
- spin_unlock_irqrestore(&dev->irqlock, flags);
|
|
|
- return;
|
|
|
- }
|
|
|
- /* Get the next source buffer */
|
|
|
- temp_vb = list_entry(ctx->src_queue.next, struct s5p_mfc_buf, list);
|
|
|
- temp_vb->flags |= MFC_BUF_FLAG_USED;
|
|
|
- s5p_mfc_set_dec_stream_buffer_v6(ctx,
|
|
|
- vb2_dma_contig_plane_dma_addr(temp_vb->b, 0), 0, 0);
|
|
|
- spin_unlock_irqrestore(&dev->irqlock, flags);
|
|
|
|
|
|
+ s5p_mfc_set_dec_stream_buffer_v6(ctx, 0, 0, 0);
|
|
|
dev->curr_ctx = ctx->num;
|
|
|
s5p_mfc_clean_ctx_int_flags(ctx);
|
|
|
- s5p_mfc_decode_one_frame_v6(ctx, 1);
|
|
|
+ s5p_mfc_decode_one_frame_v6(ctx, MFC_DEC_LAST_FRAME);
|
|
|
}
|
|
|
|
|
|
static inline int s5p_mfc_run_dec_frame(struct s5p_mfc_ctx *ctx)
|