video: driver: remove release of dpb buffers
remove release of dpb buffers as part of start of output port. handle watchdog interrupt incase of page fault Change-Id: Idaccbcaa92d4835dea2da3d8b6f645114baa338a Signed-off-by: Darshana Patil <darshana@codeaurora.org>
This commit is contained in:
@@ -6,6 +6,8 @@
|
|||||||
#ifndef __VENUS_HFI_RESPONSE_H__
|
#ifndef __VENUS_HFI_RESPONSE_H__
|
||||||
#define __VENUS_HFI_RESPONSE_H__
|
#define __VENUS_HFI_RESPONSE_H__
|
||||||
|
|
||||||
|
#include "hfi_packet.h"
|
||||||
|
|
||||||
int handle_response(struct msm_vidc_core *core,
|
int handle_response(struct msm_vidc_core *core,
|
||||||
void *response);
|
void *response);
|
||||||
int validate_packet(u8 *response_pkt, u8 *core_resp_pkt,
|
int validate_packet(u8 *response_pkt, u8 *core_resp_pkt,
|
||||||
@@ -17,5 +19,7 @@ bool is_valid_hfi_buffer_type(struct msm_vidc_inst *inst,
|
|||||||
void handle_session_response_work_handler(struct work_struct *work);
|
void handle_session_response_work_handler(struct work_struct *work);
|
||||||
int handle_session_response_work(struct msm_vidc_inst *inst,
|
int handle_session_response_work(struct msm_vidc_inst *inst,
|
||||||
struct response_work *work);
|
struct response_work *work);
|
||||||
|
int handle_system_error(struct msm_vidc_core *core,
|
||||||
|
struct hfi_packet *pkt);
|
||||||
|
|
||||||
#endif // __VENUS_HFI_RESPONSE_H__
|
#endif // __VENUS_HFI_RESPONSE_H__
|
||||||
|
@@ -954,18 +954,6 @@ static int msm_vdec_release_input_internal_buffers(struct msm_vidc_inst *inst)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int msm_vdec_release_output_internal_buffers(struct msm_vidc_inst *inst)
|
|
||||||
{
|
|
||||||
int rc = 0;
|
|
||||||
|
|
||||||
i_vpr_h(inst, "%s()\n",__func__);
|
|
||||||
rc = msm_vidc_release_internal_buffers(inst, MSM_VIDC_BUF_DPB);
|
|
||||||
if (rc)
|
|
||||||
return rc;
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int msm_vdec_subscribe_input_port_settings_change(struct msm_vidc_inst *inst,
|
static int msm_vdec_subscribe_input_port_settings_change(struct msm_vidc_inst *inst,
|
||||||
enum msm_vidc_port_type port)
|
enum msm_vidc_port_type port)
|
||||||
{
|
{
|
||||||
@@ -1735,10 +1723,6 @@ int msm_vdec_streamon_output(struct msm_vidc_inst *inst)
|
|||||||
if (rc)
|
if (rc)
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
rc = msm_vdec_release_output_internal_buffers(inst);
|
|
||||||
if (rc)
|
|
||||||
goto error;
|
|
||||||
|
|
||||||
rc = msm_vdec_create_output_internal_buffers(inst);
|
rc = msm_vdec_create_output_internal_buffers(inst);
|
||||||
if (rc)
|
if (rc)
|
||||||
goto error;
|
goto error;
|
||||||
|
@@ -2522,6 +2522,9 @@ static int __response_handler(struct msm_vidc_core *core)
|
|||||||
{
|
{
|
||||||
int rc = 0;
|
int rc = 0;
|
||||||
|
|
||||||
|
if (call_venus_op(core, watchdog, core, core->intr_status))
|
||||||
|
return handle_system_error(core, NULL);
|
||||||
|
|
||||||
memset(core->response_packet, 0, core->packet_size);
|
memset(core->response_packet, 0, core->packet_size);
|
||||||
while (!__iface_msgq_read(core, core->response_packet)) {
|
while (!__iface_msgq_read(core, core->response_packet)) {
|
||||||
rc = handle_response(core, core->response_packet);
|
rc = handle_response(core, core->response_packet);
|
||||||
|
@@ -310,7 +310,7 @@ static int handle_session_error(struct msm_vidc_inst *inst,
|
|||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int handle_system_error(struct msm_vidc_core *core,
|
int handle_system_error(struct msm_vidc_core *core,
|
||||||
struct hfi_packet *pkt)
|
struct hfi_packet *pkt)
|
||||||
{
|
{
|
||||||
d_vpr_e("%s: system error received\n", __func__);
|
d_vpr_e("%s: system error received\n", __func__);
|
||||||
|
Reference in New Issue
Block a user