mirror of https://gitee.com/openkylin/linux.git
soc: 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 <dianders@chromium.org> Reviewed-by: Maulik Shah <mkshah@codeaurora.org> Reviewed-by: Stephen Boyd <swboyd@chromium.org> Tested-by: Maulik Shah <mkshah@codeaurora.org> Link: https://lore.kernel.org/r/20200413100321.v4.4.Ia348ade7c6ed1d0d952ff2245bc854e5834c8d9a@changeid Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
This commit is contained in:
parent
427ef4f72b
commit
53d49fe1ff
|
@ -177,17 +177,10 @@ static bool tcs_is_free(struct rsc_drv *drv, int tcs_id)
|
||||||
read_tcs_reg(drv, RSC_DRV_STATUS, 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)
|
static int tcs_invalidate(struct rsc_drv *drv, int type)
|
||||||
{
|
{
|
||||||
int m;
|
int m;
|
||||||
struct tcs_group *tcs;
|
struct tcs_group *tcs = &drv->tcs[type];
|
||||||
|
|
||||||
tcs = get_tcs_of_type(drv, type);
|
|
||||||
|
|
||||||
spin_lock(&tcs->lock);
|
spin_lock(&tcs->lock);
|
||||||
if (bitmap_empty(tcs->slots, MAX_TCS_SLOTS)) {
|
if (bitmap_empty(tcs->slots, MAX_TCS_SLOTS)) {
|
||||||
|
@ -250,9 +243,9 @@ static struct tcs_group *get_tcs_for_msg(struct rsc_drv *drv,
|
||||||
* dedicated TCS for active state use, then re-purpose a wake TCS to
|
* dedicated TCS for active state use, then re-purpose a wake TCS to
|
||||||
* send active votes.
|
* send active votes.
|
||||||
*/
|
*/
|
||||||
tcs = get_tcs_of_type(drv, type);
|
tcs = &drv->tcs[type];
|
||||||
if (msg->state == RPMH_ACTIVE_ONLY_STATE && !tcs->num_tcs)
|
if (msg->state == RPMH_ACTIVE_ONLY_STATE && !tcs->num_tcs)
|
||||||
tcs = get_tcs_of_type(drv, WAKE_TCS);
|
tcs = &drv->tcs[WAKE_TCS];
|
||||||
|
|
||||||
return tcs;
|
return tcs;
|
||||||
}
|
}
|
||||||
|
@ -643,7 +636,7 @@ int rpmh_rsc_write_ctrl_data(struct rsc_drv *drv, const struct tcs_request *msg)
|
||||||
static bool rpmh_rsc_ctrlr_is_busy(struct rsc_drv *drv)
|
static bool rpmh_rsc_ctrlr_is_busy(struct rsc_drv *drv)
|
||||||
{
|
{
|
||||||
int m;
|
int m;
|
||||||
struct tcs_group *tcs = get_tcs_of_type(drv, ACTIVE_TCS);
|
struct tcs_group *tcs = &drv->tcs[ACTIVE_TCS];
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* If we made an active request on a RSC that does not have a
|
* If we made an active request on a RSC that does not have a
|
||||||
|
@ -655,7 +648,7 @@ static bool rpmh_rsc_ctrlr_is_busy(struct rsc_drv *drv)
|
||||||
* lock before checking tcs_is_free().
|
* lock before checking tcs_is_free().
|
||||||
*/
|
*/
|
||||||
if (!tcs->num_tcs)
|
if (!tcs->num_tcs)
|
||||||
tcs = get_tcs_of_type(drv, WAKE_TCS);
|
tcs = &drv->tcs[WAKE_TCS];
|
||||||
|
|
||||||
for (m = tcs->offset; m < tcs->offset + tcs->num_tcs; m++) {
|
for (m = tcs->offset; m < tcs->offset + tcs->num_tcs; m++) {
|
||||||
if (!tcs_is_free(drv, m))
|
if (!tcs_is_free(drv, m))
|
||||||
|
|
Loading…
Reference in New Issue