Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src/sys/external/bsd/drm2



Module Name:    src
Committed By:   jmcneill
Date:           Sun Jan 19 12:03:27 UTC 2020

Modified Files:
        src/sys/external/bsd/drm2/dist/include/drm: drm_cache.h
        src/sys/external/bsd/drm2/include/drm: drm_os_netbsd.h

Log Message:
Disable the use of WC memory on Arm and Arm64. From Linux:

 * The DRM driver stack is designed to work with cache coherent devices
 * only, but permits an optimization to be enabled in some cases, where
 * for some buffers, both the CPU and the GPU use uncached mappings,
 * removing the need for DMA snooping and allocation in the CPU caches.
 *
 * The use of uncached GPU mappings relies on the correct implementation
 * of the PCIe NoSnoop TLP attribute by the platform, otherwise the GPU
 * will use cached mappings nonetheless. On x86 platforms, this does not
 * seem to matter, as uncached CPU mappings will snoop the caches in any
 * case. However, on ARM and arm64, enabling this optimization on a
 * platform where NoSnoop is ignored results in loss of coherency, which
 * breaks correct operation of the device. Since we have no way of
 * detecting whether NoSnoop works or not, just disable this
 * optimization entirely for ARM and arm64.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \
    src/sys/external/bsd/drm2/dist/include/drm/drm_cache.h
cvs rdiff -u -r1.15 -r1.16 \
    src/sys/external/bsd/drm2/include/drm/drm_os_netbsd.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index