Merge "msm: vidc: do not set video state to DEINIT very early"
This commit is contained in:
commit
3a918f6a4e
1 changed files with 6 additions and 4 deletions
|
@ -1,4 +1,4 @@
|
|||
/* Copyright (c) 2012-2017, The Linux Foundation. All rights reserved.
|
||||
/* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
|
@ -1652,7 +1652,7 @@ static int __iface_cmdq_write_relaxed(struct venus_hfi_device *device,
|
|||
__strict_check(device);
|
||||
|
||||
if (!__core_in_valid_state(device)) {
|
||||
dprintk(VIDC_DBG, "%s - fw not in init state\n", __func__);
|
||||
dprintk(VIDC_ERR, "%s - fw not in init state\n", __func__);
|
||||
result = -EINVAL;
|
||||
goto err_q_null;
|
||||
}
|
||||
|
@ -3378,8 +3378,6 @@ static void __process_sys_error(struct venus_hfi_device *device)
|
|||
{
|
||||
struct hfi_sfr_struct *vsfr = NULL;
|
||||
|
||||
__set_state(device, VENUS_STATE_DEINIT);
|
||||
|
||||
/* Once SYS_ERROR received from HW, it is safe to halt the AXI.
|
||||
* With SYS_ERROR, Venus FW may have crashed and HW might be
|
||||
* active and causing unnecessary transactions. Hence it is
|
||||
|
@ -3626,6 +3624,10 @@ static int __response_handler(struct venus_hfi_device *device)
|
|||
"Too many packets in message queue to handle at once, deferring read\n");
|
||||
break;
|
||||
}
|
||||
|
||||
/* do not read packets after sys error packet */
|
||||
if (info->response_type == HAL_SYS_ERROR)
|
||||
break;
|
||||
}
|
||||
|
||||
if (requeue_pm_work && device->res->sw_power_collapsible) {
|
||||
|
|
Loading…
Add table
Reference in a new issue