Loading drivers/media/platform/msm/sde/rotator/sde_rotator_core.c +1 −1 Original line number Diff line number Diff line Loading @@ -2007,7 +2007,7 @@ static void sde_rotator_cancel_request(struct sde_rot_mgr *mgr, devm_kfree(&mgr->pdev->dev, req); } static void sde_rotator_cancel_all_requests(struct sde_rot_mgr *mgr, void sde_rotator_cancel_all_requests(struct sde_rot_mgr *mgr, struct sde_rot_file_private *private) { struct sde_rot_entry_container *req, *req_next; Loading drivers/media/platform/msm/sde/rotator/sde_rotator_core.h +8 −0 Original line number Diff line number Diff line Loading @@ -685,6 +685,14 @@ int sde_rotator_validate_request(struct sde_rot_mgr *rot_dev, */ int sde_rotator_clk_ctrl(struct sde_rot_mgr *mgr, int enable); /* * sde_rotator_cancel_all_requests - cancel all outstanding requests * @mgr: Pointer to rotator manager * @private: Pointer to rotator manager per file context */ void sde_rotator_cancel_all_requests(struct sde_rot_mgr *mgr, struct sde_rot_file_private *private); /* * sde_rot_mgr_lock - serialization lock prior to rotator manager calls * @mgr: Pointer to rotator manager Loading drivers/media/platform/msm/sde/rotator/sde_rotator_dev.c +5 −1 Original line number Diff line number Diff line Loading @@ -450,11 +450,15 @@ static void sde_rotator_stop_streaming(struct vb2_queue *q) list_empty(&ctx->pending_list), msecs_to_jiffies(rot_dev->streamoff_timeout)); mutex_lock(q->lock); if (!ret) if (!ret) { SDEDEV_ERR(rot_dev->dev, "timeout to stream off s:%d t:%d p:%d\n", ctx->session_id, q->type, !list_empty(&ctx->pending_list)); sde_rot_mgr_lock(rot_dev->mgr); sde_rotator_cancel_all_requests(rot_dev->mgr, ctx->private); sde_rot_mgr_unlock(rot_dev->mgr); } sde_rotator_return_all_buffers(q, VB2_BUF_STATE_ERROR); Loading Loading
drivers/media/platform/msm/sde/rotator/sde_rotator_core.c +1 −1 Original line number Diff line number Diff line Loading @@ -2007,7 +2007,7 @@ static void sde_rotator_cancel_request(struct sde_rot_mgr *mgr, devm_kfree(&mgr->pdev->dev, req); } static void sde_rotator_cancel_all_requests(struct sde_rot_mgr *mgr, void sde_rotator_cancel_all_requests(struct sde_rot_mgr *mgr, struct sde_rot_file_private *private) { struct sde_rot_entry_container *req, *req_next; Loading
drivers/media/platform/msm/sde/rotator/sde_rotator_core.h +8 −0 Original line number Diff line number Diff line Loading @@ -685,6 +685,14 @@ int sde_rotator_validate_request(struct sde_rot_mgr *rot_dev, */ int sde_rotator_clk_ctrl(struct sde_rot_mgr *mgr, int enable); /* * sde_rotator_cancel_all_requests - cancel all outstanding requests * @mgr: Pointer to rotator manager * @private: Pointer to rotator manager per file context */ void sde_rotator_cancel_all_requests(struct sde_rot_mgr *mgr, struct sde_rot_file_private *private); /* * sde_rot_mgr_lock - serialization lock prior to rotator manager calls * @mgr: Pointer to rotator manager Loading
drivers/media/platform/msm/sde/rotator/sde_rotator_dev.c +5 −1 Original line number Diff line number Diff line Loading @@ -450,11 +450,15 @@ static void sde_rotator_stop_streaming(struct vb2_queue *q) list_empty(&ctx->pending_list), msecs_to_jiffies(rot_dev->streamoff_timeout)); mutex_lock(q->lock); if (!ret) if (!ret) { SDEDEV_ERR(rot_dev->dev, "timeout to stream off s:%d t:%d p:%d\n", ctx->session_id, q->type, !list_empty(&ctx->pending_list)); sde_rot_mgr_lock(rot_dev->mgr); sde_rotator_cancel_all_requests(rot_dev->mgr, ctx->private); sde_rot_mgr_unlock(rot_dev->mgr); } sde_rotator_return_all_buffers(q, VB2_BUF_STATE_ERROR); Loading