Re: [PATCH 1/8] cpufreq: allow drivers to flag custom support for freq invariance

From: Viresh Kumar
Date: Wed Jul 01 2020 - 06:46:24 EST


On 01-07-20, 10:07, Ionela Voinescu wrote:
> diff --git a/include/linux/cpufreq.h b/include/linux/cpufreq.h
> index 3494f6763597..42668588f9f8 100644
> --- a/include/linux/cpufreq.h
> +++ b/include/linux/cpufreq.h
> @@ -293,7 +293,7 @@ __ATTR(_name, 0644, show_##_name, store_##_name)
>
> struct cpufreq_driver {
> char name[CPUFREQ_NAME_LEN];
> - u8 flags;
> + u16 flags;

Lets make it u32.

> void *driver_data;
>
> /* needed by all drivers */
> @@ -417,6 +417,14 @@ struct cpufreq_driver {
> */
> #define CPUFREQ_IS_COOLING_DEV BIT(7)
>
> +/*
> + * Set by drivers which implement the necessary calls to the scheduler's
> + * frequency invariance engine. The use of this flag will result in the
> + * default arch_set_freq_scale calls being skipped in favour of custom
> + * driver calls.
> + */
> +#define CPUFREQ_CUSTOM_SET_FREQ_SCALE BIT(8)

I will rather suggest CPUFREQ_SKIP_SET_FREQ_SCALE as the name and
functionality. We need to give drivers a choice if they do not want
the core to do it on their behalf, because they are doing it on their
own or they don't want to do it.

--
viresh