Hello.
Bartlomiej Zolnierkiewicz wrote:
quoted text > 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...
quoted text > so the Status Register and the Interrupt Reason Register
> are checked first.
quoted text > Cc: Borislav Petkov <petkovbb@gmail.com>
> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
quoted text > Index: b/drivers/ide/ide-floppy.c
> ===================================================================
> --- a/drivers/ide/ide-floppy.c
> +++ b/drivers/ide/ide-floppy.c
[...]
quoted text > @@ -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.
WBR, Sergei
--
unsubscribe notice To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
majordomo@vger.kernel.org
More majordomo info at
http://vger.kernel.org/majordomo-info.html
Please read the FAQ at
http://www.tux.org/lkml/
Messages in current thread:
Re: [PATCH 22/40] ide-floppy: start DMA engine in ideflopp ... , Sergei Shtylyov , (Tue May 20, 4:00 am)