lkml.org 
[lkml]   [2008]   [May]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH 22/40] ide-floppy: start DMA engine in idefloppy_transfer_pc1()
Date
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@gmail.com>
> > Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
>
> > 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


\
 
 \ /
  Last update: 2008-05-26 21:27    [W:0.083 / U:34.208 seconds]
©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site