| /* SPDX-License-Identifier: MIT */ | |
| /* | |
| * Copyright © 2023 Intel Corporation | |
| */ | |
| #ifndef _XE_TILE_H_ | |
| #define _XE_TILE_H_ | |
| #include "xe_tile_types.h" | |
| struct xe_device; | |
| struct xe_pagemap; | |
| int xe_tile_init_early(struct xe_tile *tile, struct xe_device *xe, u8 id); | |
| int xe_tile_init_noalloc(struct xe_tile *tile); | |
| int xe_tile_init(struct xe_tile *tile); | |
| int xe_tile_alloc_vram(struct xe_tile *tile); | |
| void xe_tile_migrate_wait(struct xe_tile *tile); | |
| static inline bool xe_tile_is_root(struct xe_tile *tile) | |
| { | |
| return tile->id == 0; | |
| } | |
| /** | |
| * xe_tile_to_vr() - Return the struct xe_vram_region pointer from a | |
| * struct xe_tile pointer | |
| * @tile: Pointer to the struct xe_tile. | |
| * | |
| * Return: Pointer to the struct xe_vram_region embedded in *@tile. | |
| */ | |
| static inline struct xe_vram_region *xe_tile_to_vr(struct xe_tile *tile) | |
| { | |
| return tile->mem.vram; | |
| } | |
| #if IS_ENABLED(CONFIG_DRM_XE_PAGEMAP) | |
| struct drm_pagemap *xe_tile_local_pagemap(struct xe_tile *tile); | |
| #else | |
| static inline struct drm_pagemap *xe_tile_local_pagemap(struct xe_tile *tile) | |
| { | |
| return NULL; | |
| } | |
| #endif | |
| #endif |