The below commit breaks streaming CPU->GPU buffers that we don't repopulate / rebind every time we validate. This includes user-space buffer pools and, for example, cache-coherent pixel buffers used for streaming. The reason for this is that when a new page is added to the buffer in nopage() or drm_bo_kmap, it's not bound to the translation table. We should either add a ttm_backend::update_page() method, which is called whenever the ttm is bound and a new page is added, or disable this functionality. Author: Keith Packard <keithp@keithp.com> 2007-12-16 10:47:51 Committer: Keith Packard <keithp@keithp.com> 2007-12-21 21:16:29 Parent: 881ee70ab7bab5d6f6140dc9bf1e19c7b5844084 (Move dummy_read_page from drm_ttm_set_user to drm_ttm_create.) Child: d1187641d64f442968a3b9ea6a19de6cdd45acd4 (Rename inappropriately named 'mask' fields to 'proposed_flags' instead.) Branches: origin, master, test, test2, vblank-rework, modesetting-101, modesetting-101-origin Follows: drm-2.3.0 Precedes: Use dummy_read_page for unpopulated kernel-allocated ttm pages. Previously, dummy_read_page was used only for read-only user allocations; it filled in pages that were not present in the user address map (presumably, these were allocated but never written to pages). This patch allows them to be used for read-only ttms allocated from the kernel, so that applications can over-allocate buffers without forcing every page to be allocated.
This functionality has been disabled in drm commit 2a618e5a7f6d26fe85e7d931d0ef08d9f18b1b7c /Thomas
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.