From: Jens Axboe <axboe@suse.de>
To: Alan Chandler <alan@chandlerfamily.org.uk>
Cc: linux-kernel@vger.kernel.org
Subject: Re: ide-cd problem
Date: Mon, 22 Nov 2004 14:02:02 +0100 [thread overview]
Message-ID: <20041122130202.GO10463@suse.de> (raw)
In-Reply-To: <E1CWDhN-00040Y-E6@home.chandlerfamily.org.uk>
On Mon, Nov 22 2004, Alan Chandler wrote:
> Jens Axboe writes:
>
> >On Mon, Nov 22 2004, Alan Chandler wrote:
> >>Jens Axboe writes:
>
> >>>400ns is the correctl value. Your writing is a little unclear to me -
> >>>did it work or not, with that change alone?
> >>>
> >>
> >>To be clear ...
> >>
> >>
> >>I have modified ide-cd.c with
> >>
> >>1) ndelay(400) at the head of cdrom_newpc_intr()
> >>
> >>2) Alan Cox's patch in the place he originally identified for it to go
> >>
> >>3) Some printk's in cdrom_newpc_intr() after the point where it reads the
> >>status and IREASON and length registers and just for the purposes of
> >>diagnostics.
> >>
> >>With only those changes it now works.
> >
> >You are not answering my question :-)
> >
> >Here's is Alans patch as I posted some mails ago. Does it work with that
> >alone?? I'm curious of it is enough. It should not be necessary to incur
> >extra delay in the interrupt handler, if it is invoked from a real irq.
>
> Sorry, I misunderstood what you meant. I presume you think that the
> interrupt may be triggered immediately the command packet has been sent but
> before 400ns delay had occurred.
>
> NO - with Alan's patch alone, this did not work.
>
> The delay seesm to be needed in the path between the interrupt occuring and
> the IDE_STATUS_REG being read.
>
> I had seen an note on a web site that said that there was two delays
> required in the ATA/ATAPI spec - the 400ns which Alan's patch deals with
> and a shorter delay (one PIO cycle) between busy being cleared and DRQ
> reaching the correct state where the technique had been to read the
> ALTSTATUS register. That was why I had tried that approach but found it
> not to work.
> (I have subsequently downloaded a copy of the full spec and haven't been
> able to find this - but then its just short of 500 pages of dense text:-)).
>
> Thinking about it now, I tried the ALTSTATUS delay before applying Alan's
> patch, so maybe its the some of the two delays that maybe necessary. If
> you think its appropriate I will try that again this evening.
I think the more correct patch is the following. It seems I was wrong in
assuming that the ide_intr() path already waited 400ns for us, I think
this should work for you. Can you test it?
===== drivers/ide/ide-iops.c 1.31 vs edited =====
--- 1.31/drivers/ide/ide-iops.c 2004-11-01 18:06:50 +01:00
+++ edited/drivers/ide/ide-iops.c 2004-11-22 13:59:27 +01:00
@@ -476,10 +476,8 @@
if (drive->waiting_for_dma)
return hwif->ide_dma_test_irq(drive);
-#if 0
/* need to guarantee 400ns since last command was issued */
- udelay(1);
-#endif
+ ndelay(400);
#ifdef CONFIG_IDEPCI_SHARE_IRQ
/*
--
Jens Axboe
next prev parent reply other threads:[~2004-11-22 13:03 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-11-20 18:42 ide-cd problem Alan Chandler
2004-11-20 19:47 ` Jens Axboe
2004-11-21 0:53 ` Alan Chandler
2004-11-21 8:56 ` Jens Axboe
2004-11-21 10:25 ` Alan Chandler
2004-11-21 16:13 ` Alan Chandler
2004-11-22 7:52 ` Alan Chandler
2004-11-22 8:01 ` Jens Axboe
2004-11-22 10:30 ` Alan Chandler
2004-11-22 10:51 ` Jens Axboe
2004-11-22 11:29 ` Alan Chandler
2004-11-22 11:31 ` Jens Axboe
2004-11-22 12:53 ` Alan Chandler
2004-11-22 13:02 ` Jens Axboe [this message]
2004-11-22 19:19 ` Alan Chandler
2004-11-22 23:48 ` Alan Chandler
2004-11-23 7:13 ` Alan Chandler
2004-11-23 14:51 ` Jens Axboe
2004-11-23 21:49 ` Alan Chandler
2004-11-26 23:39 ` Alan Chandler
2004-11-29 17:29 ` Bill Davidsen
2004-11-30 8:59 ` Alan Chandler
2004-12-10 21:32 ` ide-cd problem revisited - more brainpower needed Alan Chandler
2004-12-10 23:14 ` Alan Cox
2004-12-12 0:17 ` Alan Chandler
2004-12-12 11:39 ` Alan Cox
2004-12-12 13:34 ` Alan Chandler
2004-12-14 0:20 ` Alan Chandler
2004-12-16 15:56 ` Bill Davidsen
2004-12-17 23:59 ` Alan Chandler
2004-11-24 23:19 ` ide-cd problem Alan Cox
2004-11-25 15:29 ` Jens Axboe
2004-11-25 16:25 ` Alan Cox
2004-11-25 18:12 ` Jens Axboe
2004-11-25 18:45 ` Alan Chandler
2004-11-23 18:34 ` Jeff Garzik
2004-11-23 19:13 ` Jens Axboe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20041122130202.GO10463@suse.de \
--to=axboe@suse.de \
--cc=alan@chandlerfamily.org.uk \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.