spi: pxa2xx: Apply CS clk quirk to BXT
authorEvan Green <evgreen@chromium.org>
Mon, 27 Apr 2020 23:32:48 +0000 (16:32 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 22 Jun 2020 07:30:51 +0000 (09:30 +0200)
commit6fc5d5834b372a70f28212c77847dea42cdc2713
tree9a547a9c27a120d1c67a4f92d938eecdb1b0cdb6
parent269e7b43f2b4654f9f79e185ae425f2d72c6df37
spi: pxa2xx: Apply CS clk quirk to BXT

[ Upstream commit 6eefaee4f2d366a389da0eb95e524ba82bf358c4 ]

With a couple allies at Intel, and much badgering, I got confirmation
from Intel that at least BXT suffers from the same SPI chip-select
issue as Cannonlake (and beyond). The issue being that after going
through runtime suspend/resume, toggling the chip-select line without
also sending data does nothing.

Add the quirk to BXT to briefly toggle dynamic clock gating off and
on, forcing the fabric to wake up enough to notice the CS register
change.

Signed-off-by: Evan Green <evgreen@chromium.org>
Cc: Shobhit Srivastava <shobhit.srivastava@intel.com>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20200427163238.1.Ib1faaabe236e37ea73be9b8dcc6aa034cb3c8804@changeid
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/spi/spi-pxa2xx.c