Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

soc: samsung: usi: prevent wrong bits inversion during unconfiguring

Instead of setting bit 1 (USI_OPTION_CLKSTOP_ON) during USI unconfiguring,
all the other bits in the USI_OPTION register get inverted, which
should not happen as that means the clock will keep getting provided
to the USI IP. Remove the unnecessary tilde.

Fixes: 11e77776b58a ("soc: samsung: usi: add a routine for unconfiguring the ip")
Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
Link: https://lore.kernel.org/r/20250413163755.788907-1-ivo.ivanov.ivanov1@gmail.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

authored by

Ivaylo Ivanov and committed by
Krzysztof Kozlowski
dd303e02 2908ffa5

+1 -1
+1 -1
drivers/soc/samsung/exynos-usi.c
··· 233 233 /* Make sure that we've stopped providing the clock to USI IP */ 234 234 val = readl(usi->regs + USI_OPTION); 235 235 val &= ~USI_OPTION_CLKREQ_ON; 236 - val |= ~USI_OPTION_CLKSTOP_ON; 236 + val |= USI_OPTION_CLKSTOP_ON; 237 237 writel(val, usi->regs + USI_OPTION); 238 238 239 239 /* Set USI block state to reset */