public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Jack Steiner <steiner@sgi.com>
To: "David S. Miller" <davem@davemloft.net>
Cc: linville@tuxdriver.com, tony.luck@gmail.com, kaos@sgi.com,
	greg@kroah.com, linux-kernel@vger.kernel.org,
	linux-ia64@vger.kernel.org
Subject: Re: 2.6.14-rc1 breaks tg3 on ia64
Date: Sun, 18 Sep 2005 06:44:49 -0500	[thread overview]
Message-ID: <20050918114449.GA6733@sgi.com> (raw)
In-Reply-To: <20050917.232304.31192760.davem@davemloft.net>

On Sat, Sep 17, 2005 at 11:23:04PM -0700, David S. Miller wrote:
> From: "John W. Linville" <linville@tuxdriver.com>
> Date: Sat, 17 Sep 2005 11:59:14 -0400
> 
> > I posted a patch on Wednesday:
> > 
> > 	http://www.ussg.iu.edu/hypermail/linux/kernel/0509.1/2193.html
> > 
> > The original reporter (Keith Owens <kaos@sgi.com>) confirmed this
> > patch to fix the problem.
> 
> It fixes the problem, but it's a hack, and I, perhaps like Tony,
> personally would like to know why the these IA64 systems break for
> such a simple operation such as writing some base registers with
> values we've probed already.

Here is the mail from Mike Habeck (sgi) - he understands the problem
muck better than I do:

(from Mike....)
The problem is we (sgi) don't support the ACPI pci_window stuff that
is setup via ACPI (see: add_window() code).  And as a result when
pci_restore_bars() is called to restore the BARs, instead of the BARs
getting "restored" they get wiped out.  (pci_restore_bars() calls
pci_update_resource() which calls pcibios_resource_to_bus()... it
is that routine that is expecting the pci_window stuff being set up
from the ACPI path... I think... (I don't know much about how the ACPI
stuff works, John or Aaron could probably prove me right or wrong)...
So John (or Aaron) is it ACPI that is suppose to setup this pci_window
stuff?

I still question why this code path is taken... I don't know anything
about the PCI Power Management stuff, but we shouldn't be in any power
state that results in us needing our BARs restored.  But I guess that
really isn't the issue since sooner or later something else will end
up using this pci_window stuff and we'll get burned them.

I suppose for a quick fix (to workaround this power management patch)
could be to set the PCI_PM_CTRL_NO_SOFT_RESET in the cards PM capability
down in PROM thus bypassing this "need_restore" code.

I suppose for a quick fix (to workaround this power management patch)
could be to set the PCI_PM_CTRL_NO_SOFT_RESET in the cards PM capability
down in PROM thus bypassing this "need_restore" code.

        /* If we're in D3, force entire word to 0.
         * This doesn't affect PME_Status, disables PME_En, and
         * sets PowerState to 0.
         */
        if (dev->current_state >= PCI_D3hot) {
                if (!(pmcsr & PCI_PM_CTRL_NO_SOFT_RESET))
                        need_restore = 1;
                pmcsr = 0;
        } else {
                pmcsr &= ~PCI_PM_CTRL_STATE_MASK;
                pmcsr |= state;
        }

Or in the kernel sgi device fixup code change the current_state to D0?
It looks like it get's init'd to PCI_UNKNOWN (which is > PCI_D3hot)
I don't know... will investigate more tomorrow

-mike

-- 
Thanks

Jack Steiner (steiner@sgi.com)          651-683-5302
Principal Engineer                      SGI - Silicon Graphics, Inc.



  parent reply	other threads:[~2005-09-18 11:45 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-09-13  5:22 2.6.14-rc1 breaks tg3 on ia64 Keith Owens
2005-09-13  5:37 ` David S. Miller
2005-09-13  6:17   ` Keith Owens
2005-09-13  6:47     ` David S. Miller
2005-09-13  6:48     ` Keith Owens
2005-09-13  6:59     ` Greg KH
2005-09-13  7:27       ` Keith Owens
2005-09-17 15:47         ` Tony Luck
2005-09-17 15:59           ` John W. Linville
2005-09-17 16:16             ` Greg KH
2005-09-17 16:34               ` Jack Steiner
2005-09-17 16:48                 ` John W. Linville
2005-09-17 16:46               ` John W. Linville
2005-09-18  6:23             ` David S. Miller
2005-09-18  6:33               ` Tony Luck
2005-09-18 11:44               ` Jack Steiner [this message]
     [not found] <20050919204523.GD15838@sgi.com>
2005-09-19 22:43 ` Mike Habeck
2005-09-20  1:14   ` David S. Miller

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=20050918114449.GA6733@sgi.com \
    --to=steiner@sgi.com \
    --cc=davem@davemloft.net \
    --cc=greg@kroah.com \
    --cc=kaos@sgi.com \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    --cc=tony.luck@gmail.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