/Linux-v5.15/drivers/staging/media/atomisp/pci/hmm/ |
D | hmm_bo.c | 58 static int __bo_init(struct hmm_bo_device *bdev, struct hmm_buffer_object *bo, in __bo_init() 143 struct hmm_buffer_object *bo; in __bo_search_by_addr() local 168 struct hmm_buffer_object *bo; in __bo_search_by_addr_in_range() local 190 struct hmm_buffer_object *bo) in __bo_insert_to_free_rbtree() 223 struct hmm_buffer_object *bo) in __bo_insert_to_alloc_rbtree() 248 struct hmm_buffer_object *bo, in __bo_break_up() 279 static void __bo_take_off_handling(struct hmm_buffer_object *bo) in __bo_take_off_handling() 320 static struct hmm_buffer_object *__bo_merge(struct hmm_buffer_object *bo, in __bo_merge() 347 struct hmm_buffer_object *bo; in hmm_bo_device_init() local 407 struct hmm_buffer_object *bo, *new_bo; in hmm_bo_alloc() local [all …]
|
D | hmm.c | 58 struct hmm_buffer_object *bo; in bo_show() local 229 struct hmm_buffer_object *bo; in hmm_alloc() local 287 struct hmm_buffer_object *bo; in hmm_free() local 309 static inline int hmm_check_bo(struct hmm_buffer_object *bo, unsigned int ptr) in hmm_check_bo() 337 struct hmm_buffer_object *bo; in load_and_flush_by_kmap() local 380 struct hmm_buffer_object *bo; in load_and_flush() local 437 struct hmm_buffer_object *bo; in hmm_store() local 530 struct hmm_buffer_object *bo; in hmm_set() local 591 struct hmm_buffer_object *bo; in hmm_virt_to_phys() local 609 struct hmm_buffer_object *bo; in hmm_mmap() local [all …]
|
/Linux-v5.15/drivers/gpu/drm/qxl/ |
D | qxl_object.c | 37 struct qxl_bo *bo; in qxl_ttm_bo_destroy() local 52 bool qxl_ttm_bo_is_qxl_bo(struct ttm_buffer_object *bo) in qxl_ttm_bo_is_qxl_bo() 115 struct qxl_bo *bo; in qxl_bo_create() local 161 int qxl_bo_vmap_locked(struct qxl_bo *bo, struct dma_buf_map *map) in qxl_bo_vmap_locked() 187 int qxl_bo_vmap(struct qxl_bo *bo, struct dma_buf_map *map) in qxl_bo_vmap() 207 struct qxl_bo *bo, int page_offset) in qxl_bo_kmap_atomic_page() 239 void qxl_bo_vunmap_locked(struct qxl_bo *bo) in qxl_bo_vunmap_locked() 252 int qxl_bo_vunmap(struct qxl_bo *bo) in qxl_bo_vunmap() 267 struct qxl_bo *bo, void *pmap) in qxl_bo_kunmap_atomic_page() 279 void qxl_bo_unref(struct qxl_bo **bo) in qxl_bo_unref() [all …]
|
D | qxl_release.c | 124 struct qxl_bo *bo; in qxl_release_free_list() local 163 struct qxl_bo **bo, in qxl_release_bo_alloc() 171 int qxl_release_list_add(struct qxl_release *release, struct qxl_bo *bo) in qxl_release_list_add() 191 static int qxl_release_validate_bo(struct qxl_bo *bo) in qxl_release_validate_bo() 230 struct qxl_bo *bo = to_qxl_bo(entry->tv.bo); in qxl_release_reserve_list() local 258 struct qxl_bo *bo; in qxl_alloc_surface_release_reserved() local 286 struct qxl_bo *bo, *free_bo = NULL; in qxl_alloc_release_reserved() local 385 struct qxl_bo *bo = release->release_bo; in qxl_release_map() local 398 struct qxl_bo *bo = release->release_bo; in qxl_release_unmap() local 407 struct ttm_buffer_object *bo; in qxl_release_fence_buffer_objects() local
|
D | qxl_prime.c | 33 struct qxl_bo *bo = gem_to_qxl_bo(obj); in qxl_gem_prime_pin() local 40 struct qxl_bo *bo = gem_to_qxl_bo(obj); in qxl_gem_prime_unpin() local 59 struct qxl_bo *bo = gem_to_qxl_bo(obj); in qxl_gem_prime_vmap() local 72 struct qxl_bo *bo = gem_to_qxl_bo(obj); in qxl_gem_prime_vunmap() local
|
/Linux-v5.15/drivers/gpu/drm/tegra/ |
D | gem.c | 23 static void tegra_bo_put(struct host1x_bo *bo) in tegra_bo_put() 53 static struct sg_table *tegra_bo_pin(struct device *dev, struct host1x_bo *bo, in tegra_bo_pin() 132 static void *tegra_bo_mmap(struct host1x_bo *bo) in tegra_bo_mmap() 149 static void tegra_bo_munmap(struct host1x_bo *bo, void *addr) in tegra_bo_munmap() 162 static struct host1x_bo *tegra_bo_get(struct host1x_bo *bo) in tegra_bo_get() 180 static int tegra_bo_iommu_map(struct tegra_drm *tegra, struct tegra_bo *bo) in tegra_bo_iommu_map() 223 static int tegra_bo_iommu_unmap(struct tegra_drm *tegra, struct tegra_bo *bo) in tegra_bo_iommu_unmap() 247 struct tegra_bo *bo; in tegra_bo_alloc_object() local 276 static void tegra_bo_free(struct drm_device *drm, struct tegra_bo *bo) in tegra_bo_free() 288 static int tegra_bo_get_pages(struct drm_device *drm, struct tegra_bo *bo) in tegra_bo_get_pages() [all …]
|
D | submit.c | 44 struct gather_bo *bo = container_of(host_bo, struct gather_bo, base); in gather_bo_get() local 53 struct gather_bo *bo = container_of(ref, struct gather_bo, ref); in gather_bo_release() local 62 struct gather_bo *bo = container_of(host_bo, struct gather_bo, base); in gather_bo_put() local 70 struct gather_bo *bo = container_of(host_bo, struct gather_bo, base); in gather_bo_pin() local 98 struct gather_bo *bo = container_of(host_bo, struct gather_bo, base); in gather_bo_mmap() local 159 struct gather_bo *bo; in submit_copy_gather_data() local 204 static int submit_write_reloc(struct tegra_drm_context *context, struct gather_bo *bo, in submit_write_reloc() 233 static int submit_process_bufs(struct tegra_drm_context *context, struct gather_bo *bo, in submit_process_bufs() 328 struct gather_bo *bo, u32 *offset, in submit_job_add_gather() 369 submit_create_job(struct tegra_drm_context *context, struct gather_bo *bo, in submit_create_job() [all …]
|
/Linux-v5.15/drivers/gpu/drm/radeon/ |
D | radeon_object.c | 52 static void radeon_update_memory_usage(struct ttm_buffer_object *bo, in radeon_update_memory_usage() 75 struct radeon_bo *bo; in radeon_ttm_bo_destroy() local 90 bool radeon_ttm_bo_is_radeon_bo(struct ttm_buffer_object *bo) in radeon_ttm_bo_is_radeon_bo() 157 struct radeon_bo *bo; in radeon_bo_create() local 240 int radeon_bo_kmap(struct radeon_bo *bo, void **ptr) in radeon_bo_kmap() 263 void radeon_bo_kunmap(struct radeon_bo *bo) in radeon_bo_kunmap() 272 struct radeon_bo *radeon_bo_ref(struct radeon_bo *bo) in radeon_bo_ref() 281 void radeon_bo_unref(struct radeon_bo **bo) in radeon_bo_unref() 292 int radeon_bo_pin_restricted(struct radeon_bo *bo, u32 domain, u64 max_offset, in radeon_bo_pin_restricted() 351 int radeon_bo_pin(struct radeon_bo *bo, u32 domain, u64 *gpu_addr) in radeon_bo_pin() [all …]
|
D | radeon_object.h | 64 static inline int radeon_bo_reserve(struct radeon_bo *bo, bool no_intr) in radeon_bo_reserve() 77 static inline void radeon_bo_unreserve(struct radeon_bo *bo) in radeon_bo_unreserve() 91 static inline u64 radeon_bo_gpu_offset(struct radeon_bo *bo) in radeon_bo_gpu_offset() 110 static inline unsigned long radeon_bo_size(struct radeon_bo *bo) in radeon_bo_size() 115 static inline unsigned radeon_bo_ngpu_pages(struct radeon_bo *bo) in radeon_bo_ngpu_pages() 120 static inline unsigned radeon_bo_gpu_page_alignment(struct radeon_bo *bo) in radeon_bo_gpu_page_alignment() 131 static inline u64 radeon_bo_mmap_offset(struct radeon_bo *bo) in radeon_bo_mmap_offset()
|
D | radeon_prime.c | 37 struct radeon_bo *bo = gem_to_radeon_bo(obj); in radeon_gem_prime_get_sg_table() local 49 struct radeon_bo *bo; in radeon_gem_prime_import_sg_table() local 71 struct radeon_bo *bo = gem_to_radeon_bo(obj); in radeon_gem_prime_pin() local 99 struct radeon_bo *bo = gem_to_radeon_bo(obj); in radeon_gem_prime_unpin() local 116 struct radeon_bo *bo = gem_to_radeon_bo(gobj); in radeon_gem_prime_export() local
|
/Linux-v5.15/drivers/gpu/drm/ttm/ |
D | ttm_bo.c | 48 static void ttm_bo_default_destroy(struct ttm_buffer_object *bo) in ttm_bo_default_destroy() 53 static void ttm_bo_mem_space_debug(struct ttm_buffer_object *bo, in ttm_bo_mem_space_debug() 72 static void ttm_bo_del_from_lru(struct ttm_buffer_object *bo) in ttm_bo_del_from_lru() 83 struct ttm_buffer_object *bo) in ttm_bo_bulk_move_set_pos() 90 void ttm_bo_move_to_lru_tail(struct ttm_buffer_object *bo, in ttm_bo_move_to_lru_tail() 164 static int ttm_bo_handle_move_mem(struct ttm_buffer_object *bo, in ttm_bo_handle_move_mem() 223 static void ttm_bo_cleanup_memtype_use(struct ttm_buffer_object *bo) in ttm_bo_cleanup_memtype_use() 232 static int ttm_bo_individualize_resv(struct ttm_buffer_object *bo) in ttm_bo_individualize_resv() 259 static void ttm_bo_flush_all_fences(struct ttm_buffer_object *bo) in ttm_bo_flush_all_fences() 295 static int ttm_bo_cleanup_refs(struct ttm_buffer_object *bo, in ttm_bo_cleanup_refs() [all …]
|
D | ttm_bo_util.c | 47 struct ttm_buffer_object *bo; member 89 void ttm_move_memcpy(struct ttm_buffer_object *bo, in ttm_move_memcpy() 135 int ttm_bo_move_memcpy(struct ttm_buffer_object *bo, in ttm_bo_move_memcpy() 188 static void ttm_transfered_destroy(struct ttm_buffer_object *bo) in ttm_transfered_destroy() 213 static int ttm_buffer_object_transfer(struct ttm_buffer_object *bo, in ttm_buffer_object_transfer() 256 pgprot_t ttm_io_prot(struct ttm_buffer_object *bo, struct ttm_resource *res, in ttm_io_prot() 269 static int ttm_bo_ioremap(struct ttm_buffer_object *bo, in ttm_bo_ioremap() 295 static int ttm_bo_kmap_ttm(struct ttm_buffer_object *bo, in ttm_bo_kmap_ttm() 337 int ttm_bo_kmap(struct ttm_buffer_object *bo, in ttm_bo_kmap() 389 int ttm_bo_vmap(struct ttm_buffer_object *bo, struct dma_buf_map *map) in ttm_bo_vmap() [all …]
|
D | ttm_bo_vm.c | 46 static vm_fault_t ttm_bo_vm_fault_idle(struct ttm_buffer_object *bo, in ttm_bo_vm_fault_idle() 97 static unsigned long ttm_bo_io_mem_pfn(struct ttm_buffer_object *bo, in ttm_bo_io_mem_pfn() 129 vm_fault_t ttm_bo_vm_reserve(struct ttm_buffer_object *bo, in ttm_bo_vm_reserve() 189 struct ttm_buffer_object *bo, in ttm_bo_vm_insert_huge() 248 struct ttm_buffer_object *bo, in ttm_bo_vm_insert_huge() 282 struct ttm_buffer_object *bo = vma->vm_private_data; in ttm_bo_vm_fault_reserved() local 390 struct ttm_buffer_object *bo = vma->vm_private_data; in ttm_bo_vm_dummy_page() local 421 struct ttm_buffer_object *bo = vma->vm_private_data; in ttm_bo_vm_fault() local 448 struct ttm_buffer_object *bo = vma->vm_private_data; in ttm_bo_vm_open() local 458 struct ttm_buffer_object *bo = vma->vm_private_data; in ttm_bo_vm_close() local [all …]
|
D | ttm_execbuf_util.c | 40 struct ttm_buffer_object *bo = entry->bo; in ttm_eu_backoff_reservation_reverse() local 55 struct ttm_buffer_object *bo = entry->bo; in ttm_eu_backoff_reservation() local 92 struct ttm_buffer_object *bo = entry->bo; in ttm_eu_reserve_buffers() local 156 struct ttm_buffer_object *bo = entry->bo; in ttm_eu_fence_buffer_objects() local
|
/Linux-v5.15/drivers/gpu/drm/amd/amdgpu/ |
D | amdgpu_object.c | 57 struct amdgpu_bo *bo = ttm_to_amdgpu_bo(tbo); in amdgpu_bo_destroy() local 70 struct amdgpu_bo *bo = ttm_to_amdgpu_bo(tbo); in amdgpu_bo_user_destroy() local 81 struct amdgpu_bo *bo = ttm_to_amdgpu_bo(tbo); in amdgpu_bo_vm_destroy() local 105 bool amdgpu_bo_is_amdgpu_bo(struct ttm_buffer_object *bo) in amdgpu_bo_is_amdgpu_bo() 418 void amdgpu_bo_free_kernel(struct amdgpu_bo **bo, u64 *gpu_addr, in amdgpu_bo_free_kernel() 535 struct amdgpu_bo *bo; in amdgpu_bo_create() local 709 int amdgpu_bo_validate(struct amdgpu_bo *bo) in amdgpu_bo_validate() 786 int amdgpu_bo_kmap(struct amdgpu_bo *bo, void **ptr) in amdgpu_bo_kmap() 825 void *amdgpu_bo_kptr(struct amdgpu_bo *bo) in amdgpu_bo_kptr() 838 void amdgpu_bo_kunmap(struct amdgpu_bo *bo) in amdgpu_bo_kunmap() [all …]
|
D | amdgpu_dma_buf.c | 57 struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj); in amdgpu_dma_buf_attach() local 90 struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj); in amdgpu_dma_buf_detach() local 107 struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj); in amdgpu_dma_buf_pin() local 135 struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj); in amdgpu_dma_buf_unpin() local 158 struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj); in amdgpu_dma_buf_map() local 252 struct amdgpu_bo *bo = gem_to_amdgpu_bo(dma_buf->priv); in amdgpu_dma_buf_begin_cpu_access() local 305 struct amdgpu_bo *bo = gem_to_amdgpu_bo(gobj); in amdgpu_gem_prime_export() local 337 struct amdgpu_bo *bo; in amdgpu_dma_buf_create_obj() local 380 struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj); in amdgpu_dma_buf_move_notify() local 489 struct amdgpu_bo *bo) in amdgpu_dmabuf_is_xgmi_accessible()
|
D | amdgpu_object.h | 115 struct amdgpu_bo bo; member 124 struct amdgpu_bo bo; member 171 static inline int amdgpu_bo_reserve(struct amdgpu_bo *bo, bool no_intr) in amdgpu_bo_reserve() 185 static inline void amdgpu_bo_unreserve(struct amdgpu_bo *bo) in amdgpu_bo_unreserve() 190 static inline unsigned long amdgpu_bo_size(struct amdgpu_bo *bo) in amdgpu_bo_size() 195 static inline unsigned amdgpu_bo_ngpu_pages(struct amdgpu_bo *bo) in amdgpu_bo_ngpu_pages() 200 static inline unsigned amdgpu_bo_gpu_page_alignment(struct amdgpu_bo *bo) in amdgpu_bo_gpu_page_alignment() 211 static inline u64 amdgpu_bo_mmap_offset(struct amdgpu_bo *bo) in amdgpu_bo_mmap_offset() 219 static inline bool amdgpu_bo_in_cpu_visible_vram(struct amdgpu_bo *bo) in amdgpu_bo_in_cpu_visible_vram() 241 static inline bool amdgpu_bo_explicit_sync(struct amdgpu_bo *bo) in amdgpu_bo_explicit_sync() [all …]
|
/Linux-v5.15/drivers/gpu/drm/vc4/ |
D | vc4_bo.c | 132 struct vc4_bo *bo = to_vc4_bo(gem_obj); in vc4_bo_set_label() local 164 static void vc4_bo_destroy(struct vc4_bo *bo) in vc4_bo_destroy() 183 static void vc4_bo_remove_from_cache(struct vc4_bo *bo) in vc4_bo_remove_from_cache() 239 struct vc4_bo *bo = list_last_entry(&vc4->bo_cache.time_list, in vc4_bo_cache_purge() local 247 void vc4_bo_add_to_purgeable_pool(struct vc4_bo *bo) in vc4_bo_add_to_purgeable_pool() 258 static void vc4_bo_remove_from_purgeable_pool_locked(struct vc4_bo *bo) in vc4_bo_remove_from_purgeable_pool_locked() 279 void vc4_bo_remove_from_purgeable_pool(struct vc4_bo *bo) in vc4_bo_remove_from_purgeable_pool() 290 struct vc4_bo *bo = to_vc4_bo(obj); in vc4_bo_purge() local 309 struct vc4_bo *bo = list_first_entry(&vc4->purgeable.list, in vc4_bo_userspace_cache_purge() local 356 struct vc4_bo *bo = NULL; in vc4_bo_get_from_cache() local [all …]
|
/Linux-v5.15/drivers/gpu/drm/lima/ |
D | lima_gem.c | 20 int lima_heap_alloc(struct lima_bo *bo, struct lima_vm *vm) in lima_heap_alloc() 109 struct lima_bo *bo; in lima_gem_create_handle() local 149 struct lima_bo *bo = to_lima_bo(obj); in lima_gem_free_object() local 159 struct lima_bo *bo = to_lima_bo(obj); in lima_gem_object_open() local 168 struct lima_bo *bo = to_lima_bo(obj); in lima_gem_object_close() local 177 struct lima_bo *bo = to_lima_bo(obj); in lima_gem_pin() local 187 struct lima_bo *bo = to_lima_bo(obj); in lima_gem_vmap() local 197 struct lima_bo *bo = to_lima_bo(obj); in lima_gem_mmap() local 220 struct lima_bo *bo; in lima_gem_create_object() local 237 struct lima_bo *bo; in lima_gem_get_info() local [all …]
|
/Linux-v5.15/include/drm/ttm/ |
D | ttm_bo_driver.h | 132 static inline int ttm_bo_reserve(struct ttm_buffer_object *bo, in ttm_bo_reserve() 166 static inline int ttm_bo_reserve_slowpath(struct ttm_buffer_object *bo, in ttm_bo_reserve_slowpath() 182 ttm_bo_move_to_lru_tail_unlocked(struct ttm_buffer_object *bo) in ttm_bo_move_to_lru_tail_unlocked() 189 static inline void ttm_bo_assign_mem(struct ttm_buffer_object *bo, in ttm_bo_assign_mem() 203 static inline void ttm_bo_move_null(struct ttm_buffer_object *bo, in ttm_bo_move_null() 217 static inline void ttm_bo_unreserve(struct ttm_buffer_object *bo) in ttm_bo_unreserve() 283 static inline void ttm_bo_move_sync_cleanup(struct ttm_buffer_object *bo, in ttm_bo_move_sync_cleanup()
|
/Linux-v5.15/drivers/gpu/drm/vmwgfx/ |
D | vmwgfx_bo.c | 56 vmw_buffer_object(struct ttm_buffer_object *bo) in vmw_buffer_object() 71 vmw_user_buffer_object(struct ttm_buffer_object *bo) in vmw_user_buffer_object() 95 struct ttm_buffer_object *bo = &buf->base; in vmw_bo_pin_in_placement() local 137 struct ttm_buffer_object *bo = &buf->base; in vmw_bo_pin_in_vram_or_gmr() local 207 struct ttm_buffer_object *bo = &buf->base; in vmw_bo_pin_in_start_of_vram() local 271 struct ttm_buffer_object *bo = &buf->base; in vmw_bo_unpin() local 293 void vmw_bo_get_guest_ptr(const struct ttm_buffer_object *bo, in vmw_bo_get_guest_ptr() 318 struct ttm_buffer_object *bo = &vbo->base; in vmw_bo_pin_reserved() local 363 struct ttm_buffer_object *bo = &vbo->base; in vmw_bo_map_and_cache() local 435 void vmw_bo_bo_free(struct ttm_buffer_object *bo) in vmw_bo_bo_free() [all …]
|
/Linux-v5.15/crypto/ |
D | aes_generic.c | 1147 #define f_rn(bo, bi, n, k) do { \ argument 1154 #define f_nround(bo, bi, k) do {\ argument 1162 #define f_rl(bo, bi, n, k) do { \ argument 1169 #define f_lround(bo, bi, k) do {\ argument 1217 #define i_rn(bo, bi, n, k) do { \ argument 1224 #define i_nround(bo, bi, k) do {\ argument 1232 #define i_rl(bo, bi, n, k) do { \ argument 1239 #define i_lround(bo, bi, k) do {\ argument
|
/Linux-v5.15/drivers/gpu/drm/panfrost/ |
D | panfrost_gem.c | 19 struct panfrost_gem_object *bo = to_panfrost_bo(obj); in panfrost_gem_free_object() local 56 panfrost_gem_mapping_get(struct panfrost_gem_object *bo, in panfrost_gem_mapping_get() 106 void panfrost_gem_teardown_mappings_locked(struct panfrost_gem_object *bo) in panfrost_gem_teardown_mappings_locked() 119 struct panfrost_gem_object *bo = to_panfrost_bo(obj); in panfrost_gem_open() local 172 struct panfrost_gem_object *bo = to_panfrost_bo(obj); in panfrost_gem_close() local 242 struct panfrost_gem_object *bo; in panfrost_gem_create_with_handle() local 275 struct panfrost_gem_object *bo; in panfrost_gem_prime_import_sg_table() local
|
/Linux-v5.15/drivers/gpu/drm/v3d/ |
D | v3d_bo.c | 34 struct v3d_bo *bo = to_v3d_bo(obj); in v3d_free_object() local 69 struct v3d_bo *bo; in v3d_create_object() local 91 struct v3d_bo *bo = to_v3d_bo(obj); in v3d_bo_create_finish() local 129 struct v3d_bo *bo; in v3d_bo_create() local 173 struct v3d_bo *bo = NULL; in v3d_create_bo_ioctl() local 221 struct v3d_bo *bo; in v3d_get_bo_offset_ioctl() local
|
/Linux-v5.15/drivers/gpu/drm/i915/gem/ |
D | i915_gem_ttm.c | 170 static struct ttm_tt *i915_ttm_tt_create(struct ttm_buffer_object *bo, in i915_ttm_tt_create() 222 static bool i915_ttm_eviction_valuable(struct ttm_buffer_object *bo, in i915_ttm_eviction_valuable() 231 static void i915_ttm_evict_flags(struct ttm_buffer_object *bo, in i915_ttm_evict_flags() 237 static int i915_ttm_move_notify(struct ttm_buffer_object *bo) in i915_ttm_move_notify() 274 struct ttm_buffer_object *bo = i915_gem_to_ttm(obj); in i915_ttm_adjust_domains_after_move() local 287 struct ttm_buffer_object *bo = i915_gem_to_ttm(obj); in i915_ttm_adjust_gem_after_move() local 322 struct ttm_buffer_object *bo = i915_gem_to_ttm(obj); in i915_ttm_purge() local 344 static void i915_ttm_swap_notify(struct ttm_buffer_object *bo) in i915_ttm_swap_notify() 355 static void i915_ttm_delete_mem_notify(struct ttm_buffer_object *bo) in i915_ttm_delete_mem_notify() 416 struct ttm_buffer_object *bo = i915_gem_to_ttm(obj); in i915_ttm_resource_get_st() local [all …]
|