1. 13 Jul, 2015 6 commits
  2. 26 Jun, 2015 1 commit
  3. 25 Jun, 2015 1 commit
    • Dave Airlie's avatar
      drm/dp/mst: close deadlock in connector destruction. · 6b8eeca6
      Dave Airlie authored
      I've only seen this once, and I failed to capture the
      lockdep backtrace, but I did some investigations.
      
      If we are calling into the MST layer from EDID probing,
      we have the mode_config mutex held, if during that EDID
      probing, the MST hub goes away, then we can get a deadlock
      where the connector destruction function in the driver
      tries to retake the mode config mutex.
      
      This offloads connector destruction to a workqueue,
      and avoid the subsequenct lock ordering issue.
      Acked-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      6b8eeca6
  4. 24 Jun, 2015 3 commits
    • Daniel Stone's avatar
      drm: Always enable atomic API · 8b72ce15
      Daniel Stone authored
      Now that the interface has been proven by a port of Weston (using all
      atomic features including TEST_ONLY), remove the module parameter
      guarding the atomic API from being exposed, and let it run free in the
      wild.
      Signed-off-by: default avatarDaniel Stone <daniels@collabora.com>
      Acked-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      8b72ce15
    • Daniel Vetter's avatar
      drm/vgem: Set unique to "vgem" · fa2f97dd
      Daniel Vetter authored
      Since there's only one global instance ever we don't need to have
      anything fancy. Stops a WARNING in the get_unique ioctl that the
      unique name isn't set.
      
      Cc: <stable@vger.kernel.org> # 4.1+ only
      Reportedy-and-tested-by: default avatarFabio Coatti <fabio.coatti@gmail.com>
      Cc: Fabio Coatti <fabio.coatti@gmail.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      fa2f97dd
    • Inki Dae's avatar
      of: fix a build error to of_graph_get_endpoint_by_regs function · ce0bdb84
      Inki Dae authored
      This patch fixes the below build error reported by Stephen,
      
           Stephen reported:
           After merging the drm-exynos tree, today's linux-next build (x86_64
           allmodconfig) failed like this:
      
           drivers/media/i2c/adv7604.o: In function `of_graph_get_endpoint_by_regs':
           adv7604.c:(.text+0x586c): multiple definition of `of_graph_get_endpoint_by_regs'
           drivers/media/i2c/adv7343.o:adv7343.c:(.text+0xa13): first defined here
           drivers/media/platform/soc_camera/atmel-isi.o: In function `of_graph_get_endpoint_by_regs':
           atmel-isi.c:(.text+0x1ec9): multiple definition of `of_graph_get_endpoint_by_regs'
           drivers/media/platform/soc_camera/soc_camera.o:soc_camera.c:(.text+0x2ce3): first defined here
           drivers/media/platform/soc_camera/rcar_vin.o: In function `of_graph_get_endpoint_by_regs':
           rcar_vin.c:(.text+0x307c): multiple definition of `of_graph_get_endpoint_by_regs'
           drivers/media/platform/soc_camera/soc_camera.o:soc_camera.c:(.text+0x2ce3): first defined here
      
           Caused by commit:
             a0f7001c18ca ("of: add helper for getting endpoint node of specific identifiers")
      
      To fix the error, this patch declares of_graph_get_endpoint_by_regs function
      with "static inline".
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      ce0bdb84
  5. 23 Jun, 2015 6 commits
    • Dave Airlie's avatar
      drm/dp/mst: take lock around looking up the branch device on hpd irq · 9eb1e57f
      Dave Airlie authored
      If we are doing an MST transaction and we've gotten HPD and we
      lookup the device from the incoming msg, we should take the mgr
      lock around it, so that mst_primary and mstb->ports are valid.
      Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      9eb1e57f
    • Daniel Vetter's avatar
      drm/dp/mst: make sure mst_primary mstb is valid in work function · 9254ec49
      Daniel Vetter authored
      This validates the mst_primary under the lock, and then calls
      into the check and send function. This makes the code a lot
      easier to understand the locking rules in.
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
      Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      9254ec49
    • Dave Airlie's avatar
      Merge tag 'drm-intel-next-fixes-2015-06-22' of... · ce8e3942
      Dave Airlie authored
      Merge tag 'drm-intel-next-fixes-2015-06-22' of git://anongit.freedesktop.org/drm-intel into drm-next
      
      fix warning introduced in last -fixes
      * tag 'drm-intel-next-fixes-2015-06-22' of git://anongit.freedesktop.org/drm-intel:
        drm/i915: Silence compiler warning
      ce8e3942
    • Dave Airlie's avatar
      of: add EXPORT_SYMBOL for of_graph_get_endpoint_by_regs · 8ffaa903
      Dave Airlie authored
      This symbol came via exynos-next, but modular builds are broken
      so just fix it up now.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      8ffaa903
    • Dave Airlie's avatar
      Merge branch 'exynos-drm-next' of... · 75c73861
      Dave Airlie authored
      Merge branch 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-next
      
      Summary:
      . Add atomic feature support
        - Exynos also now supports atomic feature. However, it doesn't
          guarantee atomic operation yet, and is required for more cleanups.
          This time we just modified for Exynos drm driver to use atomic
          interfaces instead of legacy ones. Next time, we will enhance
          Exynos drm driver to support the atomic operation.
      . Add iommu support
        - This is a patch series according to below Exynos iommu integration
          work with DT and dma-mapping subsystem,
          http://lwn.net/Articles/607626/
      . Consolidate Exynos drm driver initialization.
        - This patch sereis resolves the issue that only the first compoments
          was bound when happened deferred probing for other pipelines and
          also makes the driver to be more cleanned up by moving the dispered
          codes for registering kms drivers to one place.
      . Add new MIC, DECON drivers, and MIPI-DSI support for Exynos5433.
        - Add MIC(Mobile image compressor) driver. MIC is a new IP for Exynos5433
          and later, which is used to transfer frame data to MIPI-DSI controller
          compressing the data to reduce memory bandwidth.
        - Add DECON driver for Exynos5433 SoC. This IP is a dislay controller
          similar to Exynos7's one but this controller has much different registers
          from Exynos7's ones so this driver has been implemented separately.
          We will implement a helper modules for FIMD and two DECON controllers
          to remove duplicated codes later.
        - Add Exynos5433 SoC support to MIPI-DSI driver, and device tree
          relevant patches.
      
      * 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos: (50 commits)
        ARM: dts: rename the clock of MIPI DSI 'pll_clk' to 'sclk_mipi'
        drm/exynos: dsi: do not set TE GPIO direction by input
        drm/exynos: dsi: add support for MIC driver as a bridge
        drm/exynos: dsi: add support for Exynos5433
        drm/exynos: dsi: make use of array for clock access
        drm/exynos: dsi: make use of driver data for static values
        drm/exynos: dsi: add macros for register access
        drm/exynos: dsi: rename pll_clk to sclk_clk
        drm/exynos: mic: add MIC driver
        of: add helper for getting endpoint node of specific identifiers
        drm/exynos: add Exynos5433 decon driver
        drm/exynos: fix the input prompt of Exynos7 DECON
        drm/exynos: add drm_iommu_attach_device_if_possible()
        drm/exynos: Add the dependency for DRM_EXYNOS to DPI/DSI/DP
        drm/exynos: remove the dependency of DP driver for ARCH_EXYNOS
        drm/exynos: do not wait for vblank at atomic operation
        drm/exynos: Remove unused vma field of exynos_drm_gem_obj
        drm/exynos: fimd: fix page fault issue with iommu
        drm/exynos: iommu: improve a check for non-iommu dma_ops
        drm/exynos: iommu: detach from default dma-mapping domain on init
        ...
      75c73861
    • Dave Airlie's avatar
      Merge tag 'topic/drm-misc-2015-06-22' of git://anongit.freedesktop.org/drm-intel into drm-next · b7ddeee5
      Dave Airlie authored
      One more drm-misc pull for 4.2. The important one is the fix from Laurent
      for Daniel Stone's mode_blob work.
      
      * tag 'topic/drm-misc-2015-06-22' of git://anongit.freedesktop.org/drm-intel:
        drm/atomic: Don't set crtc_state->enable manually
        drm: prime: Document gem_prime_mmap
        drm: Avoid the double clflush on the last cache line in drm_clflush_virt_range()
        drm/atomic: Extract needs_modeset function
        drm/cma: Fix 64-bit size_t build warnings
        Documentation/drm: Update rotation property
      b7ddeee5
  6. 22 Jun, 2015 17 commits
  7. 19 Jun, 2015 6 commits
    • Daniel Thompson's avatar
      drm: prime: Document gem_prime_mmap · ffc5fbdb
      Daniel Thompson authored
      gem_prime_map is not currently described in the DRM manual, lets document
      it.
      Signed-off-by: default avatarDaniel Thompson <daniel.thompson@linaro.org>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      ffc5fbdb
    • Inki Dae's avatar
      drm/exynos: do not wait for vblank at atomic operation · ad533ade
      Inki Dae authored
      This patch resolves the issue that refresh rate got low
      at extension mode test with fimd and vidi combination.
      
      The problem was because atomic_commit callback waited
      for the completion of vblank to gaurantee crtc relevant
      registers are updated from shadow registers to real ones.
      
      However, the waiting there is really unnecessary because
      page flip operation does already it.
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      ad533ade
    • Krzysztof Kozlowski's avatar
      drm/exynos: Remove unused vma field of exynos_drm_gem_obj · 286bd022
      Krzysztof Kozlowski authored
      The field 'vma' of 'exynos_drm_gem_obj' structure was introduced in
      2a3098ff ("drm/exynos: add userptr feature for g2d module") but is
      not referenced anywhere.
      
      One instance of 'exynos_drm_gem_obj' may be mapped to multiple
      user-space VMAs so 'vma' field does not look useful anyway.
      Signed-off-by: default avatarKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      286bd022
    • Inki Dae's avatar
      drm/exynos: fimd: fix page fault issue with iommu · 94ab95a9
      Inki Dae authored
      This patch resolves page fault issue with iommu and atomic feature
      when modetest test application is terminated.
      
      ENWIN_F field of WINCONx register enables or disable a dma channel to
      each hardware overlay - the value of the field will be updated to real
      register after vsync.
      
      So this patch makes sure the dma channel is disabled by waiting for vsync
      one time after clearing shadow registers to all dma channels.
      
      Below shows the page fault issue:
      setting mode 720x1280-60Hz@XR24 on connectors 31, crtc 29
      freq: 59.99Hz
      
      [   34.831025] PAGE FAULT occurred at 0x20400000 by 11e20000.sysmmu(Page
      		table base: 0x6e324000)
      [   34.838072]  Lv1 entry: 0x6e92dc01
      [   34.841489] ------------[ cut here ]------------
      [   34.846058] kernel BUG at drivers/iommu/exynos-iommu.c:364!
      [   34.851614] Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM
      [   34.857428] Modules linked in:
      <--snip-->
      [   35.210894] [<c02880d0>] (exynos_sysmmu_irq) from [<c00608f8>]
      (handle_irq_event_percpu+0x78/0x134)
      [   35.219914] [<c00608f8>] (handle_irq_event_percpu) from [<c00609f0>]
      (handle_irq_event+0x3c/0x5c)
      [   35.228768] [<c00609f0>] (handle_irq_event) from [<c0063698>]
      (handle_level_irq+0xc4/0x13c)
      [   35.237101] [<c0063698>] (handle_level_irq) from [<c005ff7c>]
      (generic_handle_irq+0x2c/0x3c)
      [   35.245521] [<c005ff7c>] (generic_handle_irq) from [<c02214ec>]
      (combiner_handle_cascade_irq+0x94/0x100)
      [   35.254980] [<c02214ec>] (combiner_handle_cascade_irq) from
      [<c005ff7c>] (generic_handle_irq+0x2c/0x3c)
      [   35.264353] [<c005ff7c>] (generic_handle_irq) from [<c0060248>]
      (__handle_domain_irq+0x7c/0xec)
      [   35.273034] [<c0060248>] (__handle_domain_irq) from [<c0009434>]
      (gic_handle_irq+0x30/0x68)
      [   35.281366] [<c0009434>] (gic_handle_irq) from [<c0012ec0>]
      (__irq_svc+0x40/0x74)
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      94ab95a9
    • Marek Szyprowski's avatar
      drm/exynos: iommu: improve a check for non-iommu dma_ops · bcfe4e25
      Marek Szyprowski authored
      DRM Exynos driver is relying on dma-mapping internal structures when used
      with IOMMU enabled. This patch partially hides dma-mapping internal things
      by using proper get_dma_ops/set_dma_ops calls.
      Signed-off-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      bcfe4e25
    • Marek Szyprowski's avatar
      drm/exynos: iommu: detach from default dma-mapping domain on init · 45286858
      Marek Szyprowski authored
      This patch adds code, which detach sub-device nodes from default iommu
      domain if such has been configured. This lets Exynos DRM driver to properly
      attach sub-devices to its own, common for all sub-devices domain.
      Signed-off-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
      Tested-by: default avatarJavier Martinez Canillas <javier.martinez@collabora.co.uk>
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      45286858