17 Jul, 2008

3 commits

  • * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (72 commits)
    Revert "x86/PCI: ACPI based PCI gap calculation"
    PCI: remove unnecessary volatile in PCIe hotplug struct controller
    x86/PCI: ACPI based PCI gap calculation
    PCI: include linux/pm_wakeup.h for device_set_wakeup_capable
    PCI PM: Fix pci_prepare_to_sleep
    x86/PCI: Fix PCI config space for domains > 0
    Fix acpi_pm_device_sleep_wake() by providing a stub for CONFIG_PM_SLEEP=n
    PCI: Simplify PCI device PM code
    PCI PM: Introduce pci_prepare_to_sleep and pci_back_from_sleep
    PCI ACPI: Rework PCI handling of wake-up
    ACPI: Introduce new device wakeup flag 'prepared'
    ACPI: Introduce acpi_device_sleep_wake function
    PCI: rework pci_set_power_state function to call platform first
    PCI: Introduce platform_pci_power_manageable function
    ACPI: Introduce acpi_bus_power_manageable function
    PCI: make pci_name use dev_name
    PCI: handle pci_name() being const
    PCI: add stub for pci_set_consistent_dma_mask()
    PCI: remove unused arch pcibios_update_resource() functions
    PCI: fix pci_setup_device()'s sprinting into a const buffer
    ...

    Fixed up conflicts in various files (arch/x86/kernel/setup_64.c,
    arch/x86/pci/irq.c, arch/x86/pci/pci.h, drivers/acpi/sleep/main.c,
    drivers/pci/pci.c, drivers/pci/pci.h, include/acpi/acpi_bus.h) from x86
    and ACPI updates manually.

    Linus Torvalds
     
  • "idle=nomwait" disables the use of the MWAIT
    instruction from both C1 (C1_FFH) and deeper (C2C3_FFH)
    C-states.

    When MWAIT is unavailable, the BIOS and OS generally
    negotiate to use the HALT instruction for C1,
    and use IO accesses for deeper C-states.

    This option is useful for power and performance
    comparisons, and also to work around BIOS bugs
    where broken MWAIT support is advertised.

    http://bugzilla.kernel.org/show_bug.cgi?id=10807
    http://bugzilla.kernel.org/show_bug.cgi?id=10914

    Signed-off-by: Zhao Yakui
    Signed-off-by: Li Shaohua
    Signed-off-by: Len Brown
    Signed-off-by: Andi Kleen

    Zhao Yakui
     
  • "idle=halt" limits the idle loop to using
    the halt instruction. No MWAIT, no IO accesses,
    no C-states deeper than C1.

    If something is broken in the idle code,
    "idle=halt" is a less severe workaround
    than "idle=poll" which disables all power savings.

    Signed-off-by: Zhao Yakui
    Signed-off-by: Len Brown
    Signed-off-by: Andi Kleen

    Zhao Yakui
     

16 Jul, 2008

