Message ID | 20090904165545.26294.94612.sendpatchset@t500 (mailing list archive) |
---|---|
State | RFC, archived |
Headers | show |
On Fri, 2009-09-04 at 12:55 -0400, Stefan Assmann wrote: > + * Disable boot interrupts on Intel X58, 55x0 (Tylersburg). > + * See Intel document #321328-001, section 19.10.2.27. > + * (Disable PCI INTx Routing to ICH) > + */ > +#define INTEL_X58_55x0_QPIPINTRC_OFFSET 0xe0 > +#define INTEL_X58_55x0_QPIPINTRC_BIT (1<<25) > +static void quirk_disable_intel_tylersburg_boot_interrupt(struct > pci_dev *dev) > +{ > + u32 pci_config_dword; > + > + if (noioapicquirk) > + return; > + > + pci_read_config_dword(dev, INTEL_X58_55x0_QPIPINTRC_OFFSET, > &pci_config_dword); > + pci_config_dword |= INTEL_X58_55x0_QPIPINTRC_BIT; > + pci_write_config_dword(dev, INTEL_X58_55x0_QPIPINTRC_OFFSET, > pci_config_dword); > + > + printk(KERN_INFO "disabled boot interrupt on device 0x%04x:0x% > 04x\n", > + dev->vendor, dev->device); > +} > +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_QPI_TBG15, quirk_disable_intel_tylersburg_boot_interrupt); > +DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_QPI_TBG15, quirk_disable_intel_tylersburg_boot_interrupt); These lines are wildly long .. Could you reduce these down to a max of 80 characters.. Daniel -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 04.09.2009 19:06, Daniel Walker wrote: > On Fri, 2009-09-04 at 12:55 -0400, Stefan Assmann wrote: >> + * Disable boot interrupts on Intel X58, 55x0 (Tylersburg). >> + * See Intel document #321328-001, section 19.10.2.27. >> + * (Disable PCI INTx Routing to ICH) >> + */ >> +#define INTEL_X58_55x0_QPIPINTRC_OFFSET 0xe0 >> +#define INTEL_X58_55x0_QPIPINTRC_BIT (1<<25) >> +static void quirk_disable_intel_tylersburg_boot_interrupt(struct >> pci_dev *dev) >> +{ >> + u32 pci_config_dword; >> + >> + if (noioapicquirk) >> + return; >> + >> + pci_read_config_dword(dev, INTEL_X58_55x0_QPIPINTRC_OFFSET, >> &pci_config_dword); >> + pci_config_dword |= INTEL_X58_55x0_QPIPINTRC_BIT; >> + pci_write_config_dword(dev, INTEL_X58_55x0_QPIPINTRC_OFFSET, >> pci_config_dword); >> + >> + printk(KERN_INFO "disabled boot interrupt on device 0x%04x:0x% >> 04x\n", >> + dev->vendor, dev->device); >> +} >> +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_QPI_TBG15, quirk_disable_intel_tylersburg_boot_interrupt); >> +DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_QPI_TBG15, quirk_disable_intel_tylersburg_boot_interrupt); > > > These lines are wildly long .. Could you reduce these down to a max of > 80 characters.. Hi Daniel, you're right about the lines being to long, however if you take a peek at drivers/pci/quirks.c you'll see that all the quirks are done this way. :) Stefan -- Stefan Assmann | Red Hat GmbH Software Engineer | Otto-Hahn-Strasse 20, 85609 Dornach | HR: Amtsgericht Muenchen HRB 153243 | GF: Brendan Lane, Charlie Peters, sassmann at redhat.com | Michael Cunningham, Charles Cachera -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Sat, 2009-09-05 at 11:07 +0200, Stefan Assmann wrote: > On 04.09.2009 19:06, Daniel Walker wrote: > > On Fri, 2009-09-04 at 12:55 -0400, Stefan Assmann wrote: > >> + * Disable boot interrupts on Intel X58, 55x0 (Tylersburg). > >> + * See Intel document #321328-001, section 19.10.2.27. > >> + * (Disable PCI INTx Routing to ICH) > >> + */ > >> +#define INTEL_X58_55x0_QPIPINTRC_OFFSET 0xe0 > >> +#define INTEL_X58_55x0_QPIPINTRC_BIT (1<<25) > >> +static void quirk_disable_intel_tylersburg_boot_interrupt(struct > >> pci_dev *dev) > >> +{ > >> + u32 pci_config_dword; > >> + > >> + if (noioapicquirk) > >> + return; > >> + > >> + pci_read_config_dword(dev, INTEL_X58_55x0_QPIPINTRC_OFFSET, > >> &pci_config_dword); > >> + pci_config_dword |= INTEL_X58_55x0_QPIPINTRC_BIT; > >> + pci_write_config_dword(dev, INTEL_X58_55x0_QPIPINTRC_OFFSET, > >> pci_config_dword); > >> + > >> + printk(KERN_INFO "disabled boot interrupt on device 0x%04x:0x% > >> 04x\n", > >> + dev->vendor, dev->device); > >> +} > >> +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_QPI_TBG15, quirk_disable_intel_tylersburg_boot_interrupt); > >> +DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_QPI_TBG15, quirk_disable_intel_tylersburg_boot_interrupt); > > > > > > These lines are wildly long .. Could you reduce these down to a max of > > 80 characters.. > > Hi Daniel, > > you're right about the lines being to long, however if you take a peek > at drivers/pci/quirks.c you'll see that all the quirks are done this > way. :) I looked, the whole thing is a mess .. Really all these lines need to be cleaned up.. It doesn't help to have you add more to it tho. Especially the tab's or spaces between the commas, I can say I understand why that is.. If there is a good reason why it's like that I'm all ears.. Daniel -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 05-Sep-09, Daniel Walker wrote: > On Sat, 2009-09-05 at 11:07 +0200, Stefan Assmann wrote: > > On 04.09.2009 19:06, Daniel Walker wrote: > > > On Fri, 2009-09-04 at 12:55 -0400, Stefan Assmann wrote: > > >> +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_QPI_TBG15, quirk_disable_intel_tylersburg_boot_interrupt); > > >> +DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_QPI_TBG15, quirk_disable_intel_tylersburg_boot_interrupt); > > > > > > > > > These lines are wildly long .. Could you reduce these down to a max of > > > 80 characters.. > > > > Hi Daniel, > > > > you're right about the lines being to long, however if you take a peek > > at drivers/pci/quirks.c you'll see that all the quirks are done this > > way. :) > > I looked, the whole thing is a mess .. Really all these lines need to be > cleaned up.. It doesn't help to have you add more to it tho. Especially > the tab's or spaces between the commas, I can say I understand why that > is.. If there is a good reason why it's like that I'm all ears.. It makes adding/deleting/modifying the entries easier, with one-line editor operations. And if all data for one ID-to-quirk relationship is on one line, with tabs to make for nice columns, I can more easily see which device is linked to which quirk. That is why I usually prefer one line per entry. And the entries in quirks.c are long, but not too long for that IMHO. I agree that the 80 columns restriction is a good thing in almost all cases, as it limits the amount of information that is put on a single line, and it limits the number of indentation levels within a function. But in this case I think we are better off with one line per entry, even if the line becomes longer than 80 characters. The information on one line is not that much (one macro with 3 parameters), only the identifiers try to be readable and discernible and therefore become long. So this will only be a problem for terminals that are limited to 80 rows, and I do not think that anyone is that restricted nowadays. Regards,
On Sat, 2009-09-05 at 18:18 +0200, Olaf Dabrunz wrote: > On 05-Sep-09, Daniel Walker wrote: > > On Sat, 2009-09-05 at 11:07 +0200, Stefan Assmann wrote: > > > On 04.09.2009 19:06, Daniel Walker wrote: > > > > On Fri, 2009-09-04 at 12:55 -0400, Stefan Assmann wrote: > > > >> +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_QPI_TBG15, quirk_disable_intel_tylersburg_boot_interrupt); > > > >> +DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_QPI_TBG15, quirk_disable_intel_tylersburg_boot_interrupt); > > > > > > > > > > > > These lines are wildly long .. Could you reduce these down to a max of > > > > 80 characters.. > > > > > > Hi Daniel, > > > > > > you're right about the lines being to long, however if you take a peek > > > at drivers/pci/quirks.c you'll see that all the quirks are done this > > > way. :) > > > > I looked, the whole thing is a mess .. Really all these lines need to be > > cleaned up.. It doesn't help to have you add more to it tho. Especially > > the tab's or spaces between the commas, I can say I understand why that > > is.. If there is a good reason why it's like that I'm all ears.. > > It makes adding/deleting/modifying the entries easier, with one-line > editor operations. And if all data for one ID-to-quirk relationship is > on one line, with tabs to make for nice columns, I can more easily see > which device is linked to which quirk. That is why I usually prefer one > line per entry. And the entries in quirks.c are long, but not too long > for that IMHO. Firstly I would say these entries aren't consistent at all.. Some are comma tab delimited, some are comma space delimited, and some are mixed space plus tab delimited plus comma delimited.. Many are actually broken down into less than 80 max length already.. I'm not sure I see how this makes "adding/deleting/modifying" easier .. We have lots of other situations where lines are broken down less than 80, function arguments, macros, structures all sorts of stuff. Taking this block for instance, DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5780, quirk_msi_intx_disable_bug); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5780S, quirk_msi_intx_disable_bug); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5714, quirk_msi_intx_disable_bug); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5714S, quirk_msi_intx_disable_bug); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5715, quirk_msi_intx_disable_bug); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5715S, quirk_msi_intx_disable_bug); In this block there is a fairly clear pattern you can follow. One problem with using tabs is that in order to get the perceive benefit your suggesting you would be forced to have a terminal at a certain size. Without that the single lines just end up line wrapped but in a less consistent way. You also have the problem that people have to deliberately add this formatting , sometimes one tab is enough, sometimes you need two tabs, maybe someone uses spaces instead .. So you end up with people potentially using all sorts of different methods and maybe not getting it right (not to mention it's special formatting just for this file).. > So this will only be a problem for terminals that are limited to 80 > rows, and I do not think that anyone is that restricted nowadays. It's more than that.. In order to un-wrap the lines in this file you have to have a terminal at over 130 characters in width. I think it would be better to create a script that parses this file and produces consistent list in the format your describing, just for review purposes.. That way it takes the human element out of it, and it still lets you look at the formatting that your looking for. Daniel -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Sat, 05 Sep 2009, Daniel Walker wrote: > I'm not sure I see how this makes "adding/deleting/modifying" easier .. > We have lots of other situations where lines are broken down less than > 80, function arguments, macros, structures all sorts of stuff. > > Taking this block for instance, > > DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_BROADCOM, > PCI_DEVICE_ID_TIGON3_5780, > quirk_msi_intx_disable_bug); > DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_BROADCOM, > PCI_DEVICE_ID_TIGON3_5780S, > quirk_msi_intx_disable_bug); > DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_BROADCOM, > PCI_DEVICE_ID_TIGON3_5714, > quirk_msi_intx_disable_bug); > DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_BROADCOM, > PCI_DEVICE_ID_TIGON3_5714S, > quirk_msix_intx_disable_bug); > DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_BROADCOM, > PCI_DEVICE_ID_TIGON3_5715, > quirk_msi_intx_disable_bug); > DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_BROADCOM, > PCI_DEVICE_ID_TIGON3_5715S, > quirk_msi_intx_disable_bug); You must have an alien brain of some sort if reading that is easier than the tabular (single-line) format for you. Please try finding the one entry in there which is different (I changed one of them) with a quick glance. Chances are you'll just skip over it and think all of them do the same thing.
On Sun, 2009-09-06 at 22:37 -0300, Henrique de Moraes Holschuh wrote: > On Sat, 05 Sep 2009, Daniel Walker wrote: > > I'm not sure I see how this makes "adding/deleting/modifying" easier .. > > We have lots of other situations where lines are broken down less than > > 80, function arguments, macros, structures all sorts of stuff. > > > > Taking this block for instance, > > > > DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_BROADCOM, > > PCI_DEVICE_ID_TIGON3_5780, > > quirk_msi_intx_disable_bug); > > DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_BROADCOM, > > PCI_DEVICE_ID_TIGON3_5780S, > > quirk_msi_intx_disable_bug); > > DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_BROADCOM, > > PCI_DEVICE_ID_TIGON3_5714, > > quirk_msi_intx_disable_bug); > > DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_BROADCOM, > > PCI_DEVICE_ID_TIGON3_5714S, > > quirk_msx_intx_disable_bug); > > DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_BROADCOM, > > PCI_DEVICE_ID_TIGON3_5715, > > quirk_msi_intx_disable_bug); > > DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_BROADCOM, > > PCI_DEVICE_ID_TIGON3_5715S, > > quirk_msi_intx_disable_bug); > > You must have an alien brain of some sort if reading that is easier than the > tabular (single-line) format for you. My terminal isn't at 130 .. > Please try finding the one entry in there which is different (I changed one > of them) with a quick glance. Chances are you'll just skip over it and > think all of them do the same thing. msix , the letters didn't line up, the semicolons don't line up either.. Even with tabs all this information is so similar your bound to overlook small errors like that. Even if you think all this matter, assume someone has a term at 80 then every thing is wrapper. That would put you in the same situation. Daniel Daniel -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
--- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -1635,6 +1635,30 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_IOAT_TBG9, quirk_show_intel_qpi_conf_register); /* + * Disable boot interrupts on Intel X58, 55x0 (Tylersburg). + * See Intel document #321328-001, section 19.10.2.27. + * (Disable PCI INTx Routing to ICH) + */ +#define INTEL_X58_55x0_QPIPINTRC_OFFSET 0xe0 +#define INTEL_X58_55x0_QPIPINTRC_BIT (1<<25) +static void quirk_disable_intel_tylersburg_boot_interrupt(struct pci_dev *dev) +{ + u32 pci_config_dword; + + if (noioapicquirk) + return; + + pci_read_config_dword(dev, INTEL_X58_55x0_QPIPINTRC_OFFSET, &pci_config_dword); + pci_config_dword |= INTEL_X58_55x0_QPIPINTRC_BIT; + pci_write_config_dword(dev, INTEL_X58_55x0_QPIPINTRC_OFFSET, pci_config_dword); + + printk(KERN_INFO "disabled boot interrupt on device 0x%04x:0x%04x\n", + dev->vendor, dev->device); +} +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_QPI_TBG15, quirk_disable_intel_tylersburg_boot_interrupt); +DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_QPI_TBG15, quirk_disable_intel_tylersburg_boot_interrupt); + +/* * disable boot interrupts on HT-1000 */ #define BC_HT1000_FEATURE_REG 0x64 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h @@ -2504,6 +2504,7 @@ #define PCI_DEVICE_ID_INTEL_ICH9_7 0x2916 #define PCI_DEVICE_ID_INTEL_ICH9_8 0x2918 #define PCI_DEVICE_ID_INTEL_82855PM_HB 0x3340 +#define PCI_DEVICE_ID_INTEL_QPI_TBG15 0x3428 #define PCI_DEVICE_ID_INTEL_IOAT_TBG4 0x3429 #define PCI_DEVICE_ID_INTEL_IOAT_TBG5 0x342a #define PCI_DEVICE_ID_INTEL_IOAT_TBG6 0x342b
Disable boot interrupts on Intel X58, 55x0 systems by setting the Disable PCI INTx Routing to ICH bit (default is 0). Disable PCI INTx Routing to ICH: When this bit is set, local INTx messages received from the CB DMA/PCI Express ports of the IOH are not routed to legacy ICH - they are either converted into MSI via the integrated I/OxAPIC (if the I/OxAPIC mask bit is clear in the appropriate entries) or cause no further action (when mask bit is set). When this bit is clear, local INTx messages received from the CB DMA/PCI Express ports of the IOH are routed to legacy ICH, provided the corresponding mask bit in the IOAPIC is set. See Intel document #321328-001, section 19.10.2.27. Signed-off-by: Stefan Assmann <sassmann@redhat.com> --- drivers/pci/quirks.c | 24 ++++++++++++++++++++++++ include/linux/pci_ids.h | 1 + 2 files changed, 25 insertions(+) -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html