Am 27.08.21 um 15:55 schrieb Thomas Hellström:
Hi, Christian.
We have a use-case with i915 where the data representation of a buffer
object is larger in system memory than in LMEM/VRAM. Hence we'd like
to create a ttm_tt that is larger than the buffer object itself.
Quickly auditing the TTM code it looks like that should be pretty
safe, as ttm->num_pages is not really much accessed outside the tt
code and the pool code where we're doing the right thing.
The additional data will really only be accessed by the blitter so
when cpu-mapping, mapping just the original buffer object size is
correct. However with swapping the additional data needs to be swapped
out and the code is doing that correctly as well.
Do you think this is an acceptable solution?
Yes, I think that should work. Just haven't tested it yet.
I've been working on getting the core TTM code to use byte or rather an
arbitrary size while the tt code should use the num_pages from it's own
object.
The background is that we have a very similar use case on amdgpu which
we might need to support.
Christian.
/Thomas