2020-03-11 23:15:02

by Doug Anderson

[permalink] [raw]
Subject: [RFT PATCH v2 04/10] drivers: qcom: rpmh-rsc: Remove get_tcs_of_type() abstraction

The get_tcs_of_type() function doesn't provide any value. It's not
conceptually difficult to access a value in an array, even if that
value is in a structure and we want a pointer to the value. Having
the function in there makes me feel like it's doing something fancier
like looping or searching. Remove it.

Signed-off-by: Douglas Anderson <[email protected]>
Reviewed-by: Maulik Shah <[email protected]>
---

Changes in v2: None

drivers/soc/qcom/rpmh-rsc.c | 13 +++----------
1 file changed, 3 insertions(+), 10 deletions(-)

diff --git a/drivers/soc/qcom/rpmh-rsc.c b/drivers/soc/qcom/rpmh-rsc.c
index 799847b08038..c9f29cbd5ee5 100644
--- a/drivers/soc/qcom/rpmh-rsc.c
+++ b/drivers/soc/qcom/rpmh-rsc.c
@@ -170,17 +170,10 @@ static bool tcs_is_free(struct rsc_drv *drv, int tcs_id)
read_tcs_reg(drv, RSC_DRV_STATUS, tcs_id);
}

-static struct tcs_group *get_tcs_of_type(struct rsc_drv *drv, int type)
-{
- return &drv->tcs[type];
-}
-
static int tcs_invalidate(struct rsc_drv *drv, int type)
{
int m;
- struct tcs_group *tcs;
-
- tcs = get_tcs_of_type(drv, type);
+ struct tcs_group *tcs = &drv->tcs[type];

spin_lock(&tcs->lock);
if (bitmap_empty(tcs->slots, MAX_TCS_SLOTS)) {
@@ -246,9 +239,9 @@ static struct tcs_group *get_tcs_for_msg(struct rsc_drv *drv,
* dedicated AMC, and therefore would invalidate the sleep and wake
* TCSes before making an active state request.
*/
- tcs = get_tcs_of_type(drv, type);
+ tcs = &drv->tcs[type];
if (msg->state == RPMH_ACTIVE_ONLY_STATE && !tcs->num_tcs) {
- tcs = get_tcs_of_type(drv, WAKE_TCS);
+ tcs = &drv->tcs[WAKE_TCS];
if (tcs->num_tcs) {
ret = rpmh_rsc_invalidate(drv);
if (ret)
--
2.25.1.481.gfbce0eb801-goog


2020-04-01 08:19:36

by Maulik Shah

[permalink] [raw]
Subject: Re: [RFT PATCH v2 04/10] drivers: qcom: rpmh-rsc: Remove get_tcs_of_type() abstraction

Hi,

Tested-by: Maulik Shah <[email protected]>

Thanks,
Maulik

On 3/12/2020 4:43 AM, Douglas Anderson wrote:
> The get_tcs_of_type() function doesn't provide any value. It's not
> conceptually difficult to access a value in an array, even if that
> value is in a structure and we want a pointer to the value. Having
> the function in there makes me feel like it's doing something fancier
> like looping or searching. Remove it.
>
> Signed-off-by: Douglas Anderson <[email protected]>
> Reviewed-by: Maulik Shah <[email protected]>
> ---
>
> Changes in v2: None
>
> drivers/soc/qcom/rpmh-rsc.c | 13 +++----------
> 1 file changed, 3 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/soc/qcom/rpmh-rsc.c b/drivers/soc/qcom/rpmh-rsc.c
> index 799847b08038..c9f29cbd5ee5 100644
> --- a/drivers/soc/qcom/rpmh-rsc.c
> +++ b/drivers/soc/qcom/rpmh-rsc.c
> @@ -170,17 +170,10 @@ static bool tcs_is_free(struct rsc_drv *drv, int tcs_id)
> read_tcs_reg(drv, RSC_DRV_STATUS, tcs_id);
> }
>
> -static struct tcs_group *get_tcs_of_type(struct rsc_drv *drv, int type)
> -{
> - return &drv->tcs[type];
> -}
> -
> static int tcs_invalidate(struct rsc_drv *drv, int type)
> {
> int m;
> - struct tcs_group *tcs;
> -
> - tcs = get_tcs_of_type(drv, type);
> + struct tcs_group *tcs = &drv->tcs[type];
>
> spin_lock(&tcs->lock);
> if (bitmap_empty(tcs->slots, MAX_TCS_SLOTS)) {
> @@ -246,9 +239,9 @@ static struct tcs_group *get_tcs_for_msg(struct rsc_drv *drv,
> * dedicated AMC, and therefore would invalidate the sleep and wake
> * TCSes before making an active state request.
> */
> - tcs = get_tcs_of_type(drv, type);
> + tcs = &drv->tcs[type];
> if (msg->state == RPMH_ACTIVE_ONLY_STATE && !tcs->num_tcs) {
> - tcs = get_tcs_of_type(drv, WAKE_TCS);
> + tcs = &drv->tcs[WAKE_TCS];
> if (tcs->num_tcs) {
> ret = rpmh_rsc_invalidate(drv);
> if (ret)

--
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation