From: Sergei Shtylyov <sshtylyov@ru.mvista.com>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>,
Alan Cox <alan@linux.intel.com>,
linux-kernel@vger.kernel.org, linux-ide@vger.kernel.org,
Jeff Garzik <jgarzik@pobox.com>
Subject: Re: [PATCH 4/5] pata: Update experimental tags
Date: Thu, 19 Nov 2009 21:38:26 +0300 [thread overview]
Message-ID: <4B0590A2.9050306@ru.mvista.com> (raw)
In-Reply-To: <20091119182132.5155f819@lxorguk.ukuu.org.uk>
Alan Cox wrote:
>>Fixed where? I posted the patch as soon as I noticed the problem.
> Its not posted because unlike you I don't post patches as soon as I
> notice them. I test them first. Which is why for example I discovered the
> bug in the drivers/ide one. Did you check the vendor driver and then
> stick 40 and 80 wire cables on the system to check the bits on a 3x2N ?
> No I didn't think so. You see if you had you'd have discovered something
> else. You'd have discovered another bug in the old IDE one. The driver
> code for these chips isn't reliable and doesn't work at all in some cases.
>>Told me about it?
> Yes - or do you only write replies not read them ?
> NAK - the patch is inadequate.
No, it was. And yours isn't quite.
> The procedure in the vendor driver does
> appear to work on the newer chips however.
> Probably worth double checking
> the HPT37x and seeing if it needs the same debounce delays.
All vendor drivers I have do call StallExec(10) when detecting cable
type, so need to add the delay to pata_hpt37x too.
> Give the patch below a test on your HPT3x2N series device. The PCI -> io
> access change doesn't appear to matter but is used by the vendor driver.
We should then switch all the driver to I/O access across all the
driver, not just here.
> I've switched to it because we've been burned before with only some of the
> I/O space being visible both ways (eg on the 371N).
This is not the case anyway. The change is pointless.
> The critical bit other
> than get the bits the right way around appears to be the 10uS delay.
That's *another* issue.
BTW I did seem to *not* need the delay on HPT371N. Though worth retesting...
> Alan
> --
>
> commit d27660f440b516f58385649f705b07f10b24da94
> Author: Alan Cox <alan@linux.intel.com>
> Date: Thu Nov 19 17:59:26 2009 +0000
>
> pata_hpt3x2n: Fix cable detection
>
> The version inherited from drivers/ide doesn't work on the newer chipsets
> at least not reliably.
Please don't call it inherited when you have a bug the drivers/ide/ code
doesn't have.
> The vendors own driver uses a different process and
> that one appears to produce plausible numbers.
I don't consider such description adequate. It doesn't mention the
original bug with reversed bits at all.
> Signed-off-by: Alan Cox <alan@linux.intel.com>
>
> diff --git a/drivers/ata/pata_hpt3x2n.c b/drivers/ata/pata_hpt3x2n.c
> index 3d59fe0..d92ad5b 100644
> --- a/drivers/ata/pata_hpt3x2n.c
> +++ b/drivers/ata/pata_hpt3x2n.c
> @@ -124,16 +124,15 @@ static u32 hpt3x2n_find_mode(struct ata_port *ap, int speed)
> static int hpt3x2n_cable_detect(struct ata_port *ap)
> {
> u8 scr2, ata66;
> - struct pci_dev *pdev = to_pci_dev(ap->host->dev);
> + void __iomem *base = ap->ioaddr.bmdma_addr;
>
> - pci_read_config_byte(pdev, 0x5B, &scr2);
> - pci_write_config_byte(pdev, 0x5B, scr2 & ~0x01);
> - /* Cable register now active */
> - pci_read_config_byte(pdev, 0x5A, &ata66);
> - /* Restore state */
> - pci_write_config_byte(pdev, 0x5B, scr2);
> + scr2 = ioread8(base + 0x7B);
> + iowrite8(scr2 & ~0x01, base + 0x7B);
> + udelay(10); /* Debounce */
> + ata66 = ioread8(base + 0x7A);
> + iowrite8(scr2, base + 0x7B);
>
> - if (ata66 & (1 << ap->port_no))
> + if (ata66 & (2 >> ap->port_no))
> return ATA_CBL_PATA40;
> else
> return ATA_CBL_PATA80;
I'd suggest to address the delay by another, separate patch to both
pata_hpt37x and pata_hpt3x2n drivers, and accept Bart's original patch for
bit reversing...
WBR, Sergei
next prev parent reply other threads:[~2009-11-19 18:37 UTC|newest]
Thread overview: 65+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-17 14:50 [PATCH 0/5] Series short description Alan Cox
2009-11-17 14:51 ` [PATCH 1/5] pata_via: Blacklist some combinations of Transcend Flash and via Alan Cox
2009-11-17 14:51 ` [PATCH 2/5] pata_sis: Implement MWDMA for the UDMA 133 capable chips Alan Cox
2009-11-17 17:27 ` Bartlomiej Zolnierkiewicz
2009-11-17 17:38 ` Alan Cox
2009-11-17 17:57 ` Bartlomiej Zolnierkiewicz
2009-11-17 18:21 ` Alan Cox
2009-11-17 19:33 ` Bartlomiej Zolnierkiewicz
2009-11-17 14:51 ` [PATCH 3/5] cmd64x: implement serialization as per notes Alan Cox
2009-11-17 17:35 ` Bartlomiej Zolnierkiewicz
2009-11-17 18:08 ` Alan Cox
2009-11-17 14:51 ` [PATCH 4/5] pata: Update experimental tags Alan Cox
2009-11-17 22:36 ` Jeff Garzik
2009-11-18 18:19 ` Bartlomiej Zolnierkiewicz
2009-11-18 18:41 ` Alan Cox
2009-11-18 18:47 ` Sergei Shtylyov
2009-11-18 19:16 ` Bartlomiej Zolnierkiewicz
2009-11-18 19:07 ` Bartlomiej Zolnierkiewicz
2009-11-18 19:56 ` Bartlomiej Zolnierkiewicz
2009-11-19 13:16 ` Alan Cox
2009-11-19 14:17 ` Bartlomiej Zolnierkiewicz
2009-11-19 14:33 ` Alan Cox
2009-11-19 14:50 ` Bartlomiej Zolnierkiewicz
2009-11-19 15:16 ` Bartlomiej Zolnierkiewicz
2009-11-19 15:24 ` Alan Cox
2009-11-19 15:22 ` Alan Cox
2009-11-19 15:45 ` Bartlomiej Zolnierkiewicz
2009-11-19 16:27 ` Alan Cox
2009-11-19 17:10 ` Bartlomiej Zolnierkiewicz
2009-11-19 17:38 ` Bartlomiej Zolnierkiewicz
2009-11-19 17:50 ` Alan Cox
2009-11-19 17:52 ` Bartlomiej Zolnierkiewicz
2009-11-19 18:21 ` Alan Cox
2009-11-19 18:38 ` Sergei Shtylyov [this message]
2009-11-19 19:03 ` Bartlomiej Zolnierkiewicz
2009-11-19 19:31 ` Bartlomiej Zolnierkiewicz
2009-11-19 19:42 ` Alan Cox
2009-11-19 19:54 ` Bartlomiej Zolnierkiewicz
2009-11-19 21:34 ` Jeff Garzik
2009-11-19 21:49 ` Jeff Garzik
2009-11-19 19:40 ` Alan Cox
2009-11-19 21:21 ` Sergei Shtylyov
2009-11-20 18:20 ` Sergei Shtylyov
2009-11-19 18:58 ` Bartlomiej Zolnierkiewicz
2009-11-19 21:48 ` Jeff Garzik
2009-11-19 14:02 ` Alan Cox
2009-11-19 14:16 ` Sergei Shtylyov
2009-11-19 14:31 ` Alan Cox
2009-11-19 14:38 ` Sergei Shtylyov
2009-11-19 14:22 ` Bartlomiej Zolnierkiewicz
2009-11-19 21:38 ` Jeff Garzik
2009-11-19 21:49 ` Bartlomiej Zolnierkiewicz
2009-11-19 22:03 ` Jeff Garzik
2009-11-20 21:17 ` Bartlomiej Zolnierkiewicz
2009-11-19 23:42 ` Alan Cox
2009-11-18 19:34 ` Bartlomiej Zolnierkiewicz
2009-11-18 19:59 ` Bartlomiej Zolnierkiewicz
2009-11-19 21:36 ` Jeff Garzik
2009-11-19 21:42 ` Bartlomiej Zolnierkiewicz
2009-11-19 21:57 ` Jeff Garzik
2009-11-19 23:38 ` Alan Cox
2009-11-17 14:52 ` [PATCH 5/5] pata_piccolo: Driver for old Toshiba chipsets Alan Cox
2009-11-27 14:28 ` Bartlomiej Zolnierkiewicz
2009-11-27 15:34 ` Alan Cox
2009-11-19 21:41 ` [PATCH 0/5] Series short description Jeff Garzik
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=4B0590A2.9050306@ru.mvista.com \
--to=sshtylyov@ru.mvista.com \
--cc=alan@linux.intel.com \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=bzolnier@gmail.com \
--cc=jgarzik@pobox.com \
--cc=linux-ide@vger.kernel.org \
--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.