> Isn't there a way we can make this work for any upstream HT > bridge, rather than only for specific NVIDIA chipsets?
The lines Peer indicates below will work for any vendor's bridge device that implements an HT MSI mapping and is an upstream bridge of the endpoint requesting MSI. On some NVIDIA chipsets, the host bridge that implements HT MSI mapping is not hierarchically upstream from the MSI endpoint; it may be a peer on the same bus as the endpoint or the PCIe root complex that's above the endpoint. The NVIDIA-specific code in the patch is to detect those specific chipsets where this can occur. We have tested the patch with both internal and PCI Express MSI endpoints on each of these NVIDIA chipsets. It may be that other vendors have Hypertransport chipsets with similar requirements for HT MSI mapping, but we don't have that information or the ability to test code on those vendors' chipsets. Regards, Andy -- Andy Currid, NVIDIA Corporation [EMAIL PROTECTED] 408 566 6743 -----Original Message----- From: Peer Chen Sent: Sunday, November 25, 2007 20:02 To: Robert Hancock; peerchen Cc: linux-kernel; akpm; Andy Currid Subject: RE: [PATCH 1/2] msi: set 'En' bit of MSI Mapping Capability on HT platform I think the following lines are suitable for other bridges besides nvidia's, :) : =================== + if (pci_enable_msi_ht_cap(dev) != 0) { + return 0; + } else { + /* Get upstream bridge device handle */ + + bridge_dev = dev->bus->self; + while(bridge_dev != 0) { + if (pci_enable_msi_ht_cap(bridge_dev) != 0) { + return 0; + } else + bridge_dev = bridge_dev->bus->self; + } + + return 1; + } BRs Peer Chen -----Original Message----- From: Robert Hancock [mailto:[EMAIL PROTECTED] Sent: Monday, November 26, 2007 2:34 AM To: peerchen Cc: linux-kernel; akpm; Peer Chen; Andy Currid Subject: Re: [PATCH 1/2] msi: set 'En' bit of MSI Mapping Capability on HT platform peerchen wrote: > According to the HyperTransport spec, 'En' indicate if the MSI Mapping is active. So it should be set when enable the MSI. > > The patch base on kernel 2.6.24-rc3 > > Signed-off-by: Andy Currid <[EMAIL PROTECTED]> > Signed-off-by: Peer Chen <[EMAIL PROTECTED]> Isn't there a way we can make this work for any upstream HT bridge, rather than only for specific NVIDIA chipsets? -- Robert Hancock Saskatoon, SK, Canada To email, remove "nospam" from [EMAIL PROTECTED] Home Page: http://www.roberthancock.com/ ----------------------------------------------------------------------------------- This email message is for the sole use of the intended recipient(s) and may contain confidential information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message. ----------------------------------------------------------------------------------- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/