• Viresh Kumar's avatar
    OPP: Configure all required OPPs · ca1b5d77
    Viresh Kumar authored
    Now that all the infrastructure is in place to support multiple required
    OPPs, lets switch over to using it.
    
    A new internal routine _set_required_opps() takes care of updating
    performance state for all the required OPPs. With this the performance
    state updates are supported even when the end device needs to configure
    regulators as well, that wasn't the case earlier.
    
    The pstates were earlier stored in the end device's OPP structures, that
    also changes now as those values are stored in the genpd's OPP
    structures. And so we switch over to using
    pm_genpd_opp_to_performance_state() instead of
    of_genpd_opp_to_performance_state() to get performance state for the
    genpd OPPs.
    
    The routine _generic_set_opp_domain() is not required anymore and is
    removed.
    
    On errors we don't try to recover by reverting to old settings as things
    are really complex now and the calls here should never really fail
    unless there is a bug. There is no point increasing the complexity, for
    code which will never be executed.
    Reviewed-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
    Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
    ca1b5d77
core.c 50.5 KB