Loading drivers/media/platform/msm/camera/cam_req_mgr/cam_req_mgr_core.c +46 −19 Original line number Diff line number Diff line Loading @@ -2439,7 +2439,7 @@ static struct cam_req_mgr_crm_cb cam_req_mgr_ops = { static int __cam_req_mgr_setup_link_info(struct cam_req_mgr_core_link *link, struct cam_req_mgr_ver_info *link_info) { int rc = 0, i = 0; int rc = 0, i = 0, num_devices = 0; struct cam_req_mgr_core_dev_link_setup link_data; struct cam_req_mgr_connected_device *dev; struct cam_req_mgr_req_tbl *pd_tbl; Loading @@ -2464,12 +2464,21 @@ static int __cam_req_mgr_setup_link_info(struct cam_req_mgr_core_link *link, return rc; max_delay = CAM_PIPELINE_DELAY_0; for (i = 0; i < link_info->u.link_info_v1.num_devices; i++) { if (link_info->version == VERSION_1) num_devices = link_info->u.link_info_v1.num_devices; else if (link_info->version == VERSION_2) num_devices = link_info->u.link_info_v2.num_devices; for (i = 0; i < num_devices; i++) { dev = &link->l_dev[i]; /* Using dev hdl, get ops ptr to communicate with device */ if (link_info->version == VERSION_1) dev->ops = (struct cam_req_mgr_kmd_ops *) cam_get_device_ops( link_info->u.link_info_v1.dev_hdls[i]); else if (link_info->version == VERSION_2) dev->ops = (struct cam_req_mgr_kmd_ops *) cam_get_device_ops( link_info->u.link_info_v2.dev_hdls[i]); if (!dev->ops || !dev->ops->get_dev_info || !dev->ops->link_setup) { Loading @@ -2477,19 +2486,29 @@ static int __cam_req_mgr_setup_link_info(struct cam_req_mgr_core_link *link, rc = -ENXIO; goto error; } if (link_info->version == VERSION_1) dev->dev_hdl = link_info->u.link_info_v1.dev_hdls[i]; else if (link_info->version == VERSION_2) dev->dev_hdl = link_info->u.link_info_v2.dev_hdls[i]; dev->parent = (void *)link; dev->dev_info.dev_hdl = dev->dev_hdl; rc = dev->ops->get_dev_info(&dev->dev_info); trace_cam_req_mgr_connect_device(link, &dev->dev_info); if (link_info->version == VERSION_1) CAM_DBG(CAM_CRM, "%x: connected: %s, id %d, delay %d, trigger %x", link_info->u.link_info_v1.session_hdl, dev->dev_info.name, dev->dev_info.dev_id, dev->dev_info.p_delay, dev->dev_info.trigger); else if (link_info->version == VERSION_2) CAM_DBG(CAM_CRM, "%x: connected: %s, id %d, delay %d, trigger %x", link_info->u.link_info_v2.session_hdl, dev->dev_info.name, dev->dev_info.dev_id, dev->dev_info.p_delay, dev->dev_info.trigger); if (rc < 0 || dev->dev_info.p_delay >= CAM_PIPELINE_DELAY_MAX || Loading @@ -2498,10 +2517,18 @@ static int __cam_req_mgr_setup_link_info(struct cam_req_mgr_core_link *link, CAM_ERR(CAM_CRM, "get device info failed"); goto error; } else { if (link_info->version == VERSION_1) { CAM_DBG(CAM_CRM, "%x: connected: %s, delay %d", link_info->u.link_info_v1.session_hdl, dev->dev_info.name, dev->dev_info.p_delay); } else if (link_info->version == VERSION_2) { CAM_DBG(CAM_CRM, "%x: connected: %s, delay %d", link_info->u.link_info_v2.session_hdl, dev->dev_info.name, dev->dev_info.p_delay); } if (dev->dev_info.p_delay > max_delay) max_delay = dev->dev_info.p_delay; Loading @@ -2516,7 +2543,7 @@ static int __cam_req_mgr_setup_link_info(struct cam_req_mgr_core_link *link, link_data.max_delay = max_delay; link_data.subscribe_event = subscribe_event; for (i = 0; i < link_info->u.link_info_v1.num_devices; i++) { for (i = 0; i < num_devices; i++) { dev = &link->l_dev[i]; link_data.dev_hdl = dev->dev_hdl; Loading Loading @@ -2559,7 +2586,7 @@ static int __cam_req_mgr_setup_link_info(struct cam_req_mgr_core_link *link, if (link->max_delay < dev->dev_info.p_delay) link->max_delay = dev->dev_info.p_delay; } link->num_devs = link_info->u.link_info_v1.num_devices; link->num_devs = num_devices; /* Assign id for pd tables */ __cam_req_mgr_tbl_set_id(link->req.l_tbl, &link->req); Loading Loading
drivers/media/platform/msm/camera/cam_req_mgr/cam_req_mgr_core.c +46 −19 Original line number Diff line number Diff line Loading @@ -2439,7 +2439,7 @@ static struct cam_req_mgr_crm_cb cam_req_mgr_ops = { static int __cam_req_mgr_setup_link_info(struct cam_req_mgr_core_link *link, struct cam_req_mgr_ver_info *link_info) { int rc = 0, i = 0; int rc = 0, i = 0, num_devices = 0; struct cam_req_mgr_core_dev_link_setup link_data; struct cam_req_mgr_connected_device *dev; struct cam_req_mgr_req_tbl *pd_tbl; Loading @@ -2464,12 +2464,21 @@ static int __cam_req_mgr_setup_link_info(struct cam_req_mgr_core_link *link, return rc; max_delay = CAM_PIPELINE_DELAY_0; for (i = 0; i < link_info->u.link_info_v1.num_devices; i++) { if (link_info->version == VERSION_1) num_devices = link_info->u.link_info_v1.num_devices; else if (link_info->version == VERSION_2) num_devices = link_info->u.link_info_v2.num_devices; for (i = 0; i < num_devices; i++) { dev = &link->l_dev[i]; /* Using dev hdl, get ops ptr to communicate with device */ if (link_info->version == VERSION_1) dev->ops = (struct cam_req_mgr_kmd_ops *) cam_get_device_ops( link_info->u.link_info_v1.dev_hdls[i]); else if (link_info->version == VERSION_2) dev->ops = (struct cam_req_mgr_kmd_ops *) cam_get_device_ops( link_info->u.link_info_v2.dev_hdls[i]); if (!dev->ops || !dev->ops->get_dev_info || !dev->ops->link_setup) { Loading @@ -2477,19 +2486,29 @@ static int __cam_req_mgr_setup_link_info(struct cam_req_mgr_core_link *link, rc = -ENXIO; goto error; } if (link_info->version == VERSION_1) dev->dev_hdl = link_info->u.link_info_v1.dev_hdls[i]; else if (link_info->version == VERSION_2) dev->dev_hdl = link_info->u.link_info_v2.dev_hdls[i]; dev->parent = (void *)link; dev->dev_info.dev_hdl = dev->dev_hdl; rc = dev->ops->get_dev_info(&dev->dev_info); trace_cam_req_mgr_connect_device(link, &dev->dev_info); if (link_info->version == VERSION_1) CAM_DBG(CAM_CRM, "%x: connected: %s, id %d, delay %d, trigger %x", link_info->u.link_info_v1.session_hdl, dev->dev_info.name, dev->dev_info.dev_id, dev->dev_info.p_delay, dev->dev_info.trigger); else if (link_info->version == VERSION_2) CAM_DBG(CAM_CRM, "%x: connected: %s, id %d, delay %d, trigger %x", link_info->u.link_info_v2.session_hdl, dev->dev_info.name, dev->dev_info.dev_id, dev->dev_info.p_delay, dev->dev_info.trigger); if (rc < 0 || dev->dev_info.p_delay >= CAM_PIPELINE_DELAY_MAX || Loading @@ -2498,10 +2517,18 @@ static int __cam_req_mgr_setup_link_info(struct cam_req_mgr_core_link *link, CAM_ERR(CAM_CRM, "get device info failed"); goto error; } else { if (link_info->version == VERSION_1) { CAM_DBG(CAM_CRM, "%x: connected: %s, delay %d", link_info->u.link_info_v1.session_hdl, dev->dev_info.name, dev->dev_info.p_delay); } else if (link_info->version == VERSION_2) { CAM_DBG(CAM_CRM, "%x: connected: %s, delay %d", link_info->u.link_info_v2.session_hdl, dev->dev_info.name, dev->dev_info.p_delay); } if (dev->dev_info.p_delay > max_delay) max_delay = dev->dev_info.p_delay; Loading @@ -2516,7 +2543,7 @@ static int __cam_req_mgr_setup_link_info(struct cam_req_mgr_core_link *link, link_data.max_delay = max_delay; link_data.subscribe_event = subscribe_event; for (i = 0; i < link_info->u.link_info_v1.num_devices; i++) { for (i = 0; i < num_devices; i++) { dev = &link->l_dev[i]; link_data.dev_hdl = dev->dev_hdl; Loading Loading @@ -2559,7 +2586,7 @@ static int __cam_req_mgr_setup_link_info(struct cam_req_mgr_core_link *link, if (link->max_delay < dev->dev_info.p_delay) link->max_delay = dev->dev_info.p_delay; } link->num_devs = link_info->u.link_info_v1.num_devices; link->num_devs = num_devices; /* Assign id for pd tables */ __cam_req_mgr_tbl_set_id(link->req.l_tbl, &link->req); Loading