Home
last modified time | relevance | path

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

12345678910

/linux/drivers/gpu/drm/ttm/tests/
H A 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 …]
H A 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/drivers/gpu/drm/ttm/
H A 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 …]
H A 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/include/drm/ttm/
H A 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
H A 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 …]
H A 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,
/linux/drivers/gpu/drm/vmwgfx/
H A 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 …]
H A 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()
H A 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/drivers/gpu/drm/xe/
H A 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.
H A 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 …]
H A Dxe_bo_types.h40 /** @placement: current placement for this BO */
41 struct ttm_placement placement; member
/linux/drivers/gpu/drm/amd/amdgpu/
H A 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 …]
H A Damdgpu_ttm.c83 * amdgpu_evict_flags - Compute placement flags
86 * @placement: Possible destination(s) for evicted BO
88 * Fill in placement data when ttm_bo_evict() is called
91 struct ttm_placement *placement) in amdgpu_evict_flags() argument
104 placement->num_placement = 0; in amdgpu_evict_flags()
110 placement->placement = &placements; in amdgpu_evict_flags()
111 placement->num_placement = 1; in amdgpu_evict_flags()
117 placement->num_placement = 0; in amdgpu_evict_flags()
126 placement->num_placement = 0; in amdgpu_evict_flags()
139 * first, but only set GTT as busy placement, so this in amdgpu_evict_flags()
[all …]
/linux/Documentation/driver-api/
H A 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/drivers/gpu/drm/i915/gem/
H A 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/drivers/gpu/drm/qxl/
H A 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()
H A 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/drivers/mtd/nand/
H A 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/drivers/gpu/drm/radeon/
H A 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/drivers/gpu/drm/loongson/
H A 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()
/linux/Documentation/filesystems/ext4/
H A Dallocators.rst26 the filesystem defers deciding the exact placement on the disk until all
28 particular placement until it's absolutely necessary (the commit timeout
/linux/include/uapi/mtd/
H A Dmtd-abi.h163 /* Obsolete ECC byte placement modes (used with obsolete MEMGETOOBSEL) */
165 #define MTD_NANDECC_PLACE 1 /* Use the given placement in the structure (YAFFS1 legacy mode) */
166 #define MTD_NANDECC_AUTOPLACE 2 /* Use the default placement scheme */
167 #define MTD_NANDECC_PLACEONLY 3 /* Use the given placement in the structure (Do not store ecc resul…
/linux/Documentation/scsi/
H A Dcxgb3i.rst11 series of products) support iSCSI acceleration and iSCSI Direct Data Placement
23 - Direct Data Placement (DDP)

12345678910