Loading arch/arm64/boot/dts/qcom/sdm670-camera.dtsi +7 −7 Original line number Diff line number Diff line /* * Copyright (c) 2017, The Linux Foundation. All rights reserved. * Copyright (c) 2017-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 Loading Loading @@ -913,12 +913,12 @@ <&clock_camcc CAM_CC_IPE_0_CLK>, <&clock_camcc CAM_CC_IPE_0_CLK_SRC>; clock-rates = <0 0 0 0 240000000>, clock-rates = <0 0 0 0 404000000>, <0 0 0 0 480000000>, <0 0 0 0 538000000>, <0 0 0 0 600000000>; clock-cntl-level = "lowsvs", "svs", clock-cntl-level = "svs", "svs_l1", "nominal", "turbo"; status = "ok"; }; Loading @@ -940,12 +940,12 @@ <&clock_camcc CAM_CC_IPE_1_CLK>, <&clock_camcc CAM_CC_IPE_1_CLK_SRC>; clock-rates = <0 0 0 0 240000000>, clock-rates = <0 0 0 0 404000000>, <0 0 0 0 480000000>, <0 0 0 0 538000000>, <0 0 0 0 600000000>; clock-cntl-level = "lowsvs", "svs", clock-cntl-level = "svs", "svs_l1", "nominal", "turbo"; status = "ok"; }; Loading @@ -967,12 +967,12 @@ <&clock_camcc CAM_CC_BPS_CLK>, <&clock_camcc CAM_CC_BPS_CLK_SRC>; clock-rates = <0 0 0 0 200000000>, clock-rates = <0 0 0 0 404000000>, <0 0 0 0 480000000>, <0 0 0 0 600000000>, <0 0 0 0 600000000>; clock-cntl-level = "lowsvs", "svs", clock-cntl-level = "svs", "svs_l1", "nominal", "turbo"; status = "ok"; }; Loading arch/arm64/boot/dts/qcom/sdm845-camera.dtsi +6 −7 Original line number Diff line number Diff line /* * Copyright (c) 2017, The Linux Foundation. All rights reserved. * Copyright (c) 2017-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 Loading Loading @@ -885,12 +885,11 @@ <&clock_camcc CAM_CC_IPE_0_CLK_SRC>; clock-rates = <0 0 0 0 240000000>, <0 0 0 0 404000000>, <0 0 0 0 480000000>, <0 0 0 0 538000000>, <0 0 0 0 600000000>; clock-cntl-level = "lowsvs", "svs", clock-cntl-level = "svs", "svs_l1", "nominal", "turbo"; status = "ok"; }; Loading @@ -912,12 +911,12 @@ <&clock_camcc CAM_CC_IPE_1_CLK>, <&clock_camcc CAM_CC_IPE_1_CLK_SRC>; clock-rates = <0 0 0 0 240000000>, clock-rates = <0 0 0 0 404000000>, <0 0 0 0 480000000>, <0 0 0 0 538000000>, <0 0 0 0 600000000>; clock-cntl-level = "lowsvs", "svs", clock-cntl-level = "svs", "svs_l1", "nominal", "turbo"; status = "ok"; }; Loading @@ -939,12 +938,12 @@ <&clock_camcc CAM_CC_BPS_CLK>, <&clock_camcc CAM_CC_BPS_CLK_SRC>; clock-rates = <0 0 0 0 200000000>, clock-rates = <0 0 0 0 404000000>, <0 0 0 0 480000000>, <0 0 0 0 600000000>, <0 0 0 0 600000000>; clock-cntl-level = "lowsvs", "svs", clock-cntl-level = "svs", "svs_l1", "nominal", "turbo"; status = "ok"; }; Loading drivers/media/platform/msm/camera/cam_cpas/cam_cpas_intf.c +3 −3 Original line number Diff line number Diff line /* Copyright (c) 2017, The Linux Foundation. All rights reserved. /* Copyright (c) 2017-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 Loading Loading @@ -366,7 +366,6 @@ int cam_cpas_subdev_cmd(struct cam_cpas_intf *cpas_intf, switch (cmd->op_code) { case CAM_QUERY_CAP: { struct cam_cpas_query_cap query; uint32_t cam_cpas; rc = copy_from_user(&query, (void __user *) cmd->handle, sizeof(query)); Loading @@ -377,7 +376,8 @@ int cam_cpas_subdev_cmd(struct cam_cpas_intf *cpas_intf, } rc = cam_cpas_get_hw_info(&query.camera_family, &query.camera_version, &query.cpas_version, &cam_cpas); &query.camera_version, &query.cpas_version, &query.reserved); if (rc) break; Loading drivers/media/platform/msm/camera/cam_icp/icp_hw/icp_hw_mgr/cam_icp_hw_mgr.c +5 −6 Original line number Diff line number Diff line Loading @@ -1597,8 +1597,7 @@ static int cam_icp_mgr_process_direct_ack_msg(uint32_t *msg_ptr) ioconfig_ack = (struct hfi_msg_ipebps_async_ack *)msg_ptr; ctx_data = (struct cam_icp_hw_ctx_data *)ioconfig_ack->user_data1; if ((ctx_data->state == CAM_ICP_CTX_STATE_RELEASE) || (ctx_data->state == CAM_ICP_CTX_STATE_IN_USE)) if (ctx_data->state != CAM_ICP_CTX_STATE_FREE) complete(&ctx_data->wait_complete); break; Loading Loading @@ -2098,7 +2097,7 @@ static int cam_icp_mgr_abort_handle( int rc = 0; unsigned long rem_jiffies; size_t packet_size; int timeout = 5000; int timeout = 100; struct hfi_cmd_work_data *task_data; struct hfi_cmd_ipebps_async *abort_cmd; struct crm_workq_task *task; Loading Loading @@ -2161,7 +2160,7 @@ static int cam_icp_mgr_destroy_handle( struct cam_icp_hw_ctx_data *ctx_data) { int rc = 0; int timeout = 5000; int timeout = 100; unsigned long rem_jiffies; size_t packet_size; struct hfi_cmd_work_data *task_data; Loading Loading @@ -2539,10 +2538,10 @@ static int cam_icp_mgr_icp_resume(struct cam_icp_hw_mgr *hw_mgr) if (hw_mgr->fw_download == false) { CAM_DBG(CAM_ICP, "Downloading FW"); mutex_unlock(&hw_mgr->hw_mgr_mutex); cam_icp_mgr_hw_open(hw_mgr, &downloadFromResume); rc = cam_icp_mgr_hw_open(hw_mgr, &downloadFromResume); mutex_lock(&hw_mgr->hw_mgr_mutex); CAM_DBG(CAM_ICP, "FW Download Done Exit"); return 0; return rc; } rc = a5_dev_intf->hw_ops.init(a5_dev_intf->hw_priv, NULL, 0); Loading drivers/media/platform/msm/camera/cam_isp/cam_isp_context.c +11 −7 Original line number Diff line number Diff line Loading @@ -86,7 +86,8 @@ static int __cam_isp_ctx_enqueue_init_request( struct cam_ctx_request, list); req_isp_old = (struct cam_isp_ctx_req *) req_old->req_priv; req_isp_new = (struct cam_isp_ctx_req *) req->req_priv; if (req_isp_old->packet_opcode_type == CAM_ISP_PACKET_INIT_DEV) { if (req_isp_old->hw_update_data.packet_opcode_type == CAM_ISP_PACKET_INIT_DEV) { if ((req_isp_old->num_cfg + req_isp_new->num_cfg) >= CAM_ISP_CTX_CFG_MAX) { CAM_WARN(CAM_ISP, "Can not merge INIT pkt"); Loading Loading @@ -1071,6 +1072,7 @@ static int __cam_isp_ctx_apply_req_in_activated_state( cfg.ctxt_to_hw_map = ctx_isp->hw_ctx; cfg.hw_update_entries = req_isp->cfg; cfg.num_hw_update_entries = req_isp->num_cfg; cfg.priv = &req_isp->hw_update_data; rc = ctx->hw_mgr_intf->hw_config(ctx->hw_mgr_intf->hw_mgr_priv, &cfg); if (rc) { Loading Loading @@ -1817,7 +1819,6 @@ static int __cam_isp_ctx_config_dev_in_top_state( struct cam_req_mgr_add_request add_req; struct cam_isp_context *ctx_isp = (struct cam_isp_context *) ctx->ctx_priv; struct cam_isp_prepare_hw_update_data hw_update_data; CAM_DBG(CAM_ISP, "get free request object......"); Loading Loading @@ -1868,7 +1869,7 @@ static int __cam_isp_ctx_config_dev_in_top_state( cfg.max_in_map_entries = CAM_ISP_CTX_RES_MAX; cfg.out_map_entries = req_isp->fence_map_out; cfg.in_map_entries = req_isp->fence_map_in; cfg.priv = &hw_update_data; cfg.priv = &req_isp->hw_update_data; CAM_DBG(CAM_ISP, "try to prepare config packet......"); Loading @@ -1883,7 +1884,6 @@ static int __cam_isp_ctx_config_dev_in_top_state( req_isp->num_fence_map_out = cfg.num_out_map_entries; req_isp->num_fence_map_in = cfg.num_in_map_entries; req_isp->num_acked = 0; req_isp->packet_opcode_type = hw_update_data.packet_opcode_type; CAM_DBG(CAM_ISP, "num_entry: %d, num fence out: %d, num fence in: %d", req_isp->num_cfg, req_isp->num_fence_map_out, Loading @@ -1893,9 +1893,11 @@ static int __cam_isp_ctx_config_dev_in_top_state( req->status = 1; CAM_DBG(CAM_ISP, "Packet request id 0x%llx packet opcode:%d", packet->header.request_id, req_isp->packet_opcode_type); packet->header.request_id, req_isp->hw_update_data.packet_opcode_type); if (req_isp->packet_opcode_type == CAM_ISP_PACKET_INIT_DEV) { if (req_isp->hw_update_data.packet_opcode_type == CAM_ISP_PACKET_INIT_DEV) { if (ctx->state < CAM_CTX_ACTIVATED) { rc = __cam_isp_ctx_enqueue_init_request(ctx, req); if (rc) Loading Loading @@ -2140,7 +2142,7 @@ static int __cam_isp_ctx_start_dev_in_ready(struct cam_context *ctx, struct cam_start_stop_dev_cmd *cmd) { int rc = 0; struct cam_hw_start_args arg; struct cam_hw_config_args arg; struct cam_ctx_request *req; struct cam_isp_ctx_req *req_isp; struct cam_isp_context *ctx_isp = Loading Loading @@ -2168,9 +2170,11 @@ static int __cam_isp_ctx_start_dev_in_ready(struct cam_context *ctx, rc = -EFAULT; goto end; } arg.ctxt_to_hw_map = ctx_isp->hw_ctx; arg.hw_update_entries = req_isp->cfg; arg.num_hw_update_entries = req_isp->num_cfg; arg.priv = &req_isp->hw_update_data; ctx_isp->frame_id = 0; ctx_isp->active_req_cnt = 0; Loading Loading
arch/arm64/boot/dts/qcom/sdm670-camera.dtsi +7 −7 Original line number Diff line number Diff line /* * Copyright (c) 2017, The Linux Foundation. All rights reserved. * Copyright (c) 2017-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 Loading Loading @@ -913,12 +913,12 @@ <&clock_camcc CAM_CC_IPE_0_CLK>, <&clock_camcc CAM_CC_IPE_0_CLK_SRC>; clock-rates = <0 0 0 0 240000000>, clock-rates = <0 0 0 0 404000000>, <0 0 0 0 480000000>, <0 0 0 0 538000000>, <0 0 0 0 600000000>; clock-cntl-level = "lowsvs", "svs", clock-cntl-level = "svs", "svs_l1", "nominal", "turbo"; status = "ok"; }; Loading @@ -940,12 +940,12 @@ <&clock_camcc CAM_CC_IPE_1_CLK>, <&clock_camcc CAM_CC_IPE_1_CLK_SRC>; clock-rates = <0 0 0 0 240000000>, clock-rates = <0 0 0 0 404000000>, <0 0 0 0 480000000>, <0 0 0 0 538000000>, <0 0 0 0 600000000>; clock-cntl-level = "lowsvs", "svs", clock-cntl-level = "svs", "svs_l1", "nominal", "turbo"; status = "ok"; }; Loading @@ -967,12 +967,12 @@ <&clock_camcc CAM_CC_BPS_CLK>, <&clock_camcc CAM_CC_BPS_CLK_SRC>; clock-rates = <0 0 0 0 200000000>, clock-rates = <0 0 0 0 404000000>, <0 0 0 0 480000000>, <0 0 0 0 600000000>, <0 0 0 0 600000000>; clock-cntl-level = "lowsvs", "svs", clock-cntl-level = "svs", "svs_l1", "nominal", "turbo"; status = "ok"; }; Loading
arch/arm64/boot/dts/qcom/sdm845-camera.dtsi +6 −7 Original line number Diff line number Diff line /* * Copyright (c) 2017, The Linux Foundation. All rights reserved. * Copyright (c) 2017-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 Loading Loading @@ -885,12 +885,11 @@ <&clock_camcc CAM_CC_IPE_0_CLK_SRC>; clock-rates = <0 0 0 0 240000000>, <0 0 0 0 404000000>, <0 0 0 0 480000000>, <0 0 0 0 538000000>, <0 0 0 0 600000000>; clock-cntl-level = "lowsvs", "svs", clock-cntl-level = "svs", "svs_l1", "nominal", "turbo"; status = "ok"; }; Loading @@ -912,12 +911,12 @@ <&clock_camcc CAM_CC_IPE_1_CLK>, <&clock_camcc CAM_CC_IPE_1_CLK_SRC>; clock-rates = <0 0 0 0 240000000>, clock-rates = <0 0 0 0 404000000>, <0 0 0 0 480000000>, <0 0 0 0 538000000>, <0 0 0 0 600000000>; clock-cntl-level = "lowsvs", "svs", clock-cntl-level = "svs", "svs_l1", "nominal", "turbo"; status = "ok"; }; Loading @@ -939,12 +938,12 @@ <&clock_camcc CAM_CC_BPS_CLK>, <&clock_camcc CAM_CC_BPS_CLK_SRC>; clock-rates = <0 0 0 0 200000000>, clock-rates = <0 0 0 0 404000000>, <0 0 0 0 480000000>, <0 0 0 0 600000000>, <0 0 0 0 600000000>; clock-cntl-level = "lowsvs", "svs", clock-cntl-level = "svs", "svs_l1", "nominal", "turbo"; status = "ok"; }; Loading
drivers/media/platform/msm/camera/cam_cpas/cam_cpas_intf.c +3 −3 Original line number Diff line number Diff line /* Copyright (c) 2017, The Linux Foundation. All rights reserved. /* Copyright (c) 2017-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 Loading Loading @@ -366,7 +366,6 @@ int cam_cpas_subdev_cmd(struct cam_cpas_intf *cpas_intf, switch (cmd->op_code) { case CAM_QUERY_CAP: { struct cam_cpas_query_cap query; uint32_t cam_cpas; rc = copy_from_user(&query, (void __user *) cmd->handle, sizeof(query)); Loading @@ -377,7 +376,8 @@ int cam_cpas_subdev_cmd(struct cam_cpas_intf *cpas_intf, } rc = cam_cpas_get_hw_info(&query.camera_family, &query.camera_version, &query.cpas_version, &cam_cpas); &query.camera_version, &query.cpas_version, &query.reserved); if (rc) break; Loading
drivers/media/platform/msm/camera/cam_icp/icp_hw/icp_hw_mgr/cam_icp_hw_mgr.c +5 −6 Original line number Diff line number Diff line Loading @@ -1597,8 +1597,7 @@ static int cam_icp_mgr_process_direct_ack_msg(uint32_t *msg_ptr) ioconfig_ack = (struct hfi_msg_ipebps_async_ack *)msg_ptr; ctx_data = (struct cam_icp_hw_ctx_data *)ioconfig_ack->user_data1; if ((ctx_data->state == CAM_ICP_CTX_STATE_RELEASE) || (ctx_data->state == CAM_ICP_CTX_STATE_IN_USE)) if (ctx_data->state != CAM_ICP_CTX_STATE_FREE) complete(&ctx_data->wait_complete); break; Loading Loading @@ -2098,7 +2097,7 @@ static int cam_icp_mgr_abort_handle( int rc = 0; unsigned long rem_jiffies; size_t packet_size; int timeout = 5000; int timeout = 100; struct hfi_cmd_work_data *task_data; struct hfi_cmd_ipebps_async *abort_cmd; struct crm_workq_task *task; Loading Loading @@ -2161,7 +2160,7 @@ static int cam_icp_mgr_destroy_handle( struct cam_icp_hw_ctx_data *ctx_data) { int rc = 0; int timeout = 5000; int timeout = 100; unsigned long rem_jiffies; size_t packet_size; struct hfi_cmd_work_data *task_data; Loading Loading @@ -2539,10 +2538,10 @@ static int cam_icp_mgr_icp_resume(struct cam_icp_hw_mgr *hw_mgr) if (hw_mgr->fw_download == false) { CAM_DBG(CAM_ICP, "Downloading FW"); mutex_unlock(&hw_mgr->hw_mgr_mutex); cam_icp_mgr_hw_open(hw_mgr, &downloadFromResume); rc = cam_icp_mgr_hw_open(hw_mgr, &downloadFromResume); mutex_lock(&hw_mgr->hw_mgr_mutex); CAM_DBG(CAM_ICP, "FW Download Done Exit"); return 0; return rc; } rc = a5_dev_intf->hw_ops.init(a5_dev_intf->hw_priv, NULL, 0); Loading
drivers/media/platform/msm/camera/cam_isp/cam_isp_context.c +11 −7 Original line number Diff line number Diff line Loading @@ -86,7 +86,8 @@ static int __cam_isp_ctx_enqueue_init_request( struct cam_ctx_request, list); req_isp_old = (struct cam_isp_ctx_req *) req_old->req_priv; req_isp_new = (struct cam_isp_ctx_req *) req->req_priv; if (req_isp_old->packet_opcode_type == CAM_ISP_PACKET_INIT_DEV) { if (req_isp_old->hw_update_data.packet_opcode_type == CAM_ISP_PACKET_INIT_DEV) { if ((req_isp_old->num_cfg + req_isp_new->num_cfg) >= CAM_ISP_CTX_CFG_MAX) { CAM_WARN(CAM_ISP, "Can not merge INIT pkt"); Loading Loading @@ -1071,6 +1072,7 @@ static int __cam_isp_ctx_apply_req_in_activated_state( cfg.ctxt_to_hw_map = ctx_isp->hw_ctx; cfg.hw_update_entries = req_isp->cfg; cfg.num_hw_update_entries = req_isp->num_cfg; cfg.priv = &req_isp->hw_update_data; rc = ctx->hw_mgr_intf->hw_config(ctx->hw_mgr_intf->hw_mgr_priv, &cfg); if (rc) { Loading Loading @@ -1817,7 +1819,6 @@ static int __cam_isp_ctx_config_dev_in_top_state( struct cam_req_mgr_add_request add_req; struct cam_isp_context *ctx_isp = (struct cam_isp_context *) ctx->ctx_priv; struct cam_isp_prepare_hw_update_data hw_update_data; CAM_DBG(CAM_ISP, "get free request object......"); Loading Loading @@ -1868,7 +1869,7 @@ static int __cam_isp_ctx_config_dev_in_top_state( cfg.max_in_map_entries = CAM_ISP_CTX_RES_MAX; cfg.out_map_entries = req_isp->fence_map_out; cfg.in_map_entries = req_isp->fence_map_in; cfg.priv = &hw_update_data; cfg.priv = &req_isp->hw_update_data; CAM_DBG(CAM_ISP, "try to prepare config packet......"); Loading @@ -1883,7 +1884,6 @@ static int __cam_isp_ctx_config_dev_in_top_state( req_isp->num_fence_map_out = cfg.num_out_map_entries; req_isp->num_fence_map_in = cfg.num_in_map_entries; req_isp->num_acked = 0; req_isp->packet_opcode_type = hw_update_data.packet_opcode_type; CAM_DBG(CAM_ISP, "num_entry: %d, num fence out: %d, num fence in: %d", req_isp->num_cfg, req_isp->num_fence_map_out, Loading @@ -1893,9 +1893,11 @@ static int __cam_isp_ctx_config_dev_in_top_state( req->status = 1; CAM_DBG(CAM_ISP, "Packet request id 0x%llx packet opcode:%d", packet->header.request_id, req_isp->packet_opcode_type); packet->header.request_id, req_isp->hw_update_data.packet_opcode_type); if (req_isp->packet_opcode_type == CAM_ISP_PACKET_INIT_DEV) { if (req_isp->hw_update_data.packet_opcode_type == CAM_ISP_PACKET_INIT_DEV) { if (ctx->state < CAM_CTX_ACTIVATED) { rc = __cam_isp_ctx_enqueue_init_request(ctx, req); if (rc) Loading Loading @@ -2140,7 +2142,7 @@ static int __cam_isp_ctx_start_dev_in_ready(struct cam_context *ctx, struct cam_start_stop_dev_cmd *cmd) { int rc = 0; struct cam_hw_start_args arg; struct cam_hw_config_args arg; struct cam_ctx_request *req; struct cam_isp_ctx_req *req_isp; struct cam_isp_context *ctx_isp = Loading Loading @@ -2168,9 +2170,11 @@ static int __cam_isp_ctx_start_dev_in_ready(struct cam_context *ctx, rc = -EFAULT; goto end; } arg.ctxt_to_hw_map = ctx_isp->hw_ctx; arg.hw_update_entries = req_isp->cfg; arg.num_hw_update_entries = req_isp->num_cfg; arg.priv = &req_isp->hw_update_data; ctx_isp->frame_id = 0; ctx_isp->active_req_cnt = 0; Loading