]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
spi: pxa2xx: Fix regression when toggling chip select on LPSS devices
authorMark Lord <mlord@pobox.com>
Tue, 4 Feb 2025 17:45:06 +0000 (19:45 +0200)
committerMark Brown <broonie@kernel.org>
Tue, 4 Feb 2025 19:09:07 +0000 (19:09 +0000)
The commit 78b435c9044a ("spi: pxa2xx: Introduce __lpss_ssp_update_priv()
helper") broke speaker output on my ASUS UX5304MA laptop. The problem is
in inverted value that got written in the private register.

Simple bug, simple fix.

Fixes: 78b435c9044a ("spi: pxa2xx: Introduce __lpss_ssp_update_priv() helper")
Signed-off-by: Mark Lord <mlord@pobox.com>
Tested-by: Mark Lord <mlord@pobox.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://patch.msgid.link/20250204174506.149978-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-pxa2xx.c

index 5f9cac41baff6efda93e40c084d58776b51f2f46..06711a62fa3dcada9810ef98bb116bb07a068d0e 100644 (file)
@@ -399,7 +399,7 @@ static void lpss_ssp_cs_control(struct spi_device *spi, bool enable)
                lpss_ssp_select_cs(spi, config);
 
        mask = LPSS_CS_CONTROL_CS_HIGH;
-       __lpss_ssp_update_priv(drv_data, config->reg_cs_ctrl, mask, enable ? mask : 0);
+       __lpss_ssp_update_priv(drv_data, config->reg_cs_ctrl, mask, enable ? 0 : mask);
        if (config->cs_clk_stays_gated) {
                /*
                 * Changing CS alone when dynamic clock gating is on won't