Displaying 4 results from an estimated 4 matches for "is_cpu_coherent".
2014 Jul 10
2
[PATCH v4 4/6] drm/nouveau: synchronize BOs when required
...)
> +{
> + struct nouveau_drm *drm = nouveau_bdev(nvbo->bo.bdev);
> + struct nouveau_device *device = nouveau_dev(drm->dev);
> + struct ttm_dma_tt *ttm_dma = (struct ttm_dma_tt *)nvbo->bo.ttm;
> + int i;
> +
> + if (!ttm_dma)
> + return;
> +
> + if (nv_device_is_cpu_coherent(device) || nvbo->force_coherent)
> + return;
Is the is_cpu_coherent check really required? On coherent platforms the
sync_for_foo should be a noop. It's the dma api's job to encapsulate this
knowledge so that drivers can be blissfully ignorant. The explicit
is_coherent check makes t...
2014 Jul 11
1
[PATCH v4 4/6] drm/nouveau: synchronize BOs when required
...;bo.bdev);
> >>+ struct nouveau_device *device = nouveau_dev(drm->dev);
> >>+ struct ttm_dma_tt *ttm_dma = (struct ttm_dma_tt *)nvbo->bo.ttm;
> >>+ int i;
> >>+
> >>+ if (!ttm_dma)
> >>+ return;
> >>+
> >>+ if (nv_device_is_cpu_coherent(device) || nvbo->force_coherent)
> >>+ return;
> >
> >Is the is_cpu_coherent check really required? On coherent platforms the
> >sync_for_foo should be a noop. It's the dma api's job to encapsulate this
> >knowledge so that drivers can be blissfully igno...
2014 Jul 11
0
[PATCH v4 4/6] drm/nouveau: synchronize BOs when required
...drm *drm = nouveau_bdev(nvbo->bo.bdev);
>> + struct nouveau_device *device = nouveau_dev(drm->dev);
>> + struct ttm_dma_tt *ttm_dma = (struct ttm_dma_tt *)nvbo->bo.ttm;
>> + int i;
>> +
>> + if (!ttm_dma)
>> + return;
>> +
>> + if (nv_device_is_cpu_coherent(device) || nvbo->force_coherent)
>> + return;
>
> Is the is_cpu_coherent check really required? On coherent platforms the
> sync_for_foo should be a noop. It's the dma api's job to encapsulate this
> knowledge so that drivers can be blissfully ignorant. The explicit
&g...
2014 Jul 08
8
[PATCH v4 0/6] drm: nouveau: memory coherency on ARM
...pages are mapped to the GPU on platform devices
- Thoroughly checked with CONFIG_DMA_API_DEBUG that there were no API violations
Alexandre Courbot (6):
drm/ttm: expose CPU address of DMA-allocated pages
drm/nouveau: map pages using DMA API on platform devices
drm/nouveau: introduce nv_device_is_cpu_coherent()
drm/nouveau: synchronize BOs when required
drm/nouveau: implement explicitly coherent BOs
drm/nouveau: allocate GPFIFOs and fences coherently
drivers/gpu/drm/nouveau/core/engine/device/base.c | 14 ++-
drivers/gpu/drm/nouveau/core/include/core/device.h | 3 +
drivers/gpu/drm/nouveau/n...