Message ID | 20180926091130.5379-1-peter.ujfalusi@ti.com (mailing list archive) |
---|---|
Headers | show |
Series | drm/omap: dmm_tiler: fixes and workaround for errata i878 | expand |
On 26/09/18 12:11, Peter Ujfalusi wrote: > 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(-) > Thanks, looks good to me. Applied. Tomi