3 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (80 commits)
    ide-floppy: fix unfortunate function naming
    ide-tape: unify idetape_create_read/write_cmd
    ide: add ide_pc_intr() helper
    ide-{floppy,scsi}: read Status Register before stopping DMA engine
    ide-scsi: add more debugging to idescsi_pc_intr()
    ide-scsi: use pc->callback
    ide-floppy: add more debugging to idefloppy_pc_intr()
    ide-tape: always log debug info in idetape_pc_intr() if debugging is enabled
    ide-tape: add ide_tape_io_buffers() helper
    ide-tape: factor out DSC handling from idetape_pc_intr()
    ide-{floppy,tape}: move checking of ->failed_pc to ->callback
    ide: add ide_issue_pc() helper
    ide: add PC_FLAG_DRQ_INTERRUPT pc flag
    ide-scsi: move idescsi_map_sg() call out from idescsi_issue_pc()
    ide: add ide_transfer_pc() helper
    ide-scsi: set drive->scsi flag for devices handled by the driver
    ide-{cd,floppy,tape}: remove checking for drive->scsi
    ide: add PC_FLAG_ZIP_DRIVE pc flag
    ide-tape: factor out waiting for good ireason from idetape_transfer_pc()
    ide-tape: set PC_FLAG_DMA_IN_PROGRESS flag in idetape_transfer_pc()
    ...

    Linus Torvalds
     
  • * Remove obsoleted "hdx=" kernel parameters.

    * Remove no longer used stridx() and match_parm().

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * 'timers/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86: add PCI ID for 6300ESB force hpet
    x86: add another PCI ID for ICH6 force-hpet
    kernel-paramaters: document pmtmr= command line option
    acpi_pm clccksource: fix printk format warning
    nohz: don't stop idle tick if softirqs are pending.
    pmtmr: allow command line override of ioport
    nohz: reduce jiffies polling overhead
    hrtimer: Remove unused variables in ktime_divns()
    hrtimer: remove warning in hres_timers_resume
    posix-timers: print RT watchdog message

    Linus Torvalds
     

15 Jul, 2008

3 commits

  • Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (241 commits)
    [ARM] 5171/1: ep93xx: fix compilation of modules using clocks
    [ARM] 5133/2: at91sam9g20 defconfig file
    [ARM] 5130/4: Support for the at91sam9g20
    [ARM] 5160/1: IOP3XX: gpio/gpiolib support
    [ARM] at91: Fix NAND FLASH timings for at91sam9x evaluation kits.
    [ARM] 5084/1: zylonite: Register AC97 device
    [ARM] 5085/2: PXA: Move AC97 over to the new central device declaration model
    [ARM] 5120/1: pxa: correct platform driver names for PXA25x and PXA27x UDC drivers
    [ARM] 5147/1: pxaficp_ir: drop pxa_gpio_mode calls, as pin setting
    [ARM] 5145/1: PXA2xx: provide api to control IrDA pins state
    [ARM] 5144/1: pxaficp_ir: cleanup includes
    [ARM] pxa: remove pxa_set_cken()
    [ARM] pxa: allow clk aliases
    [ARM] Feroceon: don't disable BPU on boot
    [ARM] Orion: LED support for HP mv2120
    [ARM] Orion: add RD88F5181L-FXO support
    [ARM] Orion: add RD88F5181L-GE support
    [ARM] Orion: add Netgear WNR854T support
    [ARM] s3c2410_defconfig: update for current build
    [ARM] Acer n30: Minor style and indentation fixes.
    ...

    Linus Torvalds
     
  • … 'timers/clocksource' and 'timers/posixtimers' into timers/for-linus

    Thomas Gleixner
     

12 Jul, 2008

1 commit


08 Jul, 2008

4 commits


07 Jul, 2008

1 commit

  • amd_iommu=off was replaced with a common parameter, iommu=off.

    Signed-off-by: FUJITA Tomonori
    Cc: joerg.roedel@amd.com
    Cc: iommu@lists.linux-foundation.org
    Cc: bhavna.sarathy@amd.com
    Cc: robert.richter@amd.com
    Cc: rjw@sisk.pl
    Signed-off-by: Ingo Molnar

    FUJITA Tomonori
     

05 Jul, 2008

2 commits


03 Jul, 2008

1 commit


27 Jun, 2008

1 commit


13 Jun, 2008

1 commit

  • ACPI PM: Add possibility to change suspend sequence

    There are some systems out there that don't work correctly with
    our current suspend/hibernation code ordering. Provide a workaround
    for these systems allowing them to pass 'acpi_sleep=old_ordering' in
    the kernel command line so that it will use the pre-ACPI 2.0 ("old")
    suspend code ordering.

    Unfortunately, this requires us to add a platform hook to the
    resuming of devices for recovering the platform in case one of the
    device drivers' .suspend() routines returns error code. Namely,
    ACPI 1.0 specifies that _PTS should be called before suspending
    devices, but _WAK still should be called before resuming them in
    order to undo the changes made by _PTS. However, if there is an
    error during suspending devices, they are automatically resumed
    without returning control to the PM core, so the _WAK has to be
    called from within device_resume() in that cases.

    The patch also reorders and refactors the ACPI suspend/hibernation
    code to avoid duplication as far as reasonably possible.

    Signed-off-by: Rafael J. Wysocki
    Acked-by: Pavel Machek
    Signed-off-by: Jesse Barnes

    Rafael J. Wysocki
     

