Merge "msm: camera: isp: Handle error event notification to HW manager" into camera-kernel.lnx.5.0
Цей коміт міститься в:

зафіксовано
Gerrit - the friendly Code Review server

коміт
f3ddf750bc
@@ -1447,6 +1447,7 @@ static int cam_vfe_bus_err_bottom_half(void *handler_priv,
|
||||
struct cam_vfe_bus_ver2_priv *bus_priv = handler_priv;
|
||||
struct cam_vfe_bus_ver2_common_data *common_data;
|
||||
struct cam_isp_hw_event_info evt_info;
|
||||
struct cam_isp_hw_error_event_info err_evt_info;
|
||||
uint32_t val = 0;
|
||||
|
||||
if (!handler_priv || !evt_payload_priv)
|
||||
@@ -1537,6 +1538,9 @@ static int cam_vfe_bus_err_bottom_half(void *handler_priv,
|
||||
evt_info.res_type = CAM_ISP_RESOURCE_VFE_OUT;
|
||||
evt_info.res_id = CAM_VFE_BUS_VER2_VFE_OUT_MAX;
|
||||
|
||||
err_evt_info.err_type = CAM_VFE_IRQ_STATUS_VIOLATION;
|
||||
evt_info.event_data = (void *)&err_evt_info;
|
||||
|
||||
if (common_data->event_cb)
|
||||
common_data->event_cb(NULL, CAM_ISP_HW_EVENT_ERROR,
|
||||
(void *)&evt_info);
|
||||
|
@@ -496,6 +496,7 @@ static int cam_vfe_camif_lite_handle_irq_bottom_half(
|
||||
uint32_t irq_status1;
|
||||
struct cam_hw_soc_info *soc_info = NULL;
|
||||
struct cam_vfe_soc_private *soc_private = NULL;
|
||||
struct cam_isp_hw_error_event_info err_evt_info;
|
||||
struct timespec64 ts;
|
||||
|
||||
if (!handler_priv || !evt_payload_priv) {
|
||||
@@ -549,6 +550,8 @@ static int cam_vfe_camif_lite_handle_irq_bottom_half(
|
||||
CAM_DBG(CAM_ISP, "VFE:%d CAMIF LITE Received ERROR",
|
||||
evt_info.hw_idx);
|
||||
|
||||
err_evt_info.err_type = CAM_VFE_IRQ_STATUS_OVERFLOW;
|
||||
evt_info.event_data = (void *)&err_evt_info;
|
||||
cam_vfe_camif_lite_cpas_fifo_levels_reg_dump(camif_lite_priv);
|
||||
|
||||
ktime_get_boottime_ts64(&ts);
|
||||
|
@@ -790,6 +790,7 @@ static int cam_vfe_camif_handle_irq_bottom_half(void *handler_priv,
|
||||
uint32_t irq_status0;
|
||||
uint32_t irq_status1;
|
||||
uint32_t val;
|
||||
struct cam_isp_hw_error_event_info err_evt_info;
|
||||
struct timespec64 ts;
|
||||
|
||||
if (!handler_priv || !evt_payload_priv) {
|
||||
@@ -883,6 +884,8 @@ static int cam_vfe_camif_handle_irq_bottom_half(void *handler_priv,
|
||||
if (irq_status0 & camif_priv->reg_data->error_irq_mask0) {
|
||||
CAM_DBG(CAM_ISP, "Received ERROR");
|
||||
|
||||
err_evt_info.err_type = CAM_VFE_IRQ_STATUS_OVERFLOW;
|
||||
evt_info.event_data = (void *)&err_evt_info;
|
||||
ktime_get_boottime_ts64(&ts);
|
||||
CAM_INFO(CAM_ISP,
|
||||
"current monotonic time stamp seconds %lld:%lld",
|
||||
@@ -909,6 +912,8 @@ static int cam_vfe_camif_handle_irq_bottom_half(void *handler_priv,
|
||||
if (irq_status1 & camif_priv->reg_data->error_irq_mask1) {
|
||||
CAM_DBG(CAM_ISP, "Received ERROR");
|
||||
|
||||
err_evt_info.err_type = CAM_VFE_IRQ_STATUS_OVERFLOW;
|
||||
evt_info.event_data = (void *)&err_evt_info;
|
||||
ktime_get_boottime_ts64(&ts);
|
||||
CAM_INFO(CAM_ISP,
|
||||
"current monotonic time stamp seconds %lld:%lld",
|
||||
|
@@ -1089,6 +1089,7 @@ static int cam_vfe_handle_irq_bottom_half(void *handler_priv,
|
||||
struct cam_vfe_mux_ver4_data *vfe_priv;
|
||||
struct cam_vfe_top_irq_evt_payload *payload;
|
||||
struct cam_isp_hw_event_info evt_info;
|
||||
struct cam_isp_hw_error_event_info err_evt_info;
|
||||
uint32_t irq_status[CAM_IFE_IRQ_REGISTERS_MAX] = {0};
|
||||
struct timespec64 ts;
|
||||
int i = 0;
|
||||
@@ -1192,6 +1193,8 @@ static int cam_vfe_handle_irq_bottom_half(void *handler_priv,
|
||||
& vfe_priv->reg_data->error_irq_mask) {
|
||||
CAM_ERR(CAM_ISP, "VFE:%d Error", evt_info.hw_idx);
|
||||
|
||||
err_evt_info.err_type = CAM_VFE_IRQ_STATUS_VIOLATION;
|
||||
evt_info.event_data = (void *)&err_evt_info;
|
||||
ktime_get_boottime_ts64(&ts);
|
||||
CAM_INFO(CAM_ISP,
|
||||
"current monotonic time stamp seconds %lld:%lld",
|
||||
|
Посилання в новій задачі
Заблокувати користувача