Vinod, On 29/07/2019 9.42, Vinod Koul wrote: > On 16-07-19, 11:26, Peter Ujfalusi wrote: >> Hi, >> >> Changes since v4: >> - Split the DMA_COMPLETE and !txstate check as Vinod suggested >> >> Change since v3: >> - fix DMA pointer tracking for memcpy >> - completion polling is only done when it is asked by not providing >> DMA_PREP_INTERRUPT for memcpy >> >> Changes since v2: >> - Fix typo in the comment for patch 0 >> >> Changes since v1: >> - Cleanup patch for the array register handling >> - typo fixed in patch2 commit message >> >> The code around the array register access was pretty confusing for the first >> look, so clean them up first then use the cleaner way in the polled handling. >> >> When a DMA client driver does not set the DMA_PREP_INTERRUPT because it >> does not want to use interrupts for DMA completion or because it can not >> rely on DMA interrupts due to executing the memcpy when interrupts are >> disabled it will poll the status of the transfer. >> >> Since we can not tell from any EDMA register that the transfer is >> completed, we can only know that the paRAM set has been sent to TPTC for >> processing we need to check the residue of the transfer, if it is 0 then >> the transfer is completed. >> >> The polled completion can bve tested by applying: >> https://patchwork.kernel.org/patch/10966499/ >> >> Enabling the memcpy for EDMA and run the dmatest with polled = 1. >> >> Or, enable the EDMA memcpy support and boot up any dra7 family device with >> display enabled. The workaround for DMM errata i878 uses polled DMA memcpy. > > Applied, thanks. Fixed typo in 2nd patch while at it Thank you! I was about to send v6 with the fixed typo. - Péter Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki