08 Jul, 2014

31 commits

  • This property will be used by the MST code to provide userspace
    with a path to parse so it can recognise connectors around hotplugs.

    Reviewed-by: Todd Previte
    Signed-off-by: Dave Airlie

    Dave Airlie
     
  • This is required to get fbcon probing to work on new connectors,
    callers should acquire the mode config lock before calling these.

    Reviewed-by: Todd Previte
    Signed-off-by: Dave Airlie

    Dave Airlie
     
  • This can be called to update things after dynamic connectors/encoders
    are created/deleted.

    Reviewed-by: Todd Previte
    Signed-off-by: Dave Airlie

    Dave Airlie
     
  • This is a very crude page_flip implementation for UDL. There are ways
    to make it better (make it asynchronous, make it do actual vsynced
    flips...) but that's for another patch.

    [airlied: fixup primary change]

    Signed-off-by: Stéphane Marchesin
    Signed-off-by: Dave Airlie

    Stéphane Marchesin
     
  • This is needed to be able to send page flip completion events.
    Also while I'm at it, fix the error paths on init.

    Signed-off-by: Stéphane Marchesin
    Signed-off-by: Dave Airlie

    Stéphane Marchesin
     
  • A race condition currently exists on Tegra, where it can happen that a
    monitor attached via HDMI isn't detected during the initial FB helper
    setup, but the hotplug event happens too early to be processed by the
    poll helpers because they haven't been initialized yet. This happens
    because on some boards the HDMI driver can control the regulator that
    supplies the +5V pin on the HDMI connector. Therefore depending on the
    timing between the initialization of the HDMI driver and the rest of
    DRM, it's possible that the monitor returns the hotplug signal right
    within the window where we would miss it.

    Unfortunately, drm_kms_helper_poll_init() will wreak havoc when called
    before at least some parts of the FB helpers have been set up.

    This commit fixes this by splitting out the minimum of initialization
    required to make drm_kms_helper_poll_init() work into a separate
    function that can be called early. It is then safe to move all of the
    poll helper initialization to an earlier point in time (before the
    HDMI output driver has a chance to enable the +5V supply). That way if
    the hotplug signal is returned before the initial FB helper setup, the
    monitor will be forcefully detected at that point, and if the hotplug
    signal is returned after that it will be properly handled by the poll
    helpers.

    Signed-off-by: Thierry Reding
    Signed-off-by: Dave Airlie

    Thierry Reding
     
  • To implement hotplug detection in a race-free manner, drivers must call
    drm_kms_helper_poll_init() before hotplug events can be triggered. Such
    events can be triggered right after any of the encoders or connectors
    are initialized. At the same time, if the drm_fb_helper_hotplug_event()
    helper is used by a driver, then the poll helper requires some parts of
    the FB helper to be initialized to prevent a crash.

    At the same time, drm_fb_helper_init() requires information that is not
    necessarily available at such an early stage (number of CRTCs and
    connectors), so it cannot be used yet.

    Add a new helper, drm_fb_helper_prepare(), that initializes the bare
    minimum needed to allow drm_kms_helper_poll_init() to execute and any
    subsequent hotplug events to be processed properly.

    Reviewed-by: Daniel Vetter
    Signed-off-by: Thierry Reding
    Signed-off-by: Dave Airlie

    Thierry Reding
     
  • There's no need for this to be modifiable. Make it const so that it can
    be put into the .rodata section.

    Reviewed-by: Daniel Vetter
    Signed-off-by: Thierry Reding
    Acked-by: Russell King
    Signed-off-by: Dave Airlie

    Thierry Reding
     
  • Some drivers need to be able to have a perfect race-free fbcon setup.
    Current drivers only enable hotplug processing after the call to
    drm_fb_helper_initial_config which leaves a tiny but important race.

    This race is especially noticable on embedded platforms where the
    driver itself enables the voltage for the hdmi output, since only then
    will monitors (after a bit of delay, as usual) respond by asserting
    the hpd pin.

    Most of the infrastructure is already there with the split-out
    drm_fb_helper_init. And drm_fb_helper_initial_config already has all
    the required locking to handle concurrent hpd events since

    commit 53f1904bced78d7c00f5d874c662ec3ac85d0f9f
    Author: Daniel Vetter
    Date: Thu Mar 20 14:26:35 2014 +0100

    drm/fb-helper: improve drm_fb_helper_initial_config locking

    The only missing bit is making drm_fb_helper_hotplug_event save
    against concurrent calls of drm_fb_helper_initial_config. The only
    unprotected bit is the check for fb_helper->fb.

    With that drivers can first initialize the fb helper, then enabel
    hotplug processing and then set up the initial config all in a
    completely race-free manner. Update kerneldoc and convert i915 as a
    proof of concept.

    Feature requested by Thierry since his tegra driver atm reliably boots
    slowly enough to misses the hotplug event for an external hdmi screen,
    but also reliably boots to quickly for the hpd pin to be asserted when
    the fb helper calls into the hdmi ->detect function.

    Cc: Thierry Reding
    Signed-off-by: Daniel Vetter
    Signed-off-by: Thierry Reding
    Signed-off-by: Dave Airlie

    Daniel Vetter
     
  • Fix a sparse warning: ttm_bo_reserve()'s last argument is a
    pointer to a struct, so use NULL as nullpointer.

    Signed-off-by: Martin Kepplinger
    Reviewed-by: Jingoo Han
    Signed-off-by: Dave Airlie

    Martin Kepplinger
     
  • Use module_init instead of late_initcall, as is the norm for modular
    drivers.

    module_init was used until 6e8de0bd6a51fdeebd5d975c4fcc426f730b339b
    ("drm/tilcdc: add encoder slave (v2)") changed it to a late_initcall,
    but it does not explain why. Tests show it's working properly with
    module_init.

    Signed-off-by: Guido Martínez
    Tested-by: Darren Etheridge
    Signed-off-by: Dave Airlie

    Guido Martínez
     
  • The TI tilcdc driver is designed with a notion of submodules. Currently,
    at unload time, these submodules are iterated and destroyed.

    Now that the tilcdc remove order is fixed, this can be handled perfectly
    by the kernel using the device infrastructure, since each submodule
    is a kernel driver itself, and they are only destroy()'ed at unload
    time. Therefore we move the destroy() functionality to each submodule's
    remove().

    Also, remove some checks in the unloading process since the new code
    guarantees the resources are allocated and need a release.

    Signed-off-by: Guido Martínez
    Tested-by: Darren Etheridge
    Signed-off-by: Dave Airlie

    Guido Martínez
     
  • display_timings_release calls kfree on the display_timings object passed
    to it. Calling kfree after it is wrong. SLUB debug showed the following
    warning:

    =============================================================================
    BUG kmalloc-64 (Tainted: G W ): Object already free
    -----------------------------------------------------------------------------

    Disabling lock debugging due to kernel taint
    INFO: Allocated in of_get_display_timings+0x2c/0x214 age=601 cpu=0
    pid=884
    __slab_alloc.constprop.79+0x2e0/0x33c
    kmem_cache_alloc+0xac/0xdc
    of_get_display_timings+0x2c/0x214
    panel_probe+0x7c/0x314 [tilcdc]
    platform_drv_probe+0x18/0x48
    [..snip..]
    INFO: Freed in panel_destroy+0x18/0x3c [tilcdc] age=0 cpu=0 pid=907
    __slab_free+0x34/0x330
    panel_destroy+0x18/0x3c [tilcdc]
    tilcdc_unload+0xd0/0x118 [tilcdc]
    drm_dev_unregister+0x24/0x98
    [..snip..]

    Signed-off-by: Guido Martínez
    Tested-by: Darren Etheridge
    Cc: #v3.9+
    Signed-off-by: Dave Airlie

    Guido Martínez
     
  • Unregister resources in the correct order on tilcdc_drm_fini, which is
    the reverse order they were registered during tilcdc_drm_init.

    This also means unregistering the driver before releasing its resources.

    Signed-off-by: Guido Martínez
    Tested-by: Darren Etheridge
    Cc: #v3.9+
    Signed-off-by: Dave Airlie

    Guido Martínez
     
  • The driver did not unregister the allocated framebuffer, which caused
    memory leaks (and memory manager WARNs) when unloading. Also, the
    framebuffer device under /dev still existed after unloading.

    Add a call to drm_fbdev_cma_fini when unloading the module to prevent
    both issues.

    Signed-off-by: Guido Martínez
    Tested-by: Darren Etheridge
    Cc: #v3.9+
    Signed-off-by: Dave Airlie

    Guido Martínez
     
  • Add a drm_sysfs_connector_remove call when we destroy the panel to make
    sure the connector node in sysfs gets deleted.

    This is required for proper unload and re-load of this driver, otherwise
    we will get a warning about a duplicate filename in sysfs.

    Signed-off-by: Guido Martínez
    Tested-by: Darren Etheridge
    Cc: #v3.9+
    Signed-off-by: Dave Airlie

    Guido Martínez
     
  • Add a drm_sysfs_connector_remove call when we destroy the panel to make
    sure the connector node in sysfs gets deleted.

    This is required for proper unload and re-load of this driver as a
    module. Without this, we would get a warning at re-load time like so:

    tda998x 0-0070: found TDA19988
    ------------[ cut here ]------------
    WARNING: CPU: 0 PID: 825 at fs/sysfs/dir.c:31 sysfs_warn_dup+0x54/0x74()
    sysfs: cannot create duplicate filename '/class/drm/card0-HDMI-A-1'
    Modules linked in: [..]
    CPU: 0 PID: 825 Comm: modprobe Not tainted 3.15.0-rc4-00027-g9dcdef4 #82
    [] (unwind_backtrace) from [] (show_stack+0x10/0x14)
    [] (show_stack) from [] (warn_slowpath_common+0x68/0x88)
    [] (warn_slowpath_common) from [] (warn_slowpath_fmt+0x30/0x40)
    [] (warn_slowpath_fmt) from [] (sysfs_warn_dup+0x54/0x74)
    [] (sysfs_warn_dup) from [] (sysfs_do_create_link_sd.isra.2+0xb0/0xb8)
    [] (sysfs_do_create_link_sd.isra.2) from [] (device_add+0x338/0x520)
    [] (device_add) from [] (device_create_groups_vargs+0xa0/0xc4)
    [] (device_create_groups_vargs) from [] (device_create+0x24/0x2c)
    [] (device_create) from [] (drm_sysfs_connector_add+0x64/0x204)
    [] (drm_sysfs_connector_add) from [] (slave_modeset_init+0x120/0x1bc [tilcdc])
    [] (slave_modeset_init [tilcdc]) from [] (tilcdc_load+0x214/0x4c0 [tilcdc])
    [] (tilcdc_load [tilcdc]) from [] (drm_dev_register+0xa4/0x104)
    [..snip..]
    ---[ end trace 4df8d614936ebdee ]---
    [drm:drm_sysfs_connector_add] *ERROR* failed to register connector device: -17

    Signed-off-by: Guido Martínez
    Tested-by: Darren Etheridge
    Cc: #v3.9+
    Signed-off-by: Dave Airlie

    Guido Martínez
     
  • Add a drm_sysfs_connector_remove call when we destroy the panel to make
    sure the connector node in sysfs gets deleted.

    This is required for proper unload and re-load of this driver as a
    module. Without this, we would get a warning at re-load time like so:

    ------------[ cut here ]------------
    WARNING: CPU: 0 PID: 824 at fs/sysfs/dir.c:31 sysfs_warn_dup+0x54/0x74()
    sysfs: cannot create duplicate filename '/class/drm/card0-LVDS-1'
    Modules linked in: [...]
    CPU: 0 PID: 824 Comm: modprobe Not tainted 3.15.0-rc4-00027-g6484f96-dirty #81
    [] (unwind_backtrace) from [] (show_stack+0x10/0x14)
    [] (show_stack) from [] (warn_slowpath_common+0x68/0x88)
    [] (warn_slowpath_common) from [] (warn_slowpath_fmt+0x30/0x40)
    [] (warn_slowpath_fmt) from [] (sysfs_warn_dup+0x54/0x74)
    [] (sysfs_warn_dup) from [] (sysfs_do_create_link_sd.isra.2+0xb0/0xb8)
    [] (sysfs_do_create_link_sd.isra.2) from [] (device_add+0x338/0x520)
    [] (device_add) from [] (device_create_groups_vargs+0xa0/0xc4)
    [] (device_create_groups_vargs) from [] (device_create+0x24/0x2c)
    [] (device_create) from [] (drm_sysfs_connector_add+0x64/0x204)
    [] (drm_sysfs_connector_add) from [] (panel_modeset_init+0xb8/0x134 [tilcdc])
    [] (panel_modeset_init [tilcdc]) from [] (tilcdc_load+0x214/0x4c0 [tilcdc])
    [] (tilcdc_load [tilcdc]) from [] (drm_dev_register+0xa4/0x104)
    [ .. snip .. ]
    ---[ end trace b2d09cd9578b0497 ]---
    [drm:drm_sysfs_connector_add] *ERROR* failed to register connector device: -17

    Signed-off-by: Guido Martínez
    Tested-by: Darren Etheridge
    Cc: #v3.9+
    Signed-off-by: Dave Airlie

    Guido Martínez
     
  • The "flags" parameter of the DRM_IOCTL_MODE_ADDFB2 ioctl must be
    propagated and used by the driver.
    The only possible value of flags is DRM_MODE_FB_INTERLACED.

    Signed-off-by: Fabien Dessenne
    Reviewed-by: Benjamin GAIGNARD
    Signed-off-by: Dave Airlie

    Fabien DESSENNE
     
  • bo->mem.placement is not initialized when ttm_bo_man_get_node is called,
    so the flag had no effect at all.

    v2: change nouveau and vmwgfx as well

    Signed-off-by: Christian König
    Cc: stable@vger.kernel.org
    Signed-off-by: Dave Airlie

    Christian König
     
  • The VGA arbiter does not allow devices to "own" resources that it
    doesn't "decode". However, it does allow devices to "lock" resources
    that it doesn't decode. This gets us into trouble because locking
    the resource goes through the same bridge routing updates regardless
    of whether we decode the resource. This means that when a non-decoded
    resource is released, the bridge is left with VGA routing enabled and
    locking a different device won't clear it.

    This happens in the following scenario:

    VGA device 01:00.0 (VGA1) is owned by the radeon driver, which
    registers a set_vga_decode function which releases legacy VGA decodes.

    VGA device 02:00.0 (VGA2) is any VGA device.

    VGA1 user locks VGA resources triggering first_use callback of
    set_vga_decoded, clearing "decode" and "owns" of legacy resources
    on VGA1.

    VGA1 user unlocks VGA resources.

    VGA2 user locks VGA resources, which skips VGA1 as conflicting as it
    does not "own" legacy resources, although VGA routing is still enabled
    for the VGA1 bridge. VGA routing is enabled on VGA2 bridge.

    VGA2 may or may not receive VGA transactions depending on the bus
    priority of VGA1 vs VGA2 bridge.

    To resolve this, we need to allow devices to "own" resources that they
    do not "decode". This way we can track bus ownership of VGA. When a
    device decodes VGA, it only means that we must update the command bits
    in cases where the conflicting device is on the same bus.

    Signed-off-by: Alex Williamson
    Cc: Ville Syrjälä
    Cc: Daniel Vetter
    Cc: Dave Airlie
    Signed-off-by: Dave Airlie

    Alex Williamson
     
  • * 'drm-next' of git://people.freedesktop.org/~dvdhrm/linux:
    drm/omap: remove null test before kfree
    drm/bochs: replace ALIGN(PAGE_SIZE) by PAGE_ALIGN
    drm/ttm: recognize ARM arch in ioprot handler
    drm: enable render-nodes by default
    drm/ttm: remove declaration of ttm_tt_cache_flush
    drm/gem: remove misleading gfp parameter to get_pages()
    drm/omap: use __GFP_DMA32 for shmem-backed gem
    drm/i915: use shmem helpers if possible

    Conflicts:
    drivers/gpu/drm/drm_stub.c

    Dave Airlie
     
  • misc core patches picked up by Daniel and Jani.

    * tag 'topic/core-stuff-2014-06-30' of git://anongit.freedesktop.org/drm-intel:
    drm/fb-helper: Remove unnecessary list empty check in drm_fb_helper_debug_enter()
    drm/fb-helper: Redundant info->fix.type_aux setting in drm_fb_helper_fill_fix()
    drm/debugfs: add an "edid_override" file per connector
    drm/debugfs: add a "force" file per connector
    drm: add register and unregister functions for connectors
    drm: fix uninitialized acquire_ctx fields (v2)
    drm: Driver-specific ioctls range from 0x40 to 0x9f
    drm: Don't export internal module variables

    Dave Airlie
     
  • Pull request of 2014-07-04

    * tag 'vmwgfx-next-2014-07-04' of git://people.freedesktop.org/~thomash/linux:
    drm/vmwgfx: Fix compat shader namespace

    Dave Airlie
     
  • Fix checkpatch warning:
    WARNING: kfree(NULL) is safe this check is probably not required

    Cc: David Airlie
    Cc: Tomi Valkeinen
    Signed-off-by: Fabian Frederick
    Signed-off-by: David Herrmann

    Fabian Frederick
     
  • use mm.h definition

    Signed-off-by: Fabian Frederick
    Signed-off-by: David Herrmann

    Fabian Frederick
     
  • Nouveau can now be used on ARM, so add an ioprot handler for this
    architecture.

    Signed-off-by: Lucas Stach
    Signed-off-by: Alexandre Courbot
    Signed-off-by: David Herrmann

    Lucas Stach
     
  • We introduced render-nodes about 1/2 year ago and no problems showed up.
    Remove the drm_rnodes argument and enable them by default now.

    Acked-by: Daniel Vetter
    Acked-by: Alex Deucher
    Signed-off-by: David Herrmann

    David Herrmann
     
  • ttm_tt_cache_flush's implementation was removed in 2009 by commit
    c9c97b8c, but its declaration has been hiding in ttm_bo_driver.h since
    then.

    It has been surviving in the dark for too long now ; give it the mercy
    blow.

    Reviewed-by: Thierry Reding
    Reviewed-by: David Herrmann
    Signed-off-by: Alexandre Courbot
    Signed-off-by: David Herrmann

    Alexandre Courbot
     
  • drm_gem_get_pages() currently allows passing a 'gfp' parameter that is
    passed to shmem combined with mapping_gfp_mask(). Given that the default
    mapping_gfp_mask() is GFP_HIGHUSER, it is _very_ unlikely that anyone will
    ever make use of that parameter. In fact, all drivers currently pass
    redundant flags or 0.

    This patch removes the 'gfp' parameter. The only reason to keep it is to
    remove flags like __GFP_WAIT. But in its current form, it can only be used
    to add flags. So to remove __GFP_WAIT, you'd have to drop it from the
    mapping_gfp_mask, which again is stupid as this mask is used by shmem-core
    for other allocations, too.

    If any driver ever requires that parameter, we can introduce a new helper
    that takes the raw 'gfp' parameter. The caller'd be responsible to combine
    it with mapping_gfp_mask() in a suitable way. The current
    drm_gem_get_pages() helper would then simply use mapping_gfp_mask() and
    call the new helper. This is what shmem_read_mapping_pages{_gfp,} does
    right now.

    Moreover, the gfp-zone flag-usage is not obvious: If you pass a modified
    zone, shmem core will WARN() or even BUG(). In other words, the following
    must be true for 'gfp' passed to shmem_read_mapping_pages_gfp():
    gfp_zone(mapping_gfp_mask(mapping)) == gfp_zone(gfp)
    Add a comment to drm_gem_read_pages() explaining that constraint.

    Signed-off-by: David Herrmann

    David Herrmann
     
  • OMAP requires bo-pages to be in the DMA32 zone. Explicitly request this by
    setting __GFP_DMA32 as mapping-gfp-mask during shmem initialization. This
    drops HIGHMEM from the gfp-mask and uses DMA32 instead. shmem-core takes
    care to relocate pages during swap-in in case they have been loaded into
    the wrong zone.

    It is _not_ possible to pass __GFP_DMA32 to shmem_read_mapping_page_gfp()
    as the page might have already been swapped-in at that time. The zone-mask
    must be set during initialization and be kept constant for now.

    Remove the now superfluous TODO in omap_gem.c.

    Reviewed-by: Rob Clark
    Tested-by: Tomi Valkeinen
    Signed-off-by: David Herrmann

    David Herrmann
     