11 Jun, 2008

1 commit

  • Contention for scarce PCI memory resources has been growing
    due to an increasing number of PCI slots in large multi-node
    systems. The kernel currently attempts by default to
    allocate memory for all PCI expansion ROMs so there has
    also been an increasing number of PCI memory allocation
    failures seen on these systems. This occurs because the
    BIOS either (1) provides insufficient PCI memory resource
    for all the expansion ROMs or (2) provides adequate PCI
    memory resource for expansion ROMs but provides the
    space in kernel unexpected BIOS assigned P2P non-prefetch
    windows.

    The resulting PCI memory allocation failures may be benign
    when related to memory requests for expansion ROMs themselves
    but in some cases they can occur when attempting to allocate
    space for more critical BARs. This can happen when a successful
    expansion ROM allocation request consumes memory resource
    that was intended for a non-ROM BAR. We have seen this
    happen during PCI hotplug of an adapter that contains a
    P2P bridge where successful memory allocation for an
    expansion ROM BAR on device behind the bridge consumed
    memory that was intended for a non-ROM BAR on the P2P bridge.
    In all cases the allocation failure messages can be very
    confusing for users.

    This patch provides a new 'pci=norom' kernel boot parameter
    that can be used to disable the default PCI expansion ROM memory
    resource allocation. This provides a way to avoid the above
    described issues on systems that do not contain PCI devices
    for which drivers or user-level applications depend on the
    default PCI expansion ROM memory resource allocation behavior.

    Signed-off-by: Gary Hade
    Signed-off-by: Jesse Barnes

    Gary Hade
     

25 May, 2008

2 commits

  • Loop through mtrr chunk_size and gran_size from 1M to 2G to find out
    the optimal value so user does not need to add mtrr_chunk_size and
    mtrr_gran_size to the kernel command line.

    If optimal value is not found, print out all list to help select less
    optimal value.

    Add mtrr_spare_reg_nr= so user could set 2 instead of 1, if the card
    need more entries.

    v2: find the one with more spare entries
    v3: fix hole_basek offset
    v4: tight the compare between range and range_new
    loop stop with 4g

    Signed-off-by: Yinghai Lu
    Cc: Andrew Morton
    Cc: Gabriel C
    Cc: Mika Fischer
    Signed-off-by: Thomas Gleixner
    Signed-off-by: Ingo Molnar

    Yinghai Lu
     
  • some BIOS like to use continus MTRR layout, and X driver can not add
    WB entries for graphical cards when 4g or more RAM installed.

    the patch will change MTRR to discrete.

    mtrr_chunk_size= could be used to have smaller continuous block to hold holes.
    default is 256m, could be set according to size of graphics card memory.

    mtrr_gran_size= could be used to send smallest mtrr block to avoid run out of MTRRs

    v2: fix -1 for UC checking
    v3: default to disable, and need use enable_mtrr_cleanup to enable this feature
    skip the var state change warning.
    remove next_basek in range_to_mtrr()
    v4: correct warning mask.
    v5: CONFIG_MTRR_SANITIZER
    v6: fix 1g, 2g, 512 aligment with extra hole
    v7: gran_sizek to prevent running out of MTRRs.
    v8: fix hole_basek caculation caused when removing next_basek
    gran_sizek using when basek is 0.

    need to apply
    [PATCH] x86: fix trimming e820 with MTRR holes.
    right after this one.

    Signed-off-by: Yinghai Lu
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Yinghai Lu
     

