07 Oct, 2011

1 commit

  • In summary, this DMI quirk uses the _CRS info by default for the ASUS
    M2V-MX SE by turning on `pci=use_crs` and is similar to the quirk
    added by commit 2491762cfb47 ("x86/PCI: use host bridge _CRS info on
    ASRock ALiveSATA2-GLAN") whose commit message should be read for further
    information.

    Since commit 3e3da00c01d0 ("x86/pci: AMD one chain system to use pci
    read out res") Linux gives the following oops:

    parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE]
    HDA Intel 0000:20:01.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
    HDA Intel 0000:20:01.0: setting latency timer to 64
    BUG: unable to handle kernel paging request at ffffc90011c08000
    IP: [] azx_probe+0x3ad/0x86b [snd_hda_intel]
    PGD 13781a067 PUD 13781b067 PMD 1300ba067 PTE 800000fd00000173
    Oops: 0009 [#1] SMP
    last sysfs file: /sys/module/snd_pcm/initstate
    CPU 0
    Modules linked in: snd_hda_intel(+) snd_hda_codec snd_hwdep snd_pcm_oss snd_mixer_oss snd_pcm snd_seq_midi snd_rawmidi snd_seq_midi_event tpm_tis tpm snd_seq tpm_bios psmouse parport_pc snd_timer snd_seq_device parport processor evdev snd i2c_viapro thermal_sys amd64_edac_mod k8temp i2c_core soundcore shpchp pcspkr serio_raw asus_atk0110 pci_hotplug edac_core button snd_page_alloc edac_mce_amd ext3 jbd mbcache sha256_generic cryptd aes_x86_64 aes_generic cbc dm_crypt dm_mod raid1 md_mod usbhid hid sg sd_mod crc_t10dif sr_mod cdrom ata_generic uhci_hcd sata_via pata_via libata ehci_hcd usbcore scsi_mod via_rhine mii nls_base [last unloaded: scsi_wait_scan]
    Pid: 1153, comm: work_for_cpu Not tainted 2.6.37-1-amd64 #1 M2V-MX SE/System Product Name
    RIP: 0010:[] [] azx_probe+0x3ad/0x86b [snd_hda_intel]
    RSP: 0018:ffff88013153fe50 EFLAGS: 00010286
    RAX: ffffc90011c08000 RBX: ffff88013029ec00 RCX: 0000000000000006
    RDX: 0000000000000000 RSI: 0000000000000246 RDI: 0000000000000246
    RBP: ffff88013341d000 R08: 0000000000000000 R09: 0000000000000040
    R10: 0000000000000286 R11: 0000000000003731 R12: ffff88013029c400
    R13: 0000000000000000 R14: 0000000000000000 R15: ffff88013341d090
    FS: 0000000000000000(0000) GS:ffff8800bfc00000(0000) knlGS:00000000f7610ab0
    CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
    CR2: ffffc90011c08000 CR3: 0000000132f57000 CR4: 00000000000006f0
    DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
    Process work_for_cpu (pid: 1153, threadinfo ffff88013153e000, task ffff8801303c86c0)
    Stack:
    0000000000000005 ffffffff8123ad65 00000000000136c0 ffff88013029c400
    ffff8801303c8998 ffff88013341d000 ffff88013341d090 ffff8801322d9dc8
    ffff88013341d208 0000000000000000 0000000000000000 ffffffff811ad232
    Call Trace:
    [] ? __pm_runtime_set_status+0x162/0x186
    [] ? local_pci_probe+0x49/0x92
    [] ? do_work_for_cpu+0x0/0x1b
    [] ? do_work_for_cpu+0x0/0x1b
    [] ? do_work_for_cpu+0xb/0x1b
    [] ? kthread+0x7a/0x82
    [] ? kernel_thread_helper+0x4/0x10
    [] ? kthread+0x0/0x82
    [] ? kernel_thread_helper+0x0/0x10
    Code: f4 01 00 00 ef 31 f6 48 89 df e8 29 dd ff ff 85 c0 0f 88 2b 03 00 00 48 89 ef e8 b4 39 c3 e0 8b 7b 40 e8 fc 9d b1 e0 48 8b 43 38 8b 10 66 89 14 24 8b 43 14 83 e8 03 83 f8 01 77 32 31 d2 be
    RIP [] azx_probe+0x3ad/0x86b [snd_hda_intel]
    RSP
    CR2: ffffc90011c08000
    ---[ end trace 8d1f3ebc136437fd ]---

    Trusting the ACPI _CRS information (`pci=use_crs`) fixes this problem.

    $ dmesg | grep -i crs # with the quirk
    PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug

    The match has to be against the DMI board entries though since the vendor entries are not populated.

    DMI: System manufacturer System Product Name/M2V-MX SE, BIOS 0304 10/30/2007

    This quirk should be removed when `pci=use_crs` is enabled for machines
    from 2006 or earlier or some other solution is implemented.

    Using coreboot [1] with this board the problem does not exist but this
    quirk also does not affect it either. To be safe though the check is
    tightened to only take effect when the BIOS from American Megatrends is
    used.

    15:13 < ruik> but coreboot does not need that
    15:13 < ruik> because i have there only one root bus
    15:13 < ruik> the audio is behind a bridge

    $ sudo dmidecode
    BIOS Information
    Vendor: American Megatrends Inc.
    Version: 0304
    Release Date: 10/30/2007

    [1] http://www.coreboot.org/

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=30552

    Cc: stable@kernel.org (2.6.34)
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: H. Peter Anvin
    Cc: x86@kernel.org
    Signed-off-by: Paul Menzel
    Signed-off-by: Bjorn Helgaas
    Acked-by: Jesse Barnes
    Signed-off-by: Linus Torvalds

    Paul Menzel
     

10 Sep, 2011

1 commit

  • Commit b03e7495a862 ("PCI: Set PCI-E Max Payload Size on fabric")
    introduced a potential NULL pointer dereference in calls to
    pcie_bus_configure_settings due to attempts to access pci_bus self
    variables when the self pointer is NULL.

    To correct this, verify that the self pointer in pci_bus is non-NULL
    before dereferencing it.

    Reported-by: Stanislaw Gruszka
    Signed-off-by: Shyam Iyer
    Signed-off-by: Jon Mason
    Acked-by: Jesse Barnes
    Signed-off-by: Linus Torvalds

    Shyam Iyer
     

02 Aug, 2011

1 commit

  • On a given PCI-E fabric, each device, bridge, and root port can have a
    different PCI-E maximum payload size. There is a sizable performance
    boost for having the largest possible maximum payload size on each PCI-E
    device. However, if improperly configured, fatal bus errors can occur.
    Thus, it is important to ensure that PCI-E payloads sends by a device
    are never larger than the MPS setting of all devices on the way to the
    destination.

    This can be achieved two ways:

    - A conservative approach is to use the smallest common denominator of
    the entire tree below a root complex for every device on that fabric.

    This means for example that having a 128 bytes MPS USB controller on one
    leg of a switch will dramatically reduce performances of a video card or
    10GE adapter on another leg of that same switch.

    It also means that any hierarchy supporting hotplug slots (including
    expresscard or thunderbolt I suppose, dbl check that) will have to be
    entirely clamped to 128 bytes since we cannot predict what will be
    plugged into those slots, and we cannot change the MPS on a "live"
    system.

    - A more optimal way is possible, if it falls within a couple of
    constraints:
    * The top-level host bridge will never generate packets larger than the
    smallest TLP (or if it can be controlled independently from its MPS at
    least)
    * The device will never generate packets larger than MPS (which can be
    configured via MRRS)
    * No support of direct PCI-E PCI-E transfers between devices without
    some additional code to specifically deal with that case

    Then we can use an approach that basically ignores downstream requests
    and focuses exclusively on upstream requests. In that case, all we need
    to care about is that a device MPS is no larger than its parent MPS,
    which allows us to keep all switches/bridges to the max MPS supported by
    their parent and eventually the PHB.

    In this case, your USB controller would no longer "starve" your 10GE
    Ethernet and your hotplug slots won't affect your global MPS.
    Additionally, the hotplugged devices themselves can be configured to a
    larger MPS up to the value configured in the hotplug bridge.

    To choose between the two available options, two PCI kernel boot args
    have been added to the PCI calls. "pcie_bus_safe" will provide the
    former behavior, while "pcie_bus_perf" will perform the latter behavior.
    By default, the latter behavior is used.

    NOTE: due to the location of the enablement, each arch will need to add
    calls to this function. This patch only enables x86.

    This patch includes a number of changes recommended by Benjamin
    Herrenschmidt.

    Tested-by: Jordan_Hargrave@dell.com
    Signed-off-by: Jon Mason
    Signed-off-by: Jesse Barnes

    Jon Mason
     

30 Jul, 2011

1 commit

  • * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:
    PCI: remove printks about disabled bridge windows
    PCI: fold pci_calc_resource_flags() into decode_bar()
    PCI: treat mem BAR type "11" (reserved) as 32-bit, not 64-bit, BAR
    PCI: correct pcie_set_readrq write size
    PCI: pciehp: change wait time for valid configuration access
    x86/PCI: Preserve existing pci=bfsort whitelist for Dell systems
    PCI: ARI is a PCIe v2 feature
    x86/PCI: quirks: Use pci_dev->revision
    PCI: Make the struct pci_dev * argument of pci_fixup_irqs const.
    PCI hotplug: cpqphp: use pci_dev->vendor
    PCI hotplug: cpqphp: use pci_dev->subsystem_{vendor|device}
    x86/PCI: config space accessor functions should not ignore the segment argument
    PCI: Assign values to 'pci_obff_signal_type' enumeration constants
    x86/PCI: reduce severity of host bridge window conflict warnings
    PCI: enumerate the PCI device only removed out PCI hieratchy of OS when re-scanning PCI
    PCI: PCIe AER: add aer_recover_queue
    x86/PCI: select direct access mode for mmconfig option
    PCI hotplug: Rename is_ejectable which also exists in dock.c

    Linus Torvalds
     

23 Jul, 2011

1 commit

  • * 'x86-uv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86, UV: Correct UV2 BAU destination timeout
    x86, UV: Correct failed topology memory leak
    x86, UV: Remove cpumask_t from the stack
    x86, UV: Rename hubmask to pnmask
    x86, UV: Correct reset_with_ipi()
    x86, UV: Allow for non-consecutive sockets
    x86, UV: Inline header file functions
    x86, UV: Fix smp_processor_id() use in a preemptable region
    x66, UV: Enable 64-bit ACPI MFCG support for SGI UV2 platform
    x86, UV: Clean up uv_mmrs.h

    Linus Torvalds
     

22 Jul, 2011

4 commits

  • Commit 6e8af08dfa40b747002207d3ce8e8b43a050d99f enables pci=bfsort on
    future Dell systems. But the identification string 'Dell System' matches
    on already existing whitelist, which do not have SMBIOS type 0xB1,
    causing pci=bfsort not being set on existing whitelist.

    This patch fixes the regression by moving the type 0xB1 check beyond the
    existing whitelist so that existing whitelist is walked before.

    Signed-off-by: Shyam Iyer
    Signed-off-by: Narendra K
    Signed-off-by: Jesse Barnes

    Narendra_K@Dell.com
     
  • Aside of the usual motivation for constification, this function has a
    history of being abused a hook for interrupt and other fixups so I turned
    this function const ages ago in the MIPS code but it should be done
    treewide.

    Due to function pointer passing in varous places a few other functions
    had to be constified as well.

    Signed-off-by: Ralf Baechle
    To: Anton Vorontsov
    To: Chris Metcalf
    To: Colin Cross
    Acked-by: "David S. Miller"
    To: Eric Miao
    To: Erik Gilling
    Acked-by: Guan Xuetao
    To: "H. Peter Anvin"
    To: Imre Kaloz
    To: Ingo Molnar
    To: Ivan Kokshaysky
    To: Jesse Barnes
    To: Krzysztof Halasa
    To: Lennert Buytenhek
    To: Matt Turner
    To: Nicolas Pitre
    To: Olof Johansson
    Acked-by: Paul Mundt
    To: Richard Henderson
    To: Russell King
    To: Thomas Gleixner
    Cc: Andrew Morton
    Cc: linux-alpha@vger.kernel.org
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-mips@linux-mips.org
    Cc: linux-pci@vger.kernel.org
    Cc: linux-sh@vger.kernel.org
    Cc: linux-tegra@vger.kernel.org
    Cc: sparclinux@vger.kernel.org
    Cc: x86@kernel.org
    Signed-off-by: Jesse Barnes

    Ralf Baechle
     
  • Without this change, the majority of the raw PCI config space access
    functions silently ignore a non-zero segment argument, which is
    certainly wrong.

    Apart from pci_direct_conf1, all other non-MMCFG access methods get
    used only for non-extended accesses (i.e. assigned to raw_pci_ops
    only). Consequently, with the way raw_pci_{read,write}() work, it would
    be a coding error to call these functions with a non-zero segment (with
    the current call flow this cannot happen afaict).

    The access method 1 accessor, as it can be used for extended accesses
    (on AMD systems) instead gets checks added for the passed in segment to
    be zero. This would be the case when on such a system having multiple
    PCI segments (don't know whether any exist in practice) MMCFG for some
    reason is not usable, and method 1 gets selected for doing extended
    accesses. Rather than accessing the wrong device's config space, the
    function will now error out.

    v2: Convert BUG_ON() to WARN_ON(), and extend description as per Ingo's
    request.

    Signed-off-by: Jan Beulich
    Reviewed-by: Ingo Molnar
    Signed-off-by: Jesse Barnes

    Jan Beulich
     
  • Host bridge windows are top-level resources, so if we find a host bridge
    window conflict, it's probably with a hard-coded legacy reservation.
    Moving host bridge windows is theoretically possible, but we don't support
    it; we just ignore windows with conflicts, and it's not worth making this
    a user-visible error.

    Reported-and-tested-by: Jools Wills
    References: https://bugzilla.kernel.org/show_bug.cgi?id=38522
    Reported-by: Das
    References: https://bugzilla.kernel.org/show_bug.cgi?id=16497
    Signed-off-by: Bjorn Helgaas
    Signed-off-by: Jesse Barnes

    Bjorn Helgaas
     

12 Jul, 2011

10 commits


08 Jul, 2011

2 commits


02 Jul, 2011

1 commit


30 Jun, 2011

1 commit

  • In the past we would use the GSI value to preset the ACPI SCI
    IRQ which worked great as GSI == IRQ:

    ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)

    While that is most often seen, there are some oddities:

    ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 20 low level)

    which means that GSI 20 (or pin 20) is to be overriden for IRQ 9.
    Our code that presets the interrupt for ACPI SCI however would
    use the GSI 20 instead of IRQ 9 ending up with:

    xen: sci override: global_irq=20 trigger=0 polarity=1
    xen: registering gsi 20 triggering 0 polarity 1
    xen: --> pirq=20 -> irq=20
    xen: acpi sci 20
    .. snip..
    calling acpi_init+0x0/0xbc @ 1
    ACPI: SCI (IRQ9) allocation failed
    ACPI Exception: AE_NOT_ACQUIRED, Unable to install System Control Interrupt handler (20110413/evevent-119)
    ACPI: Unable to start the ACPI Interpreter

    as the ACPI interpreter made a call to 'acpi_gsi_to_irq' which got nine.
    It used that value to request an IRQ (request_irq) and since that was not
    present it failed.

    The fix is to recognize that for interrupts that are overriden (in our
    case we only care about the ACPI SCI) we should use the IRQ number
    to present the IRQ instead of the using GSI. End result is that we get:

    xen: sci override: global_irq=20 trigger=0 polarity=1
    xen: registering gsi 20 triggering 0 polarity 1
    xen: --> pirq=20 -> irq=9 (gsi=9)
    xen: acpi sci 9

    which fixes the ACPI interpreter failing on startup.

    CC: stable@kernel.org
    Reported-by: Liwei
    Tested-by: Liwei
    [http://lists.xensource.com/archives/html/xen-devel/2011-06/msg01727.html]
    Signed-off-by: Konrad Rzeszutek Wilk

    Konrad Rzeszutek Wilk
     

03 Jun, 2011

1 commit


02 Jun, 2011

1 commit

  • The flags field of struct resource from linux/ioport.h is "unsigned
    long". Change the "type" parameter of coalesce_windows() function to
    match that field. This fixes the following warning messages when
    compiling with "make C=1 W=1 bzImage modules":

    arch/x86/pci/acpi.c: In function ‘coalesce_windows’:
    arch/x86/pci/acpi.c:198: warning: conversion to ‘long unsigned int’ from ‘int’ may change the sign of the result
    arch/x86/pci/acpi.c:203: warning: conversion to ‘long unsigned int’ from ‘int’ may change the sign of the result

    Signed-off-by: Márton Németh
    Signed-off-by: Jesse Barnes

    Márton Németh
     

24 May, 2011

1 commit

  • * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (27 commits)
    PCI: Don't use dmi_name_in_vendors in quirk
    PCI: remove unused AER functions
    PCI/sysfs: move bus cpuaffinity to class dev_attrs
    PCI: add rescan to /sys/.../pci_bus/.../
    PCI: update bridge resources to get more big ranges when allocating space (again)
    KVM: Use pci_store/load_saved_state() around VM device usage
    PCI: Add interfaces to store and load the device saved state
    PCI: Track the size of each saved capability data area
    PCI/e1000e: Add and use pci_disable_link_state_locked()
    x86/PCI: derive pcibios_last_bus from ACPI MCFG
    PCI: add latency tolerance reporting enable/disable support
    PCI: add OBFF enable/disable support
    PCI: add ID-based ordering enable/disable support
    PCI hotplug: acpiphp: assume device is in state D0 after powering on a slot.
    PCI: Set PCIE maxpayload for card during hotplug insertion
    PCI/ACPI: Report _OSC control mask returned on failure to get control
    x86/PCI: irq and pci_ids patch for Intel Panther Point DeviceIDs
    PCI: handle positive error codes
    PCI: check pci_vpd_pci22_wait() return
    PCI: Use ICH6_GPIO_EN in ich6_lpc_acpi_gpio
    ...

    Fix up trivial conflicts in include/linux/pci_ids.h: commit a6e5e2be4461
    moved the intel SMBUS ID definitons to the i2c-i801.c driver.

    Linus Torvalds
     

22 May, 2011

1 commit

  • On various newer Intel systems the PCI bus(ses) the non-core devices
    live on aren't getting announced by ACPI except through the bus range
    covered by mmconfig. At least the i7core-edac driver depends on these
    devices getting detected.

    Mauro, could you check whether with this change the Xeon 55xx hack in
    that driver can go away altogether, and with it the bogus exporting of
    pcibios_scan_specific_bus()?

    Signed-off-by: Jan Beulich
    Cc: Mauro Carvalho Chehab
    Cc: Aristeu Sergio
    Signed-off-by: Jesse Barnes

    Jan Beulich
     

17 May, 2011

1 commit

  • If we have CONFIG_XEN and the other parameters to build an
    Linux kernel that is non-privileged, the xen_[find|register|unregister]_
    device_domain_owner functions should not be compiled. They should
    use the nops defined in arch/x86/include/asm/xen/pci.h instead.

    This fixes:

    arch/x86/pci/xen.c:496: error: redefinition of ‘xen_find_device_domain_owner’
    arch/x86/include/asm/xen/pci.h:25: note: previous definition of ‘xen_find_device_domain_owner’ was here
    arch/x86/pci/xen.c:510: error: redefinition of ‘xen_register_device_domain_owner’
    arch/x86/include/asm/xen/pci.h:29: note: previous definition of ‘xen_register_device_domain_owner’ was here
    arch/x86/pci/xen.c:532: error: redefinition of ‘xen_unregister_device_domain_owner’
    arch/x86/include/asm/xen/pci.h:34: note: previous definition of ‘xen_unregister_device_domain_owner’ was here

    Signed-off-by: Konrad Rzeszutek Wilk
    Reported-by: Randy Dunlap

    Konrad Rzeszutek Wilk
     

11 May, 2011

2 commits

  • This patch adds the LPC Controller DeviceIDs for the Intel Panther Point PCH.

    Acked-by: Jean Delvare
    Signed-off-by: Seth Heasley
    Signed-off-by: Jesse Barnes

    Seth Heasley
     
  • Request_region should be used with release_region, not release_resource.

    The local variables region and region2 are dropped and the calls to
    release_resource are replaced with calls to release_region, using the first
    two arguments of the corresponding calls to request_region.

    The semantic match that finds this problem is as follows:
    (http://coccinelle.lip6.fr/)

    //
    @@
    expression x,E;
    @@
    (
    *x = request_region(...)
    |
    *x = request_mem_region(...)
    )
    ... when != release_region(x)
    when != x = E
    * release_resource(x);
    //

    Signed-off-by: Julia Lawall
    Signed-off-by: Jesse Barnes

    Julia Lawall
     

14 Apr, 2011

2 commits

  • We check if there is a domain owner for the PCI device. In case of failure
    (meaning no domain has registered for this device) we make DOMID_SELF the owner.

    Signed-off-by: Konrad Rzeszutek Wilk
    [v2: deal with rebasing on v2.6.37-1]
    [v3: deal with rebasing on stable/irq.cleanup]
    [v4: deal with rebasing on stable/irq.ween_of_nr_irqs]
    [v5: deal with rebasing on v2.6.39-rc3]
    Signed-off-by: Jeremy Fitzhardinge
    Acked-by: Xiantao Zhang

    Konrad Rzeszutek Wilk
     
  • When the Xen PCI backend is told to enable or disable MSI/MSI-X functions,
    the initial domain performs these operations. The initial domain needs
    to know which domain (guest) is going to use the PCI device so when it
    makes the appropiate hypercall to retrieve the MSI/MSI-X vector it will
    also assign the PCI device to the appropiate domain (guest).

    This boils down to us needing a mechanism to find, set and unset the domain
    id that will be using the device.

    [v2: EXPORT_SYMBOL -> EXPORT_SYMBOL_GPL.]
    Signed-off-by: Konrad Rzeszutek Wilk

    Konrad Rzeszutek Wilk
     

19 Mar, 2011

2 commits

  • * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:
    PCI: label: remove #include of ACPI header to avoid warnings
    PCI: label: Fix compilation error when CONFIG_ACPI is unset
    PCI: pre-allocate additional resources to devices only after successful allocation of essential resources.
    PCI: introduce reset_resource()
    PCI: data structure agnostic free list function
    PCI: refactor io size calculation code
    PCI: do not create quirk I/O regions below PCIBIOS_MIN_IO for ICH
    PCI hotplug: acpiphp: set current_state to D0 in register_slot
    PCI: Export ACPI _DSM provided firmware instance number and string name to sysfs
    PCI: add more checking to ICH region quirks
    PCI: aer-inject: Override PCIe AER Mask Registers
    PCI: fix tlan build when CONFIG_PCI is not enabled
    PCI: remove quirk for pre-production systems
    PCI: Avoid potential NULL pointer dereference in pci_scan_bridge
    PCI/lpc: irq and pci_ids patch for Intel DH89xxCC DeviceIDs
    PCI: sysfs: Fix failure path for addition of "vpd" attribute

    Linus Torvalds
     
  • …git/tip/linux-2.6-tip

    * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86: Flush TLB if PGD entry is changed in i386 PAE mode
    x86, dumpstack: Correct stack dump info when frame pointer is available
    x86: Clean up csum-copy_64.S a bit
    x86: Fix common misspellings
    x86: Fix misspelling and align params
    x86: Use PentiumPro-optimized partial_csum() on VIA C7

    Linus Torvalds
     

18 Mar, 2011

2 commits

  • They were generated by 'codespell' and then manually reviewed.

    Signed-off-by: Lucas De Marchi
    Cc: trivial@kernel.org
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Lucas De Marchi
     
  • …it.kernel.org/pub/scm/linux/kernel/git/konrad/xen

    * 'stable/irq.fairness' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    xen: events: Remove redundant clear of l2i at end of round-robin loop
    xen: events: Make round-robin scan fairer by snapshotting each l2 word once only
    xen: events: Clean up round-robin evtchn scan.
    xen: events: Make last processed event channel a per-cpu variable.
    xen: events: Process event channels notifications in round-robin order.

    * 'stable/irq.ween_of_nr_irqs' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    xen: events: Fix compile error if CONFIG_SMP is not defined.
    xen: events: correct locking in xen_irq_from_pirq
    xen: events: propagate irq allocation failure instead of panicking
    xen: events: do not workaround too-small nr_irqs
    xen: events: remove use of nr_irqs as upper bound on number of pirqs
    xen: events: dynamically allocate irq info structures
    xen: events: maintain a list of Xen interrupts
    xen: events: push setup of irq<->{evtchn,ipi,virq,pirq} maps into irq_info init functions
    xen: events: turn irq_info constructors into initialiser functions
    xen: events: use per-cpu variable for cpu_evtchn_mask
    xen: events: refactor GSI pirq bindings functions
    xen: events: rename restore_cpu_pirqs -> restore_pirqs
    xen: events: remove unused public functions
    xen: events: fix xen_map_pirq_gsi error return
    xen: events: simplify comment
    xen: events: separate two unrelated halves of if condition

    Fix up trivial conflicts in drivers/xen/events.c

    Linus Torvalds
     

16 Mar, 2011

4 commits

  • …el/git/tip/linux-2.6-tip

    * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (27 commits)
    x86: Clean up apic.c and apic.h
    x86: Remove superflous goal definition of tsc_sync
    x86: dt: Correct local apic documentation in device tree bindings
    x86: dt: Cleanup local apic setup
    x86: dt: Fix OLPC=y/INTEL_CE=n build
    rtc: cmos: Add OF bindings
    x86: ce4100: Use OF to setup devices
    x86: ioapic: Add OF bindings for IO_APIC
    x86: dtb: Add generic bus probe
    x86: dtb: Add support for PCI devices backed by dtb nodes
    x86: dtb: Add device tree support for HPET
    x86: dtb: Add early parsing of IO_APIC
    x86: dtb: Add irq domain abstraction
    x86: dtb: Add a device tree for CE4100
    x86: Add device tree support
    x86: e820: Remove conditional early mapping in parse_e820_ext
    x86: OLPC: Make OLPC=n build again
    x86: OLPC: Remove extra OLPC_OPENFIRMWARE_DT indirection
    x86: OLPC: Cleanup config maze completely
    x86: OLPC: Hide OLPC_OPENFIRMWARE config switch
    ...

    Fix up conflicts in arch/x86/platform/ce4100/ce4100.c

    Linus Torvalds
     
  • * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (93 commits)
    x86, tlb, UV: Do small micro-optimization for native_flush_tlb_others()
    x86-64, NUMA: Don't call numa_set_distanc() for all possible node combinations during emulation
    x86-64, NUMA: Don't assume phys node 0 is always online in numa_emulation()
    x86-64, NUMA: Clean up initmem_init()
    x86-64, NUMA: Fix numa_emulation code with node0 without RAM
    x86-64, NUMA: Revert NUMA affine page table allocation
    x86: Work around old gas bug
    x86-64, NUMA: Better explain numa_distance handling
    x86-64, NUMA: Fix distance table handling
    mm: Move early_node_map[] reverse scan helpers under HAVE_MEMBLOCK
    x86-64, NUMA: Fix size of numa_distance array
    x86: Rename e820_table_* to pgt_buf_*
    bootmem: Move __alloc_memory_core_early() to nobootmem.c
    bootmem: Move contig_page_data definition to bootmem.c/nobootmem.c
    bootmem: Separate out CONFIG_NO_BOOTMEM code into nobootmem.c
    x86-64, NUMA: Seperate out numa_alloc_distance() from numa_set_distance()
    x86-64, NUMA: Add proper function comments to global functions
    x86-64, NUMA: Move NUMA emulation into numa_emulation.c
    x86-64, NUMA: Prepare numa_emulation() for moving NUMA emulation into a separate file
    x86-64, NUMA: Do not scan two times for setup_node_bootmem()
    ...

    Fix up conflicts in arch/x86/kernel/smpboot.c

    Linus Torvalds
     
  • * 'stable/irq.cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    xen: events: remove dom0 specific xen_create_msi_irq
    xen: events: use xen_bind_pirq_msi_to_irq from xen_create_msi_irq
    xen: events: push set_irq_msi down into xen_create_msi_irq
    xen: events: update pirq_to_irq in xen_create_msi_irq
    xen: events: refactor xen_create_msi_irq slightly
    xen: events: separate MSI PIRQ allocation from PIRQ binding to IRQ
    xen: events: assume PHYSDEVOP_get_free_pirq exists
    xen: pci: collapse apic_register_gsi_xen_hvm and xen_hvm_register_pirq
    xen: events: return irq from xen_allocate_pirq_msi
    xen: events: drop XEN_ALLOC_IRQ flag to xen_allocate_pirq_msi
    xen: events: do not leak IRQ from xen_allocate_pirq_msi when no pirq available.
    xen: pci: only define xen_initdom_setup_msi_irqs if CONFIG_XEN_DOM0

    Linus Torvalds
     
  • …el.org/pub/scm/linux/kernel/git/konrad/xen

    * 'stable/irq.rework' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    xen/irq: Cleanup up the pirq_to_irq for DomU PV PCI passthrough guests as well.
    xen: Use IRQF_FORCE_RESUME
    xen/timer: Missing IRQF_NO_SUSPEND in timer code broke suspend.
    xen: Fix compile error introduced by "switch to new irq_chip functions"
    xen: Switch to new irq_chip functions
    xen: Remove stale irq_chip.end
    xen: events: do not free legacy IRQs
    xen: events: allocate GSIs and dynamic IRQs from separate IRQ ranges.
    xen: events: add xen_allocate_irq_{dynamic, gsi} and xen_free_irq
    xen:events: move find_unbound_irq inside CONFIG_PCI_MSI
    xen: handled remapped IRQs when enabling a pcifront PCI device.
    genirq: Add IRQF_FORCE_RESUME

    * 'stable/pcifront-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    pci/xen: When free-ing MSI-X/MSI irq->desc also use generic code.
    pci/xen: Cleanup: convert int** to int[]
    pci/xen: Use xen_allocate_pirq_msi instead of xen_allocate_pirq
    xen-pcifront: Sanity check the MSI/MSI-X values
    xen-pcifront: don't use flush_scheduled_work()

    Linus Torvalds