(In reply to Jiri Slaby from comment #3)
> > As a quick test could you try adding:
> >
> > /* Check if we are PSC mode, or have AMT enabled */
> > funcmode = (output >> DYTC_GET_FUNCTION_BIT) & 0xF;
> > +if (funcmode == DYTC_FUNCTION_STD)
> > + funcmode = DYTC_FUNCTION_PSC;
> >
> > To see if it behaves correctly please?
>
> Will try.
It only changes the error to EINVAL. 0xf is not handled as a correct state in PSC.
BTW the first (bad) log:
thinkpad_acpi: dytc_profile_refresh: err=-22 mmc=0 psc=1 mmc_get=0 funcmode=13 output=0x1f001 perfmode=15
(In reply to Jiri Slaby from comment #3) FUNCTION_ BIT) & 0xF;
> > As a quick test could you try adding:
> >
> > /* Check if we are PSC mode, or have AMT enabled */
> > funcmode = (output >> DYTC_GET_
> > +if (funcmode == DYTC_FUNCTION_STD)
> > + funcmode = DYTC_FUNCTION_PSC;
> >
> > To see if it behaves correctly please?
>
> Will try.
It only changes the error to EINVAL. 0xf is not handled as a correct state in PSC.
BTW the first (bad) log: refresh: err=-22 mmc=0 psc=1 mmc_get=0 funcmode=13 output=0x1f001 perfmode=15
thinkpad_acpi: dytc_profile_
subsequent refreshes (good): refresh: err=0 mmc=0 psc=1 mmc_get=0 funcmode=13 output=0x20013d01 perfmode=3
thinkpad_acpi: dytc_profile_