Re: [PATCH 22/40] ide-floppy: start DMA engine in idefloppy_transfer_pc1()

From: Bartlomiej Zolnierkiewicz
Date: Mon May 26 2008 - 15:24:50 EST


On Tuesday 20 May 2008, Sergei Shtylyov wrote:
> Hello.
>
> Bartlomiej Zolnierkiewicz wrote:
>
> > Start DMA engine and set PC_FLAG_DMA_IN_PROGRESS flag in
> > idefloppy_transfer_pc1() instead of idefloppy_issue_pc()
>
> Good. I have long ago noticed that DMA is started too early in ide-floppy
> which is known to cobfuse some chips (like PDC20246) and was going to do a
> patch at first but the lack of hardware (and time) stopped me...
>
> > so the Status Register and the Interrupt Reason Register
> > are checked first.
>
> > Cc: Borislav Petkov <petkovbb@xxxxxxxxx>
> > Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx>
>
> > Index: b/drivers/ide/ide-floppy.c
> > ===================================================================
> > --- a/drivers/ide/ide-floppy.c
> > +++ b/drivers/ide/ide-floppy.c
> [...]
> > @@ -568,6 +569,12 @@ static ide_startstop_t idefloppy_transfe
> >
> > ide_set_handler(drive, &idefloppy_pc_intr, timeout, expiry);
> >
> > + /* Begin DMA, if necessary */
> > + if (pc->flags & PC_FLAG_DMA_OK) {
> > + pc->flags |= PC_FLAG_DMA_IN_PROGRESS;
> > + hwif->dma_ops->dma_start(drive);
> > + }
> > +
>
> May be too early still... ide-cd does this after writing the command packet.

I would rather say that ide-cd is doing things too late.

Now that's your patch opportunity! No excuses this time... ;)

Thanks,
Bart
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/