Re: [PATCH 0/3] i2c: i2c-qcom-geni: More properly fix the DMA race

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



+Roja

Quoting Douglas Anderson (2020-10-08 15:52:32)
> Previously I landed commit 02b9aec59243 ("i2c: i2c-qcom-geni: Fix DMA
> transfer race") to fix a race we were seeing.  While that most
> definitely fixed the race we were seeing, it looks like it causes
> problems in the TX path, which we didn't stress test until we started
> trying to update firmware on devices.
> 
> Let's revert that patch and try another way: fix the original problem
> by disabling the interrupts that aren't relevant to DMA transfers.
> Now we can stress both TX and RX cases and see no problems.  I also
> can't find any place to put an msleep() that causes problems anymore.
> 
> Since this problem only affects i2c, I'm hoping for an Ack from Bjorn
> and then all these patches can go through the i2c tree.  However, if
> maintainers want to work a different way out to land that's OK too.
> 
> NOTE: the 3rd patch in the series could certianly be squashed with
> patch #1 or I could re-order / rejigger.  To me it seemed like a good
> idea to first fix the probelm (and make the two functions as much of
> an inverse as possible) and later try to clean things up.  Yell if you
> want something different.
> 
> 
> Douglas Anderson (3):
>   soc: qcom: geni: More properly switch to DMA mode
>   Revert "i2c: i2c-qcom-geni: Fix DMA transfer race"
>   soc: qcom: geni: Optimize select fifo/dma mode
> 
>  drivers/i2c/busses/i2c-qcom-geni.c |  6 ++--
>  drivers/soc/qcom/qcom-geni-se.c    | 47 ++++++++++++++++++++----------
>  2 files changed, 34 insertions(+), 19 deletions(-)
> 
> -- 
> 2.28.0.1011.ga647a8990f-goog
>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux