All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alan Cox <alan@lxorguk.ukuu.org.uk>
To: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Cc: Andrew Morton <akpm@osdl.org>,
	Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>,
	linux-ide@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] PIIX: fix 82371MX enablebits
Date: Thu, 11 May 2006 22:20:33 +0100	[thread overview]
Message-ID: <1147382434.26130.95.camel@localhost.localdomain> (raw)
In-Reply-To: <44639F4C.7040709@ru.mvista.com>

On Gwe, 2006-05-12 at 00:32 +0400, Sergei Shtylyov wrote:
>     Erm, simplex stuff shouldn't be touched at all since the chip is not 
> DMA-capable. The same should be true about the native/legacy mode...

Native/legacy appplies to PIO too, and predates DMA stuff. Read
ide_setup_pci_baseregs and you'll see the problem. I hit that with
pata_mpiix and similar assumptions copied into libata and when I tried
the piix driver on the laptop I have.

> > Finally the PIIX driver pokes several registers it doesn't even have.
> 
>     Hm, as I can see, it avoids touching anything at all on MPIIX. This may 
> rather be said of PIIX -- this chip didn't have SIDETIM register yet, so slave 
> tuning won't work on it...

It avoids it for the MPIIX but not the early PIIX chip. And you can do
slave timing just fine, you need to flip the timings when you flip drive
which is how pata_mpiix does it and pata_oldpiix.

>     There's no great need in splitting, just the separate tune_chipset() 
> functions for PIIX/MPIIX and the rest of the crowd would suffice, IMHO...

Have fun 8) Having been there and done that already the list of bugs in
the piix driver is huge. Good to see someone beginning on it. However
you need more than to skip tuning and you need to reload the timings on
master/slave switches to get any performance.

If you want to fight the PIIX driver then other stuff I fixed in
pata_piix included
- Touching UDMA registers not found on earlier UDMA chips
- Setting IORDY on the wrong modes
- Setting prefetch/postwrite related options on devices it isnt safe for
(ATAPI shouldn't set PPE0 etc)

There's a nice Intel manual on the PIIX/ICH tuning rules separate to the
chip docs btw, I found it really helpful, dunno if you've already got a
copy.

Alan


      reply	other threads:[~2006-05-11 21:08 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-11 19:50 [PATCH] PIIX: fix 82371MX enablebits Sergei Shtylyov
2006-05-11 20:27 ` Alan Cox
2006-05-11 20:32   ` Sergei Shtylyov
2006-05-11 21:20     ` Alan Cox [this message]

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=1147382434.26130.95.camel@localhost.localdomain \
    --to=alan@lxorguk.ukuu.org.uk \
    --cc=akpm@osdl.org \
    --cc=bzolnier@gmail.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sshtylyov@ru.mvista.com \
    /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.