* Highpoint IDE types
@ 2005-11-08 17:38 Alan Cox
2005-11-08 19:02 ` Ville Syrjälä
` (2 more replies)
0 siblings, 3 replies; 11+ messages in thread
From: Alan Cox @ 2005-11-08 17:38 UTC (permalink / raw)
To: linux-ide, linux-kernel
Ok thanks to Sergei I can now post what I think is the complete table of
HPT chip versions:
Chip PCI ID Rev
* HPT366 4 (HPT366) 0
* HPT366 4 (HPT366) 1
* HPT368 4 (HPT366) 2
* HPT370 4 (HPT366) 3
* HPT370A 4 (HPT366) 4
* HPT372 4 (HPT366) 5
* HPT372N 4 (HPT366) 6
* HPT372 5 (HPT372) 0
* HPT372N 5 (HPT372) > 0
* HPT302 6 (HPT302) *
* HPT302N 6 (HPT302) > 1
* HPT371 7 (HPT371) *
* HPT371N 7 (HPT371) > 1
* HPT374 8 (HPT374) *
* HPT372N 9 (HPT372N) *
The base clocks for the devices are as follows (note this means most of
the drivers/ide/pci detection code for frequency is wrong). Also for PLL
mode the 3x2N PLL stabilization code is subtly different.
371N/372N/302N 77
302/371/372A 66
372 55
370/374 48
The DPLLs are
48, 50, 66, 75Mhz
75 is only available on the later chips and used with PATA/SATA bridge
chips for UDMA7.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Highpoint IDE types
2005-11-08 17:38 Highpoint IDE types Alan Cox
@ 2005-11-08 19:02 ` Ville Syrjälä
2005-11-08 20:02 ` Alan Cox
` (2 more replies)
2005-11-08 19:40 ` Sergei Shtylyov
2005-11-09 10:27 ` Karsten Desler
2 siblings, 3 replies; 11+ messages in thread
From: Ville Syrjälä @ 2005-11-08 19:02 UTC (permalink / raw)
To: linux-kernel; +Cc: linux-ide
On Tue, 08 Nov 2005 17:38:02 +0000, Alan Cox wrote:
> Ok thanks to Sergei I can now post what I think is the complete table of
> HPT chip versions:
>
> Chip PCI ID Rev
> * HPT366 4 (HPT366) 0
> * HPT366 4 (HPT366) 1
> * HPT368 4 (HPT366) 2
> * HPT370 4 (HPT366) 3
> * HPT370A 4 (HPT366) 4
> * HPT372 4 (HPT366) 5
> * HPT372N 4 (HPT366) 6
> * HPT372 5 (HPT372) 0
^^^^^^
This one is called HPT372A by Highpoint's BIOS/Win drivers.
Also I'm not sure if it's relevant but PCI ID 5 chips use a different
BIOS image than PCI ID 4 chips.
> * HPT372N 5 (HPT372) > 0
> * HPT302 6 (HPT302) *
> * HPT302N 6 (HPT302) > 1
> * HPT371 7 (HPT371) *
> * HPT371N 7 (HPT371) > 1
> * HPT374 8 (HPT374) *
> * HPT372N 9 (HPT372N) *
This last one is not listed in the Win drivers at all. Strange.
--
Ville Syrjälä
syrjala@sci.fi
http://www.sci.fi/~syrjala/
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Highpoint IDE types
2005-11-08 17:38 Highpoint IDE types Alan Cox
2005-11-08 19:02 ` Ville Syrjälä
@ 2005-11-08 19:40 ` Sergei Shtylyov
2005-11-08 20:02 ` Sergei Shtylylov
2005-11-09 10:27 ` Karsten Desler
2 siblings, 1 reply; 11+ messages in thread
From: Sergei Shtylyov @ 2005-11-08 19:40 UTC (permalink / raw)
To: linux-ide
Hello.
Alan Cox wrote:
> Ok thanks to Sergei I can now post what I think is the complete table of
> HPT chip versions:
Sent 371N ID to you more than a month ago already. :-)
> The base clocks for the devices are as follows (note this means most of
> the drivers/ide/pci detection code for frequency is wrong). Also for PLL
> mode the 3x2N PLL stabilization code is subtly different.
Can somebody please tell me what this "base clock" thing is? Where it is
derived from? I see those different figures in Highpoint's driver PLL setup
code but failed to understand how that clock detection thing works...
And that's after I even saw a couple of their datasheets. :-/
> 371N/372N/302N 77
> 302/371/372A 66
> 372 55
> 370/374 48
>
> The DPLLs are
> 48, 50, 66, 75Mhz
>
> 75 is only available on the later chips and used with PATA/SATA bridge
> chips for UDMA7.
WBR, Sergei
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Highpoint IDE types
2005-11-08 19:02 ` Ville Syrjälä
@ 2005-11-08 20:02 ` Alan Cox
2005-11-08 22:35 ` Bill Davidsen
2005-11-10 14:23 ` PATA libata patches (and HPT) Alan Cox
2005-11-11 19:51 ` Highpoint IDE types Sergei Shtylylov
2 siblings, 1 reply; 11+ messages in thread
From: Alan Cox @ 2005-11-08 20:02 UTC (permalink / raw)
To: Ville Syrjälä; +Cc: linux-kernel, linux-ide
On Maw, 2005-11-08 at 21:02 +0200, Ville Syrjälä wrote:
> > * HPT372 4 (HPT366) 5
> > * HPT372N 4 (HPT366) 6
> > * HPT372 5 (HPT372) 0
> ^^^^^^
>
> This one is called HPT372A by Highpoint's BIOS/Win drivers.
>
> Also I'm not sure if it's relevant but PCI ID 5 chips use a different
> BIOS image than PCI ID 4 chips.
I suspect it is relevant because the "372A" appears to have a different
base clock to the HPT372.
Added to the list.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Highpoint IDE types
2005-11-08 19:40 ` Sergei Shtylyov
@ 2005-11-08 20:02 ` Sergei Shtylylov
0 siblings, 0 replies; 11+ messages in thread
From: Sergei Shtylylov @ 2005-11-08 20:02 UTC (permalink / raw)
To: linux-ide
Hello, I wrote.
> Alan Cox wrote:
>> Ok thanks to Sergei I can now post what I think is the complete table of
>> HPT chip versions:
> Sent 371N ID to you more than a month ago already. :-)
>> The base clocks for the devices are as follows (note this means most of
>> the drivers/ide/pci detection code for frequency is wrong). Also for PLL
>> mode the 3x2N PLL stabilization code is subtly different.
> Can somebody please tell me what this "base clock" thing is? Where it is
> derived from? I see those different figures in Highpoint's driver PLL setup
> code but failed to understand how that clock detection thing works...
Thanks to Google, I'm starting to understand something. The chip somehow
lock up the DPLL after PCI reset at the fixed (and probably intentionally
arbitrary for each chip's flavor) rate; I still don't understand though where
it derives the clock for that and why this isn't reflected on f_low/f_high)...
> And that's after I even saw a couple of their datasheets. :-/
Googling for "hpt374 data manual" and also looking into the found
directory yeilds something. :-)
>> 371N/372N/302N 77
>> 302/371/372A 66
>> 372 55
>> 370/374 48
>> The DPLLs are
>> 48, 50, 66, 75Mhz
>> 75 is only available on the later chips and used with PATA/SATA bridge
>> chips for UDMA7.
WBR, Sergei
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Highpoint IDE types
2005-11-08 20:02 ` Alan Cox
@ 2005-11-08 22:35 ` Bill Davidsen
2005-11-08 23:38 ` Alan Cox
0 siblings, 1 reply; 11+ messages in thread
From: Bill Davidsen @ 2005-11-08 22:35 UTC (permalink / raw)
To: Alan Cox; +Cc: linux-kernel, linux-ide
Alan Cox wrote:
> On Maw, 2005-11-08 at 21:02 +0200, Ville Syrjälä wrote:
>
>>> * HPT372 4 (HPT366) 5
>>> * HPT372N 4 (HPT366) 6
>>> * HPT372 5 (HPT372) 0
>>
>> ^^^^^^
>>
>>This one is called HPT372A by Highpoint's BIOS/Win drivers.
>>
>>Also I'm not sure if it's relevant but PCI ID 5 chips use a different
>>BIOS image than PCI ID 4 chips.
>
>
> I suspect it is relevant because the "372A" appears to have a different
> base clock to the HPT372.
>
> Added to the list.
>
May we assume that this information was gathered in the interest of
something beyond pedantic curiousity? Will this simplify the driver
code, improve performance or reliability, etc?
--
-bill davidsen (davidsen@tmr.com)
"The secret to procrastination is to put things off until the
last possible moment - but no longer" -me
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Highpoint IDE types
2005-11-08 22:35 ` Bill Davidsen
@ 2005-11-08 23:38 ` Alan Cox
0 siblings, 0 replies; 11+ messages in thread
From: Alan Cox @ 2005-11-08 23:38 UTC (permalink / raw)
To: Bill Davidsen; +Cc: linux-kernel, linux-ide
On Maw, 2005-11-08 at 17:35 -0500, Bill Davidsen wrote:
> May we assume that this information was gathered in the interest of
> something beyond pedantic curiousity? Will this simplify the driver
> code, improve performance or reliability, etc?
Something like that
I've been collecting the data to get the libata driver right, and in
doing so even with the partial data I had came across some chunks of
data that are wrong in the ide/pci driver.
Its not made easier by the fact hpt seem to have taken down their own
drivers for older (now "unsupported" I suspect) chips.
The frequency and chip id data is needed to correctly tune the PLLs and
to identify the right base frequency for timing.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Highpoint IDE types
2005-11-08 17:38 Highpoint IDE types Alan Cox
2005-11-08 19:02 ` Ville Syrjälä
2005-11-08 19:40 ` Sergei Shtylyov
@ 2005-11-09 10:27 ` Karsten Desler
2 siblings, 0 replies; 11+ messages in thread
From: Karsten Desler @ 2005-11-09 10:27 UTC (permalink / raw)
To: Alan Cox; +Cc: linux-ide, linux-kernel
* Alan Cox wrote:
> Ok thanks to Sergei I can now post what I think is the complete table of
> HPT chip versions:
>
> Chip PCI ID Rev
> * HPT374 8 (HPT374) *
>
> The base clocks for the devices are as follows (note this means most of
> the drivers/ide/pci detection code for frequency is wrong). Also for PLL
> mode the 3x2N PLL stabilization code is subtly different.
>
> 371N/372N/302N 77
> 302/371/372A 66
> 372 55
> 370/374 48
>
> The DPLLs are
> 48, 50, 66, 75Mhz
>
> 75 is only available on the later chips and used with PATA/SATA bridge
> chips for UDMA7.
I've got the following HPT374 controllers on my mainboard and the
default freq value never worked for me (OOPS during boot).
0000:00:0e.0 0104: 1103:0008 (rev 07)
Subsystem: 1103:0001
Flags: bus master, 66MHz, medium devsel, latency 120, IRQ 10
I/O ports at b000 [size=8]
I/O ports at b400 [size=4]
I/O ports at b800 [size=8]
I/O ports at bc00 [size=4]
I/O ports at c000 [size=256]
Expansion ROM at 30020000 [disabled] [size=128K]
Capabilities: [60] Power Management version 2
0000:00:0e.1 0104: 1103:0008 (rev 07)
Subsystem: 1103:0001
Flags: bus master, 66MHz, medium devsel, latency 120, IRQ 10
I/O ports at c400 [size=8]
I/O ports at c800 [size=4]
I/O ports at cc00 [size=8]
I/O ports at d000 [size=4]
I/O ports at d400 [size=256]
Capabilities: [60] Power Management version 2
[ 34.230429] HPT374: IDE controller at PCI slot 0000:00:0e.0
[ 34.230461] PCI: Enabling device 0000:00:0e.0 (0005 -> 0007)
[ 34.230491] PCI: Found IRQ 10 for device 0000:00:0e.0
[ 34.230525] PCI: Sharing IRQ 10 with 0000:00:0e.1
[ 34.230555] HPT374: chipset revision 7
[ 34.230584] HPT374: 100% native mode on irq 10
[ 34.230613] HPT37X: using 33MHz PCI clock
[ 34.230723] ide2: BM-DMA at 0xc000-0xc007, BIOS settings: hde:DMA, hdf:DMA
[ 34.230779] HPT37X: using 33MHz PCI clock
[ 34.230887] ide3: BM-DMA at 0xc008-0xc00f, BIOS settings: hdg:pio, hdh:pio
[ 34.230949] PCI: Found IRQ 10 for device 0000:00:0e.1
[ 34.230980] PCI: Sharing IRQ 10 with 0000:00:0e.0
[ 34.231023] HPT37X: using 33MHz PCI clock
[ 34.231131] ide4: BM-DMA at 0xd400-0xd407, BIOS settings: hdi:DMA, hdj:DMA
[ 34.231188] HPT37X: using 33MHz PCI clock
[ 34.231296] ide5: BM-DMA at 0xd408-0xd40f, BIOS settings: hdk:DMA, hdl:DMA
I have to use this patch. I'm not sure if it does the right thing,
but at least it works without OOPS and without data corruption.
--- linux/drivers/ide/pci/hpt366.c~ 2005-07-24 01:51:31.000000000 +0200
+++ linux/drivers/ide/pci/hpt366.c 2005-07-26 14:22:42.000000000 +0200
@@ -1188,7 +1188,7 @@
}
else
{
- if(freq < 0x9C)
+ if(freq < 0xA4)
pll = F_LOW_PCI_33;
else if(freq < 0xb0)
pll = F_LOW_PCI_40;
Here's a history of freq values:
/var/log/kern.log.1.gz:Oct 18 05:04:12 pikelot kernel: freq: 9c
/var/log/kern.log.1.gz:Oct 18 05:04:12 pikelot kernel: freq: 97
/var/log/kern.log.1.gz:Oct 18 09:59:54 pikelot kernel: freq: 9f
/var/log/kern.log.1.gz:Oct 18 09:59:54 pikelot kernel: freq: 9e
/var/log/kern.log.1.gz:Oct 20 10:29:40 pikelot kernel: freq: 92
/var/log/kern.log.1.gz:Oct 20 10:29:40 pikelot kernel: freq: 9e
/var/log/kern.log.3.gz:Oct 6 10:27:52 pikelot kernel: freq: 99
/var/log/kern.log.3.gz:Oct 6 10:27:52 pikelot kernel: freq: a1
/var/log/kern.log.3.gz:Oct 8 15:17:59 pikelot kernel: freq: 9c
/var/log/kern.log.3.gz:Oct 8 15:17:59 pikelot kernel: freq: a2
/var/log/kern.log.3.gz:Oct 8 16:08:26 pikelot kernel: freq: 9b
/var/log/kern.log.3.gz:Oct 8 16:08:26 pikelot kernel: freq: 9e
/var/log/kern.log.3.gz:Oct 9 06:02:15 pikelot kernel: freq: 9d
/var/log/kern.log.3.gz:Oct 9 06:02:15 pikelot kernel: freq: 98
The machine is not and never has been overclocked.
Best Regards,
Karsten Desler
^ permalink raw reply [flat|nested] 11+ messages in thread
* PATA libata patches (and HPT)
2005-11-08 19:02 ` Ville Syrjälä
2005-11-08 20:02 ` Alan Cox
@ 2005-11-10 14:23 ` Alan Cox
2005-11-11 19:51 ` Highpoint IDE types Sergei Shtylylov
2 siblings, 0 replies; 11+ messages in thread
From: Alan Cox @ 2005-11-10 14:23 UTC (permalink / raw)
To: Ville Syrjälä; +Cc: linux-kernel, linux-ide
I've put a new patch up which fixes the enablebits problems. It's not
really there for people to run off and test but because it now has a
full set of "first guess" hpt3xx driver code.
I've been through various drivers and tried to work out what we actually
should be doing with these chips. I'd appreciate review of that and
opinions from other folks hacking on hpt pata stuff.
Alan
http://zeniv.linux.org.uk/~alan/IDE
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Highpoint IDE types
2005-11-08 19:02 ` Ville Syrjälä
2005-11-08 20:02 ` Alan Cox
2005-11-10 14:23 ` PATA libata patches (and HPT) Alan Cox
@ 2005-11-11 19:51 ` Sergei Shtylylov
2005-11-12 2:15 ` Ville Syrjälä
2 siblings, 1 reply; 11+ messages in thread
From: Sergei Shtylylov @ 2005-11-11 19:51 UTC (permalink / raw)
To: linux-ide; +Cc: linux-kernel, Alan Cox
Hello.
Ville Syrjälä wrote:
> On Tue, 08 Nov 2005 17:38:02 +0000, Alan Cox wrote:
>>Ok thanks to Sergei I can now post what I think is the complete table of
>>HPT chip versions:
Another correction coming in... :-)
>> Chip PCI ID Rev
>> * HPT366 4 (HPT366) 0
>> * HPT366 4 (HPT366) 1
>> * HPT368 4 (HPT366) 2
>> * HPT370 4 (HPT366) 3
>> * HPT370A 4 (HPT366) 4
>> * HPT372 4 (HPT366) 5
>> * HPT372N 4 (HPT366) 6
>> * HPT372 5 (HPT372) 0
>
> ^^^^^^
>
> This one is called HPT372A by Highpoint's BIOS/Win drivers.
According to Highpoint's driver code 372A has rev. ID 1...
> Also I'm not sure if it's relevant but PCI ID 5 chips use a different
> BIOS image than PCI ID 4 chips.
>
>
>> * HPT372N 5 (HPT372) > 0
And 372N has rev. ID 2...
WBR, Sergei
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Highpoint IDE types
2005-11-11 19:51 ` Highpoint IDE types Sergei Shtylylov
@ 2005-11-12 2:15 ` Ville Syrjälä
0 siblings, 0 replies; 11+ messages in thread
From: Ville Syrjälä @ 2005-11-12 2:15 UTC (permalink / raw)
To: linux-ide; +Cc: linux-kernel
On Fri, 11 Nov 2005 22:51:15 +0300, Sergei Shtylylov wrote:
> Hello.
>
> Ville Syrjälä wrote:
>> On Tue, 08 Nov 2005 17:38:02 +0000, Alan Cox wrote:
>
>>>Ok thanks to Sergei I can now post what I think is the complete table of
>>>HPT chip versions:
>
> Another correction coming in... :-)
>
>>> Chip PCI ID Rev
>>> * HPT366 4 (HPT366) 0
>>> * HPT366 4 (HPT366) 1
>>> * HPT368 4 (HPT366) 2
>>> * HPT370 4 (HPT366) 3
>>> * HPT370A 4 (HPT366) 4
>>> * HPT372 4 (HPT366) 5
>>> * HPT372N 4 (HPT366) 6
>>> * HPT372 5 (HPT372) 0
>>
>> ^^^^^^
>>
>> This one is called HPT372A by Highpoint's BIOS/Win drivers.
>
> According to Highpoint's driver code 372A has rev. ID 1...
>
>> Also I'm not sure if it's relevant but PCI ID 5 chips use a different
>> BIOS image than PCI ID 4 chips.
>>
>>
>>> * HPT372N 5 (HPT372) > 0
>
> And 372N has rev. ID 2...
Right you are. Their opensource driver doesn't list any PCI ID 5,6 or 7
chips with revision 0. All rev 1 chips are apparently non-N models and all
rev 2 chips are N models.
--
Ville Syrjälä
syrjala@sci.fi
http://www.sci.fi/~syrjala/
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2005-11-12 2:17 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-11-08 17:38 Highpoint IDE types Alan Cox
2005-11-08 19:02 ` Ville Syrjälä
2005-11-08 20:02 ` Alan Cox
2005-11-08 22:35 ` Bill Davidsen
2005-11-08 23:38 ` Alan Cox
2005-11-10 14:23 ` PATA libata patches (and HPT) Alan Cox
2005-11-11 19:51 ` Highpoint IDE types Sergei Shtylylov
2005-11-12 2:15 ` Ville Syrjälä
2005-11-08 19:40 ` Sergei Shtylyov
2005-11-08 20:02 ` Sergei Shtylylov
2005-11-09 10:27 ` Karsten Desler
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).