[PATCH v4 0/4] drm/omap: dmm_tiler: fixes and workaround for errata i878

Peter Ujfalusi peter.ujfalusi at ti.com
Wed Sep 26 09:11:26 UTC 2018


Hi,

Hi,

Changes since v3:
- Included two fixes for dmm_tiler:
 - fix for memory barrier bug from Tomi
 - correct the ordering of the interrupt request
- dropped the new compatible as the i878 is affecting only dra7 family of SoCs,
  the DMM itself is the same.

Changes since v2:
- Use threaded irq when the i878 workaround is used to avoid unlikely system
  freeze: dma_sync_wait() have 5 second timeout
- Use mutex instead of spinlock as wa_lock
- use the dmaengine_prep_dma_memcpy() wrapper
- do not explicitly call dma_async_issue_pending() as it is done as part of
  dma_sync_wait()
- Use define for the DMM register size (4 bytes)
- Cleanup patch for the remove path: no need to check if the irq is valid. The
  driver would not probe w/o valid interrupt.

Changes since v1:
- rebased on drm-next
- comments for the v1 (https://patchwork.kernel.org/patch/8358741/) addressed
 - u32 -> dma_addr_t when applicable
 - additional wmb()/rmb() added to make sure we have correct behavior

Errata i878 says that MPU should not be used to access RAM and DMM at
the same time. As it's not possible to prevent MPU accessing RAM, we
need to access DMM via a proxy.

Regards,
Peter
---
Peter Ujfalusi (2):
  drm/omap: dmm_tiler: No need to check if irq is valid in
    omap_dmm_remove
  drm/omap: dmm_tiler: Fix interrupt request/free sequence during
    probe/remove

Tomi Valkeinen (2):
  drm/omap: fix memory barrier bug in DMM driver
  drm/omap: partial workaround for DRA7xx DMM errata i878

 drivers/gpu/drm/omapdrm/omap_dmm_priv.h  |   7 +
 drivers/gpu/drm/omapdrm/omap_dmm_tiler.c | 201 ++++++++++++++++++++---
 2 files changed, 186 insertions(+), 22 deletions(-)

-- 
Peter

Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki



More information about the dri-devel mailing list