Re: Applied "regulator: s2mps11: Fix invalid selector mask and voltages for buck9" to the regulator tree

From: Krzysztof Kozlowski
Date: Tue Mar 29 2016 - 03:46:10 EST


On 29.03.2016 16:39, Mark Brown wrote:
> The patch
>
> regulator: s2mps11: Fix invalid selector mask and voltages for buck9
>
> has been applied to the regulator tree at
>
> git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git
>
> All being well this means that it will be integrated into the linux-next
> tree (usually sometime in the next 24 hours) and sent to Linus during
> the next merge window (or sooner if it is a bug fix), however if
> problems are discovered then the patch may be dropped or reverted.
>
> You may get further e-mails resulting from automated or manual testing
> and review of the tree, please engage with people reporting problems and
> send followup patches addressing any issues that are reported if needed.
>
> If any updates are required or you are submitting further changes they
> should be sent as incremental updates against current git, existing
> patches will not be replaced.
>
> Please add any relevant lists and maintainers to the CCs when replying
> to this mail.
>
> Thanks,
> Mark
>
>>From 3b672623079bb3e5685b8549e514f2dfaa564406 Mon Sep 17 00:00:00 2001
> From: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
> Date: Mon, 28 Mar 2016 13:09:56 +0900
> Subject: [PATCH] regulator: s2mps11: Fix invalid selector mask and voltages
> for buck9
>
> The buck9 regulator of S2MPS11 PMIC had incorrect vsel_mask (0xff
> instead of 0x1f) thus reading entire register as buck9's voltage. This
> effectively caused regulator core to interpret values as higher voltages
> than they were and then to set real voltage much lower than intended.
>
> The buck9 provides power to other regulators, including LDO13
> and LDO19 which supply the MMC2 (SD card). On Odroid XU3/XU4 the lower
> voltage caused SD card detection errors on Odroid XU3/XU4:
> mmc1: card never left busy state
> mmc1: error -110 whilst initialising SD card
>
> During driver probe the regulator core was checking whether initial
> voltage matches the constraints. With incorrect vsel_mask of 0xff and
> default value of 0x50, the core interpreted this as 5 V which is outside
> of constraints (3-3.775 V). Then the regulator core was adjusting the
> voltage to match the constraints. With incorrect vsel_mask this new
> voltage mapped to a vere low voltage in the driver.
>
> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx>
> Tested-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx>
> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
> Cc: <stable@xxxxxxxxxxxxxxx>

Hi Mark,

Hmm, the "Fixes" tag disappeared. I think it might be useful for stable
backport.

Best regards,
Krzysztof