linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff Garzik <jeff@garzik.org>
To: michael@ellerman.id.au, Kumar Gala <galak@kernel.crashing.org>,
	Timur Tabi <timur@freescale.com>
Cc: Tejun Heo <tj@kernel.org>,
	linux-ide@vger.kernel.org,
	Linux PPC Development <linuxppc-dev@ozlabs.org>
Subject: Re: "ahci: drop intx manipulation on msi enable" breaks ULI M1575
Date: Thu, 09 Apr 2009 01:32:33 -0400	[thread overview]
Message-ID: <49DD8871.2030404@garzik.org> (raw)
In-Reply-To: <1239251928.22777.2.camel@localhost>

Michael Ellerman wrote:
> On Wed, 2009-04-08 at 23:23 -0500, Kumar Gala wrote:
>> On Apr 8, 2009, at 6:53 PM, Michael Ellerman wrote:
>>
>>> On Wed, 2009-04-08 at 17:15 -0500, Timur Tabi wrote:
>>>> On Wed, Apr 8, 2009 at 4:31 PM, Tejun Heo <tj@kernel.org> wrote:
>>>>> Hmmm... for now,
>>>>> I think it would be best to revert the original change.  Jeff, can  
>>>>> you
>>>>> please do that?
>>>> Actually, give me a few days before you do that.  A colleague gave me
>>>> some suggestions to debug this.
>>> What device did you say it was? A "ULI M1575" ?
>>>
>>> Is that this one?
>>>
>>> DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AL, 0x1575,  
>>> hpcd_quirk_uli1575);
>>>
>>> static void __devinit hpcd_quirk_uli1575(struct pci_dev *dev)
>>> {
>>>        u32 temp32;
>>>
>>>        if (!machine_is(mpc86xx_hpcd))
>>>                return;
>>>
>>>        /* Disable INTx */
>>>        pci_read_config_dword(dev, 0x48, &temp32);
>>>        pci_write_config_dword(dev, 0x48, (temp32 | 1<<26));
>>> ..
>> It is the odd thing is the board he's running on is a mpc86xx_hpcd so  
>> he shouldn't be hitting the code that actually disables INTx.
> 
> Sorry Kumar that's not parsing :)
> 
> He is running an mpc86xx_hpcd, so he _should_ be hitting the code that
> disables INTX?

The reversed logic of the PCI bit itself also makes for confusing 
discusion.  In an attempt to be helpful, here is a restatement of what 
is happening:

1) Old 'ahci' used to clear PCI_COMMAND_INTX_DISABLE, thus ensuring INTX 
interrupts are enabled... if and only if MSI is unavailable.

2) Current 'ahci' no longer does this

3) As a result, Timur's 'ahci' is no longer receiving interrupts. 
Presumably this means that BOTH of the following conditions are true

	a) INTX is disabled
	b) MSI is not available

Today I am thinking we should either revert the libata commit 
(a5bfc4714b3f01365aef89a92673f2ceb1ccf246), or poke PCI to twiddle INTX 
for us at pci_enable_device() time, perhaps.

I lean towards the former, but maybe the platform folks prefer a third 
solution?

	Jeff





  parent reply	other threads:[~2009-04-09  5:33 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-04-07 14:54 "ahci: drop intx manipulation on msi enable" breaks ULI M1575 Timur Tabi
2009-04-07 23:57 ` Tejun Heo
2009-04-08  0:36   ` Timur Tabi
2009-04-08  0:52     ` Michael Ellerman
2009-04-08  1:19       ` Timur Tabi
2009-04-08  2:09     ` Michael Ellerman
2009-04-08  6:12       ` Jeff Garzik
2009-04-08 11:40       ` Timur Tabi
2009-04-08 21:04         ` Tejun Heo
2009-04-08 21:06           ` Timur Tabi
2009-04-08 21:13             ` Tejun Heo
2009-04-08 21:17               ` Timur Tabi
2009-04-08 21:31                 ` Tejun Heo
2009-04-08 22:15                   ` Timur Tabi
2009-04-08 23:53                     ` Michael Ellerman
2009-04-09  4:23                       ` Kumar Gala
2009-04-09  4:38                         ` Michael Ellerman
2009-04-09  5:18                           ` Kumar Gala
2009-04-09  5:32                           ` Jeff Garzik [this message]
2009-04-09 15:19                             ` Timur Tabi
2009-04-13 11:34                             ` Michael Ellerman
2009-04-16 21:27                             ` Timur Tabi

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=49DD8871.2030404@garzik.org \
    --to=jeff@garzik.org \
    --cc=galak@kernel.crashing.org \
    --cc=linux-ide@vger.kernel.org \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=michael@ellerman.id.au \
    --cc=timur@freescale.com \
    --cc=tj@kernel.org \
    /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).