Hi Doug, On 05/30/2018 05:34 PM, Doug Anderson wrote: > On Wed, May 30, 2018 at 4:39 PM, David Collins <collinsd@xxxxxxxxxxxxxx> wrote: >> Consider the case of a regulator with physical 10 mA LPM max current. Say >> that modem and application processors each have a load on the regulator >> that draws 9 mA. If they each respect the 10 mA limit, then they'd each >> vote for LPM. The VRM block in RPMh hardware will aggregate these requests >> together using a max function which will result in the regulator being set >> to LPM, even though the total load is 18 mA (which would require high >> power mode (HPM)). To get around this corner case, a LPM max current of 1 >> uA can be used for all LDO supplies that have non-application processor >> consumers. Thus, any non-zero regulator_set_load() current request will >> result in setting the regulator to HPM (which is always safe). > > Is there any plan to change the way this works for future versions of RPMh? As far as I know, no. Adding VRM logic to sum RPMh client load current requests, compare the sums to thresholds, select corresponding modes, and override with explicit modes was determined to be too complex for RPMh. Instead, much simpler max aggregation was implemented along with design guidelines for PMICs to ensure that mode values are ordered from strictly lower to higher power. Take care, David -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html