1. 19 12月, 2017 2 次提交
  2. 30 11月, 2017 1 次提交
  3. 02 6月, 2017 1 次提交
  4. 19 12月, 2016 1 次提交
  5. 31 5月, 2016 1 次提交
    • A
      drm/omap: include linux/seq_file.h where needed · 2d802453
      Arnd Bergmann 提交于
      The omapdrm driver relies on this header to be included
      implicitly, but this does not always work, and I get
      this error in randconfig builds:
      
      gpu/drm/omapdrm/dss/hdmi_phy.c: In function 'hdmi_phy_dump':
      gpu/drm/omapdrm/dss/hdmi_phy.c:34:2: error: implicit declaration of function 'seq_printf' [-Werror=implicit-function-declaration]
      gpu/drm/omapdrm/dss/hdmi_wp.c: In function 'hdmi_wp_dump':
      gpu/drm/omapdrm/dss/hdmi_wp.c:26:2: error: implicit declaration of function 'seq_printf' [-Werror=implicit-function-declaration]
      gpu/drm/omapdrm/dss/hdmi_pll.c: In function 'hdmi_pll_dump':
      gpu/drm/omapdrm/dss/hdmi_pll.c:30:2: error: implicit declaration of function 'seq_printf' [-Werror=implicit-function-declaration]
      
      This adds the #include statements in all files that have
      a seq_printf statement.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      2d802453
  6. 09 3月, 2016 1 次提交
    • L
      dma, mm/pat: Rename dma_*_writecombine() to dma_*_wc() · f6e45661
      Luis R. Rodriguez 提交于
      Rename dma_*_writecombine() to dma_*_wc(), so that the naming
      is coherent across the various write-combining APIs. Keep the
      old names for compatibility for a while, these can be removed
      at a later time. A guard is left to enable backporting of the
      rename, and later remove of the old mapping defines seemlessly.
      
      Build tested successfully with allmodconfig.
      
      The following Coccinelle SmPL patch was used for this simple
      transformation:
      
      @ rename_dma_alloc_writecombine @
      expression dev, size, dma_addr, gfp;
      @@
      
      -dma_alloc_writecombine(dev, size, dma_addr, gfp)
      +dma_alloc_wc(dev, size, dma_addr, gfp)
      
      @ rename_dma_free_writecombine @
      expression dev, size, cpu_addr, dma_addr;
      @@
      
      -dma_free_writecombine(dev, size, cpu_addr, dma_addr)
      +dma_free_wc(dev, size, cpu_addr, dma_addr)
      
      @ rename_dma_mmap_writecombine @
      expression dev, vma, cpu_addr, dma_addr, size;
      @@
      
      -dma_mmap_writecombine(dev, vma, cpu_addr, dma_addr, size)
      +dma_mmap_wc(dev, vma, cpu_addr, dma_addr, size)
      
      We also keep the old names as compatibility helpers, and
      guard against their definition to make backporting easier.
      
      Generated-by: Coccinelle SmPL
      Suggested-by: NIngo Molnar <mingo@kernel.org>
      Signed-off-by: NLuis R. Rodriguez <mcgrof@suse.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: airlied@linux.ie
      Cc: akpm@linux-foundation.org
      Cc: benh@kernel.crashing.org
      Cc: bhelgaas@google.com
      Cc: bp@suse.de
      Cc: dan.j.williams@intel.com
      Cc: daniel.vetter@ffwll.ch
      Cc: dhowells@redhat.com
      Cc: julia.lawall@lip6.fr
      Cc: konrad.wilk@oracle.com
      Cc: linux-fbdev@vger.kernel.org
      Cc: linux-pci@vger.kernel.org
      Cc: luto@amacapital.net
      Cc: mst@redhat.com
      Cc: tomi.valkeinen@ti.com
      Cc: toshi.kani@hp.com
      Cc: vinod.koul@intel.com
      Cc: xen-devel@lists.xensource.com
      Link: http://lkml.kernel.org/r/1453516462-4844-1-git-send-email-mcgrof@do-not-panic.comSigned-off-by: NIngo Molnar <mingo@kernel.org>
      f6e45661
  7. 03 3月, 2016 2 次提交
  8. 31 12月, 2015 2 次提交
  9. 02 7月, 2015 1 次提交
    • T
      drm/omap: increase DMM transaction timeout · 96cbd142
      Tomi Valkeinen 提交于
      The DMM driver uses a timeout of 1 ms to wait for DMM transaction to
      finish. While DMM should always finish the operation within that time,
      the timeout is rather strict. Small misbehavior of the system (e.g. an
      irq taking too long) could trigger the timeout.
      
      As the DMM is a critical piece of code for display memory management,
      let's increase the timeout to 100 ms so that we are less likely to fail
      a memory allocation in case of system misbehaviors. 100 ms is just a
      guess of a reasonably large timeout. The HW should accomplish the task
      in less than 1 ms.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      96cbd142
  10. 13 6月, 2015 1 次提交
  11. 24 3月, 2015 4 次提交
    • G
      drm/omap: tiler: add hibernation callback · 1d601da2
      Grygorii Strashko 提交于
      Setting a dev_pm_ops resume callback but not a set of hibernation
      handler means that pm function will not be called upon hibernation.
      
      Fix this by using SIMPLE_DEV_PM_OPS, which appropriately assigns the
      suspend and hibernation handlers and move omap_dmm_resume under
      CONFIG_PM_SLEEP to avoid build warnings.
      Signed-off-by: NGrygorii Strashko <grygorii.strashko@linaro.org>
      Reviewed-by: NRob Clark <robdclark@gmail.com>
      [tomi valkeinen: add missing 'static']
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      1d601da2
    • T
      drm/omap: fix race conditon in DMM · 7439507f
      Tomi Valkeinen 提交于
      The omapdrm DMM code sometimes crashes with:
      
      WARNING: CPU: 0 PID: 1235 at lib/list_debug.c:36 __list_add+0x8c/0xbc()
      list_add double add: new=e9265368, prev=e90139c4, next=e9265368.
      
      This is caused by the code calling release_engine() twice for the same
      engine.
      
      dmm_txn_commit(wait=true) call is supposed to wait until the DMM
      transaction has been finished. And it does that, but it does not wait
      for the irq handler to finish.
      
      What happens is that the irq handler is triggered, and it either wakes
      up the thread that called dmm_txn_commit(), or that thread never even
      slept because the transaction was finished in the HW very quickly. That
      thread then continues executing, even if the irq handler is not yet
      finished, and a new transaction may be initiated. If that transaction is
      async (i.e. wait=false), a 'async' flag is set to true. The original irq
      handler, which has yet not finished, then sees the transaction as
      'async', even if it was supposed to be 'sync'.
      
      When that happens, the irq handler does an extra release_engine() call
      because it thinks it need to release the engine, leading to the crash.
      
      This patch fixes the issue by using completion to ensure that the irq
      handler has finished before a dmm_txn_commit(wait=true) may continue.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      7439507f
    • T
      drm/omap: tiler: fix race condition with engine->async · e7e24df4
      Tomi Valkeinen 提交于
      The tiler irq handler uses engine->async value, but the code that sets
      engine->async and enables the interrupt does not have a barrier. This
      may cause the irq handler to see the old value of engine->async, causing
      memory corruption.
      Reported-by: NHarinarayan Bhatta <harinarayan@ti.com>
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      e7e24df4
    • T
      drm/omap: fix TILER on OMAP5 · 7cb0d6c1
      Tomi Valkeinen 提交于
      On OMAP5 it is not possible to use TILER buffer with CPU when caching or
      write-combining is used. Doing so leads to errors from the memory
      manager.
      
      However, on OMAP4, write-combining works fine.
      
      This patch adds platform specific data for the TILER, and a function
      tiler_get_cpu_cache_flags() which can be used to get the caching mode to
      be used.
      
      Note that without write-combining the use of the TILER buffer with CPU
      is unusably slow. It's still good to have it operational for testing
      purposes.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      7cb0d6c1
  12. 20 3月, 2015 1 次提交
  13. 22 7月, 2014 1 次提交
    • R
      drm: omapdrm: fix compiler errors · 2d31ca3a
      Russell King 提交于
      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: NRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      2d31ca3a
  14. 09 1月, 2014 1 次提交
  15. 31 10月, 2013 1 次提交
  16. 30 8月, 2013 1 次提交
  17. 17 2月, 2013 3 次提交
    • R
      drm/omap: move out of staging · 8bb0daff
      Rob Clark 提交于
      Now that the omapdss interface has been reworked so that omapdrm can use
      dispc directly, we have been able to fix the remaining functional kms
      issues with omapdrm.  And in the mean time the PM sequencing and many
      other of that open issues have been solved.  So I think it makes sense
      to finally move omapdrm out of staging.
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      8bb0daff
    • A
      drm/omap: Add OMAP5 support · 238083ad
      Andy Gross 提交于
      Add support for OMAP5 processor.  The main differences are that the OMAP5
      has 2 containers, one for 1D and one for 2D.  Each container is 128MiB in
      size.
      Signed-off-by: NAndy Gross <andy.gross@ti.com>
      Signed-off-by: NRob Clark <rob@ti.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      238083ad
    • A
      drm/omap: Add PM capabilities · 4836d157
      Andy Gross 提交于
      Added power management capabilities into the omapdrm and DMM drivers.
      During suspend, we don't need to do anything to maintain the state of
      the LUT.  We have all the necessary information to recreate the mappings
      of the GEM object list maintained by the omapdrm driver.
      
      On resume, the DMM resume handler will first reprogram the LUT to point
      to the dummy page.  The subsequent resume handler in the omapdrm will call
      into the DMM and reprogram each of the buffer objects.  This will ensure
      that all of the necessary objects will be pinned into the DMM properly.
      
      Order of suspend/resume handlers is done by device creation.  We create
      the DMM device before the omapdrm, so the correct order is maintained.
      Signed-off-by: NAndy Gross <andy.gross@ti.com>
      Signed-off-by: NRob Clark <rob@ti.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      4836d157
  18. 12 2月, 2013 1 次提交
  19. 18 1月, 2013 2 次提交
    • A
      drm/omap: Add OMAP5 support · c6b7ae55
      Andy Gross 提交于
      Add support for OMAP5 processor.  The main differences are that the OMAP5
      has 2 containers, one for 1D and one for 2D.  Each container is 128MiB in
      size.
      Signed-off-by: NAndy Gross <andy.gross@ti.com>
      Signed-off-by: NRob Clark <rob@ti.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      c6b7ae55
    • A
      drm/omap: Add PM capabilities · e78edba1
      Andy Gross 提交于
      Added power management capabilities into the omapdrm and DMM drivers.
      During suspend, we don't need to do anything to maintain the state of
      the LUT.  We have all the necessary information to recreate the mappings
      of the GEM object list maintained by the omapdrm driver.
      
      On resume, the DMM resume handler will first reprogram the LUT to point
      to the dummy page.  The subsequent resume handler in the omapdrm will call
      into the DMM and reprogram each of the buffer objects.  This will ensure
      that all of the necessary objects will be pinned into the DMM properly.
      
      Order of suspend/resume handlers is done by device creation.  We create
      the DMM device before the omapdrm, so the correct order is maintained.
      Signed-off-by: NAndy Gross <andy.gross@ti.com>
      Signed-off-by: NRob Clark <rob@ti.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      e78edba1
  20. 17 11月, 2012 1 次提交
  21. 14 11月, 2012 1 次提交
  22. 23 10月, 2012 4 次提交
  23. 16 8月, 2012 1 次提交
  24. 14 8月, 2012 1 次提交
  25. 11 6月, 2012 1 次提交
  26. 11 4月, 2012 1 次提交
  27. 08 3月, 2012 2 次提交