Home
last modified time | relevance | path

Searched full:placement (Results 1 – 25 of 282) sorted by relevance

12345678910>>...12

/linux-6.14.4/drivers/gpu/drm/ttm/tests/
Dttm_bo_validate_test.c32 struct ttm_placement *placement; in ttm_placement_kunit_init() local
34 placement = kunit_kzalloc(test, sizeof(*placement), GFP_KERNEL); in ttm_placement_kunit_init()
35 KUNIT_ASSERT_NOT_NULL(test, placement); in ttm_placement_kunit_init()
37 placement->num_placement = num_places; in ttm_placement_kunit_init()
38 placement->placement = places; in ttm_placement_kunit_init()
40 return placement; in ttm_placement_kunit_init()
111 struct ttm_placement *placement; in ttm_bo_init_reserved_sys_man() local
120 placement = ttm_placement_kunit_init(test, place, 1); in ttm_bo_init_reserved_sys_man()
124 err = ttm_bo_init_reserved(priv->ttm_dev, bo, bo_type, placement, in ttm_bo_init_reserved_sys_man()
157 struct ttm_placement *placement; in ttm_bo_init_reserved_mock_man() local
[all …]
Dttm_kunit_helpers.c32 .placement = &sys_place,
37 .placement = &mock1_place,
42 .placement = &mock2_place,
93 struct ttm_placement *placement) in mock_evict_flags() argument
98 *placement = sys_placement; in mock_evict_flags()
101 *placement = mock_placement; in mock_evict_flags()
110 struct ttm_placement *placement) in bad_evict_flags() argument
112 *placement = bad_placement; in bad_evict_flags()
/linux-6.14.4/drivers/gpu/drm/ttm/
Dttm_bo.c51 struct ttm_placement *placement) in ttm_bo_mem_space_debug() argument
57 for (i = 0; i < placement->num_placement; i++) { in ttm_bo_mem_space_debug()
58 mem_type = placement->placement[i].mem_type; in ttm_bo_mem_space_debug()
59 drm_printf(&p, " placement[%d]=0x%08X (%d)\n", in ttm_bo_mem_space_debug()
60 i, placement->placement[i].flags, mem_type); in ttm_bo_mem_space_debug()
341 hop_placement.placement = hop; in ttm_bo_bounce_temp_buffer()
361 struct ttm_placement placement; in ttm_bo_evict() local
369 placement.num_placement = 0; in ttm_bo_evict()
370 bdev->funcs->evict_flags(bo, &placement); in ttm_bo_evict()
372 if (!placement.num_placement) { in ttm_bo_evict()
[all …]
Dttm_resource.c298 * @place: placement of the resource
312 res->placement = place->flags; in ttm_resource_init()
410 * @place: The placement to test
416 * Returns true if the res placement intersects with @place and @size.
436 * ttm_resource_compatible - check if resource is compatible with placement
439 * @placement: the placement to check against
442 * Returns true if the placement is compatible.
445 struct ttm_placement *placement, in ttm_resource_compatible() argument
452 if (res->placement & TTM_PL_FLAG_TEMPORARY) in ttm_resource_compatible()
455 for (i = 0; i < placement->num_placement; i++) { in ttm_resource_compatible()
[all …]
/linux-6.14.4/include/drm/ttm/
Dttm_placement.h37 * Memory regions for data placement.
42 * placement they need to be able to handle the issues that arise due to the
48 * placement that can handle such scenarios is a good idea.
67 /* Placement is never used during eviction */
70 /* Placement is only used during eviction */
94 * @placement: preferred placements
96 * Structure indicating the placement you request for an object.
100 const struct ttm_place *placement; member
Dttm_resource.h96 * @place: Placement details.
100 * by @man. Placement details if applicable are given by @place. If
134 * @place: Placement to check against.
150 * @place: Placement to check against.
230 * Structure indicating the bus placement of an object.
245 * @placement: Placement flags.
246 * @bus: Placement on io bus accessible to the CPU
250 * Structure indicating the placement and space resources used by a
257 uint32_t placement; member
385 * used for object placement.
[all …]
Dttm_bo.h83 * @resource: structure describing current placement.
90 * Base class for TTM buffer object, that deals with data placement and CPU
92 * the driver can usually use the placement offset @offset directly as the
96 * placement and caching for these GPU maps. This makes it possible to use
180 * Context for TTM operations like changing buffer placement or general memory
393 struct ttm_placement *placement,
401 enum ttm_bo_type type, struct ttm_placement *placement,
406 enum ttm_bo_type type, struct ttm_placement *placement,
439 struct ttm_placement *placement,
Dttm_device.h114 * @place: placement we need room for
117 * for a certain placement.
134 struct ttm_placement *placement);
144 * @hop: placement for driver directed intermediate hop
/linux-6.14.4/drivers/gpu/drm/vmwgfx/
Dvmwgfx_bo.c83 * vmw_bo_pin_in_placement - Validate a buffer to placement.
87 * @placement: The placement to pin it.
94 struct ttm_placement *placement, in vmw_bo_pin_in_placement() argument
107 ret = ttm_bo_validate(bo, placement, &ctx); in vmw_bo_pin_in_placement()
146 ret = ttm_bo_validate(bo, &buf->placement, &ctx); in vmw_bo_pin_in_vram_or_gmr()
153 ret = ttm_bo_validate(bo, &buf->placement, &ctx); in vmw_bo_pin_in_vram_or_gmr()
224 (void)ttm_bo_validate(bo, &buf->placement, &ctx); in vmw_bo_pin_in_start_of_vram()
231 ret = ttm_bo_validate(bo, &buf->placement, &ctx); in vmw_bo_pin_in_start_of_vram()
276 * vmw_bo_get_guest_ptr - Get the guest ptr representing the current placement
306 struct ttm_placement placement; in vmw_bo_pin_reserved() local
[all …]
Dvmwgfx_gem.c260 const char *placement; in vmw_bo_print_info() local
265 placement = " CPU"; in vmw_bo_print_info()
268 placement = " GMR"; in vmw_bo_print_info()
271 placement = " MOB"; in vmw_bo_print_info()
274 placement = "VCPU"; in vmw_bo_print_info()
277 placement = "VRAM"; in vmw_bo_print_info()
280 placement = "None"; in vmw_bo_print_info()
300 id, bo->tbo.base.size, placement, type); in vmw_bo_print_info()
Dvmwgfx_bo.h69 * @placement: The preferred placement for this buffer object
70 * @places: The chosen places for the preferred placement.
71 * @busy_places: Chosen busy places for the preferred placement
85 struct ttm_placement placement; member
/linux-6.14.4/drivers/gpu/drm/xe/
Dxe_bo_doc.h15 * TTM manages (placement, eviction, etc...) all BOs in XE.
20 * Create a chunk of memory which can be used by the GPU. Placement rules
21 * (sysmem or vram region) passed in upon creation. TTM handles placement of BO
66 * BO placement
78 * placement. If a BO was swapped to temporary storage, a validation call will
79 * trigger a move back to a valid (location where GPU can access BO) placement.
98 * placement rules which currently reside in VRAM, TTM trigger a will move of
104 * valid placement. In this case TTM will evict one (or multiple) unlocked BO(s)
105 * to a temporary unreachable (invalid) placement. The evicted BO(s) are invalid
106 * and before next use need to be moved to a valid placement and rebound.
Dxe_bo.c49 .placement = &sys_placement_flags,
69 .placement = tt_placement_flags,
109 return bo->placement.num_placement == 1; in xe_bo_has_single_placement()
238 bo->placement = (struct ttm_placement) { in __xe_bo_placement_for_flags()
240 .placement = bo->placements, in __xe_bo_placement_for_flags()
254 struct ttm_placement *placement) in xe_evict_flags() argument
259 placement->num_placement = 0; in xe_evict_flags()
263 *placement = sys_placement; in xe_evict_flags()
275 *placement = tt_placement; in xe_evict_flags()
279 *placement = sys_placement; in xe_evict_flags()
[all …]
Dxe_bo_types.h40 /** @placement: current placement for this BO */
41 struct ttm_placement placement; member
/linux-6.14.4/drivers/gpu/drm/amd/amdgpu/
Damdgpu_object.c102 * amdgpu_bo_placement_from_domain - set buffer's placement
103 * @abo: &amdgpu_bo buffer object whose placement is to be set
106 * Sets buffer's placement according to requested domain and the buffer's
112 struct ttm_placement *placement = &abo->placement; in amdgpu_bo_placement_from_domain() local
214 placement->num_placement = c; in amdgpu_bo_placement_from_domain()
215 placement->placement = places; in amdgpu_bo_placement_from_domain()
468 for (i = 0; i < (*bo_ptr)->placement.num_placement; ++i) { in amdgpu_bo_create_kernel_at()
472 r = ttm_bo_mem_space(&(*bo_ptr)->tbo, &(*bo_ptr)->placement, in amdgpu_bo_create_kernel_at()
707 &bo->placement, page_align, &ctx, NULL, in amdgpu_bo_create()
951 uint32_t mem_flags = bo->tbo.resource->placement; in amdgpu_bo_pin()
[all …]
/linux-6.14.4/Documentation/driver-api/
Dmtdnand.rst502 - Automatic placement at the end of the chip
593 For automatic placement some blocks must be reserved for bad block
600 Spare area (auto)placement
603 The nand driver implements different possibilities for placement of
606 - Placement defined by fs driver
608 - Automatic placement
610 The default placement function is automatic placement. The nand driver
611 has built in default placement schemes for the various chiptypes. If due
612 to hardware ECC functionality the default placement does not fit then
613 the board driver can provide a own placement scheme.
[all …]
/linux-6.14.4/Documentation/admin-guide/cgroup-v1/
Dcpusets.rst47 Cpusets constrain the CPU and Memory placement of tasks to only
51 job placement on large systems.
78 the efficient scheduling and memory placement of processes.
85 memory placement to reduce memory access times and contention,
105 leverages existing CPU and Memory Placement facilities in the Linux
177 - cpuset.cpu_exclusive flag: is cpu placement exclusive?
178 - cpuset.mem_exclusive flag: is memory placement exclusive?
206 the detailed placement done on individual tasks and memory regions
378 This memory placement policy is also known (in other contexts) as
395 tasks to itself, within the constraints of such placement mechanisms
[all …]
/linux-6.14.4/drivers/gpu/drm/qxl/
Dqxl_ttm.c51 struct ttm_placement *placement) in qxl_evict_flags() argument
62 placement->placement = &placements; in qxl_evict_flags()
63 placement->num_placement = 1; in qxl_evict_flags()
68 *placement = qbo->placement; in qxl_evict_flags()
Dqxl_object.c65 qbo->placement.placement = qbo->placements; in qxl_ttm_placement_from_domain()
84 qbo->placement.num_placement = c; in qxl_ttm_placement_from_domain()
140 &bo->placement, 0, &ctx, NULL, NULL, in qxl_bo_create()
307 r = ttm_bo_validate(&bo->tbo, &bo->placement, &ctx); in qxl_bo_pin_locked()
/linux-6.14.4/drivers/gpu/drm/i915/gem/
Di915_gem_ttm.c67 .placement = &sys_placement_flags,
77 * Return: A pointer to a static variable for sys placement.
159 struct ttm_placement *placement) in i915_ttm_placement_from_obj() argument
177 placement->num_placement = num_allowed + 1; in i915_ttm_placement_from_obj()
178 placement->placement = places; in i915_ttm_placement_from_obj()
378 struct ttm_placement *placement) in i915_ttm_evict_flags() argument
380 *placement = i915_sys_placement; in i915_ttm_evict_flags()
774 struct ttm_placement *placement) in __i915_ttm_get_pages() argument
785 /* First try only the requested placement. No eviction. */ in __i915_ttm_get_pages()
787 memcpy(&initial_place, placement->placement, sizeof(struct ttm_place)); in __i915_ttm_get_pages()
[all …]
/linux-6.14.4/include/drm/
Ddrm_gem_vram_helper.h35 * @placement: TTM placement information. Supported placements are %TTM_PL_VRAM
37 * @placements: TTM placement information.
64 struct ttm_placement placement; member
/linux-6.14.4/drivers/mtd/nand/
Decc.c162 /* Define default OOB placement schemes for large and small page devices */
369 enum nand_ecc_placement placement; in of_get_nand_ecc_placement() local
373 err = of_property_read_string(np, "nand-ecc-placement", &pm); in of_get_nand_ecc_placement()
375 for (placement = NAND_ECC_PLACEMENT_OOB; in of_get_nand_ecc_placement()
376 placement < ARRAY_SIZE(nand_ecc_placement); placement++) { in of_get_nand_ecc_placement()
377 if (!strcasecmp(pm, nand_ecc_placement[placement])) in of_get_nand_ecc_placement()
378 return placement; in of_get_nand_ecc_placement()
435 nand->ecc.user_conf.placement = of_get_nand_ecc_placement(dn); in of_get_nand_ecc_user_config()
/linux-6.14.4/drivers/gpu/drm/radeon/
Dradeon_ttm.c83 struct ttm_placement *placement) in radeon_evict_flags() argument
95 placement->placement = &placements; in radeon_evict_flags()
96 placement->num_placement = 1; in radeon_evict_flags()
110 * first, but only set GTT as busy placement, so this in radeon_evict_flags()
116 for (i = 0; i < rbo->placement.num_placement; i++) { in radeon_evict_flags()
130 *placement = rbo->placement; in radeon_evict_flags()
157 DRM_ERROR("Unknown placement %d\n", old_mem->mem_type); in radeon_move_blit()
168 DRM_ERROR("Unknown placement %d\n", old_mem->mem_type); in radeon_move_blit()
Dradeon_object.c80 rbo->placement.placement = rbo->placements; in radeon_ttm_placement_from_domain()
115 rbo->placement.num_placement = c; in radeon_ttm_placement_from_domain()
205 &bo->placement, page_align, !kernel, sg, resv, in radeon_bo_create()
305 for (i = 0; i < bo->placement.num_placement; i++) { in radeon_bo_pin_restricted()
316 r = ttm_bo_validate(&bo->tbo, &bo->placement, &ctx); in radeon_bo_pin_restricted()
515 r = ttm_bo_validate(&bo->tbo, &bo->placement, &ctx); in radeon_bo_list_validate()
745 for (i = 0; i < rbo->placement.num_placement; i++) { in radeon_bo_fault_reserve_notify()
751 r = ttm_bo_validate(bo, &rbo->placement, &ctx); in radeon_bo_fault_reserve_notify()
754 r = ttm_bo_validate(bo, &rbo->placement, &ctx); in radeon_bo_fault_reserve_notify()
/linux-6.14.4/drivers/gpu/drm/loongson/
Dlsdc_ttm.c56 lbo->placement.placement = lbo->placements; in lsdc_bo_set_placement()
78 lbo->placement.num_placement = c; in lsdc_bo_set_placement()
155 *tplacement = lbo->placement; in lsdc_bo_evict_flags()
302 ret = ttm_bo_validate(tbo, &lbo->placement, &ctx); in lsdc_bo_pin()
475 ret = ttm_bo_init_validate(bdev, tbo, bo_type, &lbo->placement, 0, in lsdc_bo_create()

12345678910>>...12