From: Tejun Heo <htejun@gmail.com>
To: Matt Sealey <matt@genesi-usa.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>, linux-ide@vger.kernel.org
Subject: Re: how to handle pata_via when controller not in fully-pci-native mode (two irqs?)
Date: Thu, 05 Jul 2007 11:28:26 +0900 [thread overview]
Message-ID: <468C574A.9010509@gmail.com> (raw)
In-Reply-To: <468BF013.7030601@genesi-usa.com>
Hello, Matt.
Matt Sealey wrote:
> Tejun Heo wrote:
>> I forgot about the PCI resource fix up done for legacy hosts. I think
>> making the host legacy is the best way to take here considering that -
>> no change for both ide and libata, just some fix up in platform code.
>> ATA native/legacy thing doesn't mean much. It's just how the resources
>> are allocated. Is there any specific reason to use native mode?
>
> Yes, legacy mode means there are several "io ports" mapped into the
> 0 thru 0x1000 addresses. This might work in Linux, granted, but I am
> not sure it is a good idea in the first place.
>
> Mapping io ports to anywhere but the PCI io space is just an ugly
> solution. The ATA native/legacy thing means a lot, as there is no
> "legacy" on PowerPC. It's a PCI device, so we should try and fix up
> it's actions as a PCI device, however, making it truly conform will
> break any "not entirely compatible" drivers break (via8cxxx being
> the biggest culprit). Therefore no firmware fixes for thee.
For libata, being native or legacy doesn't really mean that much. With
the patch posted yesterday[1], the only difference is how IRQs are
requested. Other than that, libata initializes aa legacy controller the
same way as a native controller, so you can use mmio exactly the same way.
> I do think we can knock it into full PCI native mode from the platform
> fixups though, as a kernel option. Old drivers will work fine, old
> kernels will work fine, and optionally old behaviour can be left, but
> anyone building a new kernel with pata_via and no via8cxxx (i.e. all
> new distributions) can enable the new behaviour.
That would work too but if you do PCI header fix up for legacy host,
nothing needs to be changed and nothing needs to be selected during
boot. Both via82cxxx and pata_via would just work. The controller's
PCI BARs contain valid values on entering kernel, right? The only thing
you have to do is flipping the legacy bit in platform PCI fix up code.
--
tejun
[1] http://article.gmane.org/gmane.linux.ide/20357
prev parent reply other threads:[~2007-07-05 2:28 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-06-23 0:26 how to handle pata_via when controller not in fully-pci-native mode (two irqs?) Matt Sealey
2007-06-23 4:23 ` Jeff Garzik
2007-06-23 9:33 ` Alan Cox
2007-06-23 9:33 ` Matt Sealey
2007-06-23 9:53 ` Alan Cox
2007-06-23 10:11 ` Matt Sealey
2007-07-03 7:33 ` Tejun Heo
2007-07-03 8:11 ` Matt Sealey
2007-07-03 9:21 ` Tejun Heo
2007-07-03 12:44 ` Matt Sealey
2007-07-03 12:17 ` Alan Cox
2007-07-03 12:32 ` Matt Sealey
2007-07-03 13:38 ` Alan Cox
2007-07-03 13:41 ` Matt Sealey
2007-07-03 13:53 ` Jeff Garzik
2007-07-03 14:00 ` Matt Sealey
2007-07-03 15:08 ` Jeff Garzik
2007-07-03 13:53 ` Alan Cox
2007-07-03 13:54 ` Matt Sealey
2007-07-04 8:55 ` Tejun Heo
2007-07-04 19:08 ` Matt Sealey
2007-07-05 2:28 ` Tejun Heo [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=468C574A.9010509@gmail.com \
--to=htejun@gmail.com \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=linux-ide@vger.kernel.org \
--cc=matt@genesi-usa.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 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).