Lines Matching +full:display +full:- +full:height +full:- +full:chars
19 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
37 * subject to backwards-compatibility constraints.
43 * I915_L3_PARITY_UEVENT - Generated when the driver receives a parity mismatch
46 * track of these events and if a specific cache-line seems to have a
48 * intel-gpu-tools. The value supplied with the event is always 1.
50 * I915_ERROR_UEVENT - Generated upon error detection, currently only via
57 * I915_RESET_UEVENT - Event is generated just before an attempt to reset the
66 * struct i915_user_extension - Base class for defining a chain of extensions
82 * .. code-block:: C
146 * usage of the surface (used for display scanout or not).
158 * enum drm_i915_gem_engine_class - uapi engine type enumeration
184 * Copy engines can perform pre-defined logical or bitwise operations
193 * "vdbox") support instructions that perform fixed-function media
222 I915_ENGINE_CLASS_INVALID = -1
226 * struct i915_engine_class_instance - Engine class/instance identifier
241 #define I915_ENGINE_CLASS_INVALID_NONE -1
242 #define I915_ENGINE_CLASS_INVALID_VIRTUAL -2
284 * Top 4 bits of every non-engine counter are GT id.
300 #define I915_PMU_LAST /* Deprecated - do not use */ I915_PMU_RC6_RESIDENCY
310 #define I915_NR_TEX_REGIONS 255 /* table size 2k - maximum due to use
311 * of chars for next/prev indices */
349 int width, height; /* screen size in pixels */ member
488 /* Must be kept compact -- no holes */
588 * Different modes of per-process Graphics Translation Table,
657 * -1k to -1 Low priority
667 * -ENODEV if HuC is not present on this platform,
668 * -EOPNOTSUPP if HuC firmware usage is disabled,
669 * -ENOPKG if HuC firmware fetch failed,
670 * -ENOEXEC if HuC firmware is invalid or mismatched,
671 * -ENOMEM if i915 failed to prepare the FW objects for transfer to the uC,
672 * -EIO if the FW transfer or the FW authentication failed.
682 /* Query whether DRM_I915_GEM_EXECBUFFER2 supports the ability to opt-out of
688 /* Query whether DRM_I915_GEM_EXECBUFFER2 supports explicit fence support -
696 * user specified bufffers for post-mortem debugging of GPU hangs. See
704 * per-slice for this system.
720 * Query whether every context (both per-file default and user created) is
748 * the different read/write domains in use (e.g. set-domain), but the assumption
770 * Revision of the i915-perf uAPI. The value returned helps determine what
771 * i915-perf features are available. See drm_i915_perf_property_id.
794 * -ENODEV = PXP support is not available on the GPU device or in the
801 * initialization of non-i915 system dependencies).
804 * still refer to the GEM PXP context-creation UAPI header specs to be
809 /* Must be kept compact -- no holes and well documented */
812 * struct drm_i915_getparam - Driver parameter query structure.
821 * WARNING: Using pointers instead of fixed-size u64 means we need to write
828 * typedef drm_i915_getparam_t - Driver parameter query structure.
839 /* Must be kept compact -- no holes */
868 /* Allow memory manager to be torn down and re-initialized (eg on
913 * The (page-aligned) allocated size for the object will be returned.
936 * This is a fixed-size type for 32/64 compatibility.
952 * This is a fixed-size type for 32/64 compatibility.
966 * The value will be page-aligned.
972 * This is a fixed-size type for 32/64 compatibility.
992 * This is a fixed-size type for 32/64 compatibility.
998 * struct drm_i915_gem_mmap_offset - Retrieve an offset so we can mmap this buffer object.
1015 * This is a fixed-size type for 32/64 compatibility.
1025 * - `I915_MMAP_OFFSET_GTT`: Use mmap with the object bound to GTT. (Write-Combined)
1026 * - `I915_MMAP_OFFSET_WC`: Use Write-Combined caching.
1027 * - `I915_MMAP_OFFSET_WB`: Use Write-Back caching.
1028 * - `I915_MMAP_OFFSET_FIXED`: Use object placement to determine caching.
1046 * @extensions: Zero-terminated chain of extensions.
1054 * struct drm_i915_gem_set_domain - Adjust the objects write or read domain, in
1066 * - I915_GEM_DOMAIN_WC: Uncached write-combined domain
1067 * - I915_GEM_DOMAIN_CPU: CPU cache domain
1068 * - I915_GEM_DOMAIN_GTT: Mappable aperture domain
1080 * - If any of the object placements (see &drm_i915_gem_create_ext_memory_regions)
1082 * mapped as write-combined only.
1084 * - Everything else is always allocated and mapped as write-back, with the
1118 * a relocation list for state buffers and not re-write it per
1152 * the application will get -EINVAL back.
1176 /** GTT domain - aperture and scanout */
1178 /** WC domain - uncached access */
1275 * rendering on other devices if exported via dma-buf. However, sometimes
1277 * if the object is split into non-overlapping ranges shared between different
1286 * used by the GPU - this flag only disables the synchronisation prior to
1295 * state upon a GPU hang involving this batch for post-mortem debugging.
1302 #define __EXEC_OBJECT_UNKNOWN_FLAGS -(EXEC_OBJECT_CAPTURE<<1)
1313 * struct drm_i915_gem_exec_fence - An input or output fence for the execbuf
1337 #define __I915_EXEC_FENCE_UNKNOWN_FLAGS (-(I915_EXEC_FENCE_SIGNAL << 1))
1341 * struct drm_i915_gem_execbuffer_ext_timeline_fences - Timeline fences
1376 * struct drm_i915_gem_execbuffer2 - Structure for DRM_I915_GEM_EXECBUFFER2
1468 * than as the per-file handle.
1475 /* default ping-pong mode */
1489 * Returns -EINVAL if the sync_file fd cannot be found.
1505 * back to userspace. Failure to do so will cause the out-fence to always
1532 * Returns -EINVAL if the sync_file fd cannot be found.
1544 #define __I915_EXEC_UNKNOWN_FLAGS (-(I915_EXEC_USE_EXTENSIONS << 1))
1592 * having flushed any pending activity), and a non-zero return that
1593 * the object is still in-flight on the GPU. (The GPU has not yet
1638 * struct drm_i915_gem_caching - Set or get the caching for given object
1657 * - If any of the object placements (see &drm_i915_gem_create_ext_memory_regions)
1659 * mapped as write-combined only.
1661 * - Everything else is always allocated and mapped as write-back, with the
1668 * Side note: Part of the reason for this is that changing the at-allocation-time CPU
1696 * cached in last-level caches shared between CPU cores and the GPU GT.
1702 * special cache mode (like write-through or gfdt flushing) is
1719 * de-tiling fence registers that no longer exist on modern platforms. Although
1721 * do not need to add them to the uapi that is specific to now-defunct ioctls.
1941 * struct drm_i915_gem_context_create_ext - Structure for creating contexts.
1963 (-(I915_CONTEXT_CREATE_FLAGS_SINGLE_TIMELINE << 1))
1966 * @extensions: Zero-terminated chain of extensions.
1974 * has attempted to use it, never re-use this extension number.
1982 * struct drm_i915_gem_context_param - Context parameter to set or query.
1995 * someone somewhere has attempted to use it, never re-use this context
2005 #define I915_CONTEXT_MIN_USER_PRIORITY -1023 /* inclusive */
2072 * completion. Persistence allows fire-and-forget clients to queue up a
2073 * bunch of work, hand the output over to a display server and then quit.
2077 * cancelled (and exported fences for cancelled requests marked as -EIO).
2084 * attempted to use it, never re-use this context param number.
2101 * .. code-block:: C
2132 * -ENODEV: feature not available
2133 * -EPERM: trying to mark a recoverable or not bannable context as protected
2134 * -ENXIO: A dependency such as a component driver or firmware is not yet
2140 * - ADL/RPL: dependencies may take up to 3 seconds from kernel start
2142 * - MTL: dependencies may take up to 8 seconds from kernel start
2146 * such timeouts and will not return -ENXIO (unless the driver is reloaded,
2148 * -EIO: The firmware did not succeed in creating the protected context.
2151 /* Must be kept compact -- no holes and well documented */
2162 * Sub-slice/EU).
2169 * code -ENODEV will be returned.
2173 * combination will return an error code of -EINVAL.
2236 * .. code-block:: C
2336 __u16 virtual_index; /* index of virtual engine in ctx->engines[] */
2356 * struct i915_context_engines_parallel_submit - Configure engine for
2373 * preempted mid-batch. Rather insert coordinated preemption points on all
2377 * Returns -EINVAL if hardware context placement configuration is invalid or if
2380 * Returns -ENODEV if extension isn't supported on the platform / submission
2383 * .. code-block:: none
2423 * CS[1], CS[3] - Not logically contiguous, return -EINVAL
2464 * @engines: 2-d array of engine instances to configure parallel engine
2487 * Context engine map is a new way of addressing engines when submitting batch-
2501 * .. code-block:: C
2553 * struct drm_i915_gem_context_create_ext_setparam - Context parameter
2573 * struct drm_i915_gem_vm_control - Structure to create or destroy VM.
2575 * DRM_I915_GEM_VM_CREATE -
2587 * DRM_I915_GEM_VM_DESTROY -
2594 /** @extensions: Zero-terminated chain of extensions. */
2619 * Render engine timestamp - 0x2358 + 64bit - gen7+
2620 * - Note this register returns an invalid value if using the default
2643 * struct drm_i915_gem_userptr - Create GEM object from user allocated memory.
2686 * Returns -EFAULT if the probe failed.
2693 * returns a non-zero value.
2733 I915_OA_FORMAT_MAX /* non-ABI */
2834 DRM_I915_PERF_PROP_MAX /* non-ABI */
2859 * to close and re-open a stream with the same configuration.
2924 * command collides with periodic sampling - which would be more likely
2934 DRM_I915_PERF_RECORD_MAX /* non-ABI */
2946 * String formatted like "%\08x-%\04x-%\04x-%\04x-%\012x"
3000 * struct drm_i915_query_item - An individual query for the kernel to process.
3010 * - %DRM_I915_QUERY_TOPOLOGY_INFO (see struct drm_i915_query_topology_info)
3011 * - %DRM_I915_QUERY_ENGINE_INFO (see struct drm_i915_engine_info)
3012 * - %DRM_I915_QUERY_PERF_CONFIG (see struct drm_i915_query_perf_config)
3013 * - %DRM_I915_QUERY_MEMORY_REGIONS (see struct drm_i915_query_memory_regions)
3014 * - %DRM_I915_QUERY_HWCONFIG_BLOB (see `GuC HWCONFIG blob uAPI`)
3015 * - %DRM_I915_QUERY_GEOMETRY_SUBSLICES (see struct drm_i915_query_topology_info)
3024 /* Must be kept compact -- no holes and well documented */
3044 * - %DRM_I915_QUERY_PERF_CONFIG_LIST
3045 * - %DRM_I915_QUERY_PERF_CONFIG_DATA_FOR_UUID
3046 * - %DRM_I915_QUERY_PERF_CONFIG_FOR_UUID
3067 * struct drm_i915_query - Supply an array of struct drm_i915_query_item for the
3177 * - The slice mask with one bit per slice telling whether a slice is
3192 * - The subslice mask for each slice with one bit per subslice telling
3195 * describes as a "dual-subslices." The availability of subslice Y
3202 * - The EU mask for each subslice in each slice, with one bit per EU
3233 * .. code-block:: C
3265 * for (i = 0; i < info->num_engines; i++) {
3266 * struct drm_i915_engine_info einfo = info->engines[i];
3368 * String formatted like "%08x-%04x-%04x-%04x-%012x"
3392 * - &drm_i915_perf_oa_config.n_mux_regs
3393 * - &drm_i915_perf_oa_config.n_boolean_regs
3394 * - &drm_i915_perf_oa_config.n_flex_regs
3400 * enum drm_i915_gem_memory_class - Supported memory classes
3405 /** @I915_MEMORY_CLASS_DEVICE: Device local-memory */
3410 * struct drm_i915_gem_memory_class_instance - Identify particular memory region
3421 * struct drm_i915_memory_region_info - Describes one region as known to the
3439 * here, also note that no current region type will ever return -1 here.
3478 * small-bar uAPI support (including
3520 * .. code-block:: C
3548 * for (i = 0; i < info->num_regions; i++) {
3549 * struct drm_i915_memory_region_info mr = info->regions[i];
3580 * struct drm_i915_gem_create_ext - Existing gem_create behaviour, with added
3593 * The (page-aligned) allocated size for the object will be returned.
3629 * I915_GEM_CREATE_EXT_FLAG_NEEDS_CPU_ACCESS - Signal to the kernel that
3646 * Also note that since the kernel only supports flat-CCS on objects
3649 * flat-CCS.
3651 * Without this hint, the kernel will assume that non-mappable
3657 * On older kernels which lack the relevant small-bar uAPI support (see
3694 * struct drm_i915_gem_create_ext_memory_regions - The
3706 * device local-memory we can do something like:
3708 * .. code-block:: C
3737 * On Flat-CCS capable HW, compression is supported for the objects residing
3744 * So i915 supports Flat-CCS, on the objects which can reside only on
3764 * struct drm_i915_gem_create_ext_protected_content - The
3770 * using this extension will cause the ioctl to fail and return -ENODEV. The
3783 * .. code-block:: C
3805 * struct drm_i915_gem_create_ext_set_pat - The
3813 * .. code-block:: C