Skip to content
  1. Jul 22, 2014
    • 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
  2. 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
  3. 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
    • Dave Airlie's avatar
      Merge tag 'drm-intel-next-2014-07-11' of git://anongit.freedesktop.org/drm-intel into drm-next · c51f7167
      Dave Airlie authored
      - fbc improvements when stolen memory is tight (Ben)
      - cdclk handling improvements for vlv/chv (Ville)
      - proper fix for stuck primary planes on gmch platforms with cxsr (Imre&Ebgert
        Eich)
      - gen8 hw semaphore support (Ben)
      - more execlist prep work from Oscar Mateo
      - locking fixes for primary planes (Matt Roper)
      - code rework to support runtime pm for dpms on hsw/bdw (Paulo, Imre & me), but
        not yet enabled because some fixes from Paulo haven't made the cut
      - more gpu boost tuning from Chris
      - as usual piles of little things all over
      
      * tag 'drm-intel-next-2014-07-11' of git://anongit.freedesktop.org/drm-intel: (93 commits)
        drm/i915: Make the RPS interrupt generation mask handle the vlv wa
        drm/i915: Move RPS evaluation interval counters to i915->rps
        drm/i915: Don't cast a pointer to void* unnecessarily
        drm/i915: don't read LVDS regs at compute_config time
        drm/i915: check the power domains in intel_lvds_get_hw_state()
        drm/i915: check the power domains in ironlake_get_pipe_config()
        drm/i915: don't skip shared DPLL assertion on LPT
        drm/i915: Only touch WRPLL hw state in enable/disable hooks
        drm/i915: Switch to common shared dpll framework for WRPLLs
        drm/i915: ->enable hook for WRPLLs
        drm/i915: ->disable hook for WRPLLs
        drm/i915: State readout support for WRPLLs
        drm/i915: add POWER_DOMAIN_PLLS
        drm/i915: Document that the pll->mode_set hook is optional
        drm/i915: Basic shared dpll support for WRPLLs
        drm/i915: Precompute static ddi_pll_sel values in encoders
        drm/i915: BDW also has special-purpose DP DDI clocks
        drm/i915: State readout and cross-checking for ddi_pll_sel
        drm/i915: Move ddi_pll_sel into the pipe config
        drm/i915: Add a debugfs file for the shared dpll state
        ...
      c51f7167
  4. Jul 18, 2014
  5. Jul 11, 2014