26 Oct, 2012

1 commit

  • This will fix warnings like following when CONFIG_PM_SLEEP is not set:

    warning: 'xxx_suspend' defined but not used [-Wunused-function]
    warning: 'xxx_resume' defined but not used [-Wunused-function]

    Because
    SET_SYSTEM_SLEEP_PM_OPS(suspend_fn, resume_fn)

    Only references the callbacks on CONFIG_PM_SLEEP (instead of CONFIG_PM).

    Cc: Mattia Dongili
    Cc: Arnd Bergmann
    Cc: platform-driver-x86@vger.kernel.org
    Signed-off-by: Yuanhan Liu
    Signed-off-by: Fengguang Wu
    Signed-off-by: Greg Kroah-Hartman

    Yuanhan Liu
     

17 Oct, 2012

4 commits

  • Pull drm fixes from Dave Airlie:
    "Fixes for i915, nouveau and radeon:

    - i915: haswell stability, modeset rework fallout, ums fix
    - nouveau: misc fixes from code rework
    - radeon: pll rework fixes, more 2 level PTE cleanups.
    - core: warning fixes on 32-bit."

    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (31 commits)
    nouveau: fix warning on 32-bit build.
    drm/nouveau/bios: fix typo in error message
    drm/nouveau: only call ttm_agp_tt_create when __OS_HAS_AGP
    drm/nv50/fb: fix double free of vram mm
    drm/nouveau/pm: do not stop reclocking if failing to set the fan speed
    drm/nouveau/pm: fix a typo related to the move to the therm subdev
    drm/nouveau/hwmon: fix the initialization condition
    drm: fix warning on 32-bit.
    drm: radeon: fix printk format warning
    drm/radeon: fix spelling typos in debugging output
    drm/radeon: Don't destroy I2C Bus Rec in radeon_ext_tmds_enc_destroy().
    drm/radeon: check if pcie gen 2 is already enabled (v2)
    drm/radeon/cayman: set VM max pfn at MC init
    drm/radeon: separate pt alloc from lru add
    drm/radeon: don't add the IB pool to all VMs v2
    drm/radeon: allocate page tables on demand v4
    drm/radeon: update comments to clarify VM setup (v2)
    drm/radeon: allocate PPLLs from low to high
    drm/radeon: fix compilation with backlight disabled
    drm/radeon: use %zu for formatting size_t
    ...

    Linus Torvalds
     
  • The IPMI spec defines a way to detect register spacing for PCI interfaces,
    so implement it.

    Signed-off-by: Steven Hsieh
    Signed-off-by: Corey Minyard
    Signed-off-by: Linus Torvalds

    Corey Minyard
     
  • There was a spot where the compiler couldn't tell some variables
    would be set. So initialize them to make the warning go away.

    Signed-off-by: Corey Minyard
    Signed-off-by: Linus Torvalds

    Corey Minyard
     
  • IPMI must be initialised before ACPI in order to ensure that any IPMI
    services are available before ACPI driver initialisation attempts to use
    any IPMI operation regions.

    Signed-off-by: Matthew Garrett
    Signed-off-by: Corey Minyard
    Signed-off-by: Linus Torvalds

    Matthew Garrett
     

16 Oct, 2012

1 commit

  • Daniel writes:
    "- some register magic to fix hsw crw (Paulo&Ben)
    - fix backlight destruction for cpu edp (Jani)
    - fix gen ch7xxx dvo ->get_hw_state
    - fixup the plane->pipe fixup code, the broken version massively angers
    the modeset sanity checks
    - kill pipe A quirk for i855gm, otherwise I get a black screen with the
    above patch
    - fixup for gem_get_page helper (Chris)
    - fixup guardband clipping w/a (Ken), without this mesa master can erronously
    drop vertices on snb, mesa 9.0 has the optimization reverted
    - another pageflip vs. modeset fix
    - kill bogus BUG_ON which broke ums+gem from Willy Tarreau (gasp, people
    are still using this!)"

    * 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel:
    drm/i915: fix non-DP-D eDP backlight cleanup and module reload
    drm/i915: HSW CRW stability magic
    drm/i915/dvo-ch7xxx: fix get_hw_state
    drm/i915: fixup the plane->pipe fixup code
    drm/i915: rip out the pipe A quirk for i855gm
    drm/i915: disable wc gtt pte mappings on gen2
    drm/i915: fixup i915_gem_object_get_page inline helper
    drm/i915: Disallow preallocation of requests
    drm/i915: Set guardband clipping workaround bit in the right register.
    drm/i915: paper over a pipe-enable vs pageflip race
    drm/i915: remove useless BUG_ON which caused a regression in 3.5.

    Dave Airlie
     

12 Oct, 2012

1 commit

  • It doesn't work since the gtt pte range sits in the middle of the mmio
    bar. We didn't notice that since both my and Chris' gen2 machines
    don't support PAT and hence all wc io mapping request will
    automatically be demoted to uc.

    This regression has been introduce in

    commit edef7e685da05c13cce50c0126189c80fe2c8f71
    Author: Chris Wilson
    Date: Fri Sep 14 11:57:47 2012 +0100

    agp/intel: Use a write-combining map for updating PTEs

    Reported-by: Egbert Eich
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=55834
    Acked-by: Chris Wilson
    Signed-off-by: Daniel Vetter

    Daniel Vetter
     

11 Oct, 2012

5 commits

  • James Morris
     
  • James Morris
     
  • Pull ARM SoC fixes from Olof Johansson:
    "A series of fixes (and in some cases, some cleanups):

    Via Tony Lindgren:
    - A collection of OMAP regression fixes, in particular because
    firmware no longer sets up all pin states before starting the
    kernel.
    - cpufreq fixes for OMAP (Rafael is on vacation and this was
    pre-agreed).
    - A longer series of misc regression fixes and cleanups, warning
    removals, etc for OMAP

    From Arnd Bergmann:
    - A series of warning fixes for various platforms (defconfig builds)

    Misc:
    - A couple of tegra fixes, one for i.MX, some vt8500 fixes, etc."

    * tag 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (73 commits)
    ARM: pxa: armcore: fix PCI PIO warnings
    ARM: integrator: use __iomem pointers for MMIO, part 2
    ARM: assabet: fix bogus warning in get_assabet_scr (again)
    ARM: shmobile: mark shmobile_init_late as __init
    ARM: integrator_cp: fix build failure
    ARM: OMAP4/AM335x: hwmod: fix disable_module regression in hardreset handling
    ARM: OMAP3: fix workaround for EMU clockdomain
    arm/omap: Replace board_ref_clock with enum values
    ARM: OMAP2+: remove duplicated include from board-omap3stalker.c
    arch/arm/plat-omap/omap-pm-noop.c: Remove unecessary semicolon
    arch/arm/mach-omap2: Remove unecessary semicolon
    arch/arm/mach-omap1/devices.c: Remove unecessary semicolon
    ARM/dts: omap5-evm: pinmux configuration for audio
    ARM/dts: Add pinctrl driver entries for omap5
    ARM/dts: omap4-panda: pinmux configuration for audio
    ARM/dts: omap4-sdp: pinmux configuration for audio
    ARM/dts: omap5-evm: Disable unused McBSP3
    ARM/dts: omap4-sdp: Disable unused McBSP3
    ARM/dts: omap4-panda: Disable unused audio IPs
    ARM: OMAP: board-omap4panda: Pin mux configuration for audio needs
    ...

    Linus Torvalds
     
  • Pull block IO update from Jens Axboe:
    "Core block IO bits for 3.7. Not a huge round this time, it contains:

    - First series from Kent cleaning up and generalizing bio allocation
    and freeing.

    - WRITE_SAME support from Martin.

    - Mikulas patches to prevent O_DIRECT crashes when someone changes
    the block size of a device.

    - Make bio_split() work on data-less bio's (like trim/discards).

    - A few other minor fixups."

    Fixed up silent semantic mis-merge as per Mikulas Patocka and Andrew
    Morton. It is due to the VM no longer using a prio-tree (see commit
    6b2dbba8b6ac: "mm: replace vma prio_tree with an interval tree").

    So make set_blocksize() use mapping_mapped() instead of open-coding the
    internal VM knowledge that has changed.

    * 'for-3.7/core' of git://git.kernel.dk/linux-block: (26 commits)
    block: makes bio_split support bio without data
    scatterlist: refactor the sg_nents
    scatterlist: add sg_nents
    fs: fix include/percpu-rwsem.h export error
    percpu-rw-semaphore: fix documentation typos
    fs/block_dev.c:1644:5: sparse: symbol 'blkdev_mmap' was not declared
    blockdev: turn a rw semaphore into a percpu rw semaphore
    Fix a crash when block device is read and block size is changed at the same time
    block: fix request_queue->flags initialization
    block: lift the initial queue bypass mode on blk_register_queue() instead of blk_init_allocated_queue()
    block: ioctl to zero block ranges
    block: Make blkdev_issue_zeroout use WRITE SAME
    block: Implement support for WRITE SAME
    block: Consolidate command flag and queue limit checks for merges
    block: Clean up special command handling logic
    block/blk-tag.c: Remove useless kfree
    block: remove the duplicated setting for congestion_threshold
    block: reject invalid queue attribute values
    block: Add bio_clone_bioset(), bio_clone_kmalloc()
    block: Consolidate bio_alloc_bioset(), bio_kmalloc()
    ...

    Linus Torvalds
     
  • tpm_write calls tpm_transmit without checking the return value and
    assigns the return value unconditionally to chip->pending_data, even if
    it's an error value.
    This causes three bugs.

    So if we write to /dev/tpm0 with a tpm_param_size bigger than
    TPM_BUFSIZE=0x1000 (e.g. 0x100a)
    and a bufsize also bigger than TPM_BUFSIZE (e.g. 0x100a)
    tpm_transmit returns -E2BIG which is assigned to chip->pending_data as
    -7, but tpm_write returns that TPM_BUFSIZE bytes have been successfully
    been written to the TPM, altough this is not true (bug #1).

    As we did write more than than TPM_BUFSIZE bytes but tpm_write reports
    that only TPM_BUFSIZE bytes have been written the vfs tries to write
    the remaining bytes (in this case 10 bytes) to the tpm device driver via
    tpm_write which then blocks at

    /* cannot perform a write until the read has cleared
    either via tpm_read or a user_read_timer timeout */
    while (atomic_read(&chip->data_pending) != 0)
    msleep(TPM_TIMEOUT);

    for 60 seconds, since data_pending is -7 and nobody is able to
    read it (since tpm_read luckily checks if data_pending is greater than
    0) (#bug 2).

    After that the remaining bytes are written to the TPM which are
    interpreted by the tpm as a normal command. (bug #3)
    So if the last bytes of the command stream happen to be a e.g.
    tpm_force_clear this gets accidentally sent to the TPM.

    This patch fixes all three bugs, by propagating the error code of
    tpm_write and returning -E2BIG if the input buffer is too big,
    since the response from the tpm for a truncated value is bogus anyway.
    Moreover it returns -EBUSY to userspace if there is a response ready to be
    read.

    Signed-off-by: Peter Huewe
    Signed-off-by: Kent Yoder

    Peter Huewe
     

10 Oct, 2012

1 commit

  • This patch try to fix the S3 regression https://lkml.org/lkml/2012/10/5/433,
    which includes below line:
    [ 1554.684638] sysfs: cannot create duplicate filename '/devices/pnp0/00:0c/ppi'

    The root cause is that ppi sysfs teardown code is MIA, so while S3 resume,
    the ppi kobject will be created again upon existing one.

    To make the tear down code simple, change the ppi subfolder creation from
    using kobject_create_and_add to just using a named ppi attribute_group. Then
    ppi sysfs teardown could be done with a simple sysfs_remove_group call.

    Adjusted the name & return type for ppi sysfs init function.

    Reported-by: Ben Guthro
    Signed-off-by: Gang Wei
    Signed-off-by: Kent Yoder

    Gang Wei
     

09 Oct, 2012

1 commit

  • A long time ago, in v2.4, VM_RESERVED kept swapout process off VMA,
    currently it lost original meaning but still has some effects:

    | effect | alternative flags
    -+------------------------+---------------------------------------------
    1| account as reserved_vm | VM_IO
    2| skip in core dump | VM_IO, VM_DONTDUMP
    3| do not merge or expand | VM_IO, VM_DONTEXPAND, VM_HUGETLB, VM_PFNMAP
    4| do not mlock | VM_IO, VM_DONTEXPAND, VM_HUGETLB, VM_PFNMAP

    This patch removes reserved_vm counter from mm_struct. Seems like nobody
    cares about it, it does not exported into userspace directly, it only
    reduces total_vm showed in proc.

    Thus VM_RESERVED can be replaced with VM_IO or pair VM_DONTEXPAND | VM_DONTDUMP.

    remap_pfn_range() and io_remap_pfn_range() set VM_IO|VM_DONTEXPAND|VM_DONTDUMP.
    remap_vmalloc_range() set VM_DONTEXPAND | VM_DONTDUMP.

    [akpm@linux-foundation.org: drivers/vfio/pci/vfio_pci.c fixup]
    Signed-off-by: Konstantin Khlebnikov
    Cc: Alexander Viro
    Cc: Carsten Otte
    Cc: Chris Metcalf
    Cc: Cyrill Gorcunov
    Cc: Eric Paris
    Cc: H. Peter Anvin
    Cc: Hugh Dickins
    Cc: Ingo Molnar
    Cc: James Morris
    Cc: Jason Baron
    Cc: Kentaro Takeda
    Cc: Matt Helsley
    Cc: Nick Piggin
    Cc: Oleg Nesterov
    Cc: Peter Zijlstra
    Cc: Robert Richter
    Cc: Suresh Siddha
    Cc: Tetsuo Handa
    Cc: Venkatesh Pallipadi
    Acked-by: Linus Torvalds
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Konstantin Khlebnikov
     

07 Oct, 2012

4 commits

  • This is a series from Arnd that fixes a number of compiler warnings
    when building defconfigs on ARM.

    * late/fixes:
    ARM: footbridge: nw_gpio_lock is raw_spin_lock
    ARM: mv78xx0: correct addr_map_cfg __initdata annotation
    ARM: footbridge: remove RTC_IRQ definition
    ARM: soc: dependency warnings for errata
    ARM: ks8695: __arch_virt_to_dma type handling
    ARM: rpc: check device_register return code in ecard_probe
    ARM: davinci: don't mark da850_register_cpufreq as __init
    ARM: iop13xx: fix iq81340sc_atux_map_irq prototype
    ARM: iop13xx: mark iop13xx_scan_bus as __devinit
    ARM: mv78xx0: mark mv78xx0_timer_init as __init_refok
    ARM: s3c24xx: fix multiple section mismatch warnings
    ARM: at91: unused variable in at91_pm_verify_clocks
    ARM: at91: skip at91_io_desc definition for NOMMU
    ARM: pxa: work around duplicate definition of GPIO24_SSP1_SFRM
    ARM: pxa: remove sharpsl_fatal_check function
    ARM: pxa: define palmte2_pxa_keys conditionally
    ARM: pxa: Wunused-result warning in viper board file
    ARM: shark: fix shark_pci_init return code

    Fixed trivial conflicts in arch/arm/mach-at91/setup.c.

    Signed-off-by: Olof Johansson

    Olof Johansson
     
  • Pull virtio changes from Rusty Russell:
    "New workflow: same git trees pulled by linux-next get sent straight to
    Linus. Git is awkward at shuffling patches compared with quilt or mq,
    but that doesn't happen often once things get into my -next branch."

    * 'virtio-next' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: (24 commits)
    lguest: fix occasional crash in example launcher.
    virtio-blk: Disable callback in virtblk_done()
    virtio_mmio: Don't attempt to create empty virtqueues
    virtio_mmio: fix off by one error allocating queue
    drivers/virtio/virtio_pci.c: fix error return code
    virtio: don't crash when device is buggy
    virtio: remove CONFIG_VIRTIO_RING
    virtio: add help to CONFIG_VIRTIO option.
    virtio: support reserved vqs
    virtio: introduce an API to set affinity for a virtqueue
    virtio-ring: move queue_index to vring_virtqueue
    virtio_balloon: not EXPERIMENTAL any more.
    virtio-balloon: dependency fix
    virtio-blk: fix NULL checking in virtblk_alloc_req()
    virtio-blk: Add REQ_FLUSH and REQ_FUA support to bio path
    virtio-blk: Add bio-based IO path for virtio-blk
    virtio: console: fix error handling in init() function
    tools: Fix pthread flag for Makefile of trace-agent used by virtio-trace
    tools: Add guest trace agent as a user tool
    virtio/console: Allocate scatterlist according to the current pipe size
    ...

    Linus Torvalds
     
  • Pull late ARM soc platform updates from Olof Johansson:
    "This branch contains updates to OMAP and Marvell platforms (kirkwood,
    dove, mvebu) that came in after we had done the big multiplatform
    merges, so they were kept separate from the rest, and not separated
    into the traditional topics of cleanup/driver/platform features.

    For OMAP, the updates are:
    - Runtime PM conversions for the GPMC and RNG IP blocks
    - Preparation patches for the OMAP common clock framework conversion
    - clkdev alias additions required by other drivers
    - Performance Monitoring Unit (PMU) support for OMAP2, 3, and
    non-4430 OMAP4
    - OMAP hwmod code and data improvements
    - Preparation patches for the IOMMU runtime PM conversion
    - Preparation patches for OMAP4 full-chip retention support

    For Kirkwood/Dove/mvebu:
    - New driver for "address decoder controller" for mvebu, which is a
    piece of hardware that configures addressable devices and
    peripherals. First user is the boot rom aperture on armada XP
    since it is needed for SMP support.
    - New device tree bindings for peripherals such as gpio-fan, iconnect
    nand, mv_cesa and the above address decoder controller.
    - Some defconfig updates, mostly to enable new DT boards and a few
    drivers.
    - New drivers using the pincontrol subsystem for dove, kirkwood and
    mvebu
    - New clean gpio driver for mvebu"

    * tag 'soc-late' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (98 commits)
    ARM: mvebu: fix build breaks from multi-platform conversion
    ARM: OMAP4460/4470: PMU: Enable PMU for OMAP4460/70
    ARM: OMAP2+: PMU: Add runtime PM support
    ARM: OMAP4430: PMU: prepare to create PMU device via HWMOD
    ARM: OMAP2+: PMU: Convert OMAP2/3 devices to use HWMOD
    ARM: OMAP3: hwmod data: Add debugss HWMOD data
    ARM: OMAP2+: clockdomain/hwmod: add workaround for EMU clockdomain idle problems
    ARM: OMAP: Add a timer attribute for timers that can interrupt the DSP
    hwrng: OMAP: remove SoC restrictions from driver registration
    ARM: OMAP: split OMAP1, OMAP2+ RNG device registration
    hwrng: OMAP: convert to use runtime PM
    hwrng: OMAP: store per-device data in per-device variables, not file statics
    ARM: OMAP2xxx: hwmod/CM: add RNG integration data
    ARM: OMAP2+: gpmc: minimal driver support
    ARM: OMAP2+: gpmc: Adapt to HWMOD
    ARM: OMAP2/3: hwmod data: add gpmc
    ARM: OMAP4: hwmod data: add mmu hwmod for ipu and dsp
    ARM: OMAP3: hwmod data: add mmu data for iva and isp
    ARM: OMAP: iommu: fix including iommu.h without IOMMU_API selected
    ARM: OMAP4: hwmod data: add missing HWMOD_NO_IDLEST flags to some PRCM IP blocks
    ...

    Linus Torvalds
     
  • bd31b85960a "locking, ARM: Annotate low level hw locks as raw"
    made nw_gpio_lock a raw spinlock, but did not change all the
    users in device drivers. This fixes the remaining ones.

    sound/oss/waveartist.c: In function 'vnc_mute_spkr':
    sound/oss/waveartist.c:1485:2: warning: passing argument 1 of 'spinlock_check' from incompatible pointer type [enabled by default]
    include/linux/spinlock.h:272:102: note: expected 'struct spinlock_t *' but argument is of type 'struct raw_spinlock_t *'
    drivers/char/ds1620.c: In function 'netwinder_lock':
    drivers/char/ds1620.c:77:2: warning: passing argument 1 of 'spinlock_check' from incompatible pointer type [enabled by default]
    include/linux/spinlock.h:272:102: note: expected 'struct spinlock_t *' but argument is of type 'struct raw_spinlock_t *'
    drivers/char/nwflash.c: In function 'kick_open':
    drivers/char/nwflash.c:620:2: warning: passing argument 1 of 'spinlock_check' from incompatible pointer type [enabled by default]
    include/linux/spinlock.h:272:102: note: expected 'struct spinlock_t *' but argument is of type 'struct raw_spinlock_t *'

    Signed-off-by: Arnd Bergmann
    Cc: Thomas Gleixner
    Cc: Russell King

    Arnd Bergmann
     

06 Oct, 2012

1 commit


05 Oct, 2012

1 commit

  • Pull crypto update from Herbert Xu:
    - Optimised AES/SHA1 for ARM.
    - IPsec ESN support in talitos and caam.
    - x86_64/avx implementation of cast5/cast6.
    - Add/use multi-algorithm registration helpers where possible.
    - Added IBM Power7+ in-Nest support.
    - Misc fixes.

    Fix up trivial conflicts in crypto/Kconfig due to the sparc64 crypto
    config options being added next to the new ARM ones.

    [ Side note: cut-and-paste duplicate help texts make those conflicts
    harder to read than necessary, thanks to git being smart about
    minimizing conflicts and maximizing the common parts... ]

    * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (71 commits)
    crypto: x86/glue_helper - fix storing of new IV in CBC encryption
    crypto: cast5/avx - fix storing of new IV in CBC encryption
    crypto: tcrypt - add missing tests for camellia and ghash
    crypto: testmgr - make test_aead also test 'dst != src' code paths
    crypto: testmgr - make test_skcipher also test 'dst != src' code paths
    crypto: testmgr - add test vectors for CTR mode IV increasement
    crypto: testmgr - add test vectors for partial ctr(cast5) and ctr(cast6)
    crypto: testmgr - allow non-multi page and multi page skcipher tests from same test template
    crypto: caam - increase TRNG clocks per sample
    crypto, tcrypt: remove local_bh_disable/enable() around local_irq_disable/enable()
    crypto: tegra-aes - fix error return code
    crypto: crypto4xx - fix error return code
    crypto: hifn_795x - fix error return code
    crypto: ux500 - fix error return code
    crypto: caam - fix error IDs for SEC v5.x RNG4
    hwrng: mxc-rnga - Access data via structure
    hwrng: mxc-rnga - Adapt clocks to new i.mx clock framework
    crypto: caam - add IPsec ESN support
    crypto: 842 - remove .cra_list initialization
    Revert "[CRYPTO] cast6: inline bloat--"
    ...

    Linus Torvalds
     

04 Oct, 2012

1 commit

  • Pull drm merge (part 1) from Dave Airlie:
    "So first of all my tree and uapi stuff has a conflict mess, its my
    fault as the nouveau stuff didn't hit -next as were trying to rebase
    regressions out of it before we merged.

    Highlights:
    - SH mobile modesetting driver and associated helpers
    - some DRM core documentation
    - i915 modesetting rework, haswell hdmi, haswell and vlv fixes, write
    combined pte writing, ilk rc6 support,
    - nouveau: major driver rework into a hw core driver, makes features
    like SLI a lot saner to implement,
    - psb: add eDP/DP support for Cedarview
    - radeon: 2 layer page tables, async VM pte updates, better PLL
    selection for > 2 screens, better ACPI interactions

    The rest is general grab bag of fixes.

    So why part 1? well I have the exynos pull req which came in a bit
    late but was waiting for me to do something they shouldn't have and it
    looks fairly safe, and David Howells has some more header cleanups
    he'd like me to pull, that seem like a good idea, but I'd like to get
    this merge out of the way so -next dosen't get blocked."

    Tons of conflicts mostly due to silly include line changes, but mostly
    mindless. A few other small semantic conflicts too, noted from Dave's
    pre-merged branch.

    * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (447 commits)
    drm/nv98/crypt: fix fuc build with latest envyas
    drm/nouveau/devinit: fixup various issues with subdev ctor/init ordering
    drm/nv41/vm: fix and enable use of "real" pciegart
    drm/nv44/vm: fix and enable use of "real" pciegart
    drm/nv04/dmaobj: fixup vm target handling in preparation for nv4x pcie
    drm/nouveau: store supported dma mask in vmmgr
    drm/nvc0/ibus: initial implementation of subdev
    drm/nouveau/therm: add support for fan-control modes
    drm/nouveau/hwmon: rename pwm0* to pmw1* to follow hwmon's rules
    drm/nouveau/therm: calculate the pwm divisor on nv50+
    drm/nouveau/fan: rewrite the fan tachometer driver to get more precision, faster
    drm/nouveau/therm: move thermal-related functions to the therm subdev
    drm/nouveau/bios: parse the pwm divisor from the perf table
    drm/nouveau/therm: use the EXTDEV table to detect i2c monitoring devices
    drm/nouveau/therm: rework thermal table parsing
    drm/nouveau/gpio: expose the PWM/TOGGLE parameter found in the gpio vbios table
    drm/nouveau: fix pm initialization order
    drm/nouveau/bios: check that fixed tvdac gpio data is valid before using it
    drm/nouveau: log channel debug/error messages from client object rather than drm client
    drm/nouveau: have drm debugging macros build on top of core macros
    ...

    Linus Torvalds
     

03 Oct, 2012

2 commits

  • Pull security subsystem updates from James Morris:
    "Highlights:

    - Integrity: add local fs integrity verification to detect offline
    attacks
    - Integrity: add digital signature verification
    - Simple stacking of Yama with other LSMs (per LSS discussions)
    - IBM vTPM support on ppc64
    - Add new driver for Infineon I2C TIS TPM
    - Smack: add rule revocation for subject labels"

    Fixed conflicts with the user namespace support in kernel/auditsc.c and
    security/integrity/ima/ima_policy.c.

    * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (39 commits)
    Documentation: Update git repository URL for Smack userland tools
    ima: change flags container data type
    Smack: setprocattr memory leak fix
    Smack: implement revoking all rules for a subject label
    Smack: remove task_wait() hook.
    ima: audit log hashes
    ima: generic IMA action flag handling
    ima: rename ima_must_appraise_or_measure
    audit: export audit_log_task_info
    tpm: fix tpm_acpi sparse warning on different address spaces
    samples/seccomp: fix 31 bit build on s390
    ima: digital signature verification support
    ima: add support for different security.ima data types
    ima: add ima_inode_setxattr/removexattr function and calls
    ima: add inode_post_setattr call
    ima: replace iint spinblock with rwlock/read_lock
    ima: allocating iint improvements
    ima: add appraise action keywords and default rules
    ima: integrity appraisal extension
    vfs: move ima_file_free before releasing the file
    ...

    Linus Torvalds
     
  • Pull workqueue changes from Tejun Heo:
    "This is workqueue updates for v3.7-rc1. A lot of activities this
    round including considerable API and behavior cleanups.

    * delayed_work combines a timer and a work item. The handling of the
    timer part has always been a bit clunky leading to confusing
    cancelation API with weird corner-case behaviors. delayed_work is
    updated to use new IRQ safe timer and cancelation now works as
    expected.

    * Another deficiency of delayed_work was lack of the counterpart of
    mod_timer() which led to cancel+queue combinations or open-coded
    timer+work usages. mod_delayed_work[_on]() are added.

    These two delayed_work changes make delayed_work provide interface
    and behave like timer which is executed with process context.

    * A work item could be executed concurrently on multiple CPUs, which
    is rather unintuitive and made flush_work() behavior confusing and
    half-broken under certain circumstances. This problem doesn't
    exist for non-reentrant workqueues. While non-reentrancy check
    isn't free, the overhead is incurred only when a work item bounces
    across different CPUs and even in simulated pathological scenario
    the overhead isn't too high.

    All workqueues are made non-reentrant. This removes the
    distinction between flush_[delayed_]work() and
    flush_[delayed_]_work_sync(). The former is now as strong as the
    latter and the specified work item is guaranteed to have finished
    execution of any previous queueing on return.

    * In addition to the various bug fixes, Lai redid and simplified CPU
    hotplug handling significantly.

    * Joonsoo introduced system_highpri_wq and used it during CPU
    hotplug.

    There are two merge commits - one to pull in IRQ safe timer from
    tip/timers/core and the other to pull in CPU hotplug fixes from
    wq/for-3.6-fixes as Lai's hotplug restructuring depended on them."

    Fixed a number of trivial conflicts, but the more interesting conflicts
    were silent ones where the deprecated interfaces had been used by new
    code in the merge window, and thus didn't cause any real data conflicts.

    Tejun pointed out a few of them, I fixed a couple more.

    * 'for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: (46 commits)
    workqueue: remove spurious WARN_ON_ONCE(in_irq()) from try_to_grab_pending()
    workqueue: use cwq_set_max_active() helper for workqueue_set_max_active()
    workqueue: introduce cwq_set_max_active() helper for thaw_workqueues()
    workqueue: remove @delayed from cwq_dec_nr_in_flight()
    workqueue: fix possible stall on try_to_grab_pending() of a delayed work item
    workqueue: use hotcpu_notifier() for workqueue_cpu_down_callback()
    workqueue: use __cpuinit instead of __devinit for cpu callbacks
    workqueue: rename manager_mutex to assoc_mutex
    workqueue: WORKER_REBIND is no longer necessary for idle rebinding
    workqueue: WORKER_REBIND is no longer necessary for busy rebinding
    workqueue: reimplement idle worker rebinding
    workqueue: deprecate __cancel_delayed_work()
    workqueue: reimplement cancel_delayed_work() using try_to_grab_pending()
    workqueue: use mod_delayed_work() instead of __cancel + queue
    workqueue: use irqsafe timer for delayed_work
    workqueue: clean up delayed_work initializers and add missing one
    workqueue: make deferrable delayed_work initializer names consistent
    workqueue: cosmetic whitespace updates for macro definitions
    workqueue: deprecate system_nrt[_freezable]_wq
    workqueue: deprecate flush[_delayed]_work_sync()
    ...

    Linus Torvalds
     

02 Oct, 2012

3 commits

  • Pull ARM soc driver specific changes from Olof Johansson:
    - A long-coming conversion of various platforms to a common LED
    infrastructure
    - AT91 is moved over to use the newer MCI driver for MMC
    - Pincontrol conversions for samsung platforms
    - DT bindings for gscaler on samsung
    - i2c driver fixes for tegra, acked by i2c maintainer

    Fix up conflicts as per Olof.

    * tag 'drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (48 commits)
    drivers: bus: omap_l3: use resources instead of hardcoded irqs
    pinctrl: exynos: Fix wakeup IRQ domain registration check
    pinctrl: samsung: Uninline samsung_pinctrl_get_soc_data
    pinctrl: exynos: Correct the detection of wakeup-eint node
    pinctrl: exynos: Mark exynos_irq_demux_eint as inline
    pinctrl: exynos: Handle only unmasked wakeup interrupts
    pinctrl: exynos: Fix typos in gpio/wkup _irq_mask
    pinctrl: exynos: Set pin function to EINT in irq_set_type of GPIO EINTa
    drivers: bus: Move the OMAP interconnect driver to drivers/bus/
    i2c: tegra: dynamically control fast clk
    i2c: tegra: I2_M_NOSTART functionality not supported in Tegra20
    ARM: tegra: clock: remove unused clock entry for i2c
    ARM: tegra: clock: add connection name in i2c clock entry
    i2c: tegra: pass proper name for getting clock
    ARM: tegra: clock: add i2c fast clock entry in clock table
    ARM: EXYNOS: Adds G-Scaler device from Device Tree
    ARM: EXYNOS: Add clock support for G-Scaler
    ARM: EXYNOS: Enable pinctrl driver support for EXYNOS4 device tree enabled platform
    ARM: dts: Add pinctrl node entries for SAMSUNG EXYNOS4210 SoC
    ARM: EXYNOS: skip wakeup interrupt setup if pinctrl driver is used
    ...

    Linus Torvalds
     
  • Pull TTY changes from Greg Kroah-Hartman:
    "As we skipped the merge window for 3.6-rc1 for the tty tree,
    everything is now settled down and working properly, so we are ready
    for 3.7-rc1. Here's the patchset, it's big, but the large changes are
    removing a firmware file and adding a staging tty driver (it depended
    on the tty core changes, so it's going through this tree instead of
    the staging tree.)

    All of these patches have been in the linux-next tree for a while.

    Signed-off-by: Greg Kroah-Hartman "

    Fix up more-or-less trivial conflicts in
    - drivers/char/pcmcia/synclink_cs.c:
    tty NULL dereference fix vs tty_port_cts_enabled() helper function
    - drivers/staging/{Kconfig,Makefile}:
    add-add conflict (dgrp driver added close to other staging drivers)
    - drivers/staging/ipack/devices/ipoctal.c:
    "split ipoctal_channel from iopctal" vs "TTY: use tty_port_register_device"

    * tag 'tty-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (235 commits)
    tty/serial: Add kgdb_nmi driver
    tty/serial/amba-pl011: Quiesce interrupts in poll_get_char
    tty/serial/amba-pl011: Implement poll_init callback
    tty/serial/core: Introduce poll_init callback
    kdb: Turn KGDB_KDB=n stubs into static inlines
    kdb: Implement disable_nmi command
    kernel/debug: Mask KGDB NMI upon entry
    serial: pl011: handle corruption at high clock speeds
    serial: sccnxp: Make 'default' choice in switch last
    serial: sccnxp: Remove mask termios caps for SW flow control
    serial: sccnxp: Report actual baudrate back to core
    serial: samsung: Add poll_get_char & poll_put_char
    Powerpc 8xx CPM_UART setting MAXIDL register proportionaly to baud rate
    Powerpc 8xx CPM_UART maxidl should not depend on fifo size
    Powerpc 8xx CPM_UART too many interrupts
    Powerpc 8xx CPM_UART desynchronisation
    serial: set correct baud_base for EXSYS EX-41092 Dual 16950
    serial: omap: fix the reciever line error case
    8250: blacklist Winbond CIR port
    8250_pnp: do pnp probe before legacy probe
    ...

    Linus Torvalds
     
  • Pull char/misc driver merge from Greg Kroah-Hartman:
    "Here is the "big" char/misc driver tree update for the 3.7-rc1 merge
    window.

    Nothing major, just a number of driver updates and fixes, all of which
    have been in the linux-next releases for a while now either in my
    tree, or in Andrew's (the lis3l driver changes came from his tree last
    week).

    Signed-off-by: Greg Kroah-Hartman "

    * tag 'char-misc-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (52 commits)
    drivers/misc/lis3lv02d/lis3lv02d_i2c.c: add lis3lv02d device tree init
    drivers/misc/lis3lv02d/lis3lv02d_spi.c: add lis3lv02d device tree init
    drivers/misc/lis3lv02d: remove lis3lv02d driver DT init
    drivers/misc/lis3lv02d/lis3lv02d_spi.c: add DT matching table passthru code
    drivers/misc/lis3lv02d: add generic DT matching code
    lis3lv02d: fix some comments specific to lis331dlh driver
    MISC: hpilo, remove pci_disable_device
    pcmcia: synclink_cs: fix potential tty NULL dereference
    drivers/char/mmtimer.c: Remove useless kfree
    drivers/char: removes unnecessary semicolon
    char/misc: remove CONFIG_EXPERIMENTAL dependencies
    mei: don't print buffer as a string
    mei: struct mei_message_data doesn't have to be packed
    mei: add error messages for open count errors
    misc: use module_spi_driver
    tifm: use module_pci_driver
    misc/at25, dt: Improve at25 SPI eeprom device tree bindings.
    mei: add lynx point pci device ids
    mei: fix max number of open handles
    mei: rename struct pci_dev *mei_device to mei_pdev
    ...

    Linus Torvalds
     

28 Sep, 2012

6 commits


27 Sep, 2012

3 commits

  • tty_port_tty_get() can return NULL after port hangup that may happen anytime.
    The patch adds checks that tty_port_tty_get() returns nonNULL around places
    where tty is actually used.

    I have no actual hardware to test the patch, so I have updated rx side
    processing from common sense only.

    v2: rx handling updated according Alan Cox feedback.

    Found by Linux Driver Verification project (linuxtesting.org).

    Signed-off-by: Alexey Khoroshilov
    Signed-off-by: Greg Kroah-Hartman

    Alexey Khoroshilov
     
  • Remove useless kfree() and clean up code related to the removal.

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

    //
    @r exists@
    position p1,p2;
    expression x;
    @@

    if (x@p1 == NULL) { ... kfree@p2(x); ... return ...; }

    @unchanged exists@
    position r.p1,r.p2;
    expression e

    Signed-off-by: Peter Senna Tschudin
    Signed-off-by: Greg Kroah-Hartman

    Peter Senna Tschudin
     
  • removes unnecessary semicolon

    Found by Coccinelle: http://coccinelle.lip6.fr/

    Signed-off-by: Peter Senna Tschudin
    Signed-off-by: Greg Kroah-Hartman

    Peter Senna Tschudin
     

26 Sep, 2012

1 commit

  • The kernel may crash when block size is changed and I/O is issued
    simultaneously.

    Because some subsystems (udev or lvm) may read any block device anytime,
    the bug actually puts any code that changes a block device size in
    jeopardy.

    The crash can be reproduced if you place "msleep(1000)" to
    blkdev_get_blocks just before "bh->b_size = max_blocks <<
    inode->i_blkbits;".
    Then, run "dd if=/dev/ram0 of=/dev/null bs=4k count=1 iflag=direct"
    While it is waiting in msleep, run "blockdev --setbsz 2048 /dev/ram0"
    You get a BUG.

    The direct and non-direct I/O is written with the assumption that block
    size does not change. It doesn't seem practical to fix these crashes
    one-by-one there may be many crash possibilities when block size changes
    at a certain place and it is impossible to find them all and verify the
    code.

    This patch introduces a new rw-lock bd_block_size_semaphore. The lock is
    taken for read during I/O. It is taken for write when changing block
    size. Consequently, block size can't be changed while I/O is being
    submitted.

    For asynchronous I/O, the patch only prevents block size change while
    the I/O is being submitted. The block size can change when the I/O is in
    progress or when the I/O is being finished. This is acceptable because
    there are no accesses to block size when asynchronous I/O is being
    finished.

    The patch prevents block size changing while the device is mapped with
    mmap.

    Signed-off-by: Mikulas Patocka
    Signed-off-by: Jens Axboe

    Mikulas Patocka
     

24 Sep, 2012

3 commits


20 Sep, 2012

1 commit

  • Rewriting the PTE entries using an WC mapping is roughly an order of
    magnitude faster than through the uncached mapping. This makes an
    observable difference on workloads that cycle through large numbers of
    buffers, for example Chromium using ShmPixmaps where virtually all the
    CPU time is currently spent rebinding the userptr.

    v2: Limit the WC mapping to older generations as we have observed that
    the TLB invalidation on SandyBridge+ is unreliable with WC updates.
    See i-g-t/tests/gem_gtt_cpu_tlb

    Signed-off-by: Chris Wilson
    Signed-off-by: Daniel Vetter

    Chris Wilson