27 Sep, 2006

27 commits

  • Simpler, cleaner.

    Signed-off-by: Pekka Enberg
    Cc: "Eric W. Biederman"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pekka J Enberg
     
  • The following patches reduce the size of the VFS inode structure by 28 bytes
    on a UP x86. (It would be more on an x86_64 system). This is a 10% reduction
    in the inode size on a UP kernel that is configured in a production mode
    (i.e., with no spinlock or other debugging functions enabled; if you want to
    save memory taken up by in-core inodes, the first thing you should do is
    disable the debugging options; they are responsible for a huge amount of bloat
    in the VFS inode structure).

    This patch:

    The filesystem or device-specific pointer in the inode is inside a union,
    which is pretty pointless given that all 30+ users of this field have been
    using the void pointer. Get rid of the union and rename it to i_private, with
    a comment to explain who is allowed to use the void pointer. This is just a
    cleanup, but it allows us to reuse the union 'u' for something something where
    the union will actually be used.

    [judith@osdl.org: powerpc build fix]
    Signed-off-by: "Theodore Ts'o"
    Signed-off-by: Judith Lebzelter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Theodore Ts'o
     
  • This patch fixes the problem that trying to enable already enabled
    slot disables the slot by returning the proper value from
    pciehp_enable_slot()/pciehp_disable_slot().

    Signed-off-by: Kenji Kaneshige
    Signed-off-by: Kristen Carlson Accardi
    Signed-off-by: Greg Kroah-Hartman

    Kenji Kaneshige
     
  • This patch adds support for ioapics hot-remove.

    Signed-off-by: Kenji Kaneshige
    Signed-off-by: MUNEDA Takahiro
    Signed-off-by: Satoru Takeuchi
    Signed-off-by: Kristen Carlson Accardi
    Signed-off-by: Greg Kroah-Hartman

    Satoru Takeuchi
     
  • We need to assign resources to ioapics being hot-added. This patch
    changes pbus_assign_resources_sorted() to assign resources if the
    ioapic has no assigned resources.

    Signed-off-by: Kenji Kaneshige
    Signed-off-by: MUNEDA Takahiro
    Signed-off-by: Satoru Takeuchi
    Signed-off-by: Kristen Carlson Accardi
    Signed-off-by: Greg Kroah-Hartman

    Satoru Takeuchi
     
  • Currently acpiphp calls pci_enable_device() against all
    hot-added bridges, but acpiphp does not call pci_disable_device()
    against them in hot-remove. So ioapic hot-remove would fail.
    This patch fixes this issue.

    Signed-off-by: Kenji Kaneshige
    Signed-off-by: MUNEDA Takahiro
    Signed-off-by: Satoru Takeuchi
    Signed-off-by: Kristen Carlson Accardi
    Signed-off-by: Greg Kroah-Hartman

    Satoru Takeuchi
     
  • Contrary to PCI bridge hot-add, we need to follow the sequence below
    for PCI bridge hot-removal.

    (1) Stop devices (detach drivers, remove from the global list, etc.)
    (2) Unbind ACPI node from the devices (remove the _PRT entries)
    (3) Remove devices (remove from the device list, etc.)

    This patch fixes acpiphp driver to follow above sequence for P2P
    bridge hot-removal.

    Signed-off-by: Kenji Kaneshige
    Signed-off-by: MUNEDA Takahiro
    Signed-off-by: Satoru Takeuchi
    Signed-off-by: Kristen Carlson Accardi
    Signed-off-by: Greg Kroah-Hartman

    Satoru Takeuchi
     
  • This patch adds pci_stop_bus_device() which stops a PCI device (detach
    the driver, remove from the global list and so on) and any children.
    This is needed for ACPI based PCI-to-PCI bridge hot-remove, and it will
    be also needed for ACPI based PCI root bridge hot-remove.

    Signed-off-by: Kenji Kaneshige
    Signed-off-by: MUNEDA Takahiro
    Signed-off-by: Satoru Takeuchi
    Signed-off-by: Kristen Carlson Accardi
    Signed-off-by: Greg Kroah-Hartman

    Satoru Takeuchi
     
  • Currently acpiphp initializes all ioapics under the bus on which
    hot-add event occured. It also initializes already working ioapics.
    This patch fixes this bug.

    Signed-off-by: Kenji Kaneshige
    Signed-off-by: MUNEDA Takahiro
    Signed-off-by: Satoru Takeuchi
    Signed-off-by: Kristen Carlson Accardi
    Signed-off-by: Greg Kroah-Hartman

    Satoru Takeuchi
     
  • Currently acpiphp initializes ioapics after starting devices,
    but ioapics should be initialized before starting devices.
    This patch fixes this bug.

    Signed-off-by: Kenji Kaneshige
    Signed-off-by: MUNEDA Takahiro
    Signed-off-by: Satoru Takeuchi
    Signed-off-by: Kristen Carlson Accardi
    Signed-off-by: Greg Kroah-Hartman

    Satoru Takeuchi
     
  • Currently acpiphp sets hpp values after starting devices, but
    the values should be set before starting devices. This patch
    fixes this bug.

    Signed-off-by: Kenji Kaneshige
    Signed-off-by: MUNEDA Takahiro
    Signed-off-by: Satoru Takeuchi
    Signed-off-by: Kristen Carlson Accardi
    Signed-off-by: Greg Kroah-Hartman

    Satoru Takeuchi
     
  • Cleanup pcihp skeleton code.

    Fix some typos and remove some unnecessary blank lines.

    Signed-off-by: Satoru Takeuchi
    Signed-off-by: Greg Kroah-Hartman

    Satoru Takeuchi
     
  • Restore PCI Express capability registers after PM event.
    This includes maxumum MTU for PCI express and other vital data.

    Signed-off-by: Michael S. Tsirkin
    Signed-off-by: Greg Kroah-Hartman

    Michael S. Tsirkin
     
  • Signed-off-by: Adrian Bunk
    Acked-by: MUNEDA Takahiro
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Adrian Bunk
     
  • There are numerous drivers that can use multithreaded probing but having
    some kind of global flag as the way to control this makes migration to
    threaded probing hard and since it enables it everywhere and is almost
    as likely to cause serious pain as holding a clog dance in a minefield.

    If we have a pci_driver multithread_probe flag to inherit you can turn
    it on for one driver at a time.

    From playing so far however I think we need a different model at the
    device layer which serializes until the called probe function says "ok
    you can start another one now". That would need some kind of flag and
    semaphore plus a helper function.

    Anyway in the absence of that this is a starting point to usefully play
    with this stuff

    Signed-off-by: Alan Cox
    Signed-off-by: Greg Kroah-Hartman

    Alan Cox
     
  • Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • Cc: Kristen Carlson Accardi
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • Patch 4 implements error handlers for pcie_portdrv.

    Signed-off-by: Zhang Yanmin
    Signed-off-by: Greg Kroah-Hartman

    Zhang, Yanmin
     
  • Patch 3 implements the core part of PCI-Express AER and aerdrv
    port service driver.

    When a root port service device is probed, the aerdrv will call
    request_irq to register irq handler for AER error interrupt.

    When a device sends an PCI-Express error message to the root port,
    the root port will trigger an interrupt, by either MSI or IO-APIC,
    then kernel would run the irq handler. The handler collects root
    error status register and schedules a work. The work will call
    the core part to process the error based on its type
    (Correctable/non-fatal/fatal).

    As for Correctable errors, the patch chooses to just clear the correctable
    error status register of the device.

    As for the non-fatal error, the patch follows generic PCI error handler
    rules to call the error callback functions of the endpoint's driver. If
    the device is a bridge, the patch chooses to broadcast the error to
    downstream devices.

    As for the fatal error, the patch resets the pci-express link and
    follows generic PCI error handler rules to call the error callback
    functions of the endpoint's driver. If the device is a bridge, the patch
    chooses to broadcast the error to downstream devices.

    Signed-off-by: Zhang Yanmin
    Signed-off-by: Greg Kroah-Hartman

    Zhang, Yanmin
     
  • Patch 2 exports pcie_port_bus_type.

    Signed-off-by: Zhang Yanmin
    Signed-off-by: Greg Kroah-Hartman

    Zhang, Yanmin
     
  • Have pcie_port_bus_register() notice and return errors.
    Mark it __must_check so that its caller(s) must check its return value.

    Signed-off-by: Randy Dunlap
    Signed-off-by: Greg Kroah-Hartman

    Randy Dunlap
     
  • Introduce msi_ht_cap_enabled() to check the MSI capability in the
    Hypertransport configuration space.
    It is used in a generic quirk quirk_msi_ht_cap() to check whether
    MSI is enabled on hypertransport chipset, and a nVidia specific quirk
    quirk_nvidia_ck804_msi_ht_cap() where two 2 HT MSI mappings have to
    be checked.
    Both quirks set the PCI_BUS_FLAGS_NO_MSI bus flag when MSI is disabled.

    Signed-off-by: Brice Goglin
    Signed-off-by: Greg Kroah-Hartman

    Brice Goglin
     
  • Export the PCI_BUS_FLAGS_NO_MSI flag of a PCI bus in the sysfs files
    of its parent device and make it writable. Could be used to:
    * disable MSI on a device which has not been blacklisted yet
    * allow MSI when some setpci hacks enable MSI support (for instance
    on the ServerWorks HT2000 chipset where the MSI HT cap is disabled
    by default).
    Architecture where some bus have no parent chipset cannot use this
    strategy to change MSI support.

    If the chipset does not have a subordinate bus, its 'bus_msi' file
    is empty.

    Also document and warn about the possible danger of changing the flag.

    Signed-off-by: Brice Goglin
    Signed-off-by: Greg Kroah-Hartman

    Brice Goglin
     
  • pci_enable_msi() and pci_enable_msix() use the same code to detect
    whether MSI might be enabled on this device. Factorize this code in
    pci_msi_supported(). And improve the documentation about the fact
    that only the root chipset must support MSI, but it is hard to
    find the root bus so we check all parent busses MSI flags.

    Signed-off-by: Brice Goglin
    Signed-off-by: Greg Kroah-Hartman

    Brice Goglin
     
  • Move MSI quirks in CONFIG_PCI_MSI, document why the serverworks quirk
    does not simply set PCI_BUS_FLAGS_NO_MSI, and create a generic quirk
    for other chipsets where setting PCI_BUS_FLAGS_NO_MSI is fine.

    Signed-off-by: Brice Goglin
    Signed-off-by: Greg Kroah-Hartman

    Brice Goglin
     
  • * 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6: (225 commits)
    [PATCH] Don't set calgary iommu as default y
    [PATCH] i386/x86-64: New Intel feature flags
    [PATCH] x86: Add a cumulative thermal throttle event counter.
    [PATCH] i386: Make the jiffies compares use the 64bit safe macros.
    [PATCH] x86: Refactor thermal throttle processing
    [PATCH] Add 64bit jiffies compares (for use with get_jiffies_64)
    [PATCH] Fix unwinder warning in traps.c
    [PATCH] x86: Allow disabling early pci scans with pci=noearly or disallowing conf1
    [PATCH] x86: Move direct PCI scanning functions out of line
    [PATCH] i386/x86-64: Make all early PCI scans dependent on CONFIG_PCI
    [PATCH] Don't leak NT bit into next task
    [PATCH] i386/x86-64: Work around gcc bug with noreturn functions in unwinder
    [PATCH] Fix some broken white space in ia32_signal.c
    [PATCH] Initialize argument registers for 32bit signal handlers.
    [PATCH] Remove all traces of signal number conversion
    [PATCH] Don't synchronize time reading on single core AMD systems
    [PATCH] Remove outdated comment in x86-64 mmconfig code
    [PATCH] Use string instructions for Core2 copy/clear
    [PATCH] x86: - restore i8259A eoi status on resume
    [PATCH] i386: Split multi-line printk in oops output.
    ...

    Linus Torvalds
     

