All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sergei Shtylyov <sshtylyov@ru.mvista.com>
To: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Cc: Bob Ham <rah@bash.sh>, linux-ide@vger.kernel.org
Subject: Re: hpt374 sata (Highpoint Rocket 1540)
Date: Wed, 01 Aug 2007 17:40:51 +0400	[thread overview]
Message-ID: <46B08D63.4040205@ru.mvista.com> (raw)
In-Reply-To: <200707312332.10820.bzolnier@gmail.com>

Hello.

Bartlomiej Zolnierkiewicz wrote:

>>>>>I've had a Highpoint Rocket 1540 (not "RocketRAID") SATA controller for
>>>>>a while now, using a proprietary binary driver from Highpoint in a linux
>>>>>2.4 kernel.  The chipset is an hpt374.  The hpt366 driver freezes on
>>>>>boot, as reported by others.

>>>>   Can we see a bootlog please?

>>>    ... and the output of 'lspci -v' too.

    If possible, turn off that driver, rebuild the kernel, and reboot using 
some other IDE driver (or NFS), then post that output...

>>The machine locks hard when the driver is loaded so I can't give a full
>>transcription, but here is the driver's output:

>>HPT374: IDE controller at PCI slot 0000:00:0d.0
>>ACPI: PCI Interrupt 0000:00:0d.0[A] -> GSI 16 (level, low) -> IRQ 16
>>HPT374: chipset revision 7
>>HPT374: DPLL base: 48 MHz, f_CNT: 141, assuming 33 MHz PCI
>>HPT374: using 50 MHz DPLL clock
>>HPT374: 100% native mode on irq 16
>>    ide2: BM-DMA at 0xec00-0xec07, BIOS settings: hde:DMA, hdf:pio
>>    ide3: BM-DMA at 0xec08-0xec0f, BIOS settings: hdg:DMA, hdh:pio
>>ACPI: PCI Interrupt 0000:00:0d.1[A] -> GSI 16 (level, low) -> IRQ 16
>>HPT374: no clock data saved by BIOS
>>HPT374: DPLL base: 48 MHz, f_CNT: 93, assuming 33 MHz PCI
>>HPT374: using 50 MHz DPLL clock
>>    ide4: BM-DMA at 0xed00-0xed07, BIOS settings: hdi:DMA, hdj:pio
>>    ide5: BM-DMA at 0xed08-0xed0f, BIOS settings: hdk:DMA, hdl:pio

    That "f_CNT: 93" on the 2nd HPT374 function looks *very* suspicious -- at 
first I thought that DPLL is shared between 2 functions but the datasheet 
denied it...
    Well, the 1st function doesn't complain about the clock data being unsaved 
by BIOS, so I guess it's only saved for this function, and for 2nd one the 
driver resorts to reading the f_CNT register itself -- which is already spoilt 
by the HPT BIOS' own DPLL calibration. Will post a patch to try soon...

>>The pata_hpt37x driver is refusing to work as well but it doesn't crash
>>the machine.  Here is the relevant error message:

>>hpt37x: DPLL did not stabilize.
>>pata_hpt37x: BIOS has not set timing clocks.
>>hpt37x: DPLL did not stabilize.

> Does this patch change anything?

    Heh, did you *really* hope it will? :-D

> [PATCH] hpt366: always tune PIO

> Index: b/drivers/ide/pci/hpt366.c
> ===================================================================
> --- a/drivers/ide/pci/hpt366.c
> +++ b/drivers/ide/pci/hpt366.c
> @@ -1,5 +1,5 @@
>  /*
> - * linux/drivers/ide/pci/hpt366.c		Version 1.10	Jun 29, 2007
> + * linux/drivers/ide/pci/hpt366.c		Version 1.11	Jul 29, 2007
>   *
>   * Copyright (C) 1999-2003		Andre Hedrick <andre@linux-ide.org>
>   * Portions Copyright (C) 2001	        Sun Microsystems, Inc.
> @@ -1265,10 +1265,10 @@ static void __devinit init_hwif_hpt366(i
>  	if (new_mcr != old_mcr)
>  		pci_write_config_byte(dev, hwif->select_data + 1, new_mcr);
>  
> -	if (!hwif->dma_base) {
> -		hwif->drives[0].autotune = hwif->drives[1].autotune = 1;
> +	hwif->drives[0].autotune = hwif->drives[1].autotune = 1;
> +
> +	if (hwif->dma_base == 0)
>  		return;
> -	}
>  
>  	hwif->ultra_mask = hwif->cds->udma_mask;
>  	hwif->mwdma_mask = 0x07;

    Concerning the patch (I lacked time to look at the driver to refresh my 
memory before -- was looking at the new Disk-on-chip H3 driver to be submitted 
for comments soon, BTW): it makes little sense in its current form since 
setting any DMA mode also sets 8-bit PIO timings now (and if DMA can't be set, 
the driver will fallback to PIO anyway)
    I have a patch that changes this behavior and switches to always 
auto-tuning PIO but I've changed my mind on how the DMA/PIO timing register 
sharing should be handled now -- however, since I was unable to come up with 
anything better all that time, I'll consider pushing out this version when I 
have a spare time...

WBR, Sergei

  parent reply	other threads:[~2007-08-01 13:38 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-31 11:08 hpt374 sata (Highpoint Rocket 1540) Bob Ham
2007-07-31 12:23 ` Alan Cox
2007-07-31 20:12   ` Bob Ham
2007-07-31 13:29 ` Sergei Shtylyov
2007-07-31 15:35   ` Brad Campbell
2007-07-31 17:52   ` Sergei Shtylyov
2007-07-31 21:22     ` Bob Ham
2007-07-31 21:32       ` Bartlomiej Zolnierkiewicz
2007-07-31 22:06         ` Bob Ham
2007-08-01 13:40         ` Sergei Shtylyov [this message]
2007-08-01 15:52           ` Bob Ham
2007-08-01 15:58             ` Sergei Shtylyov
2007-08-01 17:15               ` Bob Ham
2007-08-01 18:19                 ` Sergei Shtylyov
2007-08-01 22:43                   ` Alan Cox
2007-08-02 12:41                     ` Sergei Shtylyov
2007-08-02 13:12                       ` Alan Cox
2007-08-01 21:03               ` Bob Ham
2007-08-01 21:08                 ` Sergei Shtylyov
2007-08-01 22:42                   ` Alan Cox
2007-08-05 18:10                     ` Sergei Shtylyov
2007-08-01 21:07           ` Bartlomiej Zolnierkiewicz
2007-08-01 21:16             ` Sergei Shtylyov
2007-08-01 21:29               ` Bartlomiej Zolnierkiewicz
2007-08-01 16:14       ` Alan Cox

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=46B08D63.4040205@ru.mvista.com \
    --to=sshtylyov@ru.mvista.com \
    --cc=bzolnier@gmail.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=rah@bash.sh \
    /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.