16 May, 2008

1 commit

  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
    [IA64] fix personality(PER_LINUX32) performance issue
    [IA64] Properly unregister legacy interrupts
    [IA64] Remove NULL pointer check for argument never passed as NULL.
    [IA64] trivial cleanup for perfmon.c
    [IA64] trivial cleanup for entry.S
    [IA64] fix interrupt masking for pending works on kernel leave
    [IA64] allow user to force_pal_cache_flush
    [IA64] Don't reserve crashkernel memory > 4 GB
    [IA64] machvec support for SGI UV platform
    [IA64] Add header files for SGI UV platform

    Linus Torvalds
     

15 May, 2008

2 commits

  • cio_msg= is gone, also remove it from kernel-parameters.txt.

    Signed-off-by: Cornelia Huck
    Signed-off-by: Martin Schwidefsky

    Cornelia Huck
     
  • The sequence executed in check_sal_cache_flush:

    - pend a timer interrupt
    - call SAL_CACHE_FLUSH
    - see if interrupt is still pending

    can hang HP machines with buggy SAL_CACHE_FLUSH implementations.

    Provide a kernel command-line argument to allow users skip this
    check if desired. Using this parameter will force ia64_sal_cache_flush
    to call ia64_pal_cache_flush() instead of SAL_CACHE_FLUSH.

    Signed-off-by: Alex Chiang
    Signed-off-by: Tony Luck

    Alex Chiang
     

06 May, 2008

3 commits


30 Apr, 2008

2 commits

  • We can see an ever repeating problem pattern with objects of any kind in the
    kernel:

    1) freeing of active objects
    2) reinitialization of active objects

    Both problems can be hard to debug because the crash happens at a point where
    we have no chance to decode the root cause anymore. One problem spot are
    kernel timers, where the detection of the problem often happens in interrupt
    context and usually causes the machine to panic.

    While working on a timer related bug report I had to hack specialized code
    into the timer subsystem to get a reasonable hint for the root cause. This
    debug hack was fine for temporary use, but far from a mergeable solution due
    to the intrusiveness into the timer code.

    The code further lacked the ability to detect and report the root cause
    instantly and keep the system operational.

    Keeping the system operational is important to get hold of the debug
    information without special debugging aids like serial consoles and special
    knowledge of the bug reporter.

    The problems described above are not restricted to timers, but timers tend to
    expose it usually in a full system crash. Other objects are less explosive,
    but the symptoms caused by such mistakes can be even harder to debug.

    Instead of creating specialized debugging code for the timer subsystem a
    generic infrastructure is created which allows developers to verify their code
    and provides an easy to enable debug facility for users in case of trouble.

    The debugobjects core code keeps track of operations on static and dynamic
    objects by inserting them into a hashed list and sanity checking them on
    object operations and provides additional checks whenever kernel memory is
    freed.

    The tracked object operations are:
    - initializing an object
    - adding an object to a subsystem list
    - deleting an object from a subsystem list

    Each operation is sanity checked before the operation is executed and the
    subsystem specific code can provide a fixup function which allows to prevent
    the damage of the operation. When the sanity check triggers a warning message
    and a stack trace is printed.

    The list of operations can be extended if the need arises. For now it's
    limited to the requirements of the first user (timers).

    The core code enqueues the objects into hash buckets. The hash index is
    generated from the address of the object to simplify the lookup for the check
    on kfree/vfree. Each bucket has it's own spinlock to avoid contention on a
    global lock.

    The debug code can be compiled in without being active. The runtime overhead
    is minimal and could be optimized by asm alternatives. A kernel command line
    option enables the debugging code.

    Thanks to Ingo Molnar for review, suggestions and cleanup patches.

    Signed-off-by: Thomas Gleixner
    Signed-off-by: Ingo Molnar
    Cc: Greg KH
    Cc: Randy Dunlap
    Cc: Kay Sievers
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Thomas Gleixner
     
  • This adds a minimalistic braille screen reader support. This is meant to
    be used by blind people e.g. on boot failures or when / cannot be mounted
    etc and thus the userland screen readers can not work.

    [akpm@linux-foundation.org: fix exports]
    Signed-off-by: Samuel Thibault
    Cc: Jiri Kosina
    Cc: Dmitry Torokhov
    Acked-by: Alan Cox
    Cc: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Samuel Thibault
     

