mirror of https://gitee.com/openkylin/linux.git
drm/nouveau: workaround semaphore hw bug causing unnecessary interrupts
The HW will only accept the DMA_FROM_MEMORY class for DMA_SEMAPHORE without asking the driver to intervene. It appears that semaphores will work correctly even without DMA_IN_MEMORY, so lets avoid the large amount of interrupts generated by x-chan sync. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
parent
afb0c796d8
commit
91a8f1ea4b
|
@ -519,7 +519,7 @@ nouveau_fence_channel_init(struct nouveau_channel *chan)
|
||||||
if (USE_SEMA(dev) && dev_priv->chipset < 0x84) {
|
if (USE_SEMA(dev) && dev_priv->chipset < 0x84) {
|
||||||
struct ttm_mem_reg *mem = &dev_priv->fence.bo->bo.mem;
|
struct ttm_mem_reg *mem = &dev_priv->fence.bo->bo.mem;
|
||||||
|
|
||||||
ret = nouveau_gpuobj_dma_new(chan, NV_CLASS_DMA_IN_MEMORY,
|
ret = nouveau_gpuobj_dma_new(chan, NV_CLASS_DMA_FROM_MEMORY,
|
||||||
mem->start << PAGE_SHIFT,
|
mem->start << PAGE_SHIFT,
|
||||||
mem->size, NV_MEM_ACCESS_RW,
|
mem->size, NV_MEM_ACCESS_RW,
|
||||||
NV_MEM_TARGET_VRAM, &obj);
|
NV_MEM_TARGET_VRAM, &obj);
|
||||||
|
|
Loading…
Reference in New Issue