Skip to contentSkip to conversation

Raspberry Pi DMA fixes + cleanups

PATCH Applied Lukas Wunner 4 participants 4 messages Jan 23, 2019 – Feb 4, 2019

lore
Share & tools
lore
#0 lore raw

v2 cover Raspberry Pi DMA fixes + cleanups

Two fixes and four cleanups for the Raspberry Pi DMA driver, v2.

Changes since v1:

* Patch [1/6]: Rework the patch to fix a race condition which could still occur with v1, and no longer check for idleness of a channel using the ACTIVE flag in the CS register (which is unreliable), but check for a zero control block address instead.

* Patch [2/6]: If outstanding writes fail to complete on abort of a transaction, print an error message and document a possible cause in a code comment. (Stefan Wahren)

* Patch [5/6] and [6/6]: Split patch to remove dead code in two and rephrase commit subject to be less generic. (Stefan Wahren, Vinod Koul)

Thanks,

Lukas

Lukas Wunner (6):
dmaengine: bcm2835: Fix interrupt race on RT
dmaengine: bcm2835: Fix abort of transactions
dmaengine: bcm2835: Return void from abort of transactions
dmaengine: bcm2835: Enforce control block alignment
dmaengine: bcm2835: Drop gratuitous list deletion
dmaengine: bcm2835: Drop outdated comment on supported transactions

 drivers/dma/bcm2835-dma.c | 92 +++++++++++++--------------------------
 1 file changed, 31 insertions(+), 61 deletions(-)
Signature · 1 line
2.20.1
Tested-by on the v2 series
#1 lore raw
Quoted 25 lines

Lukas Wunner <[email protected]> hat am 23. Januar 2019 um 09:26 geschrieben:

Two fixes and four cleanups for the Raspberry Pi DMA driver, v2.

Changes since v1:

* Patch [1/6]: Rework the patch to fix a race condition which could still occur with v1, and no longer check for idleness of a channel using the ACTIVE flag in the CS register (which is unreliable), but check for a zero control block address instead.

* Patch [2/6]: If outstanding writes fail to complete on abort of a transaction, print an error message and document a possible cause in a code comment. (Stefan Wahren)

* Patch [5/6] and [6/6]: Split patch to remove dead code in two and rephrase commit subject to be less generic. (Stefan Wahren, Vinod Koul)

Thanks,

Lukas

Quoted 8 lines

Lukas Wunner (6):
dmaengine: bcm2835: Fix interrupt race on RT
dmaengine: bcm2835: Fix abort of transactions
dmaengine: bcm2835: Return void from abort of transactions
dmaengine: bcm2835: Enforce control block alignment
dmaengine: bcm2835: Drop gratuitous list deletion
dmaengine: bcm2835: Drop outdated comment on supported transactions

The whole series is:

Thanks

Acked-by
#2 lore raw

Am Mi., 23. Jan. 2019 um 17:10 Uhr schrieb Stefan Wahren <[email protected]>:

Quoted 40 lines
Quoted 26 lines

Lukas Wunner <[email protected]> hat am 23. Januar 2019 um 09:26 geschrieben:

Two fixes and four cleanups for the Raspberry Pi DMA driver, v2.

Changes since v1:

* Patch [1/6]: Rework the patch to fix a race condition which could still occur with v1, and no longer check for idleness of a channel using the ACTIVE flag in the CS register (which is unreliable), but check for a zero control block address instead.

* Patch [2/6]: If outstanding writes fail to complete on abort of a transaction, print an error message and document a possible cause in a code comment. (Stefan Wahren)

* Patch [5/6] and [6/6]: Split patch to remove dead code in two and rephrase commit subject to be less generic. (Stefan Wahren, Vinod Koul)

Thanks,

Lukas

Quoted 8 lines

Lukas Wunner (6):
dmaengine: bcm2835: Fix interrupt race on RT
dmaengine: bcm2835: Fix abort of transactions
dmaengine: bcm2835: Return void from abort of transactions
dmaengine: bcm2835: Enforce control block alignment
dmaengine: bcm2835: Drop gratuitous list deletion
dmaengine: bcm2835: Drop outdated comment on supported transactions

The whole series is:

Thanks

Applied
#3 lore raw
In reply to Lukas Wunner
Quoted 1 line · Lukas Wunner

Two fixes and four cleanups for the Raspberry Pi DMA driver, v2.

Applied all, thanks

Quoted 33 lines

Changes since v1:

* Patch [1/6]: Rework the patch to fix a race condition which could still occur with v1, and no longer check for idleness of a channel using the ACTIVE flag in the CS register (which is unreliable), but check for a zero control block address instead.

* Patch [2/6]: If outstanding writes fail to complete on abort of a transaction, print an error message and document a possible cause in a code comment. (Stefan Wahren)

* Patch [5/6] and [6/6]: Split patch to remove dead code in two and rephrase commit subject to be less generic. (Stefan Wahren, Vinod Koul)

Thanks,

Lukas

Lukas Wunner (6):
dmaengine: bcm2835: Fix interrupt race on RT
dmaengine: bcm2835: Fix abort of transactions
dmaengine: bcm2835: Return void from abort of transactions
dmaengine: bcm2835: Enforce control block alignment
dmaengine: bcm2835: Drop gratuitous list deletion
dmaengine: bcm2835: Drop outdated comment on supported transactions

 drivers/dma/bcm2835-dma.c | 92 +++++++++++++--------------------------
 1 file changed, 31 insertions(+), 61 deletions(-)
Signature · 1 line
2.20.1
Signature · 1 line
~Vinod