1. 23 Feb, 2017 3 commits
  2. 17 Feb, 2017 3 commits
    • Zhao, Xinda's avatar
      drm/i915/gvt: handle fence reg access during GPU reset · d1be371d
      Zhao, Xinda authored
      Lots of reduntant log info will be printed out during GPU reset,
      including accessing untracked mmio register and fence register,
      variable disable_warn_untrack is added previously to handle the
      situation, but the accessing of fence register is ignored in the
      previously patch, so add it back.
      
      Besides, set the variable disable_warn_untrack to the defalut value
      after GPU reset is finished.
      Signed-off-by: default avatarZhao, Xinda <xinda.zhao@intel.com>
      Signed-off-by: default avatarZhenyu Wang <zhenyuw@linux.intel.com>
      d1be371d
    • Min He's avatar
      drm/i915/gvt: introduced failsafe mode into vgpu · fd64be63
      Min He authored
      New failsafe mode is introduced, when we detect guest not supporting
      GVT-g.
      In failsafe mode, we will ignore all the MMIO and cfg space read/write
      from guest.
      
      This patch can fix the issue that when guest kernel or graphics driver
      version is too low, there will be a lot of kernel traces in host.
      
      V5: rebased onto latest gvt-staging
      V4: changed coding style by Zhenyu and Ping's advice
      V3: modified coding style and error messages according to Zhenyu's comment
      V2: 1) implemented MMIO/GTT/WP pages read/write logic; 2) used a unified
      function to enter failsafe mode
      Signed-off-by: default avatarMin He <min.he@intel.com>
      Signed-off-by: default avatarPei Zhang <pei.zhang@intel.com>
      Signed-off-by: default avatarZhenyu Wang <zhenyuw@linux.intel.com>
      fd64be63
    • Zhenyu Wang's avatar
      drm/i915/gvt: Fix check error on opregion.c · f655e67a
      Zhenyu Wang authored
      As we switched to memremap for opregion, shouldn't use any __iomem
      for that, and move to use memcpy instead.
      
      This fixed static check errors for:
      
        CHECK   drivers/gpu/drm/i915//gvt/opregion.c
        drivers/gpu/drm/i915//gvt/opregion.c:142:31: warning: incorrect type in argument 1 (different address spaces)
        drivers/gpu/drm/i915//gvt/opregion.c:142:31:    expected void *addr
        drivers/gpu/drm/i915//gvt/opregion.c:142:31:    got void [noderef] <asn:2>*opregion_va
        drivers/gpu/drm/i915//gvt/opregion.c:160:35: warning: incorrect type in assignment (different address spaces)
        drivers/gpu/drm/i915//gvt/opregion.c:160:35:    expected void [noderef] <asn:2>*opregion_va
        drivers/gpu/drm/i915//gvt/opregion.c:160:35:    got void *
      Signed-off-by: default avatarZhenyu Wang <zhenyuw@linux.intel.com>
      f655e67a
  3. 14 Feb, 2017 6 commits
  4. 10 Feb, 2017 1 commit
    • Changbin Du's avatar
      drm/i915/gvt: fix crash at function release_shadow_wa_ctx · 7e5f3d30
      Changbin Du authored
      In function dispatch_workload(), if it fail before calling
      intel_gvt_scan_and_shadow_wa_ctx(), the indirect ctx will
      not be shadowed so no cleaup need. wa_ctx->indirect_ctx.obj
      indicate whether indirect_ctx is shadowed. The obj is null
      if it is unshadowed.
      
      BUG: unable to handle kernel NULL pointer dereference at
      00000000000001a0
      IP: complete_execlist_workload+0x2c9/0x3e0 [i915]
      Oops: 0002 [#1] SMP
      task: ffff939546d2d880 task.stack: ffffbd9b82ac4000
      RIP: 0010:complete_execlist_workload+0x2c9/0x3e0 [i915]
      RSP: 0018:ffffbd9b82ac7dd8 EFLAGS: 00010202
      RAX: 0000000000000000 RBX: ffff9393c725b540 RCX: 0000000000000006
      RDX: 0000000000000007 RSI: 0000000000000202 RDI: ffff939559c8dd00
      RBP: ffffbd9b82ac7e18 R08: 0000000000000001 R09: 000000000120dd8f
      R10: 0000000000000000 R11: 000000000120dd8f R12: ffff9393c725b540
      R13: ffff9393c725b618 R14: ffffbd9b81f0d000 R15: ffff939520e0e000
      FS:  0000000000000000(0000) GS:ffff939559c80000(0000)
      knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: 00000000000001a0 CR3: 000000043d664000 CR4: 00000000003426e0
      DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
      Call Trace:
       workload_thread+0x312/0xd70 [i915]
       ? __wake_up_sync+0x20/0x20
       ? wake_atomic_t_function+0x60/0x60
       kthread+0x101/0x140
      Signed-off-by: default avatarChangbin Du <changbin.du@intel.com>
      Signed-off-by: default avatarZhenyu Wang <zhenyuw@linux.intel.com>
      7e5f3d30
  5. 09 Feb, 2017 6 commits
  6. 08 Feb, 2017 1 commit
  7. 07 Feb, 2017 6 commits
  8. 31 Jan, 2017 9 commits
    • Dave Airlie's avatar
      Merge branch 'exynos-drm-next' of... · 18566aca
      Dave Airlie authored
      Merge branch 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-next
      
      adding runtime PM support to MIC driver, and including some
      cleanups - especially using atomic helper functions
      instead of specific ones - and fixups.
      
      * 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos:
        drm/exynos: g2d: prevent integer overflow in
        drm/exynos: fix a timeout loop
        drm/exynos: use atomic helper commit
        drm/exynos: remove unnecessary codes
        drm/exynos: mic: Add runtime PM support
        drm/exynos: Stop using drm_framebuffer_unregister_private
        drm/exynos: mic: Fix parse_dt function
        drm/exynos: mic: Add mode_set callback function
      18566aca
    • Dave Airlie's avatar
      Merge tag 'sunxi-drm-for-4.11' of... · 02a84c13
      Dave Airlie authored
      Merge tag 'sunxi-drm-for-4.11' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into drm-next
      
      Allwinner DRM changes for 4.11
      
      Just one minor fix.
      
      * tag 'sunxi-drm-for-4.11' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux:
        drm/sun4i: Fix a return value in case of error
      02a84c13
    • Dave Airlie's avatar
      Merge branch 'drm-vmwgfx-next' of git://people.freedesktop.org/~syeh/repos_linux into drm-next · b75e1695
      Dave Airlie authored
      This is to address what we've discussed, moving some of the minor changes
      into a drm-next request.
      
      * 'drm-vmwgfx-next' of git://people.freedesktop.org/~syeh/repos_linux:
        drm/vmwgfx: Use kmemdup instead of kmalloc and memcpy
        drm/vmwgfx: Fix depth input into drm_mode_legacy_fb_format
        drm/vmwgfx: Fix a potential integer overflow
        drm/vmwgfx: Clear an uninitialized struct member
        drm/vmwgfx: Annotate ignored return values
        drm/vmwgfx: Clear uninitialized fields of a parameter
      b75e1695
    • Dave Airlie's avatar
      Merge branch 'drm-next-4.11' of git://people.freedesktop.org/~agd5f/linux into drm-next · 29a73d90
      Dave Airlie authored
      This is the main feature pull for radeon and amdgpu for 4.11.  Highlights:
      - Power and clockgating improvements
      - Preliminary SR-IOV support
      - ttm buffer priority support
      - ttm eviction fixes
      - Removal of the ttm lru callbacks
      - Remove SI DPM quirks due to MC firmware issues
      - Handle VFCT with multiple vbioses
      - Powerplay improvements
      - Lots of driver cleanups
      
      * 'drm-next-4.11' of git://people.freedesktop.org/~agd5f/linux: (120 commits)
        drm/amdgpu: fix amdgpu_bo_va_mapping flags
        drm/amdgpu: access stolen VRAM directly on CZ (v2)
        drm/amdgpu: access stolen VRAM directly on KV/KB (v2)
        drm/amdgpu: fix kernel panic when dpm disabled on Kv.
        drm/amdgpu: fix dpm bug on Kv.
        drm/amd/powerplay: fix regresstion issue can't set manual dpm mode.
        drm/amdgpu: handle vfct with multiple vbios images
        drm/radeon: handle vfct with multiple vbios images
        drm/amdgpu: move misc si headers into amdgpu
        drm/amdgpu: remove unused header si_reg.h
        drm/radeon: drop pitcairn dpm quirks
        drm/amdgpu: drop pitcairn dpm quirks
        drm: radeon: radeon_ttm: Handle return NULL error from ioremap_nocache
        drm/amd/amdgpu/amdgpu_ttm: Handle return NULL error from ioremap_nocache
        drm/amdgpu: add new virtual display ID
        drm/amd/amdgpu: remove the uncessary parameter for ib scheduler
        drm/amdgpu: Bring bo creation in line with radeon driver (v2)
        drm/amd/powerplay: fix misspelling in header guard
        drm/ttm: revert "add optional LRU removal callback v2"
        drm/ttm: revert "implement LRU add callbacks v2"
        ...
      29a73d90
    • Dave Airlie's avatar
      Merge tag 'drm-misc-next-2017-01-30' of git://anongit.freedesktop.org/git/drm-misc into drm-next · 012bbe28
      Dave Airlie authored
      Another round of -misc stuff:
      - Noralf debugfs cleanup cleanup (not yet everything, some more driver
        patches awaiting acks).
      - More doc work.
      - edid/infoframe fixes from Ville.
      - misc 1-patch fixes all over, as usual
      
      Noralf needs this for his tinydrm pull request.
      
      * tag 'drm-misc-next-2017-01-30' of git://anongit.freedesktop.org/git/drm-misc: (48 commits)
        drm/vc4: Remove vc4_debugfs_cleanup()
        dma/fence: Export enable-signaling tracepoint for emission by drivers
        drm/tilcdc: Remove tilcdc_debugfs_cleanup()
        drm/tegra: Remove tegra_debugfs_cleanup()
        drm/sti: Remove drm_debugfs_remove_files() calls
        drm/radeon: Remove drm_debugfs_remove_files() call
        drm/omap: Remove omap_debugfs_cleanup()
        drm/hdlcd: Remove hdlcd_debugfs_cleanup()
        drm/etnaviv: Remove etnaviv_debugfs_cleanup()
        drm/etnaviv: allow build with COMPILE_TEST
        drm/amd/amdgpu: Remove drm_debugfs_remove_files() call
        drm/prime: Clarify DMA-BUF/GEM Object lifetime
        drm/ttm: Make sure BOs being swapped out are cacheable
        drm/atomic: Remove drm_atomic_debugfs_cleanup()
        drm: drm_minor_register(): Clean up debugfs on failure
        drm: debugfs: Remove all files automatically on cleanup
        drm/fourcc: add vivante tiled layout format modifiers
        drm/edid: Set YQ bits in the AVI infoframe according to CEA-861-F
        drm/edid: Set AVI infoframe Q even when QS=0
        drm/edid: Introduce drm_hdmi_avi_infoframe_quant_range()
        ...
      012bbe28
    • Dave Airlie's avatar
      Merge tag 'drm/atmel-hlcdc/for-4.11' of... · bb7e9833
      Dave Airlie authored
      Merge tag 'drm/atmel-hlcdc/for-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/bbrezillon/linux into drm-next
      
      Contains a single patch to create the fbdev at driver's registration
      time instead of waiting for the connector status change.
      
      * tag 'drm/atmel-hlcdc/for-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/bbrezillon/linux:
        drm/atmel-hlcdc: Rework the fbdev creation logic
      bb7e9833
    • Dave Airlie's avatar
      Merge tag 'zxdrm-4.11' of... · 3a5e6bb9
      Dave Airlie authored
      Merge tag 'zxdrm-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into drm-next
      
      ZTE DRM driver updates for 4.11:
       - Add missing selection of VIDEOMODE_HELPERS in Kconfig, since ZTE DRM
         driver uses drm_display_mode_to_videomode().
       - Enable HDMI audio support through SPDIF interface based on generic
         hdmi-audio-codec driver.
       - Enable VOU VL (Video Layer) to support overlay plane with scaling
         function.
       - Refine zx_vou driver a bit and then add TV Encoder output device
         support.
      
      [airlied: fixup plane format change]
      
      * tag 'zxdrm-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
        drm: zte: add tvenc driver support
        dt: add bindings for ZTE tvenc device
        drm: zte: add function to configure vou_ctrl dividers
        drm: zte: move struct vou_inf into zx_vou driver
        drm: zte: add interlace mode support
        drm: zte: add overlay plane support
        drm: zte: add .atomic_disable hook to disable graphic layer
        drm: zte: make zx_plane accessible from zx_vou driver
        drm: zte: support hdmi audio through spdif
        drm: zte: select VIDEOMODE_HELPERS in Kconfig
      3a5e6bb9
    • Dave Airlie's avatar
      Merge branch 'drm-intel-next' of git://anongit.freedesktop.org/git/drm-intel into drm-next · 26431055
      Dave Airlie authored
      Updated pull request after I pulled first time :)
      
      * 'drm-intel-next' of git://anongit.freedesktop.org/git/drm-intel:
        drm/i915: Pevent copying uninitialised garbage into vma->ggtt_view
      26431055
    • Dave Airlie's avatar
      Merge branch 'for-upstream/mali-dp' of git://linux-arm.org/linux-ld into drm-next · a155b752
      Dave Airlie authored
      Hope I'm not too late before the cutoff for the v4.11 with these patches.
      Mostly an asorted set of fixes that we have discovered while playing with
      the code and preparing for the next set of features.
      
      * 'for-upstream/mali-dp' of git://linux-arm.org/linux-ld:
        drm: mali-dp: fix stride setting for multi-plane formats
        drm: mali-dp: Add plane offset to the plane's physical start address register
        drm: mali-dp: Check for sufficient address space
        drm: mali-dp: Check hw version matches device-tree
        drm: mali-dp: Rename malidp_input_format to malidp_pixel_format
        drm: mali-dp: fix Lx_CONTROL register fields clobber
        drm: mali-dp: Fix transposed horizontal/vertical flip
        drm: mali-dp: Fix destination size handling when rotating
        drm: mali-dp: Don't force source size == crtc size
        drm: mali-dp: Check more use cases in the plane's ->atomic_check()
        drm: malidp: Remove event_list member from struct malidp_drm
        drm/arm/malidp: Fix possible dereference of NULL
      a155b752
  9. 30 Jan, 2017 5 commits
    • Joonyoung Shim's avatar
      drm/exynos: g2d: prevent integer overflow in · e41456bf
      Joonyoung Shim authored
      The size computations done in the ioctl function use an integer.
      If userspace submits a request with req->cmd_nr or req->cmd_buf_nr
      set to INT_MAX, the integer computations overflow later, leading
      to potential (kernel) memory corruption.
      
      Prevent this issue by enforcing a limit on the number of submitted
      commands, so that we have enough headroom later for the size
      computations.
      
      Note that this change has no impact on the currently available
      users in userspace, like e.g. libdrm/exynos.
      
      While at it, also make a comment about the size computation more
      detailed.
      Signed-off-by: default avatarJoonyoung Shim <jy0922.shim@samsung.com>
      Signed-off-by: default avatarTobias Jakobi <tjakobi@math.uni-bielefeld.de>
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      e41456bf
    • Dan Carpenter's avatar
      drm/exynos: fix a timeout loop · 8646dcb8
      Dan Carpenter authored
      We were trying to print an error message if we timed out here, but the
      loop actually ends with "tries" set to UINT_MAX and not zero.  Fix this
      by changing from tries-- to --tries.
      
      A for loop would actually be the most natural way to do this.  My fix
      means we only loop 99 times instead of 100 but that's probably ok.
      
      Fixes: a696394c ('drm/exynos: mixer: simplify loop in vp_win_reset()')
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Reviewed-by: default avatarTobias Jakobi <tjakobi@math.uni-bielefeld.de>
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      8646dcb8
    • Inki Dae's avatar
      drm/exynos: use atomic helper commit · 41cbf0fd
      Inki Dae authored
      This patch replaces specific atomic commit function
      with atomic helper commit one.
      
      For this, it removes existing atomic commit function
      and relevant code specific to Exynos DRM and makes
      atomic helper commit to be used instead.
      
      Below are changes for the use of atomic helper commit:
      - add atomic_commit_tail callback specific to Exynos DRM
        . default implemention of atomic helper doesn't mesh well
          with runtime PM so the device driver which supports runtime
          PM should call drm_atomic_helper_commit_modeset_enables function
          prior to drm_atomic_helper_commit_planes function call.
          atomic_commit_tail callback implements this call ordering.
      - allow plane commit only in case that CRTC device is enabled.
        . for this, it calls atomic_helper_commit_planes function
          with DRM_PLANE_COMMIT_ACTIVE_ONLY flag in atomic_commit_tail callback.
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      Reviewed-by: default avatarGustavo Padovan <gustavo.padovan@collabora.com>
      41cbf0fd
    • Inki Dae's avatar
      drm/exynos: remove unnecessary codes · 9db41d43
      Inki Dae authored
      This patch removes exynos_drm_crtc_cancel_page_flip call
      when drm is closed because at that time, events will be released
      by drm_events_release function.
      
      Changelog v1:
      - remove exynos_drm_crtc_cancel_page_flip function also because
        this funtion isn't used anymore.
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      Reviewed-by: default avatarAndrzej Hajda <a.hajda@samsung.com>
      9db41d43
    • Marek Szyprowski's avatar
      drm/exynos: mic: Add runtime PM support · 4e8ba5cc
      Marek Szyprowski authored
      This patch adds runtime support calls to notify device core when MIC
      device is really in use. Runtime PM is implemented by enabling and
      disabling clocks like in other Exynos DRM subdrivers. Adding runtime
      PM support is needed to let power domain with this device to be turned
      off when display is not used.
      Signed-off-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      4e8ba5cc