|
@@ -68,9 +68,9 @@ struct rockchip_pmu {
|
|
{ \
|
|
{ \
|
|
.pwr_mask = BIT(pwr), \
|
|
.pwr_mask = BIT(pwr), \
|
|
.status_mask = BIT(status), \
|
|
.status_mask = BIT(status), \
|
|
- .req_mask = BIT(req), \
|
|
|
|
- .idle_mask = BIT(idle), \
|
|
|
|
- .ack_mask = BIT(ack), \
|
|
|
|
|
|
+ .req_mask = (req >= 0) ? BIT(req) : 0, \
|
|
|
|
+ .idle_mask = (idle >= 0) ? BIT(idle) : 0, \
|
|
|
|
+ .ack_mask = (ack >= 0) ? BIT(ack) : 0, \
|
|
}
|
|
}
|
|
|
|
|
|
#define DOMAIN_RK3288(pwr, status, req) \
|
|
#define DOMAIN_RK3288(pwr, status, req) \
|
|
@@ -96,6 +96,9 @@ static int rockchip_pmu_set_idle_request(struct rockchip_pm_domain *pd,
|
|
struct rockchip_pmu *pmu = pd->pmu;
|
|
struct rockchip_pmu *pmu = pd->pmu;
|
|
unsigned int val;
|
|
unsigned int val;
|
|
|
|
|
|
|
|
+ if (pd_info->req_mask == 0)
|
|
|
|
+ return 0;
|
|
|
|
+
|
|
regmap_update_bits(pmu->regmap, pmu->info->req_offset,
|
|
regmap_update_bits(pmu->regmap, pmu->info->req_offset,
|
|
pd_info->req_mask, idle ? -1U : 0);
|
|
pd_info->req_mask, idle ? -1U : 0);
|
|
|
|
|