Re: [Qemu-devel] [PATCHv2] macio: handle non-block ATAPI DMA transfers the same as block DMA transfers

2015-08-24 Thread John Snow
On 08/21/2015 06:11 PM, Mark Cave-Ayland wrote: > On 21/08/15 20:04, John Snow wrote: > > (lots cut) > >> Do you want to resend the V3 here directly to the ML with Aurelien >> Jarno's R-B? > > I was actually looking at this yesterday, and it seems with some more > testing that only the DBDMA f

Re: [Qemu-devel] [PATCHv2] macio: handle non-block ATAPI DMA transfers the same as block DMA transfers

2015-08-21 Thread Mark Cave-Ayland
On 21/08/15 20:04, John Snow wrote: (lots cut) > Do you want to resend the V3 here directly to the ML with Aurelien > Jarno's R-B? I was actually looking at this yesterday, and it seems with some more testing that only the DBDMA flush part is required. It could be that fixing the flush semantics

Re: [Qemu-devel] [PATCHv2] macio: handle non-block ATAPI DMA transfers the same as block DMA transfers

2015-08-21 Thread John Snow
On 08/13/2015 03:03 PM, Mark Cave-Ayland wrote: > On 01/08/15 19:33, Aurelien Jarno wrote: > >> On 2015-08-01 17:54, Mark Cave-Ayland wrote: >>> The existing code incorrectly changes the dma_active flag when a non-block >>> transfer has completed leading to a hang on newer versions of Linux beca

Re: [Qemu-devel] [PATCHv2] macio: handle non-block ATAPI DMA transfers the same as block DMA transfers

2015-08-18 Thread Aurelien Jarno
On 2015-08-13 23:03, Mark Cave-Ayland wrote: > On 01/08/15 19:33, Aurelien Jarno wrote: > > > On 2015-08-01 17:54, Mark Cave-Ayland wrote: > >> The existing code incorrectly changes the dma_active flag when a non-block > >> transfer has completed leading to a hang on newer versions of Linux > >>

Re: [Qemu-devel] [PATCHv2] macio: handle non-block ATAPI DMA transfers the same as block DMA transfers

2015-08-13 Thread John Snow
On 08/13/2015 06:03 PM, Mark Cave-Ayland wrote: > On 01/08/15 19:33, Aurelien Jarno wrote: > >> On 2015-08-01 17:54, Mark Cave-Ayland wrote: >>> The existing code incorrectly changes the dma_active flag when a non-block >>> transfer has completed leading to a hang on newer versions of Linux beca

Re: [Qemu-devel] [PATCHv2] macio: handle non-block ATAPI DMA transfers the same as block DMA transfers

2015-08-13 Thread Mark Cave-Ayland
On 01/08/15 19:33, Aurelien Jarno wrote: > On 2015-08-01 17:54, Mark Cave-Ayland wrote: >> The existing code incorrectly changes the dma_active flag when a non-block >> transfer has completed leading to a hang on newer versions of Linux because >> the >> IDE and DMA engines deadlock waiting for e

Re: [Qemu-devel] [PATCHv2] macio: handle non-block ATAPI DMA transfers the same as block DMA transfers

2015-08-03 Thread John Snow
On 08/01/2015 02:54 PM, Mark Cave-Ayland wrote: > On 01/08/15 19:33, Aurelien Jarno wrote: > >> On 2015-08-01 17:54, Mark Cave-Ayland wrote: >>> The existing code incorrectly changes the dma_active flag when a non-block >>> transfer has completed leading to a hang on newer versions of Linux beca

Re: [Qemu-devel] [PATCHv2] macio: handle non-block ATAPI DMA transfers the same as block DMA transfers

2015-08-01 Thread Mark Cave-Ayland
On 01/08/15 19:33, Aurelien Jarno wrote: > On 2015-08-01 17:54, Mark Cave-Ayland wrote: >> The existing code incorrectly changes the dma_active flag when a non-block >> transfer has completed leading to a hang on newer versions of Linux because >> the >> IDE and DMA engines deadlock waiting for e

Re: [Qemu-devel] [PATCHv2] macio: handle non-block ATAPI DMA transfers the same as block DMA transfers

2015-08-01 Thread Aurelien Jarno
On 2015-08-01 17:54, Mark Cave-Ayland wrote: > The existing code incorrectly changes the dma_active flag when a non-block > transfer has completed leading to a hang on newer versions of Linux because > the > IDE and DMA engines deadlock waiting for each other. > > Instead copy the buffer directly

[Qemu-devel] [PATCHv2] macio: handle non-block ATAPI DMA transfers the same as block DMA transfers

2015-08-01 Thread Mark Cave-Ayland
The existing code incorrectly changes the dma_active flag when a non-block transfer has completed leading to a hang on newer versions of Linux because the IDE and DMA engines deadlock waiting for each other. Instead copy the buffer directly to RAM, set the remaining transfer size to 0 and then in