mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-10 12:57:06 +09:00
Merge commit 'a4c4ab2f3a2fa197a3796f2a8a5f92eca98fe969'
* commit 'a4c4ab2f3a2fa197a3796f2a8a5f92eca98fe969': media: rockchip: vicap fix current files is NULL when release fd video: rockchip: rga3: clear 'ret' on reset request media: i2c: os04a10: Fix lockdep warning media: i2c: imx464: Fix lockdep warning drm/rockchip: vop2: Fix sharp was disabled by mistake media: rockchip: vpss: fix online use channel assigned to offline Change-Id: I6344c78451bdbd37863145f2ba96fb6d1463a33a
This commit is contained in:
@@ -11543,6 +11543,8 @@ static void vop2_crtc_atomic_flush(struct drm_crtc *crtc, struct drm_atomic_stat
|
||||
struct drm_atomic_state *old_state = old_cstate->state;
|
||||
struct vop2_video_port *vp = to_vop2_video_port(crtc);
|
||||
struct vop2 *vop2 = vp->vop2;
|
||||
const struct vop2_data *vop2_data = vop2->data;
|
||||
const struct vop2_video_port_data *vp_data = &vop2_data->vp[vp->id];
|
||||
struct drm_plane_state *old_pstate;
|
||||
struct drm_plane *plane;
|
||||
unsigned long flags;
|
||||
@@ -11614,7 +11616,8 @@ static void vop2_crtc_atomic_flush(struct drm_crtc *crtc, struct drm_atomic_stat
|
||||
VOP_MODULE_SET(vop2, vp, cubic_lut_update_en, 0);
|
||||
}
|
||||
|
||||
vop2_post_sharp_config(crtc);
|
||||
if (vp_data->feature & VOP_FEATURE_POST_SHARP)
|
||||
vop2_post_sharp_config(crtc);
|
||||
|
||||
if (vcstate->line_flag)
|
||||
vop2_crtc_enable_line_flag_event(crtc, vcstate->line_flag);
|
||||
|
||||
@@ -3041,7 +3041,7 @@ static int IMX464_initialize_controls(struct IMX464 *IMX464)
|
||||
IMX464->link_freq = v4l2_ctrl_new_int_menu(handler,
|
||||
NULL, V4L2_CID_LINK_FREQ,
|
||||
1, 0, link_freq_menu_items);
|
||||
__v4l2_ctrl_s_ctrl(IMX464->link_freq,
|
||||
v4l2_ctrl_s_ctrl(IMX464->link_freq,
|
||||
IMX464->cur_mode->mipi_freq_idx);
|
||||
pixel_rate = (u32)link_freq_menu_items[mode->mipi_freq_idx] / mode->bpp * 2 *
|
||||
IMX464->bus_cfg.bus.mipi_csi2.num_data_lanes;
|
||||
|
||||
@@ -2521,7 +2521,7 @@ static int os04a10_initialize_controls(struct os04a10 *os04a10)
|
||||
0, PIXEL_RATE_WITH_648M,
|
||||
1, dst_pixel_rate);
|
||||
|
||||
__v4l2_ctrl_s_ctrl(os04a10->link_freq, dst_link_freq);
|
||||
v4l2_ctrl_s_ctrl(os04a10->link_freq, dst_link_freq);
|
||||
|
||||
h_blank = mode->hts_def - mode->width;
|
||||
os04a10->hblank = v4l2_ctrl_new_std(handler, NULL, V4L2_CID_HBLANK,
|
||||
|
||||
@@ -5080,6 +5080,7 @@ static void rkcif_free_fence(struct rkcif_stream *stream)
|
||||
unsigned long lock_flags = 0;
|
||||
struct rkcif_fence *vb_fence, *done_fence;
|
||||
struct v4l2_device *v4l2_dev = &stream->cifdev->v4l2_dev;
|
||||
struct files_struct *files = current->files;
|
||||
LIST_HEAD(local_list);
|
||||
|
||||
spin_lock_irqsave(&stream->fence_lock, lock_flags);
|
||||
@@ -5100,8 +5101,10 @@ static void rkcif_free_fence(struct rkcif_stream *stream)
|
||||
v4l2_dbg(2, rkcif_debug, v4l2_dev, "%s: free qbuf_fence fd:%d\n",
|
||||
__func__, vb_fence->fence_fd);
|
||||
dma_fence_put(vb_fence->fence);
|
||||
put_unused_fd(vb_fence->fence_fd);
|
||||
close_fd(vb_fence->fence_fd);
|
||||
if (files) {
|
||||
put_unused_fd(vb_fence->fence_fd);
|
||||
close_fd(vb_fence->fence_fd);
|
||||
}
|
||||
kfree(vb_fence);
|
||||
}
|
||||
|
||||
@@ -5115,8 +5118,10 @@ static void rkcif_free_fence(struct rkcif_stream *stream)
|
||||
v4l2_dbg(2, rkcif_debug, v4l2_dev, "%s: free done_fence fd:%d\n",
|
||||
__func__, done_fence->fence_fd);
|
||||
dma_fence_put(done_fence->fence);
|
||||
put_unused_fd(done_fence->fence_fd);
|
||||
close_fd(done_fence->fence_fd);
|
||||
if (files) {
|
||||
put_unused_fd(done_fence->fence_fd);
|
||||
close_fd(done_fence->fence_fd);
|
||||
}
|
||||
kfree(done_fence);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1206,6 +1206,11 @@ static int rkvpss_start_streaming(struct vb2_queue *queue, unsigned int count)
|
||||
goto free_buf_queue;
|
||||
}
|
||||
|
||||
if (hw->is_ofl_ch[stream->id]) {
|
||||
v4l2_err(&dev->v4l2_dev, "channel[%d] already assigned to offline", stream->id);
|
||||
goto free_buf_queue;
|
||||
}
|
||||
|
||||
rkvpss_pipeline_open(dev);
|
||||
|
||||
ret = rkvpss_stream_start(stream);
|
||||
|
||||
@@ -1130,6 +1130,7 @@ int rga_request_submit(struct rga_request *request)
|
||||
request->is_done = false;
|
||||
request->finished_task_count = 0;
|
||||
request->failed_task_count = 0;
|
||||
request->ret = 0;
|
||||
request->current_mm = current_mm;
|
||||
|
||||
/* Unlock after ensuring that the current request will not be resubmitted. */
|
||||
@@ -1236,6 +1237,7 @@ int rga_request_mpi_submit(struct rga_req *req, struct rga_request *request)
|
||||
request->is_done = false;
|
||||
request->finished_task_count = 0;
|
||||
request->failed_task_count = 0;
|
||||
request->ret = 0;
|
||||
|
||||
spin_unlock_irqrestore(&request->lock, flags);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user