Loading arch/arm64/boot/dts/qcom/sdmmagpie-camera.dtsi +8 −8 Original line number Diff line number Diff line /* * Copyright (c) 2018, The Linux Foundation. All rights reserved. * Copyright (c) 2018-2019, 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 @@ -409,10 +409,10 @@ }; iova-mem-region-shared { /* Shared region is 100MB long */ /* Shared region is 150MB long */ iova-region-name = "shared"; iova-region-start = <0x7400000>; iova-region-len = <0x6400000>; iova-region-len = <0x9600000>; iova-region-id = <0x1>; status = "ok"; }; Loading @@ -420,7 +420,7 @@ iova-mem-region-secondary-heap { /* Secondary heap region is 1MB long */ iova-region-name = "secheap"; iova-region-start = <0xd800000>; iova-region-start = <0x10A00000>; iova-region-len = <0x100000>; iova-region-id = <0x4>; status = "ok"; Loading @@ -429,8 +429,8 @@ iova-mem-region-io { /* IO region is approximately 3 GB */ iova-region-name = "io"; iova-region-start = <0xda00000>; iova-region-len = <0xace00000>; iova-region-start = <0x10C00000>; iova-region-len = <0xA9C00000>; iova-region-id = <0x3>; status = "ok"; }; Loading @@ -438,7 +438,7 @@ iova-mem-qdss-region { /* QDSS region is appropriate 1MB */ iova-region-name = "qdss"; iova-region-start = <0xd900000>; iova-region-start = <0x10B00000>; iova-region-len = <0x100000>; iova-region-id = <0x5>; qdss-phy-addr = <0x16790000>; Loading Loading @@ -1076,7 +1076,7 @@ qcom,cam-cx-ipeak = <&cx_ipeak_lm 3>; control-camnoc-axi-clk; camnoc-bus-width = <32>; camnoc-axi-clk-bw-margin-perc = <10>; camnoc-axi-clk-bw-margin-perc = <20>; qcom,msm-bus,name = "cam_ahb"; qcom,msm-bus,num-cases = <6>; qcom,msm-bus,num-paths = <1>; Loading arch/arm64/boot/dts/qcom/sm6150-camera.dtsi +6 −6 Original line number Diff line number Diff line Loading @@ -318,10 +318,10 @@ }; iova-mem-region-shared { /* Shared region is 100MB long */ /* Shared region is 150MB long */ iova-region-name = "shared"; iova-region-start = <0x7400000>; iova-region-len = <0x6400000>; iova-region-len = <0x9600000>; iova-region-id = <0x1>; iova-granularity = <0x15>; status = "ok"; Loading @@ -330,7 +330,7 @@ iova-mem-region-secondary-heap { /* Secondary heap region is 1MB long */ iova-region-name = "secheap"; iova-region-start = <0xd800000>; iova-region-start = <0x10A00000>; iova-region-len = <0x100000>; iova-region-id = <0x4>; status = "ok"; Loading @@ -339,8 +339,8 @@ iova-mem-region-io { /* IO region is approximately 3 GB */ iova-region-name = "io"; iova-region-start = <0xd911000>; iova-region-len = <0xd26ef000>; iova-region-start = <0x10B11000>; iova-region-len = <0xCF4EF000>; iova-region-id = <0x3>; status = "ok"; }; Loading @@ -348,7 +348,7 @@ iova-mem-qdss-region { /* qdss region is approximately 64K */ iova-region-name = "qdss"; iova-region-start = <0xd900000>; iova-region-start = <0x10B00000>; iova-region-len = <0x10000>; iova-region-id = <0x5>; qdss-phy-addr = <0x16790000>; Loading drivers/media/platform/msm/camera/cam_core/cam_context_utils.c +1 −1 Original line number Diff line number Diff line Loading @@ -578,7 +578,7 @@ int32_t cam_context_acquire_dev_to_hw(struct cam_context *ctx, req_hdl_param.media_entity_flag = 0; req_hdl_param.priv = ctx; req_hdl_param.ops = ctx->crm_ctx_intf; req_hdl_param.dev_id = ctx->dev_id; ctx->dev_hdl = cam_create_device_hdl(&req_hdl_param); if (ctx->dev_hdl <= 0) { rc = -EFAULT; Loading drivers/media/platform/msm/camera/cam_cpas/cam_cpas_hw.c +3 −3 Original line number Diff line number Diff line Loading @@ -568,7 +568,7 @@ static int cam_cpas_util_set_camnoc_axi_clk_rate( struct cam_cpas_axi_port *curr_axi_port = NULL; struct cam_cpas_axi_port *temp_axi_port = NULL; uint64_t required_camnoc_bw = 0; int32_t clk_rate = 0; int64_t clk_rate = 0; list_for_each_entry_safe(curr_axi_port, temp_axi_port, &cpas_core->axi_ports_list_head, sibling_port) { Loading Loading @@ -596,13 +596,13 @@ static int cam_cpas_util_set_camnoc_axi_clk_rate( clk_rate = required_camnoc_bw / soc_private->camnoc_bus_width; CAM_DBG(CAM_CPAS, "Setting camnoc axi clk rate : %llu %d", CAM_DBG(CAM_CPAS, "Setting camnoc axi clk rate : %llu %lld", required_camnoc_bw, clk_rate); rc = cam_soc_util_set_src_clk_rate(soc_info, clk_rate); if (rc) CAM_ERR(CAM_CPAS, "Failed in setting camnoc axi clk %llu %d %d", "Failed in setting camnoc axi clk %llu %lld %d", required_camnoc_bw, clk_rate, rc); } Loading drivers/media/platform/msm/camera/cam_cpas/cpas_top/cam_cpastop_hw.c +8 −1 Original line number Diff line number Diff line /* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved. /* Copyright (c) 2017-2019, 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 @@ -406,6 +406,12 @@ static void cam_cpastop_work(struct work_struct *work) return; } mutex_lock(&cpas_hw->hw_mutex); if (cpas_hw->hw_state == CAM_HW_STATE_POWER_DOWN) { CAM_ERR(CAM_CPAS, "CPAS CORE is off"); mutex_unlock(&cpas_hw->hw_mutex); return; } for (i = 0; i < camnoc_info->irq_err_size; i++) { if ((payload->irq_status & camnoc_info->irq_err[i].sbm_port) && (camnoc_info->irq_err[i].enable)) { Loading Loading @@ -451,6 +457,7 @@ static void cam_cpastop_work(struct work_struct *work) ~camnoc_info->irq_err[i].sbm_port; } } mutex_unlock(&cpas_hw->hw_mutex); atomic_dec(&cpas_core->irq_count); wake_up(&cpas_core->irq_count_wq); CAM_DBG(CAM_CPAS, "irq_count=%d\n", atomic_read(&cpas_core->irq_count)); Loading Loading
arch/arm64/boot/dts/qcom/sdmmagpie-camera.dtsi +8 −8 Original line number Diff line number Diff line /* * Copyright (c) 2018, The Linux Foundation. All rights reserved. * Copyright (c) 2018-2019, 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 @@ -409,10 +409,10 @@ }; iova-mem-region-shared { /* Shared region is 100MB long */ /* Shared region is 150MB long */ iova-region-name = "shared"; iova-region-start = <0x7400000>; iova-region-len = <0x6400000>; iova-region-len = <0x9600000>; iova-region-id = <0x1>; status = "ok"; }; Loading @@ -420,7 +420,7 @@ iova-mem-region-secondary-heap { /* Secondary heap region is 1MB long */ iova-region-name = "secheap"; iova-region-start = <0xd800000>; iova-region-start = <0x10A00000>; iova-region-len = <0x100000>; iova-region-id = <0x4>; status = "ok"; Loading @@ -429,8 +429,8 @@ iova-mem-region-io { /* IO region is approximately 3 GB */ iova-region-name = "io"; iova-region-start = <0xda00000>; iova-region-len = <0xace00000>; iova-region-start = <0x10C00000>; iova-region-len = <0xA9C00000>; iova-region-id = <0x3>; status = "ok"; }; Loading @@ -438,7 +438,7 @@ iova-mem-qdss-region { /* QDSS region is appropriate 1MB */ iova-region-name = "qdss"; iova-region-start = <0xd900000>; iova-region-start = <0x10B00000>; iova-region-len = <0x100000>; iova-region-id = <0x5>; qdss-phy-addr = <0x16790000>; Loading Loading @@ -1076,7 +1076,7 @@ qcom,cam-cx-ipeak = <&cx_ipeak_lm 3>; control-camnoc-axi-clk; camnoc-bus-width = <32>; camnoc-axi-clk-bw-margin-perc = <10>; camnoc-axi-clk-bw-margin-perc = <20>; qcom,msm-bus,name = "cam_ahb"; qcom,msm-bus,num-cases = <6>; qcom,msm-bus,num-paths = <1>; Loading
arch/arm64/boot/dts/qcom/sm6150-camera.dtsi +6 −6 Original line number Diff line number Diff line Loading @@ -318,10 +318,10 @@ }; iova-mem-region-shared { /* Shared region is 100MB long */ /* Shared region is 150MB long */ iova-region-name = "shared"; iova-region-start = <0x7400000>; iova-region-len = <0x6400000>; iova-region-len = <0x9600000>; iova-region-id = <0x1>; iova-granularity = <0x15>; status = "ok"; Loading @@ -330,7 +330,7 @@ iova-mem-region-secondary-heap { /* Secondary heap region is 1MB long */ iova-region-name = "secheap"; iova-region-start = <0xd800000>; iova-region-start = <0x10A00000>; iova-region-len = <0x100000>; iova-region-id = <0x4>; status = "ok"; Loading @@ -339,8 +339,8 @@ iova-mem-region-io { /* IO region is approximately 3 GB */ iova-region-name = "io"; iova-region-start = <0xd911000>; iova-region-len = <0xd26ef000>; iova-region-start = <0x10B11000>; iova-region-len = <0xCF4EF000>; iova-region-id = <0x3>; status = "ok"; }; Loading @@ -348,7 +348,7 @@ iova-mem-qdss-region { /* qdss region is approximately 64K */ iova-region-name = "qdss"; iova-region-start = <0xd900000>; iova-region-start = <0x10B00000>; iova-region-len = <0x10000>; iova-region-id = <0x5>; qdss-phy-addr = <0x16790000>; Loading
drivers/media/platform/msm/camera/cam_core/cam_context_utils.c +1 −1 Original line number Diff line number Diff line Loading @@ -578,7 +578,7 @@ int32_t cam_context_acquire_dev_to_hw(struct cam_context *ctx, req_hdl_param.media_entity_flag = 0; req_hdl_param.priv = ctx; req_hdl_param.ops = ctx->crm_ctx_intf; req_hdl_param.dev_id = ctx->dev_id; ctx->dev_hdl = cam_create_device_hdl(&req_hdl_param); if (ctx->dev_hdl <= 0) { rc = -EFAULT; Loading
drivers/media/platform/msm/camera/cam_cpas/cam_cpas_hw.c +3 −3 Original line number Diff line number Diff line Loading @@ -568,7 +568,7 @@ static int cam_cpas_util_set_camnoc_axi_clk_rate( struct cam_cpas_axi_port *curr_axi_port = NULL; struct cam_cpas_axi_port *temp_axi_port = NULL; uint64_t required_camnoc_bw = 0; int32_t clk_rate = 0; int64_t clk_rate = 0; list_for_each_entry_safe(curr_axi_port, temp_axi_port, &cpas_core->axi_ports_list_head, sibling_port) { Loading Loading @@ -596,13 +596,13 @@ static int cam_cpas_util_set_camnoc_axi_clk_rate( clk_rate = required_camnoc_bw / soc_private->camnoc_bus_width; CAM_DBG(CAM_CPAS, "Setting camnoc axi clk rate : %llu %d", CAM_DBG(CAM_CPAS, "Setting camnoc axi clk rate : %llu %lld", required_camnoc_bw, clk_rate); rc = cam_soc_util_set_src_clk_rate(soc_info, clk_rate); if (rc) CAM_ERR(CAM_CPAS, "Failed in setting camnoc axi clk %llu %d %d", "Failed in setting camnoc axi clk %llu %lld %d", required_camnoc_bw, clk_rate, rc); } Loading
drivers/media/platform/msm/camera/cam_cpas/cpas_top/cam_cpastop_hw.c +8 −1 Original line number Diff line number Diff line /* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved. /* Copyright (c) 2017-2019, 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 @@ -406,6 +406,12 @@ static void cam_cpastop_work(struct work_struct *work) return; } mutex_lock(&cpas_hw->hw_mutex); if (cpas_hw->hw_state == CAM_HW_STATE_POWER_DOWN) { CAM_ERR(CAM_CPAS, "CPAS CORE is off"); mutex_unlock(&cpas_hw->hw_mutex); return; } for (i = 0; i < camnoc_info->irq_err_size; i++) { if ((payload->irq_status & camnoc_info->irq_err[i].sbm_port) && (camnoc_info->irq_err[i].enable)) { Loading Loading @@ -451,6 +457,7 @@ static void cam_cpastop_work(struct work_struct *work) ~camnoc_info->irq_err[i].sbm_port; } } mutex_unlock(&cpas_hw->hw_mutex); atomic_dec(&cpas_core->irq_count); wake_up(&cpas_core->irq_count_wq); CAM_DBG(CAM_CPAS, "irq_count=%d\n", atomic_read(&cpas_core->irq_count)); Loading