07 Jul, 2014

3 commits

  • Linus Torvalds
     
  • Pull devicetree bugfix from Grant Likely:
    "Important bug fix for parsing 64-bit addresses on 32-bit platforms.
    Without this patch the kernel will try to use memory ranges that
    cannot be reached"

    * tag 'dt-for-linus' of git://git.secretlab.ca/git/linux:
    of: Check for phys_addr_t overflows in early_init_dt_add_memory_arch

    Linus Torvalds
     
  • Pull SCSI fixes from James Bottomley:
    "This is a set of 13 fixes, a MAINTAINERS update and a sparse update.
    The fixes are mostly correct value initialisations, avoiding NULL
    derefs and some uninitialised pointer avoidance.

    All the patches have been incubated in -next for a few days. The
    final patch (use the scsi data buffer length to extract transfer size)
    has been rebased to add a cc to stable, but only the commit message
    has changed"

    * tag 'scsi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
    [SCSI] use the scsi data buffer length to extract transfer size
    virtio-scsi: fix various bad behavior on aborted requests
    virtio-scsi: avoid cancelling uninitialized work items
    ibmvscsi: Add memory barriers for send / receive
    ibmvscsi: Abort init sequence during error recovery
    qla2xxx: Fix sparse warning in qla_target.c.
    bnx2fc: Improve stats update mechanism
    bnx2fc: do not scan uninitialized lists in case of error.
    fc: ensure scan_work isn't active when freeing fc_rport
    pm8001: Fix potential null pointer dereference and memory leak.
    MAINTAINERS: Update LSILOGIC MPT FUSION DRIVERS (FC/SAS/SPI) maintainers Email IDs
    be2iscsi: remove potential junk pointer free
    be2iscsi: add an missing goto in error path
    scsi_error: set DID_TIME_OUT correctly
    scsi_error: fix invalid setting of host byte

    Linus Torvalds
     

