Re: [PATCH v4 0/5] spi: spi-geni-qcom: Fixes / perf improvements
On Thu, 18 Jun 2020 08:06:21 -0700, Douglas Anderson wrote: > This patch series is a new version of the previous patch posted: > [PATCH v2] spi: spi-geni-qcom: Speculative fix of "nobody cared" about > interrupt > > https://lore.kernel.org/r/20200317133653.v2.1.I752ebdcfd5e8bf0de06d66e767b8974932b3620e@changeid > > At this point I've done enough tracing to know that there was a real > race in the old code (not just weakly ordered memory problems) and > that should be fixed with the locking patches. > > [...] Applied to https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next Thanks! [1/2] spi: spi-geni-qcom: Simplify setup_fifo_xfer() commit: 0d574c6b59c6ac0ae5b581a2ffb813d446a50a3d [2/2] spi: spi-geni-qcom: Don't set {tx,rx}_rem_bytes unnecessarily (no commit info) 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
Re: [PATCH v4 0/5] spi: spi-geni-qcom: Fixes / perf improvements
On Thu, 18 Jun 2020 08:06:21 -0700, Douglas Anderson wrote: > This patch series is a new version of the previous patch posted: > [PATCH v2] spi: spi-geni-qcom: Speculative fix of "nobody cared" about > interrupt > > https://lore.kernel.org/r/20200317133653.v2.1.I752ebdcfd5e8bf0de06d66e767b8974932b3620e@changeid > > At this point I've done enough tracing to know that there was a real > race in the old code (not just weakly ordered memory problems) and > that should be fixed with the locking patches. > > [...] Applied to https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next Thanks! [1/4] spi: spi-geni-qcom: Mo' betta locking commit: 2ee471a1e28ec79fbfcdc8900ed0ed74132b0efe [2/4] spi: spi-geni-qcom: Check for error IRQs commit: e191a082d764e80a36c198da61fbf2851ebf425a [3/4] spi: spi-geni-qcom: Actually use our FIFO commit: 902481a78ee4173926dc59f060526dee21aeb7a8 [4/4] spi: spi-geni-qcom: Don't keep a local state variable commit: 7ba9bdcb91f694b0eaf486a825afd9c2d99532b7 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
[PATCH v4 0/5] spi: spi-geni-qcom: Fixes / perf improvements
This patch series is a new version of the previous patch posted: [PATCH v2] spi: spi-geni-qcom: Speculative fix of "nobody cared" about interrupt https://lore.kernel.org/r/20200317133653.v2.1.I752ebdcfd5e8bf0de06d66e767b8974932b3620e@changeid At this point I've done enough tracing to know that there was a real race in the old code (not just weakly ordered memory problems) and that should be fixed with the locking patches. While looking at this driver, I also noticed we weren't properly noting error interrupts and also weren't actually using our FIFO effectively, so I fixed those. The last patch in the series addresses review feedback about dislike for the "cur_mcmd" state variable. It also could possibly make "abort" work ever-so-slightly more reliably. Changes in v4: - Drop 'controller' in comment. - Use Stephen's diagram to explain the race better. Changes in v3: - ("spi: spi-geni-qcom: No need for irqsave variant...") new for v3 - Split out some lock cleanup to previous patch. - Don't need to read IRQ status register inside spinlock. - Don't check for state CMD_NONE; later patch is removing state var. - Don't hold the lock for all of setup_fifo_xfer(). - Comment about why it's safe to Ack interrupts at the end. - Subject/desc changed since race is definitely there. - ("spi: spi-geni-qcom: Check for error IRQs") new in v3. - ("spi: spi-geni-qcom: Actually use our FIFO") new in v3. - ("spi: spi-geni-qcom: Don't keep a local state variable") new in v3. Changes in v2: - Detect true spurious interrupt. - Still return IRQ_NONE for state machine mismatch, but print warn. Douglas Anderson (5): spi: spi-geni-qcom: No need for irqsave variant of spinlock calls spi: spi-geni-qcom: Mo' betta locking spi: spi-geni-qcom: Check for error IRQs spi: spi-geni-qcom: Actually use our FIFO spi: spi-geni-qcom: Don't keep a local state variable drivers/spi/spi-geni-qcom.c | 120 1 file changed, 81 insertions(+), 39 deletions(-) -- 2.27.0.290.gba653c62da-goog