public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Ralf Baechle <ralf@linux-mips.org>
Cc: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Greg KH <gregkh@suse.de>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>,
	Alan Cox <alan@lxorguk.ukuu.org.uk>
Subject: Re: Please revert: PCI: fix IDE legacy mode resources
Date: Sun, 09 Dec 2007 20:49:54 +1100	[thread overview]
Message-ID: <1197193794.6572.52.camel@pasglop> (raw)
In-Reply-To: <1197185091.6572.38.camel@pasglop>


> If that is the case though (that is it can't issue low ioport cycles),
> how would have the fd6e7321...  worked in the first place ? Hrm...
> strange. My understanding is that all that patch does is put junk in the
> pci_dev resource structures :-) Maybe that's enough to cause the PCI
> layer later on to be unhappy about them and reassign the BARs to some
> place that works ? In which case, you are right, a better approach is a
> quirk on this specific platform, or even better, mark 0...0x10000000
> busy in ioport_resources and let the generic code clash & re-assign...

  .../...

In fact, I see a deeper problem with Bart's original patch that moved
the "fixup" the PCI probe.

The code now replaces the content of the resource structures with the
hard-decoded legacy addresses for any IDE controller in legacy mode,
just losing whatever was there (the real BAR value).

On some platforms, like PowerPC (and it might be the same problem MIPS
has, I don't know for sure), we have a quirk that puts those controller
back into native mode. But so far, those quirks didn't change the
resources as they were supposed to contain the proper BAR values that
would, from then, be used.

Now that those values have been overriden in the resources, when the
controller is switched to native mode, it will answer to the BAR values
that no longer match the content of the resources and the driver will
fail.

So I think we have a deeper breakage here. I'll dig some machines for
which we do that tomorrow and see what exactly is going on. It's mostly
older machines so if there's a breakage, it has easily gone under the
radar.

I suspect any platform with such a quirk to turn IDE controllers into
native mode will now -also- need to put back the BAR values in the
struct resource, and do so -before- the platform fixup happens, that is
from a header quirk.

Cheers,
Ben.



  reply	other threads:[~2007-12-09  9:50 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <200710122305.l9CN5tFI008240@hera.kernel.org>
2007-12-06  0:10 ` Please revert: PCI: fix IDE legacy mode resources Benjamin Herrenschmidt
2007-12-06  4:34   ` Yoichi Yuasa
2007-12-06  5:04     ` Benjamin Herrenschmidt
2007-12-06  5:58       ` Yoichi Yuasa
2007-12-06  6:24         ` Benjamin Herrenschmidt
2007-12-09  2:12           ` Ralf Baechle
2007-12-09  7:24             ` Benjamin Herrenschmidt
2007-12-09  9:49               ` Benjamin Herrenschmidt [this message]
2007-12-09 12:46                 ` Bartlomiej Zolnierkiewicz
2007-12-09 13:39                   ` Alan Cox
2007-12-09 20:11                     ` Benjamin Herrenschmidt
2007-12-09 13:38                 ` Alan Cox
2007-12-09 20:03                   ` Benjamin Herrenschmidt
2007-12-09 22:23                     ` Alan Cox
2007-12-09 22:47                       ` Benjamin Herrenschmidt
2007-12-10  4:29                       ` Benjamin Herrenschmidt
2007-12-10 11:20                         ` Alan Cox
2007-12-10 13:40                           ` Ralf Baechle
2007-12-10 15:01                             ` Alan Cox
2007-12-10 15:47                               ` Ralf Baechle
2007-12-10 20:43                                 ` Benjamin Herrenschmidt
2007-12-11  0:05                                   ` Ralf Baechle
2007-12-11  0:27                                     ` Benjamin Herrenschmidt
2007-12-11 12:13                                       ` Ralf Baechle
2007-12-10 20:39                               ` Benjamin Herrenschmidt
2007-12-10 23:07                                 ` Alan Cox
2007-12-11  0:10                                   ` Benjamin Herrenschmidt
2007-12-10 13:38                         ` Ralf Baechle
2007-12-10 13:26               ` Ralf Baechle
2007-12-06 12:32         ` Ralf Baechle
2007-12-06 15:24           ` Ralf Baechle

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=1197193794.6572.52.camel@pasglop \
    --to=benh@kernel.crashing.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=bzolnier@gmail.com \
    --cc=gregkh@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ralf@linux-mips.org \
    --cc=torvalds@linux-foundation.org \
    --cc=yoichi_yuasa@tripeaks.co.jp \
    /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