On Thu, Apr 28, 2022 at 10:56 AM Zhang Rui <rui.zhang@xxxxxxxxx> wrote: > > Resend with linux-pm mailing list CCed. > > On Thu, 2022-04-28 at 11:00 +1000, Stephen Rothwell wrote: > > Hi all, > > > > After merging the pm tree, today's linux-next build (x86_64 > > allmodconfig) > > failed like this: > > > > drivers/idle/intel_idle.c: In function 'adl_idle_state_table_update': > > drivers/idle/intel_idle.c:1701:17: error: 'disable_promotion_to_c1e' > > undeclared (first use in this function) > > 1701 | disable_promotion_to_c1e = true; > > | ^~~~~~~~~~~~~~~~~~~~~~~~ > > drivers/idle/intel_idle.c:1701:17: note: each undeclared identifier > > is reported only once for each function it appears in > > drivers/idle/intel_idle.c:1706:9: error: implicit declaration of > > function 'c1e_promotion_enable' [-Werror=implicit-function- > > declaration] > > 1706 | c1e_promotion_enable(); > > | ^~~~~~~~~~~~~~~~~~~~ > > drivers/idle/intel_idle.c: At top level: > > drivers/idle/intel_idle.c:1854:13: error: conflicting types for > > 'c1e_promotion_enable'; have 'void(void)' [-Werror] > > 1854 | static void c1e_promotion_enable(void) > > | ^~~~~~~~~~~~~~~~~~~~ > > drivers/idle/intel_idle.c:1854:13: error: static declaration of > > 'c1e_promotion_enable' follows non-static declaration > > drivers/idle/intel_idle.c:1706:9: note: previous implicit declaration > > of 'c1e_promotion_enable' with type 'void(void)' > > 1706 | c1e_promotion_enable(); > > | ^~~~~~~~~~~~~~~~~~~~ > > > > Caused by commit > > > > 39c184a6a9a7 ("intel_idle: Fix the 'preferred_cstates' module > > parameter") > > > > interacting with commit > > > > cc6e234b8264 ("intel_idle: Add AlderLake support") > > > > Presumably this should have been fixed up in commit > > > > 55ecda6f25ef ("Merge branch 'intel-idle' into linux-next") > > > > I have used the pm tree from next-20220427 for today. > > > TBH, I'm not quite sure about the Fixes tag below. > > Although commit 39c184a6a9a7 is merged later and breaks commit > cc6e234b8264, but given that commit 39c184a6a9a7 is for -rc material > and commit cc6e234b8264 and this patch are for next merge window, so I > still use the orginal ADL intel_idle commit for Fixes tag. Thanks for the fix. I think I'll redo the ADL support commit with the below folded in. > From 9b784d7f9ea5593a92eb6d616523b5f47464e981 Mon Sep 17 00:00:00 2001 > From: Zhang Rui <rui.zhang@xxxxxxxxx> > Date: Thu, 28 Apr 2022 09:37:10 +0800 > Subject: [PATCH] intel_idle: fix C1E handling for AlderLake > > commit cc6e234b8264 ("intel_idle: Add AlderLake support") disables the C1E > promotion using the 'disable_promotion_to_c1e' variable, but enables the > the C1E promotion by invoking c1e_promotion_enable() directly. > > Then, commit 39c184a6a9a7 ("intel_idle: Fix the 'preferred_cstates' module > parameter") removes the 'disable_promotion_to_c1e' variable and introduces > a new tri-state 'c1e_promotion' variable that can be used for both > enabling and disabling C1E promotion, on a per CPU basis. > > Switch to use the new 'c1e_promotion' variable to fix the build failure, > and also to do C1E promotion bit update on all CPUs. > > Fixes: commit cc6e234b8264 ("intel_idle: Add AlderLake support") > Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> > --- > drivers/idle/intel_idle.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/idle/intel_idle.c b/drivers/idle/intel_idle.c > index 7c081ed26b64..2de6e0a2d9a1 100644 > --- a/drivers/idle/intel_idle.c > +++ b/drivers/idle/intel_idle.c > @@ -1698,12 +1698,12 @@ static void __init adl_idle_state_table_update(void) > cpuidle_state_table[1].flags |= CPUIDLE_FLAG_UNUSABLE; > > /* Disable C1E by clearing the "C1E promotion" bit. */ > - disable_promotion_to_c1e = true; > + c1e_promotion = C1E_PROMOTION_DISABLE; > return; > } > end: > /* Make sure C1E is enabled by default */ > - c1e_promotion_enable(); > + c1e_promotion = C1E_PROMOTION_ENABLE; > } > > /** > -- > 2.17.1 > >