/
usr
/
src
/
linux-headers-5.15.0-181
/
include
/
drm
/
/usr/src/linux-headers-5.15.0-181/include/drm
mkdir
upload
Name
Size
Mode
Actions
bridge/
-
0755
rm
i2c/
-
0755
rm
ttm/
-
0755
rm
amd_asic_type.h
2199
0644
edit
dl
rm
drm_aperture.h
1160
0644
edit
dl
rm
drm_atomic.h
42646
0644
edit
dl
rm
drm_atomic_helper.h
9488
0644
edit
dl
rm
drm_atomic_state_helper.h
4307
0644
edit
dl
rm
drm_atomic_uapi.h
2218
0644
edit
dl
rm
drm_audio_component.h
3879
0644
edit
dl
rm
drm_auth.h
4754
0644
edit
dl
rm
drm_blend.h
2407
0644
edit
dl
rm
drm_bridge.h
34359
0644
edit
dl
rm
drm_bridge_connector.h
548
0644
edit
dl
rm
drm_cache.h
3082
0644
edit
dl
rm
drm_client.h
5056
0644
edit
dl
rm
drm_color_mgmt.h
3910
0644
edit
dl
rm
drm_connector.h
57270
0644
edit
dl
rm
drm_crtc.h
45550
0644
edit
dl
rm
drm_crtc_helper.h
2448
0644
edit
dl
rm
drm_damage_helper.h
3408
0644
edit
dl
rm
drm_debugfs.h
3486
0644
edit
dl
rm
drm_debugfs_crc.h
2723
0644
edit
dl
rm
drm_device.h
8727
0644
edit
dl
rm
drm_displayid.h
3399
0644
edit
dl
rm
drm_dp_aux_bus.h
1740
0644
edit
dl
rm
drm_dp_dual_mode_helper.h
4731
0644
edit
dl
rm
drm_dp_helper.h
89773
0644
edit
dl
rm
drm_dp_mst_helper.h
28721
0644
edit
dl
rm
drm_drv.h
19117
0644
edit
dl
rm
drm_dsc.h
16682
0644
edit
dl
rm
drm_edid.h
17644
0644
edit
dl
rm
drm_encoder.h
10891
0644
edit
dl
rm
drm_encoder_slave.h
6590
0644
edit
dl
rm
drm_fb_cma_helper.h
575
0644
edit
dl
rm
drm_fb_helper.h
13008
0644
edit
dl
rm
drm_file.h
12518
0644
edit
dl
rm
drm_fixed.h
4826
0644
edit
dl
rm
drm_flip_work.h
3080
0644
edit
dl
rm
drm_format_helper.h
1522
0644
edit
dl
rm
drm_fourcc.h
9933
0644
edit
dl
rm
drm_framebuffer.h
10649
0644
edit
dl
rm
drm_gem.h
12082
0644
edit
dl
rm
drm_gem_atomic_helper.h
4718
0644
edit
dl
rm
drm_gem_cma_helper.h
6998
0644
edit
dl
rm
drm_gem_framebuffer_helper.h
2105
0644
edit
dl
rm
drm_gem_shmem_helper.h
8497
0644
edit
dl
rm
drm_gem_ttm_helper.h
861
0644
edit
dl
rm
drm_gem_vram_helper.h
6313
0644
edit
dl
rm
drm_hashtab.h
3083
0644
edit
dl
rm
drm_hdcp.h
9006
0644
edit
dl
rm
drm_ioctl.h
6381
0644
edit
dl
rm
drm_lease.h
1010
0644
edit
dl
rm
drm_legacy.h
9479
0644
edit
dl
rm
drm_managed.h
3426
0644
edit
dl
rm
drm_mipi_dbi.h
4834
0644
edit
dl
rm
drm_mipi_dsi.h
11553
0644
edit
dl
rm
drm_mm.h
17924
0644
edit
dl
rm
drm_modes.h
18616
0644
edit
dl
rm
drm_modeset_helper.h
1814
0644
edit
dl
rm
drm_modeset_helper_vtables.h
57322
0644
edit
dl
rm
drm_modeset_lock.h
6964
0644
edit
dl
rm
drm_mode_config.h
33017
0644
edit
dl
rm
drm_mode_object.h
5294
0644
edit
dl
rm
drm_of.h
4205
0644
edit
dl
rm
drm_panel.h
6408
0644
edit
dl
rm
drm_pciids.h
68070
0644
edit
dl
rm
drm_plane.h
29161
0644
edit
dl
rm
drm_plane_helper.h
1787
0644
edit
dl
rm
drm_prime.h
4168
0644
edit
dl
rm
drm_print.h
18139
0644
edit
dl
rm
drm_probe_helper.h
922
0644
edit
dl
rm
drm_property.h
12042
0644
edit
dl
rm
drm_rect.h
7022
0644
edit
dl
rm
drm_scdc_helper.h
4445
0644
edit
dl
rm
drm_self_refresh_helper.h
594
0644
edit
dl
rm
drm_simple_kms_helper.h
9119
0644
edit
dl
rm
drm_syncobj.h
3943
0644
edit
dl
rm
drm_sysfs.h
442
0644
edit
dl
rm
drm_util.h
2642
0644
edit
dl
rm
drm_utils.h
504
0644
edit
dl
rm
drm_vblank.h
9255
0644
edit
dl
rm
drm_vblank_work.h
1956
0644
edit
dl
rm
drm_vma_manager.h
8343
0644
edit
dl
rm
drm_writeback.h
4150
0644
edit
dl
rm
gma_drm.h
413
0644
edit
dl
rm
gpu_scheduler.h
15814
0644
edit
dl
rm
gud.h
11856
0644
edit
dl
rm
i915_component.h
1805
0644
edit
dl
rm
i915_drm.h
3690
0644
edit
dl
rm
i915_mei_hdcp_interface.h
5899
0644
edit
dl
rm
i915_pciids.h
21821
0644
edit
dl
rm
intel-gtt.h
996
0644
edit
dl
rm
intel_lpe_audio.h
1758
0644
edit
dl
rm
spsc_queue.h
3157
0644
edit
dl
rm
task_barrier.h
3020
0644
edit
dl
rm
Edit:
/usr/src/linux-headers-5.15.0-181/include/drm/drm_ioctl.h
(6381B)
/* * Internal Header for the Direct Rendering Manager * * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas. * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. * Copyright (c) 2009-2010, Code Aurora Forum. * All rights reserved. * * Author: Rickard E. (Rik) Faith <faith@valinux.com> * Author: Gareth Hughes <gareth@valinux.com> * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, * and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice (including the next * paragraph) shall be included in all copies or substantial portions of the * Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * VA LINUX SYSTEMS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. */ #ifndef _DRM_IOCTL_H_ #define _DRM_IOCTL_H_ #include <linux/types.h> #include <linux/bitops.h> #include <asm/ioctl.h> struct drm_device; struct drm_file; struct file; /** * drm_ioctl_t - DRM ioctl function type. * @dev: DRM device inode * @data: private pointer of the ioctl call * @file_priv: DRM file this ioctl was made on * * This is the DRM ioctl typedef. Note that drm_ioctl() has alrady copied @data * into kernel-space, and will also copy it back, depending upon the read/write * settings in the ioctl command code. */ typedef int drm_ioctl_t(struct drm_device *dev, void *data, struct drm_file *file_priv); /** * drm_ioctl_compat_t - compatibility DRM ioctl function type. * @filp: file pointer * @cmd: ioctl command code * @arg: DRM file this ioctl was made on * * Just a typedef to make declaring an array of compatibility handlers easier. * New drivers shouldn't screw up the structure layout for their ioctl * structures and hence never need this. */ typedef int drm_ioctl_compat_t(struct file *filp, unsigned int cmd, unsigned long arg); #define DRM_IOCTL_NR(n) _IOC_NR(n) #define DRM_IOCTL_TYPE(n) _IOC_TYPE(n) #define DRM_MAJOR 226 /** * enum drm_ioctl_flags - DRM ioctl flags * * Various flags that can be set in &drm_ioctl_desc.flags to control how * userspace can use a given ioctl. */ enum drm_ioctl_flags { /** * @DRM_AUTH: * * This is for ioctl which are used for rendering, and require that the * file descriptor is either for a render node, or if it's a * legacy/primary node, then it must be authenticated. */ DRM_AUTH = BIT(0), /** * @DRM_MASTER: * * This must be set for any ioctl which can change the modeset or * display state. Userspace must call the ioctl through a primary node, * while it is the active master. * * Note that read-only modeset ioctl can also be called by * unauthenticated clients, or when a master is not the currently active * one. */ DRM_MASTER = BIT(1), /** * @DRM_ROOT_ONLY: * * Anything that could potentially wreak a master file descriptor needs * to have this flag set. Current that's only for the SETMASTER and * DROPMASTER ioctl, which e.g. logind can call to force a non-behaving * master (display compositor) into compliance. * * This is equivalent to callers with the SYSADMIN capability. */ DRM_ROOT_ONLY = BIT(2), /** * @DRM_UNLOCKED: * * Whether &drm_ioctl_desc.func should be called with the DRM BKL held * or not. Enforced as the default for all modern drivers, hence there * should never be a need to set this flag. * * Do not use anywhere else than for the VBLANK_WAIT IOCTL, which is the * only legacy IOCTL which needs this. */ DRM_UNLOCKED = BIT(4), /** * @DRM_RENDER_ALLOW: * * This is used for all ioctl needed for rendering only, for drivers * which support render nodes. This should be all new render drivers, * and hence it should be always set for any ioctl with DRM_AUTH set. * Note though that read-only query ioctl might have this set, but have * not set DRM_AUTH because they do not require authentication. */ DRM_RENDER_ALLOW = BIT(5), }; /** * struct drm_ioctl_desc - DRM driver ioctl entry * @cmd: ioctl command number, without flags * @flags: a bitmask of &enum drm_ioctl_flags * @func: handler for this ioctl * @name: user-readable name for debug output * * For convenience it's easier to create these using the DRM_IOCTL_DEF_DRV() * macro. */ struct drm_ioctl_desc { unsigned int cmd; enum drm_ioctl_flags flags; drm_ioctl_t *func; const char *name; }; /** * DRM_IOCTL_DEF_DRV() - helper macro to fill out a &struct drm_ioctl_desc * @ioctl: ioctl command suffix * @_func: handler for the ioctl * @_flags: a bitmask of &enum drm_ioctl_flags * * Small helper macro to create a &struct drm_ioctl_desc entry. The ioctl * command number is constructed by prepending ``DRM_IOCTL\_`` and passing that * to DRM_IOCTL_NR(). */ #define DRM_IOCTL_DEF_DRV(ioctl, _func, _flags) \ [DRM_IOCTL_NR(DRM_IOCTL_##ioctl) - DRM_COMMAND_BASE] = { \ .cmd = DRM_IOCTL_##ioctl, \ .func = _func, \ .flags = _flags, \ .name = #ioctl \ } int drm_ioctl_permit(u32 flags, struct drm_file *file_priv); long drm_ioctl(struct file *filp, unsigned int cmd, unsigned long arg); long drm_ioctl_kernel(struct file *, drm_ioctl_t, void *, u32); #ifdef CONFIG_COMPAT long drm_compat_ioctl(struct file *filp, unsigned int cmd, unsigned long arg); #else /* Let drm_compat_ioctl be assigned to .compat_ioctl unconditionally */ #define drm_compat_ioctl NULL #endif bool drm_ioctl_flags(unsigned int nr, unsigned int *flags); int drm_noop(struct drm_device *dev, void *data, struct drm_file *file_priv); int drm_invalid_op(struct drm_device *dev, void *data, struct drm_file *file_priv); #endif /* _DRM_IOCTL_H_ */
Save
cmd:
run