Arunpravin Paneer Selvam
73b984d872
drm/nouveau: Implement intersect/compatible functions
...
Implemented a new intersect and compatible callback function
fetching the start offset from struct ttm_resource.
Signed-off-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20220820073304.178444-5-Arunpravin.PaneerSelvam@amd.com
2022-08-22 15:36:11 +02:00
Christian König
de3688e469
drm/ttm: add ttm_resource_fini v2
...
Make sure we call the common cleanup function in all
implementations of the resource manager.
v2: fix missing case in i915, rudimentary kerneldoc, should be
filled in more when we add more functionality
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/20220124122514.1832-2-christian.koenig@amd.com
2022-01-26 15:23:51 +01:00
Christian König
cb1c81467a
drm/ttm: flip the switch for driver allocated resources v2
...
Instead of both driver and TTM allocating memory finalize embedding the
ttm_resource object as base into the driver backends.
v2: fix typo in vmwgfx grid mgr and double init in amdgpu_vram_mgr.c
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Matthew Auld <matthew.auld@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20210602100914.46246-10-christian.koenig@amd.com
2021-06-04 15:16:46 +02:00
Christian König
beb4c86521
drm/nouveau: switch the TTM backends to self alloc
...
Similar to the TTM range manager.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Matthew Auld <matthew.auld@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20210602100914.46246-8-christian.koenig@amd.com
2021-06-04 15:16:46 +02:00
Christian König
e34b8feeaa
drm/ttm: merge ttm_dma_tt back into ttm_tt
...
It makes no difference to kmalloc if the structure
is 48 or 64 bytes in size.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Link: https://patchwork.freedesktop.org/patch/396950/
2020-10-26 14:45:42 +01:00
Dave Airlie
2966141ad2
drm/ttm: rename ttm_mem_reg to ttm_resource.
...
This name better reflects what the object does. I didn't rename
all the pointers it seemed too messy.
Signed-off-by: Dave Airlie <airlied@redhat.com >
Acked-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Ben Skeggs <bskeggs@redhat.com >
Signed-off-by: Dave Airlie <airlied@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200804025632.3868079-60-airlied@gmail.com
2020-08-06 13:19:21 +10:00
Ben Skeggs
d7722134b8
drm/nouveau: switch over to new memory and vmm interfaces
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2017-11-02 13:32:33 +10:00
Ben Skeggs
96da0bcd51
drm/nouveau: allocate vmm object for every client
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2017-11-02 13:32:32 +10:00
Ben Skeggs
f9463a4bc8
drm/nouveau/mmu: implement new vmm frontend
...
These are the new priviledged interfaces to the VMM backends, and expose
some functionality that wasn't previously available.
It's now possible to allocate a chunk of address-space (even all of it),
without causing page tables to be allocated up-front, and then map into
it at arbitrary locations. This is the basic primitive used to support
features such as sparse mapping, or to allow userspace control over its
own address-space, or HMM (where the GPU driver isn't in control of the
address-space layout).
Rather than being tied to a subtle combination of memory object and VMA
properties, arguments that control map flags (ro, kind, etc) are passed
explicitly at map time.
The compatibility hacks to implement the old frontend on top of the new
driver backends have been replaced with something similar to implement
the old frontend's interfaces on top of the new frontend.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2017-11-02 13:32:30 +10:00
Ben Skeggs
26880e7686
drm/nouveau/mmu: remove support for old backends
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2017-11-02 13:32:30 +10:00
Ben Skeggs
7b8656636a
drm/nouveau: directly handle comptag allocation
...
Another transition step to allow finer-grained patches transitioning to
new MMU backends.
Old backends will continue operate as before (accessing nvkm_mem::tag),
and new backends will get a reference to the tags allocated here.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2017-11-02 13:32:23 +10:00
Ben Skeggs
bd275f1d1a
drm/nouveau: wrap nvkm_mem objects in nvkm_memory interfaces
...
This is a transition step, to enable finer-grained commits while
transitioning to new MMU interfaces.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2017-11-02 13:32:23 +10:00
Ben Skeggs
9ce523cc3b
drm/nouveau: separate buffer object backing memory from nvkm structures
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2017-11-02 13:32:21 +10:00