linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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

  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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).