mirror of
https://github.com/torvalds/linux.git
synced 2026-06-01 02:53:36 +02:00
drm/xe/display: Clarify XE_IOCTL_DBG message
This should make it easier to understand from userspace why importing BO fails. Reviewed-by: Stuart Summers <stuart.summers@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20250117115305.53113-1-dev@lankhorst.se Signed-off-by: Maarten Lankhorst <dev@lankhorst.se>
This commit is contained in:
parent
b5fa0913b5
commit
339adeb104
|
|
@ -50,10 +50,10 @@ int intel_fb_bo_framebuffer_init(struct intel_framebuffer *intel_fb,
|
|||
/*
|
||||
* XE_BO_FLAG_SCANOUT should ideally be set at creation, or is
|
||||
* automatically set when creating FB. We cannot change caching
|
||||
* mode when the boect is VM_BINDed, so we can only set
|
||||
* mode when the bo is VM_BINDed, so we can only set
|
||||
* coherency with display when unbound.
|
||||
*/
|
||||
if (XE_IOCTL_DBG(xe, !list_empty(&bo->ttm.base.gpuva.list))) {
|
||||
if (XE_IOCTL_DBG(xe, xe_bo_is_vm_bound(bo))) {
|
||||
ttm_bo_unreserve(&bo->ttm);
|
||||
ret = -EINVAL;
|
||||
goto err;
|
||||
|
|
|
|||
|
|
@ -128,6 +128,22 @@ bool xe_bo_is_stolen_devmem(struct xe_bo *bo)
|
|||
GRAPHICS_VERx100(xe_bo_device(bo)) >= 1270;
|
||||
}
|
||||
|
||||
/**
|
||||
* xe_bo_is_vm_bound - check if BO has any mappings through VM_BIND
|
||||
* @bo: The BO
|
||||
*
|
||||
* Check if a given bo is bound through VM_BIND. This requires the
|
||||
* reservation lock for the BO to be held.
|
||||
*
|
||||
* Returns: boolean
|
||||
*/
|
||||
bool xe_bo_is_vm_bound(struct xe_bo *bo)
|
||||
{
|
||||
xe_bo_assert_held(bo);
|
||||
|
||||
return !list_empty(&bo->ttm.base.gpuva.list);
|
||||
}
|
||||
|
||||
static bool xe_bo_is_user(struct xe_bo *bo)
|
||||
{
|
||||
return bo->flags & XE_BO_FLAG_USER;
|
||||
|
|
|
|||
|
|
@ -241,6 +241,7 @@ bool mem_type_is_vram(u32 mem_type);
|
|||
bool xe_bo_is_vram(struct xe_bo *bo);
|
||||
bool xe_bo_is_stolen(struct xe_bo *bo);
|
||||
bool xe_bo_is_stolen_devmem(struct xe_bo *bo);
|
||||
bool xe_bo_is_vm_bound(struct xe_bo *bo);
|
||||
bool xe_bo_has_single_placement(struct xe_bo *bo);
|
||||
uint64_t vram_region_gpu_offset(struct ttm_resource *res);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user