Loading drivers/media/platform/msm/camera_v2/msm.c +6 −2 Original line number Diff line number Diff line /* 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 Loading Loading @@ -37,6 +37,7 @@ static struct list_head ordered_sd_list; static struct mutex ordered_sd_mtx; static struct mutex v4l2_event_mtx; static atomic_t qos_add_request_done = ATOMIC_INIT(0); static struct pm_qos_request msm_v4l2_pm_qos_request; static struct msm_queue_head *msm_session_q; Loading Loading @@ -216,9 +217,11 @@ static inline int __msm_queue_find_command_ack_q(void *d1, void *d2) return (ack->stream_id == *(unsigned int *)d2) ? 1 : 0; } static void msm_pm_qos_add_request(void) static inline void msm_pm_qos_add_request(void) { pr_info("%s: add request", __func__); if (atomic_cmpxchg(&qos_add_request_done, 0, 1)) return; pm_qos_add_request(&msm_v4l2_pm_qos_request, PM_QOS_CPU_DMA_LATENCY, PM_QOS_DEFAULT_VALUE); } Loading @@ -232,6 +235,7 @@ static void msm_pm_qos_remove_request(void) void msm_pm_qos_update_request(int val) { pr_info("%s: update request %d", __func__, val); msm_pm_qos_add_request(); pm_qos_update_request(&msm_v4l2_pm_qos_request, val); } Loading Loading
drivers/media/platform/msm/camera_v2/msm.c +6 −2 Original line number Diff line number Diff line /* 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 Loading Loading @@ -37,6 +37,7 @@ static struct list_head ordered_sd_list; static struct mutex ordered_sd_mtx; static struct mutex v4l2_event_mtx; static atomic_t qos_add_request_done = ATOMIC_INIT(0); static struct pm_qos_request msm_v4l2_pm_qos_request; static struct msm_queue_head *msm_session_q; Loading Loading @@ -216,9 +217,11 @@ static inline int __msm_queue_find_command_ack_q(void *d1, void *d2) return (ack->stream_id == *(unsigned int *)d2) ? 1 : 0; } static void msm_pm_qos_add_request(void) static inline void msm_pm_qos_add_request(void) { pr_info("%s: add request", __func__); if (atomic_cmpxchg(&qos_add_request_done, 0, 1)) return; pm_qos_add_request(&msm_v4l2_pm_qos_request, PM_QOS_CPU_DMA_LATENCY, PM_QOS_DEFAULT_VALUE); } Loading @@ -232,6 +235,7 @@ static void msm_pm_qos_remove_request(void) void msm_pm_qos_update_request(int val) { pr_info("%s: update request %d", __func__, val); msm_pm_qos_add_request(); pm_qos_update_request(&msm_v4l2_pm_qos_request, val); } Loading