29 Apr, 2008

2 commits

  • Add a kernel parameter option to 'edd' to enable/disable BIOS Enhanced Disk
    Drive Services. CONFIG_EDD_OFF disables EDD while still compiling EDD into
    the kernel. Default behavior can be forced using 'edd=on' or 'edd=off' as
    a kernel parameter.

    [akpm@linux-foundation.org: fix kernel-parameters.txt]
    Signed-off-by: Tim Gardner
    Signed-off-by: Matt Domsch
    Cc: "H. Peter Anvin"
    Cc: "Randy.Dunlap"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tim Gardner
     
  • This adds support for OLPC XO hardware. Open Firmware on XOs don't contain
    the VSA, so it is necessary to emulate the PCI BARs in the kernel. This also
    adds functionality for running EC commands, and a CONFIG_OLPC.

    A number of OLPC drivers depend upon CONFIG_OLPC.

    olpc_ec_timeout is a hack to work around Embedded Controller bugs.

    [akpm@linux-foundation.org: build fix]
    [akpm@linux-foundation.org: geode_has_vsa build fix]
    [akpm@linux-foundation.org: olpc_register_battery_callback doesn't exist]
    Signed-off-by: Andres Salomon
    Acked-by: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: Andi Kleen
    Cc: Jordan Crouse
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andres Salomon
     

27 Apr, 2008

1 commit


22 Apr, 2008

2 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6: (42 commits)
    PCI: Change PCI subsystem MAINTAINER
    PCI: pci-iommu-iotlb-flushing-speedup
    PCI: pci_setup_bridge() mustn't be __devinit
    PCI: pci_bus_size_cardbus() mustn't be __devinit
    PCI: pci_scan_device() mustn't be __devinit
    PCI: pci_alloc_child_bus() mustn't be __devinit
    PCI: replace remaining __FUNCTION__ occurrences
    PCI: Hotplug: fakephp: Return success, not ENODEV, when bus rescan is triggered
    PCI: Hotplug: Fix leaks in IBM Hot Plug Controller Driver - ibmphp_init_devno()
    PCI: clean up resource alignment management
    PCI: aerdrv_acpi.c: remove unneeded NULL check
    PCI: Update VIA CX700 quirk
    PCI: Expose PCI VPD through sysfs
    PCI: iommu: iotlb flushing
    PCI: simplify quirk debug output
    PCI: iova RB tree setup tweak
    PCI: parisc: use generic pci_enable_resources()
    PCI: ppc: use generic pci_enable_resources()
    PCI: powerpc: use generic pci_enable_resources()
    PCI: ia64: use generic pci_enable_resources()
    ...

    Linus Torvalds
     
  • * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (202 commits)
    [POWERPC] Fix compile breakage for 64-bit UP configs
    [POWERPC] Define copy_siginfo_from_user32
    [POWERPC] Add compat handler for PTRACE_GETSIGINFO
    [POWERPC] i2c: Fix build breakage introduced by OF helpers
    [POWERPC] Optimize fls64() on 64-bit processors
    [POWERPC] irqtrace support for 64-bit powerpc
    [POWERPC] Stacktrace support for lockdep
    [POWERPC] Move stackframe definitions to common header
    [POWERPC] Fix device-tree locking vs. interrupts
    [POWERPC] Make pci_bus_to_host()'s struct pci_bus * argument const
    [POWERPC] Remove unused __max_memory variable
    [POWERPC] Simplify xics direct/lpar irq_host setup
    [POWERPC] Use pseries_setup_i8259_cascade() in pseries_mpic_init_IRQ()
    [POWERPC] Turn xics_setup_8259_cascade() into a generic pseries_setup_i8259_cascade()
    [POWERPC] Move xics_setup_8259_cascade() into platforms/pseries/setup.c
    [POWERPC] Use asm-generic/bitops/find.h in bitops.h
    [POWERPC] 83xx: mpc8315 - fix USB UTMI Host setup
    [POWERPC] 85xx: Fix the size of qe muram for MPC8568E
    [POWERPC] 86xx: mpc86xx_hpcn - Temporarily accept old dts node identifier.
    [POWERPC] 86xx: mark functions static, other minor cleanups
    ...

    Linus Torvalds
     

21 Apr, 2008

2 commits

  • This patch is for batching up the flushing of the IOTLB for the DMAR
    implementation found in the Intel VT-d hardware. It works by building a list
    of to be flushed IOTLB entries and a bitmap list of which DMAR engine they are
    from.

    After either a high water mark (250 accessible via debugfs) or 10ms the list
    of iova's will be reclaimed and the DMAR engines associated are IOTLB-flushed.

    This approach recovers 15 to 20% of the performance lost when using the IOMMU
    for my netperf udp stream benchmark with small packets. It can be disabled
    with a kernel boot parameter "intel_iommu=strict".

    Its use does weaken the IOMMU protections a bit.

    Signed-off-by: Mark Gross
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    mark gross
     
  • We currently keep 2 lists of PCI devices in the system, one in the
    driver core, and one all on its own. This second list is sorted at boot
    time, in "BIOS" order, to try to remain compatible with older kernels
    (2.2 and earlier days). There was also a "nosort" option to turn this
    sorting off, to remain compatible with even older kernel versions, but
    that just ends up being what we have been doing from 2.5 days...

    Unfortunately, the second list of devices is not really ever used to
    determine the probing order of PCI devices or drivers[1]. That is done
    using the driver core list instead. This change happened back in the
    early 2.5 days.

    Relying on BIOS ording for the binding of drivers to specific device
    names is problematic for many reasons, and userspace tools like udev
    exist to properly name devices in a persistant manner if that is needed,
    no reliance on the BIOS is needed.

    Matt Domsch and others at Dell noticed this back in 2006, and added a
    boot option to sort the PCI device lists (both of them) in a
    breadth-first manner to help remain compatible with the 2.4 order, if
    needed for any reason. This option is not going away, as some systems
    rely on them.

    This patch removes the sorting of the internal PCI device list in "BIOS"
    mode, as it's not needed at all anymore, and hasn't for many years.
    I've also removed the PCI flags for this from some other arches that for
    some reason defined them, but never used them.

    This should not change the ordering of any drivers or device probing.

    [1] The old-style pci_get_device and pci_find_device() still used this
    sorting order, but there are very few drivers that use these functions,
    as they are deprecated for use in this manner. If for some reason, a
    driver rely on the order and uses these functions, the breadth-first
    boot option will resolve any problem.

    Cc: Matt Domsch
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

20 Apr, 2008

1 commit


19 Apr, 2008

1 commit

  • Add the security= boot parameter. This is done to avoid LSM
    registration clashes in case of more than one bult-in module.

    User can choose a security module to enable at boot. If no
    security= boot parameter is specified, only the first LSM
    asking for registration will be loaded. An invalid security
    module name will be treated as if no module has been chosen.

    LSM modules must check now if they are allowed to register
    by calling security_module_enable(ops) first. Modify SELinux
    and SMACK to do so.

    Do not let SMACK register smackfs if it was not chosen on
    boot. Smackfs assumes that smack hooks are registered and
    the initial task security setup (swapper->security) is done.

    Signed-off-by: Ahmed S. Darwish
    Acked-by: James Morris

    Ahmed S. Darwish