Bug 14712 - [TTM] Bound streaming buffer objects are broken.
Summary: [TTM] Bound streaming buffer objects are broken.
Status: RESOLVED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/other (show other bugs)
Version: DRI git
Hardware: Other Linux (All)
: medium major
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-02-28 03:43 UTC by Thomas Hellström
Modified: 2008-03-12 02:41 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Thomas Hellström 2008-02-28 03:43:52 UTC
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.
Comment 1 Thomas Hellström 2008-03-12 02:41:18 UTC
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.