Skip to content
  1. Aug 03, 2014
    • YoungJun Cho's avatar
      ARM: dts: samsung-fimd: add LCD I80 interface specific properties · 8e1c06cf
      YoungJun Cho authored
      
      
      In case of using MIPI DSI based I80 interface panel,
      the relevant registers should be set.
      So this patch adds relevant DT bindings.
      
      Signed-off-by: default avatarYoungJun Cho <yj44.cho@samsung.com>
      Acked-by: default avatarInki Dae <inki.dae@samsung.com>
      Acked-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      8e1c06cf
    • YoungJun Cho's avatar
      drm/exynos: use wait_event_timeout() for safety usage · e35d7223
      YoungJun Cho authored
      
      
      There could be the case that the page flip operation isn't finished correctly
      with some abnormal condition such as panel reset. So this patch replaces
      wait_event() with wait_event_timeout() to avoid waiting for page flip completion
      infinitely.
      And clears exynos_crtc->pending_flip in exynos_drm_crtc_page_flip()
      when exynos_drm_crtc_mode_set_commit() is failed.
      
      Signed-off-by: default avatarYoungJun Cho <yj44.cho@samsung.com>
      Acked-by: default avatarInki Dae <inki.dae@samsung.com>
      Acked-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
      Reviewed-by: default avatarAndrzej Hajda <a.hajda@samsung.com>
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      e35d7223
    • YoungJun Cho's avatar
      drm/exynos: dsi: move the EoT packets configuration point · 2f36e33a
      YoungJun Cho authored
      
      
      This configuration could be used in MIPI DSI command mode also.
      And adds user manual description for display configuration.
      
      Signed-off-by: default avatarYoungJun Cho <yj44.cho@samsung.com>
      Acked-by: default avatarInki Dae <inki.dae@samsung.com>
      Acked-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
      Reviewed-by: default avatarAndrzej Hajda <a.hajda@samsung.com>
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      2f36e33a
    • Marek Szyprowski's avatar
      drm/exynos: hdmi: enable exynos 4210 and 4x12 soc support · ff830c96
      Marek Szyprowski authored
      
      
      Configuration sets for Exynos 4210 and 4x12 SoC were already defined in
      Exynos HDMI and Mixed drivers, but they lacked proper linking to device
      tree 'compatible' values. This patch fixes this issue adding support for
      following compatible values: samsung,exynos4210-mixer,
      samsung,exynos4212-mixer and samsung,exynos4210-hdmi. It also corrects
      access to sclk_mixer clock, which is available only on Exynos 4210.
      
      Signed-off-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      ff830c96
    • Marek Szyprowski's avatar
      drm/exynos: hdmi: make 'hdmi-en' regulator optional and keep it enabled · 05fdf987
      Marek Szyprowski authored
      
      
      HDMI_EN regulator is additional regulator for providing voltage source
      for DCC lines available on HDMI connector. When there is no power
      provided for DDC epprom, some TV-sets do not pulls up HPD (hot plug
      detect) line, what causes HDMI block to stay turned off. This patch
      enables HDMI_EN regulator (if available) on driver probe and keep it
      enabled all the time to let TV-set correctly signal HPD event.
      
      Signed-off-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      05fdf987
    • Jingoo Han's avatar
      drm/exynos: dp: Use correct module license · 8f589bba
      Jingoo Han authored
      
      
      According to the header comment in the source file, the driver is
      licensed under GPL v2, so update MODULE_LICENSE() to match that.
      
      Signed-off-by: default avatarJingoo Han <jg1.han@samsung.com>
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      8f589bba
    • Sachin Kamat's avatar
      drm/exynos: Remove unused variable in exynos_drm_gem.c · 4a958d38
      Sachin Kamat authored
      
      
      'exynos_gem_obj' is not used in the function. Remove it.
      
      Signed-off-by: default avatarSachin Kamat <sachin.kamat@samsung.com>
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      4a958d38
    • Sachin Kamat's avatar
      drm/exynos: Remove unused variable from exynos_hdmi.c · 7a9bf6e5
      Sachin Kamat authored
      
      
      'frame_size_code' is not used in the function. Remove it.
      
      Signed-off-by: default avatarSachin Kamat <sachin.kamat@samsung.com>
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      7a9bf6e5
    • Krzysztof Kozlowski's avatar
      drm/exynos: Fix NULL pointer exception when suspending without components · d50a1907
      Krzysztof Kozlowski authored
      
      
      Fix a NULL pointer exception when main exynos drm driver was probed
      successfully but no components were added (e.g. by incomplete DTS). In
      such case the exynos_drm_load() is never called and drvdata is NULL.
      
      The NULL pointer exception may theoretically also happen as a effect of race between
      adding components and main driver: if suspend of the driver happens
      before adding components.
      
      Trace:
      [    1.190295] [drm] Initialized drm 1.1.0 20060810
      [    1.195209] exynos-drm-ipp exynos-drm-ipp: drm ipp registered successfully.
      (...)
      [   24.001743] PM: Syncing filesystems ... done.
      [   24.002177] Freezing user space processes ... (elapsed 0.000 seconds) done.
      [   24.007403] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
      [   24.032559] Unable to handle kernel NULL pointer dereference at virtual address 00000134
      [   24.035007] pgd = dedd8000
      [   24.037734] [00000134] *pgd=5ee13831, *pte=00000000, *ppte=00000000
      [   24.043953] Internal error: Oops: 17 [#1] PREEMPT SMP ARM
      [   24.049329] Modules linked in:
      [   24.052371] CPU: 0 PID: 1 Comm: sh Not tainted 3.16.0-rc3-00035-geba20bbdde04-dirty #51
      [   24.060354] task: df478000 ti: df480000 task.ti: df480000
      [   24.065743] PC is at mutex_lock+0x10/0x50
      [   24.069733] LR is at drm_modeset_lock_all+0x30/0xbc
      [   24.074590] pc : [<c048516c>]    lr : [<c02a14b4>]    psr: a0000013
      [   24.074590] sp : df481db8  ip : 00000000  fp : c05e524c
      [   24.086045] r10: 00000002  r9 : c02c1fe4  r8 : deca5e44
      [   24.091253] r7 : 00000000  r6 : 00000000  r5 : 0000014c  r4 : 00000134
      [   24.097763] r3 : 00000000  r2 : 00000000  r1 : 00000000  r0 : 00000134
      [   24.104275] Flags: NzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
      [   24.111391] Control: 10c53c7d  Table: 5edd806a  DAC: 00000015
      [   24.117120] Process sh (pid: 1, stack limit = 0xdf480240)
      [   24.122502] Stack: (0xdf481db8 to 0xdf482000)
      [   24.126843] 1da0:                                                       dee01d80 c02a14b4
      [   24.135004] 1dc0: 00000000 00000000 c07aff98 c02aec7c 00000002 00000000 00000000 c07aff98
      [   24.143164] 1de0: deca5e10 c02aecf4 c02aecd4 c02c2010 00000000 c02c9470 00000000 00000000
      [   24.151322] 1e00: 00000000 00000000 deca5e10 deca5e10 00000000 c07aff98 00000002 deca5e44
      [   24.159482] 1e20: c06d8f78 c06fb800 deca5e78 c02ca660 df7baf00 007b0aa0 deca5e10 c06fb7c8
      [   24.167641] 1e40: c07aff98 00000000 00000002 c02cbe18 9757aec5 00000005 9757aec5 00000005
      [   24.175801] 1e60: ded1d380 00000003 00000003 c05c74d8 ded1d380 c07209d4 c05c7514 c07105d8
      [   24.183960] 1e80: 01e2a738 c0068a74 00000000 c05c7514 ded1d380 c071c6e0 00000004 c07105d8
      [   24.192119] 1ea0: 01e2a738 c047f1e0 c0600cc0 df481ec4 00000003 00000000 00000003 c05c74d8
      [   24.200278] 1ec0: ded1d380 c071c6e0 c05c7514 c07105d8 01e2a738 c0069444 c06d905c 00000003
      [   24.208438] 1ee0: 00000003 ded1d380 c06d9064 00000004 c05c3fc0 c0067d4c df535ab0 ded1d380
      [   24.216596] 1f00: df481f80 ded1d380 00000004 ded1d1cc ded1d1c0 c0221724 00000004 c016ca6c
      [   24.224756] 1f20: c016ca28 00000000 00000000 c016c1d4 00000000 00000000 b6f37000 df481f80
      [   24.232915] 1f40: decedd80 00000004 df480000 df480000 b6f37000 c0110920 df47839c 60000013
      [   24.241074] 1f60: 00000000 00000000 decedd80 decedd80 00000004 df480000 b6f37000 c0110da8
      [   24.249233] 1f80: 00000000 00000000 00000004 b6edf5d8 00000004 b6f37000 00000004 c000f2a8
      [   24.257393] 1fa0: 00001000 c000f0e0 b6edf5d8 00000004 00000001 b6f37000 00000004 00000000
      [   24.265551] 1fc0: b6edf5d8 00000004 b6f37000 00000004 00000004 00000001 00000000 01e2a738
      [   24.273711] 1fe0: 00000000 beba0a20 b6e1f4f0 b6e7022c 60000010 00000001 ffffffff ffffffff
      [   24.281885] [<c048516c>] (mutex_lock) from [<c02a14b4>] (drm_modeset_lock_all+0x30/0xbc)
      [   24.289950] [<c02a14b4>] (drm_modeset_lock_all) from [<c02aec7c>] (exynos_drm_suspend+0xc/0x64)
      [   24.298627] [<c02aec7c>] (exynos_drm_suspend) from [<c02aecf4>] (exynos_drm_sys_suspend+0x20/0x34)
      [   24.307568] [<c02aecf4>] (exynos_drm_sys_suspend) from [<c02c2010>] (platform_pm_suspend+0x2c/0x54)
      [   24.316597] [<c02c2010>] (platform_pm_suspend) from [<c02c9470>] (dpm_run_callback+0x48/0x170)
      [   24.325188] [<c02c9470>] (dpm_run_callback) from [<c02ca660>] (__device_suspend+0x128/0x39c)
      [   24.333606] [<c02ca660>] (__device_suspend) from [<c02cbe18>] (dpm_suspend+0x5c/0x314)
      [   24.341506] [<c02cbe18>] (dpm_suspend) from [<c0068a74>] (suspend_devices_and_enter+0x8c/0x598)
      [   24.350185] [<c0068a74>] (suspend_devices_and_enter) from [<c0069444>] (pm_suspend+0x4c4/0x5d0)
      [   24.358862] [<c0069444>] (pm_suspend) from [<c0067d4c>] (state_store+0x70/0xd4)
      [   24.366156] [<c0067d4c>] (state_store) from [<c0221724>] (kobj_attr_store+0x14/0x20)
      [   24.373885] [<c0221724>] (kobj_attr_store) from [<c016ca6c>] (sysfs_kf_write+0x44/0x48)
      [   24.381867] [<c016ca6c>] (sysfs_kf_write) from [<c016c1d4>] (kernfs_fop_write+0xc0/0x17c)
      [   24.390027] [<c016c1d4>] (kernfs_fop_write) from [<c0110920>] (vfs_write+0xa0/0x1c4)
      [   24.397750] [<c0110920>] (vfs_write) from [<c0110da8>] (SyS_write+0x40/0x8c)
      [   24.404782] [<c0110da8>] (SyS_write) from [<c000f0e0>] (ret_fast_syscall+0x0/0x3c)
      [   24.412332] Code: e92d4010 e1a04000 f57ff05b f590f000 (e1903f9f)
      [   24.418448] ---[ end trace cfa06690eabe8dd5 ]---
      [   24.423032] Kernel panic - not syncing: Fatal exception
      [   24.428220] CPU1: stopping
      [   24.430905] CPU: 1 PID: 0 Comm: swapper/1 Tainted: G      D       3.16.0-rc3-00035-geba20bbdde04-dirty #51
      [   24.440549] [<c0016440>] (unwind_backtrace) from [<c001294c>] (show_stack+0x10/0x14)
      [   24.448269] [<c001294c>] (show_stack) from [<c04811e8>] (dump_stack+0x80/0xcc)
      [   24.455472] [<c04811e8>] (dump_stack) from [<c001495c>] (handle_IPI+0x130/0x15c)
      [   24.462850] [<c001495c>] (handle_IPI) from [<c000862c>] (gic_handle_irq+0x60/0x68)
      [   24.470400] [<c000862c>] (gic_handle_irq) from [<c0013440>] (__irq_svc+0x40/0x70)
      [   24.477860] Exception stack(0xdf4bdf88 to 0xdf4bdfd0)
      [   24.482898] df80:                   ffffffed 00000000 00000000 00000000 df4bc000 c06d042c
      [   24.491058] dfa0: 00000000 ffffffed c06d03c0 00000000 c070c288 00000000 00000000 df4bdfd0
      [   24.499214] dfc0: c0010324 c0010328 60000013 ffffffff
      [   24.504254] [<c0013440>] (__irq_svc) from [<c0010328>] (arch_cpu_idle+0x28/0x30)
      [   24.511634] [<c0010328>] (arch_cpu_idle) from [<c005f110>] (cpu_startup_entry+0x2c4/0x3f0)
      [   24.519878] [<c005f110>] (cpu_startup_entry) from [<400086c4>] (0x400086c4)
      [   24.526821] ---[ end Kernel panic - not syncing: Fatal exception
      
      Signed-off-by: default avatarKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      d50a1907
  2. Aug 02, 2014
  3. Jul 30, 2014
  4. Jul 24, 2014
  5. Jul 23, 2014
    • Dave Airlie's avatar
      Merge branch 'component-for-drm' of git://ftp.arm.linux.org.uk/~rmk/linux-arm into drm-next · 78660d5f
      Dave Airlie authored
      pull the msm patch in.
      * 'component-for-drm' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
        drm: msm: update to use component match support
      78660d5f
    • Dave Airlie's avatar
      Merge branch 'drm-armada-devel' of git://ftp.arm.linux.org.uk/~rmk/linux-arm into drm-next · 8a105aaa
      Dave Airlie authored
      Merge armada changes, I've confirmed the componenet changes are same as in Greg's tree.
      * 'drm-armada-devel' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
        drm/armada: register crtc with port
        drm/armada: permit CRTCs to be registered as separate devices
        dt-bindings: add Marvell Dove LCD controller documentation
        drm/armada: update Armada 510 (Dove) to use "ext_ref_clk1" as the clock
        drm/armada: convert to componentized support
        drm: add of_graph endpoint helper to find possible CRTCs
        component: fix bug with legacy API
        drm/armada: make variant a CRTC thing
        drm/armada: move variant initialisation to CRTC init
        drm/armada: use number of CRTCs registered
        drm/armada: move IRQ handling into CRTC
        component: add support for component match array
        component: ignore multiple additions of the same component
        component: fix missed cleanup in case of devres failure
      8a105aaa
  6. Jul 22, 2014
    • Chris Wilson's avatar
      drm/i915: fix build without fbdev. · 7296c849
      Chris Wilson authored
      
      
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      7296c849
    • Dave Airlie's avatar
      drm/ttm: make device_released static · 4133d018
      Dave Airlie authored
      
      
      fixes sparse warning, and removes potentially dangerous name from namespace.
      
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      4133d018
    • Dave Airlie's avatar
      drm/ttm: use gfp_t instead of int for flags. · 3b9c214a
      Dave Airlie authored
      
      
      fixes sparse warning.
      
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      3b9c214a
    • Russell King's avatar
      drm: omapdrm: fix compiler errors · 2d31ca3a
      Russell King authored
      
      
      Regular randconfig nightly testing has detected problems with omapdrm.
      
      omapdrm fails to build when the kernel is built to support 64-bit DMA
      addresses and/or 64-bit physical addresses due to an assumption about
      the width of these types.
      
      Use %pad to print DMA addresses, rather than %x or %Zx (which is even
      more wrong than %x).  Avoid passing a uint32_t pointer into a function
      which expects dma_addr_t pointer.
      
      drivers/gpu/drm/omapdrm/omap_plane.c: In function 'omap_plane_pre_apply':
      drivers/gpu/drm/omapdrm/omap_plane.c:145:2: error: format '%x' expects argument of type 'unsigned int', but argument 5 has type 'dma_addr_t' [-Werror=format]
      drivers/gpu/drm/omapdrm/omap_plane.c:145:2: error: format '%x' expects argument of type 'unsigned int', but argument 6 has type 'dma_addr_t' [-Werror=format]
      make[5]: *** [drivers/gpu/drm/omapdrm/omap_plane.o] Error 1
      drivers/gpu/drm/omapdrm/omap_gem.c: In function 'omap_gem_get_paddr':
      drivers/gpu/drm/omapdrm/omap_gem.c:794:4: error: format '%x' expects argument of type 'unsigned int', but argument 3 has type 'dma_addr_t' [-Werror=format]
      drivers/gpu/drm/omapdrm/omap_gem.c: In function 'omap_gem_describe':
      drivers/gpu/drm/omapdrm/omap_gem.c:991:4: error: format '%Zx' expects argument of type 'size_t', but argument 7 has type 'dma_addr_t' [-Werror=format]
      drivers/gpu/drm/omapdrm/omap_gem.c: In function 'omap_gem_init':
      drivers/gpu/drm/omapdrm/omap_gem.c:1470:4: error: format '%x' expects argument of type 'unsigned int', but argument 7 has type 'dma_addr_t' [-Werror=format]
      make[5]: *** [drivers/gpu/drm/omapdrm/omap_gem.o] Error 1
      drivers/gpu/drm/omapdrm/omap_dmm_tiler.c: In function 'dmm_txn_append':
      drivers/gpu/drm/omapdrm/omap_dmm_tiler.c:226:2: error: passing argument 3 of 'alloc_dma' from incompatible pointer type [-Werror]
      make[5]: *** [drivers/gpu/drm/omapdrm/omap_dmm_tiler.o] Error 1
      make[5]: Target `__build' not remade because of errors.
      make[4]: *** [drivers/gpu/drm/omapdrm] Error 2
      
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      2d31ca3a
    • Russell King's avatar
      drm: bochs: fix warnings · 150cee9c
      Russell King authored
      
      
      Regular nightly randconfig build testing discovered these warnings:
      
      drivers/gpu/drm/bochs/bochs_drv.c:100:12: warning: 'bochs_pm_suspend' defined but not used [-Wunused-function]
      drivers/gpu/drm/bochs/bochs_drv.c:117:12: warning: 'bochs_pm_resume' defined but not used [-Wunused-function]
      
      Fix these by adding the same condition that SET_SYSTEM_SLEEP_PM_OPS()
      uses.
      
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      150cee9c
    • Russell King's avatar
      drm: cirrus: fix warnings · 8f8e7e14
      Russell King authored
      
      
      Regular nightly randconfig build testing discovered these warnings:
      
      drivers/gpu/drm/cirrus/cirrus_drv.c:79:12: warning: 'cirrus_pm_suspend' defined but not used [-Wunused-function]
      drivers/gpu/drm/cirrus/cirrus_drv.c:96:12: warning: 'cirrus_pm_resume' defined but not used [-Wunused-function]
      
      Fix these by adding the same condition that SET_SYSTEM_SLEEP_PM_OPS()
      uses.
      
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      8f8e7e14
    • Russell King's avatar
      drm: shmobile: fix warnings · 681ff260
      Russell King authored
      
      
      drivers/gpu/drm/shmobile/shmob_drm_drv.c:300:5: warning: "CONFIG_PM_SLEEP" is not defined [-Wundef]
      
      Always use #ifdef with CONFIG symbols, never just bare #if
      
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      681ff260
    • Russell King's avatar
      drm: rcar-du: fix warnings · 396d7a24
      Russell King authored
      
      
      drivers/gpu/drm/rcar-du/rcar_du_drv.c:190:5: warning: "CONFIG_PM_SLEEP" is not defined [-Wundef]
      
      Always use #ifdef with CONFIG symbols, never just bare #if
      
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      396d7a24
    • Jean-Francois Moine's avatar
      drm/i2c: tda998x: Remove useless test · 89fc8686
      Jean-Francois Moine authored
      
      
      In tda998x_encoder_destroy(), priv->cec is never NULL, so,
      remove its test.
      
      Signed-off-by: default avatarJean-Francois Moine <moinejf@free.fr>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      89fc8686
    • Dave Airlie's avatar
      Merge branch 'drm-i915-mst-support-next' of... · ffae7f0a
      Dave Airlie authored
      Merge branch 'drm-i915-mst-support-next' of git://people.freedesktop.org/~airlied/linux into drm-next
      
      Evil super powers maintainer abuse, get i915 mst support into -next.
      
      * 'drm-i915-mst-support-next' of git://people.freedesktop.org/~airlied/linux:
        drm/i915: mst topology dumper in debugfs (v0.2)
        drm/i915: add DP 1.2 MST support (v0.7)
        drm/i915: split conversion function out into separate function
        drm/i915: check connector->encoder before using it.
        i915: split some DP modesetting code into a separate function
        drm/i915: add some registers need for displayport MST support.
      ffae7f0a
    • Dave Airlie's avatar
      drm/i915: mst topology dumper in debugfs (v0.2) · 11bed958
      Dave Airlie authored
      
      
      use the mst helper code to dump the topology in debugfs.
      
      v0.2: drop is_mst check - as we want to dump other info
      
      Reviewed-by: default avatarTodd Previte <tprevite@gmail.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      11bed958
    • Dave Airlie's avatar
      drm/i915: add DP 1.2 MST support (v0.7) · 0e32b39c
      Dave Airlie authored
      
      
      This adds DP 1.2 MST support on Haswell systems.
      
      Notes:
      a) this reworks irq handling for DP MST ports, so that we can
      avoid the mode config locking in the current hpd handlers, as
      we need to process up/down msgs at a better time.
      
      Changes since v0.1:
      use PORT_PCH_HOTPLUG to detect short vs long pulses
      add a workqueue to deal with digital events as they can get blocked on the
      main workqueue beyong mode_config mutex
      fix a bunch of modeset checker warnings
      acks irqs in the driver
      cleanup the MST encoders
      
      Changes since v0.2:
      check irq status again in work handler
      move around bring up and tear down to fix DPMS on/off
      use path properties.
      
      Changes since v0.3:
      updates for mst apis
      more state checker fixes
      irq handling improvements
      fbcon handling support
      improved reference counting of link - fixes redocking.
      
      Changes since v0.4:
      handle gpu reset hpd reinit without oopsing
      check link status on HPD irqs
      fix suspend/resume
      
      Changes since v0.5:
      use proper functions to get max link/lane counts
      fix another checker backtrace - due to connectors disappearing.
      set output type in more places fro, unknown->displayport
      don't talk to devices if no HPD asserted
      check mst on short irqs only
      check link status properly
      rebase onto prepping irq changes.
      drop unsued force_act
      
      Changes since v0.6:
      cleanup unused struct entry.
      
      [airlied: fix some sparse warnings].
      
      Reviewed-by: default avatarTodd Previte <tprevite@gmail.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      0e32b39c
    • Thierry Reding's avatar
      drm/dp: Staticize a couple of DP utility functions · 8fa6a425
      Thierry Reding authored
      
      
      sparse complains about these functions missing a prototype, but looking
      closer they aren't (and likely not supposed to be) used outside of this
      source file, so they can be made static.
      
      Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
      Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      8fa6a425
    • Thierry Reding's avatar
      drm/ttm: Fix a few sparse warnings · ee3939e0
      Thierry Reding authored
      
      
      The final parameter to ttm_bo_reserve() is a pointer, therefore callers
      should use NULL instead of 0.
      
      Fixes a bunch of sparse warnings of this type:
      
      	warning: Using plain integer as NULL pointer
      
      Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
      Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      ee3939e0
    • Thierry Reding's avatar
      drm: Add missing __user annotation · d3cf40ed
      Thierry Reding authored
      
      
      The drm_copy_field() function copies strings into userspace buffers, so
      the first parameter needs to have a __user annotation to avoid warnings
      from the sparse checker.
      
      Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
      Reviewed-by: default avatarDavid Herrmann <dh.herrmann@gmail.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      d3cf40ed
  7. Jul 21, 2014
    • Dave Airlie's avatar
      drm/i915: split conversion function out into separate function · d05410f9
      Dave Airlie authored
      
      
      for MST I need to reuse this, so just move it now.
      
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      d05410f9
    • Dave Airlie's avatar
      drm/i915: check connector->encoder before using it. · 36cd7444
      Dave Airlie authored
      
      
      DP MST will need connectors that aren't connected to specific
      encoders, add some checks in advance to avoid oopses.
      
      Reviewed-by: default avatarTodd Previte <tprevite@gmail.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      36cd7444
    • Dave Airlie's avatar
      i915: split some DP modesetting code into a separate function · 44905a27
      Dave Airlie authored
      
      
      this is just prep work for mst support.
      
      Reviewed-by: default avatarTodd Previte <tprevite@gmail.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      44905a27
    • Dave Airlie's avatar
      drm/i915: add some registers need for displayport MST support. · 01b887c3
      Dave Airlie authored
      
      
      These are just from the Haswell spec.
      
      Reviewed-by: default avatarTodd Previte <tprevite@gmail.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      01b887c3
    • Sachin Kamat's avatar
      drm: gem_cma: Use ERR_CAST helper · e7c36347
      Sachin Kamat authored
      
      
      Makes the code a bit more readable.
      
      Signed-off-by: default avatarSachin Kamat <sachin.kamat@linaro.org>
      Signed-off-by: default avatarSachin Kamat <sachin.kamat@samsung.com>
      Acked-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      e7c36347
    • Dave Airlie's avatar
      drm/i915: fix psr match conditions screw ups. · b1972961
      Dave Airlie authored
      Not enough brown paper bags, you'll have to share one.
      (oops below).
      
      The initial match condition code was racy (locking is coming I hear).
      
      then along came:
      cd234b0b
      drm/i915: Do not dereference NULL crtc or fb until after checking
      
      Chris made an attempt to fix it, Ben "reviewed" it.
      Daniel merged it.
      
      Then
      drm/i915: Make use of intel_fb_obj() (v2)
      2ff8fde1
      
      
      
      made it worse by removing the obj check later.
      
      All in all, my laptop can't barely turn off the display
      without hitting this.
      
      Posted to #intel-gfx out of niceness, but I've merged
      this already into drm-next.
      
      Here's an oops.
      [   11.528185] BUG: unable to handle kernel NULL pointer dereference at 00000000000000d0
      [   11.528233] IP: [<ffffffffa0161fde>] intel_edp_psr_match_conditions+0x1e/0x2e0 [i915]
      [   11.528294] PGD 35bc0067 PUD c997c067 PMD 0
      [   11.528321] Oops: 0000 [#1] SMP
      [   11.528916] CPU: 3 PID: 244 Comm: kworker/3:2 Not tainted 3.16.0-rc4+ #17
      [   11.528949] Hardware name: LENOVO 20ARS25701/20ARS25701, BIOS GJET72WW (2.22 ) 02/21/2014
      [   11.529004] Workqueue: events intel_edp_psr_work [i915]
      [   11.529031] task: ffff8803079fdaa0 ti: ffff8803079c4000 task.ti: ffff8803079c4000
      [   11.529067] RIP: 0010:[<ffffffffa0161fde>]  [<ffffffffa0161fde>] intel_edp_psr_match_conditions+0x1e/0x2e0 [i915]
      [   11.529129] RSP: 0018:ffff8803079c7d40  EFLAGS: 00010246
      [   11.529155] RAX: 0000000000000000 RBX: ffff88030c11c000 RCX: c000000000000000
      [   11.529189] RDX: 0000000000000001 RSI: 1df0000000000000 RDI: ffff88030c1190d8
      [   11.529222] RBP: ffff8803079c7d60 R08: ffffffff82691140 R09: 0000000000000000
      [   11.529256] R10: ffff8803079fdaa0 R11: 3e00000000000000 R12: ffff88030c11c728
      [   11.529290] R13: ffff88030c1190d8 R14: ffff88031e2d8e00 R15: 00000000000000c0
      [   11.529324] FS:  0000000000000000(0000) GS:ffff88031e2c0000(0000) knlGS:0000000000000000
      [   11.529361] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [   11.529389] CR2: 00000000000000d0 CR3: 00000000c8d9d000 CR4: 00000000001407e0
      [   11.529423] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      [   11.529457] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
      [   11.529489] Stack:
      [   11.529500]  ffff88030c119000 ffff88030c11c728 ffff88030c1190d8 ffff88031e2d8e00
      [   11.529541]  ffff8803079c7d88 ffffffffa01679b2 ffff880035b29a80 ffff880307909f00
      [   11.529583]  ffff88031e2d4740 ffff8803079c7df8 ffffffff810a78ab ffffffff810a7849
      [   11.529624] Call Trace:
      [   11.529654]  [<ffffffffa01679b2>] intel_edp_psr_work+0x52/0x90 [i915]
      [   11.529689]  [<ffffffff810a78ab>] process_one_work+0x1db/0x540
      [   11.529719]  [<ffffffff810a7849>] ? process_one_work+0x179/0x540
      [   11.529750]  [<ffffffff810a81ed>] worker_thread+0x11d/0x520
      [   11.529779]  [<ffffffff810a80d0>] ? create_and_start_worker+0x60/0x60
      [   11.529810]  [<ffffffff810aeb04>] kthread+0xe4/0x100
      [   11.529836]  [<ffffffff810aea20>] ? kthread_create_on_node+0x200/0x200
      [   11.529870]  [<ffffffff81705ebc>] ret_from_fork+0x7c/0xb0
      [   11.529896]  [<ffffffff810aea20>] ? kthread_create_on_node+0x200/0x200
      [   11.529926] Code: ba 31 13 f0 c9 85 f6 75 84 eb d0 66 90 0f 1f 44 00 00 55 48 89 e5 41 56 41 55 41 54 53 48 8b 87 68 ff ff ff 48 8b 9f 28 ff ff ff <48> 8b 80 d0 00 00 00 4c 8b 63 28 48 8b 40 48 48 85 c0 0f 84 1a
      [   11.530110] RIP  [<ffffffffa0161fde>] intel_edp_psr_match_conditions+0x1e/0x2e0 [i915]
      [   11.530163]  RSP <ffff8803079c7d40>
      [   11.530180] CR2: 00000000000000d0
      
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      b1972961
  8. Jul 19, 2014
    • Dave Airlie's avatar
      Merge tag 'topic/core-stuff-2014-07-18' of git://anongit.freedesktop.org/drm-intel into drm-next · 322c1c03
      Dave Airlie authored
      misc core patches.
      
      * tag 'topic/core-stuff-2014-07-18' of git://anongit.freedesktop.org/drm-intel:
        drm: Check for connection_mutex in drm_select_eld
        drm/dp-mst-helper: Don't use uninitialized fields of the sideband message header
        drm/dp-mst-helper: Avoid reading uninitialized value
        drm/plane-helper: Use proper plane init function
        drivers/gpu/drm/drm_buffer.c: remove unnecessary null test before kfree
        drm: Fix function names in kerneldoc
      322c1c03