Lines Matching +full:display +full:- +full:width +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 buffers 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
815 /* Must be kept compact -- no holes and well documented */
818 * struct drm_i915_getparam - Driver parameter query structure.
827 * WARNING: Using pointers instead of fixed-size u64 means we need to write
834 * typedef drm_i915_getparam_t - Driver parameter query structure.
845 /* Must be kept compact -- no holes */
874 /* Allow memory manager to be torn down and re-initialized (eg on
919 * The (page-aligned) allocated size for the object will be returned.
942 * This is a fixed-size type for 32/64 compatibility.
958 * This is a fixed-size type for 32/64 compatibility.
972 * The value will be page-aligned.
978 * This is a fixed-size type for 32/64 compatibility.
998 * This is a fixed-size type for 32/64 compatibility.
1004 * struct drm_i915_gem_mmap_offset - Retrieve an offset so we can mmap this buffer object.
1021 * This is a fixed-size type for 32/64 compatibility.
1031 * - `I915_MMAP_OFFSET_GTT`: Use mmap with the object bound to GTT. (Write-Combined)
1032 * - `I915_MMAP_OFFSET_WC`: Use Write-Combined caching.
1033 * - `I915_MMAP_OFFSET_WB`: Use Write-Back caching.
1034 * - `I915_MMAP_OFFSET_FIXED`: Use object placement to determine caching.
1052 * @extensions: Zero-terminated chain of extensions.
1060 * struct drm_i915_gem_set_domain - Adjust the objects write or read domain, in
1072 * - I915_GEM_DOMAIN_WC: Uncached write-combined domain
1073 * - I915_GEM_DOMAIN_CPU: CPU cache domain
1074 * - I915_GEM_DOMAIN_GTT: Mappable aperture domain
1086 * - If any of the object placements (see &drm_i915_gem_create_ext_memory_regions)
1088 * mapped as write-combined only.
1090 * - Everything else is always allocated and mapped as write-back, with the
1124 * a relocation list for state buffers and not re-write it per
1158 * the application will get -EINVAL back.
1182 /** GTT domain - aperture and scanout */
1184 /** WC domain - uncached access */
1281 * rendering on other devices if exported via dma-buf. However, sometimes
1283 * if the object is split into non-overlapping ranges shared between different
1292 * used by the GPU - this flag only disables the synchronisation prior to
1301 * state upon a GPU hang involving this batch for post-mortem debugging.
1308 #define __EXEC_OBJECT_UNKNOWN_FLAGS -(EXEC_OBJECT_CAPTURE<<1)
1319 * struct drm_i915_gem_exec_fence - An input or output fence for the execbuf
1343 #define __I915_EXEC_FENCE_UNKNOWN_FLAGS (-(I915_EXEC_FENCE_SIGNAL << 1))
1347 * struct drm_i915_gem_execbuffer_ext_timeline_fences - Timeline fences
1382 * struct drm_i915_gem_execbuffer2 - Structure for DRM_I915_GEM_EXECBUFFER2
1474 * than as the per-file handle.
1481 /* default ping-pong mode */
1495 * Returns -EINVAL if the sync_file fd cannot be found.
1511 * back to userspace. Failure to do so will cause the out-fence to always
1538 * Returns -EINVAL if the sync_file fd cannot be found.
1550 #define __I915_EXEC_UNKNOWN_FLAGS (-(I915_EXEC_USE_EXTENSIONS << 1))
1598 * having flushed any pending activity), and a non-zero return that
1599 * the object is still in-flight on the GPU. (The GPU has not yet
1644 * struct drm_i915_gem_caching - Set or get the caching for given object
1663 * - If any of the object placements (see &drm_i915_gem_create_ext_memory_regions)
1665 * mapped as write-combined only.
1667 * - Everything else is always allocated and mapped as write-back, with the
1674 * Side note: Part of the reason for this is that changing the at-allocation-time CPU
1702 * cached in last-level caches shared between CPU cores and the GPU GT.
1708 * special cache mode (like write-through or gfdt flushing) is
1725 * de-tiling fence registers that no longer exist on modern platforms. Although
1727 * do not need to add them to the uapi that is specific to now-defunct ioctls.
1947 * struct drm_i915_gem_context_create_ext - Structure for creating contexts.
1969 (-(I915_CONTEXT_CREATE_FLAGS_SINGLE_TIMELINE << 1))
1972 * @extensions: Zero-terminated chain of extensions.
1980 * has attempted to use it, never re-use this extension number.
1988 * struct drm_i915_gem_context_param - Context parameter to set or query.
2001 * someone somewhere has attempted to use it, never re-use this context
2011 #define I915_CONTEXT_MIN_USER_PRIORITY -1023 /* inclusive */
2078 * completion. Persistence allows fire-and-forget clients to queue up a
2079 * bunch of work, hand the output over to a display server and then quit.
2083 * cancelled (and exported fences for cancelled requests marked as -EIO).
2090 * attempted to use it, never re-use this context param number.
2107 * .. code-block:: C
2138 * -ENODEV: feature not available
2139 * -EPERM: trying to mark a recoverable or not bannable context as protected
2140 * -ENXIO: A dependency such as a component driver or firmware is not yet
2146 * - ADL/RPL: dependencies may take up to 3 seconds from kernel start
2148 * - MTL: dependencies may take up to 8 seconds from kernel start
2152 * such timeouts and will not return -ENXIO (unless the driver is reloaded,
2154 * -EIO: The firmware did not succeed in creating the protected context.
2175 /* Must be kept compact -- no holes and well documented */
2186 * Sub-slice/EU).
2193 * code -ENODEV will be returned.
2197 * combination will return an error code of -EINVAL.
2260 * .. code-block:: C
2360 __u16 virtual_index; /* index of virtual engine in ctx->engines[] */
2380 * struct i915_context_engines_parallel_submit - Configure engine for
2397 * preempted mid-batch. Rather insert coordinated preemption points on all
2401 * Returns -EINVAL if hardware context placement configuration is invalid or if
2404 * Returns -ENODEV if extension isn't supported on the platform / submission
2407 * .. code-block:: none
2415 * set_parallel(engine_index=0, width=2, num_siblings=1,
2423 * set_parallel(engine_index=0, width=2, num_siblings=2,
2442 * set_parallel(engine_index=0, width=2, num_siblings=2,
2447 * CS[1], CS[3] - Not logically contiguous, return -EINVAL
2461 * @width: number of contexts per parallel engine or in other words the
2464 __u16 width; member
2488 * @engines: 2-d array of engine instances to configure parallel engine
2490 * length = width (i) * num_siblings (j)
2500 __u16 width; \
2511 * Context engine map is a new way of addressing engines when submitting batch-
2525 * .. code-block:: C
2595 * struct drm_i915_gem_context_create_ext_setparam - Context parameter
2615 * struct drm_i915_gem_vm_control - Structure to create or destroy VM.
2617 * DRM_I915_GEM_VM_CREATE -
2629 * DRM_I915_GEM_VM_DESTROY -
2636 /** @extensions: Zero-terminated chain of extensions. */
2661 * Render engine timestamp - 0x2358 + 64bit - gen7+
2662 * - Note this register returns an invalid value if using the default
2669 * struct drm_i915_reset_stats - Return global reset and other context stats
2695 * struct drm_i915_gem_userptr - Create GEM object from user allocated memory.
2738 * Returns -EFAULT if the probe failed.
2745 * returns a non-zero value.
2785 I915_OA_FORMAT_MAX /* non-ABI */
2886 DRM_I915_PERF_PROP_MAX /* non-ABI */
2911 * to close and re-open a stream with the same configuration.
2976 * command collides with periodic sampling - which would be more likely
2986 DRM_I915_PERF_RECORD_MAX /* non-ABI */
2998 * String formatted like "%\08x-%\04x-%\04x-%\04x-%\012x"
3052 * struct drm_i915_query_item - An individual query for the kernel to process.
3062 * - %DRM_I915_QUERY_TOPOLOGY_INFO (see struct drm_i915_query_topology_info)
3063 * - %DRM_I915_QUERY_ENGINE_INFO (see struct drm_i915_engine_info)
3064 * - %DRM_I915_QUERY_PERF_CONFIG (see struct drm_i915_query_perf_config)
3065 * - %DRM_I915_QUERY_MEMORY_REGIONS (see struct drm_i915_query_memory_regions)
3066 * - %DRM_I915_QUERY_HWCONFIG_BLOB (see `GuC HWCONFIG blob uAPI`)
3067 * - %DRM_I915_QUERY_GEOMETRY_SUBSLICES (see struct drm_i915_query_topology_info)
3068 * - %DRM_I915_QUERY_GUC_SUBMISSION_VERSION (see struct drm_i915_query_guc_submission_version)
3078 /* Must be kept compact -- no holes and well documented */
3098 * - %DRM_I915_QUERY_PERF_CONFIG_LIST
3099 * - %DRM_I915_QUERY_PERF_CONFIG_DATA_FOR_UUID
3100 * - %DRM_I915_QUERY_PERF_CONFIG_FOR_UUID
3121 * struct drm_i915_query - Supply an array of struct drm_i915_query_item for the
3231 * - The slice mask with one bit per slice telling whether a slice is
3246 * - The subslice mask for each slice with one bit per subslice telling
3249 * describes as a "dual-subslices." The availability of subslice Y
3256 * - The EU mask for each subslice in each slice, with one bit per EU
3287 * .. code-block:: C
3319 * for (i = 0; i < info->num_engines; i++) {
3320 * struct drm_i915_engine_info einfo = info->engines[i];
3422 * String formatted like "%08x-%04x-%04x-%04x-%012x"
3446 * - &drm_i915_perf_oa_config.n_mux_regs
3447 * - &drm_i915_perf_oa_config.n_boolean_regs
3448 * - &drm_i915_perf_oa_config.n_flex_regs
3454 * enum drm_i915_gem_memory_class - Supported memory classes
3459 /** @I915_MEMORY_CLASS_DEVICE: Device local-memory */
3464 * struct drm_i915_gem_memory_class_instance - Identify particular memory region
3475 * struct drm_i915_memory_region_info - Describes one region as known to the
3493 * here, also note that no current region type will ever return -1 here.
3532 * small-bar uAPI support (including
3574 * .. code-block:: C
3602 * for (i = 0; i < info->num_regions; i++) {
3603 * struct drm_i915_memory_region_info mr = info->regions[i];
3624 * struct drm_i915_query_guc_submission_version - query GuC submission interface version
3648 * struct drm_i915_gem_create_ext - Existing gem_create behaviour, with added
3661 * The (page-aligned) allocated size for the object will be returned.
3697 * I915_GEM_CREATE_EXT_FLAG_NEEDS_CPU_ACCESS - Signal to the kernel that
3714 * Also note that since the kernel only supports flat-CCS on objects
3717 * flat-CCS.
3719 * Without this hint, the kernel will assume that non-mappable
3725 * On older kernels which lack the relevant small-bar uAPI support (see
3762 * struct drm_i915_gem_create_ext_memory_regions - The
3774 * device local-memory we can do something like:
3776 * .. code-block:: C
3805 * On Flat-CCS capable HW, compression is supported for the objects residing
3812 * So i915 supports Flat-CCS, on the objects which can reside only on
3832 * struct drm_i915_gem_create_ext_protected_content - The
3838 * using this extension will cause the ioctl to fail and return -ENODEV. The
3851 * .. code-block:: C
3873 * struct drm_i915_gem_create_ext_set_pat - The
3881 * .. code-block:: C