Re: [PATCH] ACPI / PMIC: xpower: Fix TS-pin current-source handling

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

 



On Fri, Jan 4, 2019 at 11:11 PM Hans de Goede <hdegoede@xxxxxxxxxx> wrote:
>
> The current-source used for the battery temp-sensor (TS) is shared with the
> GPADC. For proper fuel-gauge and charger operation the TS current-source
> needs to be permanently on. But to read the GPADC we need to temporary
> switch the TS current-source to ondemand, so that the GPADC can use it,
> otherwise we will always read an all 0 value.
>
> The switching from on to on-ondemand is not necessary when the TS
> current-source is off (this happens on devices which do not have a TS).
>
> Prior to this commit there were 2 issues with our handling of the TS
> current-source switching:
>
> 1) We were writing hardcoded values to the ADC TS pin-ctrl register,
> overwriting various other unrelated bits. Specifically we were overwriting
> the current-source setting for the TS and GPIO0 pins, forcing it to 80ųA
> independent of its original setting. On a Chuwi Vi10 tablet this was
> causing us to get a too high adc value (due to a too high current-source)
> resulting in acpi_lpat_raw_to_temp() returning -ENOENT, resulting in:
>
> ACPI Error: AE_ERROR, Returned by Handler for [UserDefinedRegion]
> ACPI Error: Method parse/execution failed \_SB.SXP1._TMP, AE_ERROR
>
> This commit fixes this by using regmap_update_bits to change only the
> relevant bits.
>
> 2) At the end of intel_xpower_pmic_get_raw_temp() we were unconditionally
> enabling the TS current-source even on devices where the TS-pin is not used
> and the current-source thus was off on entry of the function.
>
> This commit fixes this by checking if the TS current-source is off when
> entering intel_xpower_pmic_get_raw_temp() and if so it is left as is.
>
> Fixes: 58eefe2f3f53 ("ACPI / PMIC: xpower: Do pinswitch ... reading GPADC")

AFAICS this commit went in during the 4.14 cycle, so I'm assuming the
patch to be stable-candidate material, right?



[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux