30 Jan, 2012

4 commits

  • The assignment of handle in vmw_framebuffer_create_handle doesn't actually do anything useful and is incorrectly assigning an integer value to a pointer argument. It appears that this is a typo and should be dereferencing handle rather than assigning to it directly. This fixes a bug where an undefined handle value is potentially returned to user-space.

    Signed-off-by: Ryan Mallon
    Reviewed-by: Jakob Bornecrantz
    Cc: stable@vger.kernel.org
    Signed-off-by: Dave Airlie

    Ryan Mallon
     
  • Properly set the parent device of i2c buses before registering them so
    that they will show at the right place in the device tree (rather than
    in /sys/devices directly.)

    Signed-off-by: Jean Delvare
    Cc: Dave Airlie
    Reviewed-by: Alex Deucher
    Signed-off-by: Dave Airlie

    Jean Delvare
     
  • In particular, I found I was hitting the max-file limit in the VFS,
    and the EFILE was being magically transformed into ENOMEM. Confusion
    reigns.

    Signed-off-by: Chris Wilson
    Reviewed-by: Daniel Vetter
    Signed-off-by: Dave Airlie

    Chris Wilson
     
  • This reverts commit 87499ffdcb1c70f66988cd8febc4ead0ba2f9118.

    Where is that paper bag ... ah here.

    I've failed to take an odd interaction between my other cleanups and
    this reclaim_buffers patch into account and also failed to properly
    test it. Looks like there are more dragons and hidden trapdoors in the
    drm release path than actual lines of code.

    Until I get a clue, let's just revert this.

    Signed-Off-by: Daniel Vetter

    Signed-off-by: Dave Airlie

    Daniel Vetter
     

29 Jan, 2012

6 commits

  • …ernel/git/gregkh/driver-core

    Here are some patches for the 3.3-rc1 tree.

    It contains the removal of the sysdev code, now that all users of it are
    gone, as well as some sysfs bugfixes that have been reported by users.
    There are also some documentation updates here as well.

    * tag 'driver-core-3.3-rc1-bugfixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
    sysfs: Complain bitterly about attempts to remove files from nonexistent directories.
    stable: update documentation to ask for kernel version
    base/core.c:fix typo in comment in function device_add
    Documentation: devres: add allocation functions to list of supported calls
    Documentation update for the driver model core
    kernel-doc: fix new warnings in driver-core
    kernel-doc: fix new warnings in debugfs
    kernel-doc: fix new warnings in device.h
    driver core: remove drivers/base/sys.c and include/linux/sysdev.h

    Linus Torvalds
     
  • * tag 'for-linus' of git://github.com/rustyrussell/linux:
    lguest: remove reference from Documentation/virtual/00-INDEX
    virtio: correct the memory barrier in virtqueue_kick_prepare()
    virtio: fix typos of memory barriers

    Linus Torvalds
     
  • …kernel/git/konrad/xen

    * 'stable/for-linus-fixes-3.3' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    xen/granttable: Disable grant v2 for HVM domains.
    x86: xen: size struct xen_spinlock to always fit in arch_spinlock_t

    Linus Torvalds
     
  • * git://www.linux-watchdog.org/linux-watchdog:
    watchdog: iTCO_wdt: add Intel Lynx Point DeviceIDs
    watchdog: via_wdt: Set min_timeout and max_timeout for wdt_dev
    watchdog: Fix typo "unexpectdly"
    watchdog: wafer5823wdt: Fix handling WDIOS_DISABLECARD/WDIOS_ENABLECARD options
    watchdog: wm8350_wdt: Fix handling WDIOS_DISABLECARD/WDIOS_ENABLECARD options
    watchdog: Return proper error in nuc900wdt_probe if misc_register fails
    watchdog: Staticise nuc900_wdt
    watchdog: via_wdt: Staticise wdt_pci_table
    watchdog: omap_wdt.c: Fix the mismatch of pm_runtime enable and disable
    watchdog: dw_wdt.c: use devm_request_and_ioremap
    watchdog: imx2_wdt.c: use devm_request_and_ioremap

    Linus Torvalds
     
  • * 'fixes' of git://git.linaro.org/people/rmk/linux-arm: (31 commits)
    ARM: 7304/1: ioremap: fix boundary check when reusing static mapping
    ARM: 7301/1: Rename the T() macro to TUSER() to avoid namespace conflicts
    ARM: 7299/1: ftrace: clear zero bit in reported IPs for Thumb-2
    ARM: 7298/1: realview: fix mapping of MPCore private memory region
    PCMCIA: fix sa1111 oops on remove
    ARM: 7288/1: mach-sa1100: add missing module_init() call
    ARM: 7297/1: smp_twd: make sure timer is stopped before registering it
    ARM: 7296/1: proc-v7.S: remove HARVARD_CACHE preprocessor guards
    ARM: 7295/1: cortex-a7: move proc_info out of !CONFIG_ARM_LPAE block
    ARM: 7293/1: logical_cpu_map: decouple CPU mapping from SMP
    ARM: 7291/1: cache: assume 64-byte L1 cachelines for ARMv7 CPUs
    ARM: 7290/1: vmlinux.lds.S: align the exception fixup table to a 4-byte boundary
    ARM: 7289/1: vmlinux.lds.S: do not hardcode cacheline size as 32 bytes
    MFD: ucb1x00-ts: fix resume failure
    MFD: ucb1x00-core: fix gpiolib direction_output handling
    MFD: ucb1x00-core: fix missing restore of io output data on resume
    MFD: mcp-core: fix mcp_priv() to be more type safe
    MFD: mcp-core: fix complaints from the genirq layer
    Revert "ARM: sa11x0: Implement autoloading of codec and codec pdata for mcp bus."
    Revert "ARM: sa1100: Refactor mcp-sa11x0 to use platform resources."
    ...

    Fix up conflict due to arch/arm/mach-mx5/Kconfig having been merged into
    mach-imx5 (commit 784a90c0a7d8: "ARM i.MX: Merge i.MX5 support into
    mach-imx"), but the ARM_L1_CACHE_SHIFT_6 entry was moved to be driven by
    the CPU_V7 logic from it in the old location in rmk's branch (commit
    a092f2b15399: "ARM: 7291/1: cache: assume 64-byte L1 cachelines for
    ARMv7 CPUs").

    Linus Torvalds
     
  • arm-soc fixes for 3.3-rc:

    AT91 needed reset fixes which resulted in some minor code refactoring,
    it also adds a feature-removal for one of their platforms for 3.4.
    The USB patches have been acked by Greg K-H.

    i.MX and ux500 both have some minor fixes, nothing controversial.

    * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    arch/arm/mach-imx/mach-mx53_ard.c: add missing iounmap
    ARM: imx: iomux-v1.h: Fix build error due to __init annotation
    ARM: at91: Fix at91sam9g45 and at91cap9 reset
    ARM: at91: make rstc soc independent
    ARM: at91: introduce AT91_SAM9_ALT_RESET to select the at91sam9 alternative reset
    ARM: at91: merge at91cap9_ddrsdr.h in at91sam9_ddrsdr.h
    ARM: at91: fix cap9 ddrsdr register
    ARM/USB: at91/ohci-at91: rename vbus_pin_inverted to vbus_pin_active_low
    USB: at91: fix clk_get error handling
    ARM: at91: removal of CAP9 SoC family
    ARM: at91: fix at91rm9200 soc subtype handling
    mach-ux500: no MMC_CAP_SD_HIGHSPEED on Snowball
    mach-ux500: enable ARM errata 764369
    mach-ux500: do not override outer.inv_all
    mach-ux500: musb: now musb is always in OTG mode
    ARM: imx6: add missing twd_clk for imx6q clock

    Linus Torvalds
     

28 Jan, 2012

3 commits

  • Use virtio_mb() to make sure the available index to be exposed before
    checking the the avail event. Otherwise we may get stale value of
    avail event in guest and never kick the host after.

    Note: this fixes a bug introduced by ee7cd8981e15bcb365fc762afe3fc47b8242f630.

    Signed-off-by: Jason Wang
    Acked-by: Michael S. Tsirkin
    Signed-off-by: Rusty Russell
    Cc: stable@kernel.org

    Jason Wang
     
  • Note: this fixes a bug introduced recently in
    7b21e34fd1c272e3a8c3846168f2f6287a4cd72b.

    Signed-off-by: Jason Wang
    Acked-by: Michael S. Tsirkin
    Signed-off-by: Rusty Russell

    Jason Wang
     
  • As proper scaffolding for supporting error status is not yet
    implemented.

    BUG: unable to handle kernel NULL pointer dereference at 0000000000000400
    IP: [] gnttab_end_foreign_access_ref_v2+0x29/0x40
    PGD 32aa3067 PUD 32a87067 PMD 0
    Oops: 0000 [#1] PREEMPT SMP
    CPU 0
    Modules linked in: sg sr_mod cdrom ata_generic ata_piix libata scsi_mod xen_blkfront xen_netfront fb_sys_fops sysimgblt sysfillrect syscopyarea xen_kbdfront
    cmd

    Pid: 2307, comm: ip Not tainted 3.3.0-rc1 #1 Xen HVM domU
    RIP: 0010:[] [] gnttab_end_foreign_access_ref_v2+0x29/0x40
    RSP: 0018:ffff88003be03d38 EFLAGS: 00010206
    RAX: 0000000000000000 RBX: ffff880033210640 RCX: 0000000000000040
    RDX: 0000000000002000 RSI: 0000000000000000 RDI: 0000000000000200
    RBP: ffff88003be03d38 R08: 0000000000000101 R09: 0000000000000000
    R10: dead000000100100 R11: 0000000000000000 R12: ffff88003be03e48
    R13: 0000000000000001 R14: ffff880039461c00 R15: 0000000000000200
    FS: 00007fb1f84ec700(0000) GS:ffff88003be00000(0000) knlGS:0000000000000000
    ...

    Signed-off-by: Konrad Rzeszutek Wilk

    Konrad Rzeszutek Wilk
     

27 Jan, 2012

22 commits

  • * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (31 commits)
    gma500: Fix suspend/resume functions
    drm/exynos: fixed pm feature for fimd module.
    MAINTAINERS: added maintainer entry for Exynos DRM Driver.
    drm/exynos: fixed build dependency for DRM_EXYNOS_FIMD
    drm/exynos: fix build dependency for DRM_EXYNOS_HDMI
    drm/exynos: use release_mem_region instead of release_resource
    agp: fix scratch page cleanup
    drm/i915: fixup forcewake spinlock fallout in drpc debugfs function
    drm/i915: debugfs: show semaphore registers also on gen7
    drm/i915: allow userspace forcewake references also on gen7
    drm/i915: Re-enable gen7 RC6 and GPU turbo after resume.
    drm/i915: Correct debugfs printout for RC1e.
    Revert "drm/i915: Work around gen7 BLT ring synchronization issues."
    drm/i915: rip out the HWSTAM missed irq workaround
    drm/i915: paper over missed irq issues with force wake voodoo
    drm/i915: Hold gt_lock across forcewake register reads
    drm/i915: Hold gt_lock during reset
    drm/i915: Move reset forcewake processing to gen6_do_reset
    drm/i915: protect force_wake_(get|put) with the gt_lock
    drm/i915: convert force_wake_get to func pointer in the gpu reset code
    ...

    Linus Torvalds
     
  • Both the suspend and resume functions incorrectly set psbfb =
    to_psb_fb(NULL) outside of the loop over all of the framebuffers. Fix
    this by moving the assignment of psbfb inside the loop and removing the
    initialisation of fb.

    Signed-off-by: Ryan Mallon
    Acked-by: Alan Cox
    Signed-off-by: Dave Airlie

    Ryan Mallon
     
  • This patch adds the TCO Watchdog DeviceIDs for the Intel Lynx Point PCH.

    Signed-off-by: Seth Heasley
    Signed-off-by: Wim Van Sebroeck

    Seth Heasley
     
  • Let the watchdog core to check the valid value range of min_timeout/max_timeout.

    Signed-off-by: Axel Lin
    Signed-off-by: Wim Van Sebroeck

    Axel Lin
     
  • Correct typo "unexpectdly" to "unexpectedly" in pnx4008_wdt.c
    and stmp3xxx_wdt.c

    Signed-off-by: Masanari Iida
    Signed-off-by: Wim Van Sebroeck

    Masanari Iida
     
  • While receiving WDIOS_DISABLECARD option for WDIOC_SETOPTIONS command,
    call wafwdt_stop() to disable watchdog.
    Call wafwdt_start() while receiving WDIOS_ENABLECARD option.

    Current code has reverse behavior.

    Signed-off-by: Axel Lin
    Signed-off-by: Wim Van Sebroeck

    Axel Lin
     
  • While receiving WDIOS_DISABLECARD option for WDIOC_SETOPTIONS command,
    call wm8350_wdt_stop() to disable watchdog.
    Call wm8350_wdt_start() while receiving WDIOS_ENABLECARD option.

    Current code has reverse behavior.

    Signed-off-by: Axel Lin
    Acked-by: Mark Brown
    Signed-off-by: Wim Van Sebroeck

    Axel Lin
     
  • Return proper error instead of 0 if misc_register fails

    Signed-off-by: Axel Lin
    Signed-off-by: Wim Van Sebroeck

    Axel Lin
     
  • It is only used in this driver, so no need to make the symbol global.

    Signed-off-by: Axel Lin
    Signed-off-by: Wim Van Sebroeck

    Axel Lin
     
  • It is only used in this driver, so no need to make the symbol global.

    Signed-off-by: Axel Lin
    Acked-by: Marc Vertes
    Signed-off-by: Wim Van Sebroeck

    Axel Lin
     
  • Currently the watchdog driver calls the pm_runtime_enable and never
    the disable. This may cause a warning when pm_runtime_enable
    checks for the count match.

    Also fixes the error

    /build/watchdog # insmod omap_wdt.ko
    [ 44.999389] omap_wdt omap_wdt: Unbalanced pm_runtime_enable!
    [ 45.011047] OMAP Watchdog Timer Rev 0x00: initial timeout 60 sec
    /build/watchdog #

    Attempting to fix the same by calling pm_runtime_disable.

    Signed-off-by: Shubhrajyoti D
    Signed-off-by: Wim Van Sebroeck

    Shubhrajyoti D
     
  • Reimplement a call to devm_request_mem_region followed by a call to ioremap
    or ioremap_nocache by a call to devm_request_and_ioremap.

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

    //
    @nm@
    expression myname;
    identifier i;
    @@

    struct platform_driver i = { .driver = { .name = myname } };

    @@
    expression dev,res,size;
    expression nm.myname;
    @@

    -if (!devm_request_mem_region(dev, res->start, size,
    - \(res->name\|dev_name(dev)\|myname\))) {
    - ...
    - return ...;
    -}
    ... when != res->start
    (
    -devm_ioremap(dev,res->start,size)
    +devm_request_and_ioremap(dev,res)
    |
    -devm_ioremap_nocache(dev,res->start,size)
    +devm_request_and_ioremap(dev,res)
    )
    ... when any
    when != res->start
    //

    Signed-off-by: Julia Lawall
    Signed-off-by: Wim Van Sebroeck

    Julia Lawall
     
  • Reimplement a call to devm_request_mem_region followed by a call to ioremap
    or ioremap_nocache by a call to devm_request_and_ioremap.

    The variable res_size is then no longer needed.

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

    //
    @nm@
    expression myname;
    identifier i;
    @@

    struct platform_driver i = { .driver = { .name = myname } };

    @@
    expression dev,res,size;
    expression nm.myname;
    @@

    -if (!devm_request_mem_region(dev, res->start, size,
    - \(res->name\|dev_name(dev)\|myname\))) {
    - ...
    - return ...;
    -}
    ... when != res->start
    (
    -devm_ioremap(dev,res->start,size)
    +devm_request_and_ioremap(dev,res)
    |
    -devm_ioremap_nocache(dev,res->start,size)
    +devm_request_and_ioremap(dev,res)
    )
    ... when any
    when != res->start
    //

    Signed-off-by: Julia Lawall
    Signed-off-by: Wim Van Sebroeck

    Julia Lawall
     
  • this patch separates fimd specific power on/off function from pm function
    and the pm interfaces will call that function for power on or off.
    and also removes unnecessary codes of resume function.

    Signed-off-by: Inki Dae
    Signed-off-by: Kyungmin Park

    Inki Dae
     
  • FB based FIMD and DRM based FIMD drivers use same hardware
    so with this patch, only one of them would be selected.

    Signed-off-by: Inki Dae
    Signed-off-by: Kyungmin Park

    Inki Dae
     
  • DRM_EXYNOS_HDMI driver and VIDEO_SAMSUNG_S5P_TV driver should be
    not enabled at once because they use same HW blocks. So dependency
    for DRM_EXYNOS_HDMI is fixed to check VIDEO_SAMSUNG_S5P_TV=n.

    Signed-off-by: Seung-Woo Kim
    Signed-off-by: Inki Dae
    Signed-off-by: Kyungmin Park

    Seung-Woo Kim
     
  • To make a api pair of request_mem_region and release_mem_region,
    release_mem_region is used instead of release_resource.

    Signed-off-by: Seung-Woo Kim
    Signed-off-by: Inki Dae
    Signed-off-by: Kyungmin Park

    Seung-Woo Kim
     
  • * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
    [media] cinergyT2-fe: Fix bandwdith settings
    [media] V4L: atmel-isi: add clk_prepare()/clk_unprepare() functions
    [media] cxd2820r: sleep on DVB-T/T2 delivery system switch
    [media] anysee: fix CI init
    [media] cxd2820r: remove unused parameter from cxd2820r_attach
    [media] cxd2820r: fix dvb_frontend_ops

    Linus Torvalds
     
  • Russell King
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
    m68k: Fix assembler constraint to prevent overeager gcc optimisation
    mac_esp: rename irq
    mac_scsi: dont enable mac_scsi irq before requesting it
    macfb: fix black and white modes
    m68k/irq: Remove obsolete IRQ_FLG_* definitions

    Fix up trivial conflict in arch/m68k/kernel/process_mm.c as per Geert.

    Linus Torvalds
     
  • In error cleanup of agp_backend_initialize() and in agp_backend_cleanup(),
    agp_destroy_page() is passed virtual address of the scratch page. This
    leads to a kernel warning if the initialization fails (or upon regular
    cleanup) as pointer to struct page should be passed instead.

    Signed-off-by: Michal Kubecek
    Signed-off-by: Dave Airlie

    Michal Kubecek
     
  • * 'drm-intel-fixes' of git://people.freedesktop.org/~keithp/linux: (24 commits)
    drm/i915: fixup forcewake spinlock fallout in drpc debugfs function
    drm/i915: debugfs: show semaphore registers also on gen7
    drm/i915: allow userspace forcewake references also on gen7
    drm/i915: Re-enable gen7 RC6 and GPU turbo after resume.
    drm/i915: Correct debugfs printout for RC1e.
    Revert "drm/i915: Work around gen7 BLT ring synchronization issues."
    drm/i915: rip out the HWSTAM missed irq workaround
    drm/i915: paper over missed irq issues with force wake voodoo
    drm/i915: Hold gt_lock across forcewake register reads
    drm/i915: Hold gt_lock during reset
    drm/i915: Move reset forcewake processing to gen6_do_reset
    drm/i915: protect force_wake_(get|put) with the gt_lock
    drm/i915: convert force_wake_get to func pointer in the gpu reset code
    drm/i915: sprite init failure on pre-SNB is not a failure
    drm/i915: VBT Parser cleanup for eDP block
    drm/i915: mask transcoder select bits before setting them on LVDS
    drm/i915: Add Clientron E830 to the ignore LVDS list
    CHROMIUM: i915: Add DMI override to skip CRT initialization on ZGB
    drm/i915: handle 3rd pipe
    drm/i915: simplify pipe checking
    ...

    Dave Airlie
     

26 Jan, 2012

4 commits

  • * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
    drm/ttm: fix two regressions since move_notify changes
    drm/radeon: avoid deadlock if GPU lockup is detected in ib_pool_get
    drm/radeon: silence out possible lock dependency warning
    drm: Fix authentication kernel crash
    gma500: Fix shmem mapping
    drm/radeon/kms: refine TMDS dual link checks
    drm/radeon/kms: use drm_detect_hdmi_monitor for picking encoder mode
    drm/radeon/kms: rework modeset sequence for DCE41 and DCE5
    drm/radeon/kms: move panel mode setup into encoder mode set
    drm/radeon/kms: move disp eng pll setup to init path
    drm/radeon: finish getting bios earlier
    drm/radeon: fix invalid memory access in radeon_atrm_get_bios()
    drm/radeon/kms: add some missing semaphore init
    drm/radeon/kms: Add an MSI quirk for Dell RS690
    gpu, drm, sis: Don't return uninitialized variable from sis_driver_load()

    Linus Torvalds
     
  • A fairly simple bugfix for a WARN_ON() which was triggered in the cache
    reset support as a result of some subsequent work. There's only one
    mainline user for the code path that's updated right now (wm8994) so
    should be low risk.

    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
    regmap: Reset cache status when reinitialsing the cache

    Linus Torvalds
     
  • Both changes in dc97b3409a790d2a21aac6e5cdb99558b5944119 cause serious
    regressions in the nouveau driver.

    move_notify() was originally able to presume that bo->mem is the old node,
    and new_mem is the new node. The above commit moves the call to
    move_notify() to after move() has been done, which means that now, sometimes,
    new_mem isn't the new node at all, bo->mem is, and new_mem points at a
    stale, possibly-just-been-killed-by-move node.

    This is clearly not a good situation. This patch reverts this change, and
    replaces it with a cleanup in the move() failure path instead.

    The second issue is that the call to move_notify() from cleanup_memtype_use()
    causes the TTM ghost objects to get passed into the driver. This is clearly
    bad as the driver knows nothing about these "fake" TTM BOs, and ends up
    accessing uninitialised memory.

    I worked around this in nouveau's move_notify() hook by ensuring the BO
    destructor was nouveau's. I don't particularly like this solution, and
    would rather TTM never pass the driver these objects. However, I don't
    clearly understand the reason why we're calling move_notify() here anyway
    and am happy to work around the problem in nouveau instead of breaking the
    behaviour expected by other drivers.

    Signed-off-by: Ben Skeggs
    Reviewed-by: Thomas Hellstrom
    Cc: Jerome Glisse
    Signed-off-by: Dave Airlie

    Ben Skeggs
     
  • My forcewake spinlock patches have a functional conflict with Ben
    Widawsky's gen6 drpc support for debugfs. Result was a benign warning
    about trying to read an non-atomic variabla with atomic_read.

    Note that the entire check is racy anyway and purely informational.
    Also update it to reflect the forcewake voodoo changes, the kernel can
    now also hold onto a forcewake reference for longer times.

    Signed-Off-by: Daniel Vetter
    Reviewed-by: Ben Widawsky
    Signed-off-by: Keith Packard

    Daniel Vetter
     

25 Jan, 2012

1 commit

  • If GPU lockup is detected in ib_pool get we are holding the ib_pool
    mutex that will be needed by the GPU reset code. As ib_pool code is
    safe to be reentrant from GPU reset code we should not block if we
    are trying to get the ib pool lock on the behalf of the same userspace
    caller, thus use the radeon_mutex_lock helper.

    Signed-off-by: Jerome Glisse
    Signed-off-by: Dave Airlie

    Jerome Glisse