summaryrefslogtreecommitdiff
path: root/drivers/clk/msm/virtclk-front.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/clk/msm/virtclk-front.c')
-rw-r--r--drivers/clk/msm/virtclk-front.c29
1 files changed, 17 insertions, 12 deletions
diff --git a/drivers/clk/msm/virtclk-front.c b/drivers/clk/msm/virtclk-front.c
index 4018c4922574..ad89dda6514f 100644
--- a/drivers/clk/msm/virtclk-front.c
+++ b/drivers/clk/msm/virtclk-front.c
@@ -62,7 +62,7 @@ static int virtclk_front_get_id(struct clk *clk)
if (v->id)
return ret;
- msg.header.cmd = CLK_MSG_GETID;
+ msg.header.cmd = CLK_MSG_GETID | v->flag;
msg.header.len = sizeof(msg);
strlcpy(msg.name, clk->dbg_name, sizeof(msg.name));
@@ -77,7 +77,7 @@ static int virtclk_front_get_id(struct clk *clk)
}
ret = habmm_socket_recv(handle, &rsp, &rsp_size,
- UINT_MAX, 0);
+ UINT_MAX, HABMM_SOCKET_RECV_FLAGS_UNINTERRUPTIBLE);
if (ret) {
pr_err("%s: habmm socket receive failed (%d)\n", clk->dbg_name,
ret);
@@ -119,7 +119,7 @@ static int virtclk_front_prepare(struct clk *clk)
return ret;
msg.clk_id = v->id;
- msg.cmd = CLK_MSG_ENABLE;
+ msg.cmd = CLK_MSG_ENABLE | v->flag;
msg.len = sizeof(struct clk_msg_header);
rt_mutex_lock(&virtclk_front_ctx.lock);
@@ -132,7 +132,8 @@ static int virtclk_front_prepare(struct clk *clk)
goto err_out;
}
- ret = habmm_socket_recv(handle, &rsp, &rsp_size, UINT_MAX, 0);
+ ret = habmm_socket_recv(handle, &rsp, &rsp_size, UINT_MAX,
+ HABMM_SOCKET_RECV_FLAGS_UNINTERRUPTIBLE);
if (ret) {
pr_err("%s: habmm socket receive failed (%d)\n", clk->dbg_name,
ret);
@@ -172,7 +173,7 @@ static void virtclk_front_unprepare(struct clk *clk)
return;
msg.clk_id = v->id;
- msg.cmd = CLK_MSG_DISABLE;
+ msg.cmd = CLK_MSG_DISABLE | v->flag;
msg.len = sizeof(struct clk_msg_header);
rt_mutex_lock(&virtclk_front_ctx.lock);
@@ -185,7 +186,8 @@ static void virtclk_front_unprepare(struct clk *clk)
goto err_out;
}
- ret = habmm_socket_recv(handle, &rsp, &rsp_size, UINT_MAX, 0);
+ ret = habmm_socket_recv(handle, &rsp, &rsp_size, UINT_MAX,
+ HABMM_SOCKET_RECV_FLAGS_UNINTERRUPTIBLE);
if (ret) {
pr_err("%s: habmm socket receive failed (%d)\n", clk->dbg_name,
ret);
@@ -222,7 +224,7 @@ static int virtclk_front_reset(struct clk *clk, enum clk_reset_action action)
return ret;
msg.header.clk_id = v->id;
- msg.header.cmd = CLK_MSG_RESET;
+ msg.header.cmd = CLK_MSG_RESET | v->flag;
msg.header.len = sizeof(struct clk_msg_header);
msg.reset = action;
@@ -236,7 +238,8 @@ static int virtclk_front_reset(struct clk *clk, enum clk_reset_action action)
goto err_out;
}
- ret = habmm_socket_recv(handle, &rsp, &rsp_size, UINT_MAX, 0);
+ ret = habmm_socket_recv(handle, &rsp, &rsp_size, UINT_MAX,
+ HABMM_SOCKET_RECV_FLAGS_UNINTERRUPTIBLE);
if (ret) {
pr_err("%s: habmm socket receive failed (%d)\n", clk->dbg_name,
ret);
@@ -276,7 +279,7 @@ static int virtclk_front_set_rate(struct clk *clk, unsigned long rate)
return ret;
msg.header.clk_id = v->id;
- msg.header.cmd = CLK_MSG_SETFREQ;
+ msg.header.cmd = CLK_MSG_SETFREQ | v->flag;
msg.header.len = sizeof(msg);
msg.freq = (u32)rate;
@@ -290,7 +293,8 @@ static int virtclk_front_set_rate(struct clk *clk, unsigned long rate)
goto err_out;
}
- ret = habmm_socket_recv(handle, &rsp, &rsp_size, UINT_MAX, 0);
+ ret = habmm_socket_recv(handle, &rsp, &rsp_size, UINT_MAX,
+ HABMM_SOCKET_RECV_FLAGS_UNINTERRUPTIBLE);
if (ret) {
pr_err("%s: habmm socket receive failed (%d)\n", clk->dbg_name,
ret);
@@ -348,7 +352,7 @@ static unsigned long virtclk_front_get_rate(struct clk *clk)
return 0;
msg.clk_id = v->id;
- msg.cmd = CLK_MSG_GETFREQ;
+ msg.cmd = CLK_MSG_GETFREQ | v->flag;
msg.len = sizeof(msg);
rt_mutex_lock(&virtclk_front_ctx.lock);
@@ -362,7 +366,8 @@ static unsigned long virtclk_front_get_rate(struct clk *clk)
goto err_out;
}
- ret = habmm_socket_recv(handle, &rsp, &rsp_size, UINT_MAX, 0);
+ ret = habmm_socket_recv(handle, &rsp, &rsp_size, UINT_MAX,
+ HABMM_SOCKET_RECV_FLAGS_UNINTERRUPTIBLE);
if (ret) {
ret = 0;
pr_err("%s: habmm socket receive failed (%d)\n", clk->dbg_name,