06 Jul, 2014

6 commits

  • Pull drm fixes from Dave Airlie:
    "i915, tda998x and vmwgfx fixes,

    The main one is i915 fix for missing VGA connectors, along with some
    fixes for the tda998x from Russell fixing some modesetting problems.

    (still on holidays, but got a spare moment to find these)"

    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
    drm/vmwgfx: Fix incorrect write to read-only register v2:
    drm/i915: Drop early VLV WA to fix Voltage not getting dropped to Vmin
    drm/i915: only apply crt_present check on VLV
    drm/i915: Wait for vblank after enabling the primary plane on BDW
    drm/i2c: tda998x: add some basic mode validation
    drm/i2c: tda998x: faster polling for edid
    drm/i2c: tda998x: move drm_i2c_encoder_destroy call

    Linus Torvalds
     
  • Pull ARM SoC fixes from Olof Johansson:
    "This week's arm-soc fixes:

    - A set of of OMAP patches that we had missed Tony's pull request of:
    * Reset fix for am43xx
    * Proper OPP table for omap5
    * Fix for SoC detection of one of the DRA7 SoCs
    * hwmod updates to get SATA and OCP to work on omap5 (drivers
    merged in 3.16)
    * ... plus a handful of smaller fixes
    - sunxi needed to re-add machine specific restart code that was
    removed in anticipation of a watchdog driver being merged for 3.16,
    and it didn't make it in.
    - Marvell fixes for PCIe on SMP and a big-endian fix.
    - A trivial defconfig update to make my capri test board boot with
    bcm_defconfig again.

    ... and a couple of MAINTAINERS updates, one to claim new Keystone
    drivers that have been merged, and one to merge MXS and i.MX (both
    Freescale platforms).

    The largest diffs come from the hwmod code for omap5 and the re-add of
    the restart code on sunxi. The hwmod stuff is quite late at this
    point but it slipped through cracks repeatedly while coming up the
    maintainer chain and only affects the one SoC so risk is low"

    * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    MAINTAINERS: Add few more Keystone drivers
    MAINTAINERS: merge MXS entry into IMX one
    ARM: sunxi: Reintroduce the restart code for A10/A20 SoCs
    ARM: mvebu: fix cpuidle implementation to work on big-endian systems
    ARM: mvebu: update L2/PCIe deadlock workaround after L2CC cleanup
    ARM: mvebu: move Armada 375 external abort logic as a quirk
    ARM: bcm: Fix bcm and multi_v7 defconfigs
    ARM: dts: dra7-evm: remove interrupt binding
    ARM: OMAP2+: Fix parser-bug in platform muxing code
    ARM: DTS: dra7/dra7xx-clocks: ATL related changes
    ARM: OMAP2+: drop unused function
    ARM: dts: am43x-epos-evm: Add Missing cpsw-phy-sel for am43x-epos-evm
    ARM: dts: omap5: Update CPU OPP table as per final production Manual
    ARM: DRA722: add detection of SoC information
    ARM: dts: Enable twl4030 off-idle configuration for selected omaps
    ARM: OMAP5: hwmod: Add ocp2scp3 and sata hwmods
    ARM: OMAP2+: hwmod: Change hardreset soc_ops for AM43XX

    Linus Torvalds
     
  • Pull irq fixes from Thomas Gleixner:
    "A few minor fixlets in ARM SoC irq drivers and a fix for a memory leak
    which I introduced in the last round of cleanups :("

    * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    genirq: Fix memory leak when calling irq_free_hwirqs()
    irqchip: spear_shirq: Fix interrupt offset
    irqchip: brcmstb-l2: Level-2 interrupts are edge sensitive
    irqchip: armada-370-xp: Mask all interrupts during initialization.

    Linus Torvalds
     
  • Fixes for 3.16-rc3; most importantly Jesse brings back VGA he took away
    on a bunch of machines. Also a vblank fix for BDW and a power workaround
    fix for VLV.

    * tag 'drm-intel-fixes-2014-07-03' of git://anongit.freedesktop.org/drm-intel:
    drm/i915: Drop early VLV WA to fix Voltage not getting dropped to Vmin
    drm/i915: only apply crt_present check on VLV
    drm/i915: Wait for vblank after enabling the primary plane on BDW

    Dave Airlie
     
  • fix to a 3.15 commit.

    * 'vmwgfx-fixes-3.16' of git://people.freedesktop.org/~thomash/linux:
    drm/vmwgfx: Fix incorrect write to read-only register v2:

    Dave Airlie
     
  • mode fixes for tda998x.

    * 'tda998x-fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-cubox:
    drm/i2c: tda998x: add some basic mode validation
    drm/i2c: tda998x: faster polling for edid
    drm/i2c: tda998x: move drm_i2c_encoder_destroy call

    Dave Airlie