26 Sep, 2006

6 commits

  • Some buggy systems can machine check when config space accesses
    happen for some non existent devices. i386/x86-64 do some early
    device scans that might trigger this. Allow pci=noearly to disable
    this. Also when type 1 is disabling also don't do any early
    accesses which are always type1.

    This moves the pci= configuration parsing to be a early parameter.
    I don't think this can break anything because it only changes
    a single global that is only used by PCI.

    Cc: gregkh@suse.de
    Cc: Trammell Hudson

    Signed-off-by: Andi Kleen

    Andi Kleen
     
  • This provides a build and run-time option to turn on multhreaded probe
    for all PCI drivers. It can cause bad problems on multi-processor
    machines that take a while to find their root disks, and play havoc on
    machines that don't use persistant device names for block or network
    devices.

    But it can cause speedups on some machines, my tiny laptop's boot goes
    up by 0.4 seconds, and my desktop boots up several seconds faster.

    Use at your own risk!!!

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • Make sysfs_remove_bin_file() void. If it detects an error,
    printk the file name and call dump_stack().

    sysfs_hash_and_remove() now returns an error code indicating
    its success or failure so that sysfs_remove_bin_file() can
    know success/failure.

    Convert the only driver that checked the return value of
    sysfs_remove_bin_file().

    Signed-off-by: Randy Dunlap
    Signed-off-by: Greg Kroah-Hartman

    Randy.Dunlap
     
  • Remove the new suspend_prepare() phase. It doesn't seem very usable,
    has never been tested, doesn't address fault cleanup, and would need
    a sibling resume_complete(); plus there are no real use cases. It
    could be restored later if those issues get resolved.

    Signed-off-by: David Brownell
    Cc: Linus Torvalds
    Signed-off-by: Greg Kroah-Hartman

    David Brownell
     
  • Convert some framework code to handle the new PRETHAW message.

    - IDE just treats it like a FREEZE.

    - The pci_choose_state() thingie still doesn't use PCI_D0 when it gets a
    FREEZE (and now PRETHAW) event, which seems rather buglike but wasn't
    something to change with this patch.

    Signed-off-by: David Brownell
    Cc: "Rafael J. Wysocki"
    Cc: Pavel Machek
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    David Brownell
     
  • Changes the PCI core to use the new suspend infrastructure changes.

    Signed-off-by: Linus Torvalds
    Signed-off-by: Greg Kroah-Hartman

    Linus Torvalds
     

24 Sep, 2006

1 commit


14 Sep, 2006

1 commit


04 Sep, 2006

1 commit


01 Sep, 2006

1 commit

  • Patch to add VIA PCI quirk for Enhanced/Extended USB on VT8235
    southbridge. It is needed in order to use EHCI/USB 2.0 with ACPI.
    Without it IRQs are not routed correctly, you get an "Unlink after
    no-IRQ?" error and the device is unusable.

    I belive this could also be a fix for Bugzilla Bug 5835.

    Signed-off-by: Mark Hindley
    Signed-off-by: Greg Kroah-Hartman

    Mark Hindley
     

31 Aug, 2006

1 commit


30 Aug, 2006

1 commit


27 Aug, 2006

1 commit