From: Stephen Boyd <sboyd@kernel.org>
To: Eugen Hristev <eugen.hristev@linaro.org>, linux-arm-msm@vger.kernel.org
Cc: andersson@kernel.org, konradybcio@kernel.org,
linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org,
linux-pm@vger.kernel.org, djakov@kernel.org,
mturquette@baylibre.com, Eugen Hristev <eugen.hristev@linaro.org>
Subject: Re: [PATCH v2] soc: qcom: Rework BCM_TCS_CMD macro
Date: Mon, 28 Oct 2024 10:56:41 -0700 [thread overview]
Message-ID: <bb5d855954d5ff8694a3978a9f87a9d2.sboyd@kernel.org> (raw)
In-Reply-To: <20241028163403.522001-1-eugen.hristev@linaro.org>
Quoting Eugen Hristev (2024-10-28 09:34:03)
> diff --git a/include/soc/qcom/tcs.h b/include/soc/qcom/tcs.h
> index 3acca067c72b..152947a922c0 100644
> --- a/include/soc/qcom/tcs.h
> +++ b/include/soc/qcom/tcs.h
> @@ -60,22 +63,19 @@ 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))
> + (le32_encode_bits(commit, BCM_TCS_CMD_COMMIT_MASK) | \
> + le32_encode_bits(valid, BCM_TCS_CMD_VALID_MASK) | \
> + le32_encode_bits(vote_x, \
> + BCM_TCS_CMD_VOTE_X_MASK) | \
> + le32_encode_bits(vote_y, \
> + BCM_TCS_CMD_VOTE_Y_MASK))
Why is cpu_to_le32() inside BCM_TCS_CMD at all? Is struct tcs_cmd::data
supposed to be marked as __le32?
Can the whole u32 be constructed and turned into an __le32 after setting
all the bit fields instead of using le32_encode_bits() multiple times?
next prev parent reply other threads:[~2024-10-28 17:56 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-28 16:34 [PATCH v2] soc: qcom: Rework BCM_TCS_CMD macro Eugen Hristev
2024-10-28 17:56 ` Stephen Boyd [this message]
2024-10-29 13:12 ` Eugen Hristev
2024-10-30 0:40 ` Stephen Boyd
2024-10-30 8:28 ` Eugen Hristev
2024-11-08 19:00 ` Stephen Boyd
2024-11-11 13:05 ` Eugen Hristev
2024-11-19 23:32 ` Stephen Boyd
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=bb5d855954d5ff8694a3978a9f87a9d2.sboyd@kernel.org \
--to=sboyd@kernel.org \
--cc=andersson@kernel.org \
--cc=djakov@kernel.org \
--cc=eugen.hristev@linaro.org \
--cc=konradybcio@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=mturquette@baylibre.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.