Commit 2705bce5 authored by Eugen Hristev's avatar Eugen Hristev Committed by Bjorn Andersson
Browse files

soc: qcom: Rework BCM_TCS_CMD macro



Reworked BCM_TCS_CMD macro in order to fix warnings from sparse:

drivers/clk/qcom/clk-rpmh.c:270:28: warning: restricted __le32 degrades to integer
drivers/clk/qcom/clk-rpmh.c:270:28: warning: restricted __le32 degrades to integer

While at it, used u32_encode_bits which made the code easier to
follow and removed unnecessary shift definitions.

The use of cpu_to_le32 was wrong and thus removed.

Signed-off-by: default avatarEugen Hristev <eugen.hristev@linaro.org>
Reviewed-by: default avatarStephen Boyd <sboyd@kernel.org>
Link: https://lore.kernel.org/r/20241129142446.407443-1-eugen.hristev@linaro.org


Signed-off-by: default avatarBjorn Andersson <andersson@kernel.org>
parent 9b01fc6b
Loading
Loading
Loading
Loading
+12 −14
Original line number Diff line number Diff line
@@ -6,6 +6,9 @@
#ifndef __SOC_QCOM_TCS_H__
#define __SOC_QCOM_TCS_H__

#include <linux/bitfield.h>
#include <linux/bits.h>

#define MAX_RPMH_PAYLOAD	16

/**
@@ -60,22 +63,17 @@ struct tcs_request {
	struct tcs_cmd *cmds;
};

#define BCM_TCS_CMD_COMMIT_SHFT		30
#define BCM_TCS_CMD_COMMIT_MASK		0x40000000
#define BCM_TCS_CMD_VALID_SHFT		29
#define BCM_TCS_CMD_VALID_MASK		0x20000000
#define BCM_TCS_CMD_VOTE_X_SHFT		14
#define BCM_TCS_CMD_VOTE_MASK		0x3fff
#define BCM_TCS_CMD_VOTE_Y_SHFT		0
#define BCM_TCS_CMD_VOTE_Y_MASK		0xfffc000
#define BCM_TCS_CMD_COMMIT_MASK		BIT(30)
#define BCM_TCS_CMD_VALID_MASK		BIT(29)
#define BCM_TCS_CMD_VOTE_MASK		GENMASK(13, 0)
#define BCM_TCS_CMD_VOTE_Y_MASK		GENMASK(13, 0)
#define BCM_TCS_CMD_VOTE_X_MASK		GENMASK(27, 14)

/* Construct a Bus Clock Manager (BCM) specific TCS command */
#define BCM_TCS_CMD(commit, valid, vote_x, vote_y)		\
	(((commit) << BCM_TCS_CMD_COMMIT_SHFT) |		\
	((valid) << BCM_TCS_CMD_VALID_SHFT) |			\
	((cpu_to_le32(vote_x) &					\
	BCM_TCS_CMD_VOTE_MASK) << BCM_TCS_CMD_VOTE_X_SHFT) |	\
	((cpu_to_le32(vote_y) &					\
	BCM_TCS_CMD_VOTE_MASK) << BCM_TCS_CMD_VOTE_Y_SHFT))
	(u32_encode_bits(commit, BCM_TCS_CMD_COMMIT_MASK) |	\
	u32_encode_bits(valid, BCM_TCS_CMD_VALID_MASK) |	\
	u32_encode_bits(vote_x, BCM_TCS_CMD_VOTE_X_MASK) |	\
	u32_encode_bits(vote_y, BCM_TCS_CMD_VOTE_Y_MASK))

#endif /* __SOC_QCOM_TCS_H__ */