Re: linux-next: Tree for Nov 27 (drivers/idle/intel_idle.c)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/30/20 3:54 AM, Peter Zijlstra wrote:
> On Sat, Nov 28, 2020 at 08:36:17AM +1100, Stephen Rothwell wrote:
>> Hi Randy,
>>
>> On Fri, 27 Nov 2020 07:57:32 -0800 Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote:
>>>
>>> On 11/27/20 1:04 AM, Stephen Rothwell wrote:
>>>> Hi all,
>>>>
>>>> Changes since 20201126:
>>>>   
>>>
>>> (This looks strange to me.)
>>>
>>>
>>> on i386 or x86_64:
>>>
>>> # CONFIG_ACPI is not set
>>>
>>> ../drivers/idle/intel_idle.c: In function ‘intel_idle_init_cstates_icpu’:
>>> ../drivers/idle/intel_idle.c:1510:7: error: implicit declaration of function ‘intel_idle_state_needs_timer_stop’; did you mean ‘intel_idle_init_cstates_icpu’? [-Werror=implicit-function-declaration]
>>>    if (intel_idle_state_needs_timer_stop(&drv->states[drv->state_count]))
>>>        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>
>> intel_idle_state_needs_timer_stop() is only defined when
>> CONFIG_ACPI_PROCESSOR_CSTATE is set, but is used once where that is not
>> necessarily set.  I assume CONFIG_ACPI_PROCESSOR_CSTATE is not set in
>> your config?
> 
> Bah... :/

Yep, thanks.

Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> # build-tested


> diff --git a/drivers/idle/intel_idle.c b/drivers/idle/intel_idle.c
> index 7ee7ffe22ae3..d79335506ecd 100644
> --- a/drivers/idle/intel_idle.c
> +++ b/drivers/idle/intel_idle.c
> @@ -1140,6 +1140,20 @@ static bool __init intel_idle_max_cstate_reached(int cstate)
>  	return false;
>  }
>  
> +static bool __init intel_idle_state_needs_timer_stop(struct cpuidle_state *state)
> +{
> +	unsigned long eax = flg2MWAIT(state->flags);
> +
> +	if (boot_cpu_has(X86_FEATURE_ARAT))
> +		return false;
> +
> +	/*
> +	 * Switch over to one-shot tick broadcast if the target C-state
> +	 * is deeper than C1.
> +	 */
> +	return !!((eax >> MWAIT_SUBSTATE_SIZE) & MWAIT_CSTATE_MASK);
> +}
> +
>  #ifdef CONFIG_ACPI_PROCESSOR_CSTATE
>  #include <acpi/processor.h>
>  
> @@ -1210,20 +1224,6 @@ static bool __init intel_idle_acpi_cst_extract(void)
>  	return false;
>  }
>  
> -static bool __init intel_idle_state_needs_timer_stop(struct cpuidle_state *state)
> -{
> -	unsigned long eax = flg2MWAIT(state->flags);
> -
> -	if (boot_cpu_has(X86_FEATURE_ARAT))
> -		return false;
> -
> -	/*
> -	 * Switch over to one-shot tick broadcast if the target C-state
> -	 * is deeper than C1.
> -	 */
> -	return !!((eax >> MWAIT_SUBSTATE_SIZE) & MWAIT_CSTATE_MASK);
> -}
> -
>  static void __init intel_idle_init_cstates_acpi(struct cpuidle_driver *drv)
>  {
>  	int cstate, limit = min_t(int, CPUIDLE_STATE_MAX, acpi_state_table.count);
> 


-- 
~Randy



[Index of Archives]     [Linux Kernel]     [Linux USB Development]     [Yosemite News]     [Linux SCSI]

  Powered by Linux