[Top] [All Lists]

Re: Linux kernel 2.6.20, PCI and hpt266

Subject: Re: Linux kernel 2.6.20, PCI and hpt266
From: "Marco Braga" <>
Date: Mon, 5 Mar 2007 14:57:12 +0100
Dkim-signature: a=rsa-sha1; c=relaxed/relaxed;; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; b=kqfrB3KGWkPdKLIU3njbopvqM/tBBHEf3w747IZGY98jzG3eRQWsV9HxSIxvlcRfPyOXGlCdkcTbwnoUzGpmkjAhdmUFxA//+BO7ww3OpPQLvUMHbs+liur1OtdNJj8r3xZBGFxJt2w59klCa0RmF3D4PfCbEC9346mwBONAIMs=
Domainkey-signature: a=rsa-sha1; c=nofws;; s=beta; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; b=mWyaWfwouY348mSX0YROEDtBwDuJG+Hc35kJZzq4w1J0eAfo8th/MVPuAHVkz61A1VD0W9GFVvQ+PXbrRJgDfvxYxTSOlyD5tmfbk00NNUhtKo9Qy0sk+ICSmMlkOKa0BURH9rELafILhX/U0H9Ns9zxo4Isl2Jl00T1upA87ck=
In-reply-to: <>
Original-recipient: rfc822;
References: <> <>
2007/3/5, Sergei Shtylyov <>:

> Hello, I am trying to run kernel 2.6.20 on an Au1500 based board. Versions
> 2.4.x of the kernel are correctly working.

    How could they work I wonder? :-O

Eheheh :-)
> Problem: on the board there is a HighPoint 371N ATA controller. At the

    There's *no* proper support for HPT371N in 2.4.x.

We've modified them to work. We fixed the "first channel disabled" problem and the "set pll with a wrong algorithm", etc. :-)

> Details:
> The driver I use is "drivers/ide/pci/hpt266.c". I've already fixed the

    I guess you mean hpt366.c. :-)

Whoops. Right. I'm using hpt366.c. I'd also like to try the nel libata drivers.
> timing problems and PLL configuration that afflict this controller, and
> removed RESOURCE_64BIT to fix problems with the PCI bus on mips and
> resource_size_t casts.

    Erm, does it indeed fix the problem I wonder?

Well, at least this change removed the "skipping PCI config due to resource conflict" error.
    The PCI config. space accesses use completely different meachanism form
I/O and memory accesses.

I suspected this, but sadly I am novice to PCI. Thank you very much, Sergei.

Today I've done another test: dumping I/O ATA registers, and the results are puzzling:

The format is:

[hw->io_ports index] [I/O port addr] [I/O port value]

[17179571.588000] 0 addr: 0x1408  val: 0x08
[17179571.596000] 1 addr: 0x1409  val: 0x09
[17179571.608000] 2 addr: 0x140a  val: 0x0a
[17179571.620000] 3 addr: 0x140b  val: 0x0b
[17179571.632000] 4 addr: 0x140c  val: 0x0c
[17179571.644000] 5 addr: 0x140d  val: 0x0d
[17179571.656000] 6 addr: 0x140e  val: 0xa0
[17179571.668000] 7 addr: 0x140f  val: 0x0f
[17179571.680000] 8 addr: 0x1416  val: 0x0a
[17179571.692000] 9 addr: 0x00  val: 0x48

The values seem wrong to me..

<Prev in Thread] Current Thread [Next in Thread>