[v2,0/2] spi-geni-qcom: Add new interfaces and utilise them to do map/unmap in framework for SE DMA

Message ID 1684325894-30252-1-git-send-email-quic_vnivarth@quicinc.com
Headers
Series spi-geni-qcom: Add new interfaces and utilise them to do map/unmap in framework for SE DMA |

Message

Vijaya Krishna Nivarthi May 17, 2023, 12:18 p.m. UTC
  A "known issue" during implementation of SE DMA for spi geni driver was
that it does DMA map/unmap internally instead of in spi framework.
Current patches remove this hiccup and also clean up code a bit.

Testing revealed no regressions and results with 1000 iterations of
reading from EC showed no loss of performance.
Results
=======
Before - Iteration 999, min=5.10, max=5.17, avg=5.14, ints=25129
After  - Iteration 999, min=5.10, max=5.20, avg=5.15, ints=25153

Vijaya Krishna Nivarthi (2):
  soc: qcom: geni-se: Add interfaces geni_se_tx_init_dma() and
    geni_se_rx_init_dma()
  spi: spi-geni-qcom: Do not do DMA map/unmap inside driver, use
    framework instead
---
v1 -> v2:
- Modified interfaces arguments and accordingly calls to them
- Added dma_max_len to driver

 drivers/soc/qcom/qcom-geni-se.c  |  67 ++++++++++++++++++-------
 drivers/spi/spi-geni-qcom.c      | 103 +++++++++++++++++++--------------------
 include/linux/soc/qcom/geni-se.h |   4 ++
 3 files changed, 103 insertions(+), 71 deletions(-)
  

Comments

Mark Brown June 6, 2023, 5:49 p.m. UTC | #1
On Wed, May 17, 2023 at 05:48:12PM +0530, Vijaya Krishna Nivarthi wrote:
> A "known issue" during implementation of SE DMA for spi geni driver was
> that it does DMA map/unmap internally instead of in spi framework.
> Current patches remove this hiccup and also clean up code a bit.

Given Konrad's review I'll go ahead and apply these on a branch
(assuming my CI is happy), if there's a need to merge them into the qcom
tree I can sign a pull request (or revert the commits).  Hopefully
that's OK with everyone.
  
Vijaya Krishna Nivarthi June 7, 2023, 1:14 a.m. UTC | #2
On 6/6/2023 11:19 PM, Mark Brown wrote:
> On Wed, May 17, 2023 at 05:48:12PM +0530, Vijaya Krishna Nivarthi wrote:
>> A "known issue" during implementation of SE DMA for spi geni driver was
>> that it does DMA map/unmap internally instead of in spi framework.
>> Current patches remove this hiccup and also clean up code a bit.
> Given Konrad's review I'll go ahead and apply these on a branch
> (assuming my CI is happy), if there's a need to merge them into the qcom
> tree I can sign a pull request (or revert the commits).  Hopefully
> that's OK with everyone.


Sounds ok to me given Bjorn seems not available until 9th.

Thank you everyone for review and time.

-Vijay/
  
Mark Brown June 7, 2023, 12:28 p.m. UTC | #3
On Wed, 17 May 2023 17:48:12 +0530, Vijaya Krishna Nivarthi wrote:
> A "known issue" during implementation of SE DMA for spi geni driver was
> that it does DMA map/unmap internally instead of in spi framework.
> Current patches remove this hiccup and also clean up code a bit.
> 
> Testing revealed no regressions and results with 1000 iterations of
> reading from EC showed no loss of performance.
> Results
> =======
> Before - Iteration 999, min=5.10, max=5.17, avg=5.14, ints=25129
> After  - Iteration 999, min=5.10, max=5.20, avg=5.15, ints=25153
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git for-next

Thanks!

[1/2] soc: qcom: geni-se: Add interfaces geni_se_tx_init_dma() and geni_se_rx_init_dma()
      commit: 6d6e57594957ee9131bc3802dfc8657ca6f78fee
[2/2] spi: spi-geni-qcom: Do not do DMA map/unmap inside driver, use framework instead
      commit: 3a76c7ca9e77269dd10cf21465a055274cfa40c6

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