search for: drm_gpuva_region

Displaying 7 results from an estimated 7 matches for "drm_gpuva_region".

2023 Feb 27
2
[PATCH drm-next v2 05/16] drm: manager to keep track of GPUs VA mappings
..._insert(struct drm_gpuva_manager *mgr, >>>> + struct drm_gpuva *va) >>>> +{ >>>> + u64 addr = va->va.addr; >>>> + u64 range = va->va.range; >>>> + MA_STATE(mas, &mgr->va_mt, addr, addr + range - 1); >>>> + struct drm_gpuva_region *reg = NULL; >>>> + int ret; >>>> + >>>> + if (unlikely(!drm_gpuva_in_mm_range(mgr, addr, range))) >>>> + return -EINVAL; >>>> + >>>> + if (unlikely(drm_gpuva_in_kernel_region(mgr, addr, range))) >>>> + return -EI...
2023 Feb 22
1
[PATCH drm-next v2 05/16] drm: manager to keep track of GPUs VA mappings
...jects representing all existent GPU VA mappings using >> this >> + * &drm_gem_object as backing buffer. >> + * >> + * If the &DRM_GPUVA_MANAGER_REGIONS feature is enabled, a GPU VA >> mapping can >> + * only be created within a previously allocated &drm_gpuva_region, >> which >> + * represents a reserved portion of the GPU VA space. GPU VA mappings >> are not >> + * allowed to span over a &drm_gpuva_region's boundary. >> + * >> + * GPU VA regions can also be flagged as sparse, which allows drivers >> to crea...
2023 Feb 23
1
[PATCH drm-next v2 05/16] drm: manager to keep track of GPUs VA mappings
...gt;> + * &drm_gem_object as backing buffer. >>>>> + * >>>>> + * If the &DRM_GPUVA_MANAGER_REGIONS feature is enabled, a GPU VA >>>>> mapping can >>>>> + * only be created within a previously allocated >>>>> &drm_gpuva_region, which >>>>> + * represents a reserved portion of the GPU VA space. GPU VA >>>>> mappings are not >>>>> + * allowed to span over a &drm_gpuva_region's boundary. >>>>> + * >>>>> + * GPU VA regions can also be flagged...
2023 Jan 27
1
[PATCH drm-next 05/14] drm/nouveau: new VM_BIND uapi interfaces
...uld do the trick I guess. Otherwise, we could also add an option to the GPUVA manager (or a specific region, which could also be a single huge one) within which it never merges. > > If this can be removed then the entire concept of regions in the GPUVA > can be removed too (drop struct drm_gpuva_region). I say this because > in Xe as I'm porting over to GPUVA the first thing I'm doing after > drm_gpuva_manager_init is calling drm_gpuva_region_insert on the entire > address space. To me this seems kinda useless but maybe I'm missing why > you need this for Nouveau. > &g...
2023 Mar 06
0
[PATCH drm-next v2 05/16] drm: manager to keep track of GPUs VA mappings
..._insert(struct drm_gpuva_manager *mgr, >>>> + struct drm_gpuva *va) >>>> +{ >>>> + u64 addr = va->va.addr; >>>> + u64 range = va->va.range; >>>> + MA_STATE(mas, &mgr->va_mt, addr, addr + range - 1); >>>> + struct drm_gpuva_region *reg = NULL; >>>> + int ret; >>>> + >>>> + if (unlikely(!drm_gpuva_in_mm_range(mgr, addr, range))) >>>> + return -EINVAL; >>>> + >>>> + if (unlikely(drm_gpuva_in_kernel_region(mgr, addr, range))) >>>> + return -EI...
2023 Jan 27
1
[PATCH drm-next 05/14] drm/nouveau: new VM_BIND uapi interfaces
...Otherwise, we could also add an option to > the GPUVA manager (or a specific region, which could also be a single > huge one) within which it never merges. > >> >> If this can be removed then the entire concept of regions in the GPUVA >> can be removed too (drop struct drm_gpuva_region). I say this because >> in Xe as I'm porting over to GPUVA the first thing I'm doing after >> drm_gpuva_manager_init is calling drm_gpuva_region_insert on the entire >> address space. To me this seems kinda useless but maybe I'm missing why >> you need this for N...
2023 Jan 27
0
[PATCH drm-next 05/14] drm/nouveau: new VM_BIND uapi interfaces
...this operation? We have no concept of this in Xe, >>> e.g. we can create a VM and the entire address space is managed exactly >>> the same. >>> >>> If this can be removed then the entire concept of regions in the GPUVA >>> can be removed too (drop struct drm_gpuva_region). I say this because >>> in Xe as I'm porting over to GPUVA the first thing I'm doing after >>> drm_gpuva_manager_init is calling drm_gpuva_region_insert on the entire >>> address space. >> >> Also, since you've been starting to use the code, this...