Linux jobworks 6.8.0-136-generic #136-Ubuntu SMP PREEMPT_DYNAMIC Wed Jul 1 21:53:05 UTC 2026 x86_64
Apache/2.4.58 (Ubuntu)
Server IP : 10.0.1.5 & Your IP : 216.73.217.52
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
src /
linux-headers-6.8.0-136 /
include /
drm /
Delete
Unzip
Name
Size
Permission
Date
Action
bridge
[ DIR ]
drwxr-xr-x
2026-07-17 06:29
display
[ DIR ]
drwxr-xr-x
2026-07-17 06:29
i2c
[ DIR ]
drwxr-xr-x
2026-07-17 06:29
ttm
[ DIR ]
drwxr-xr-x
2026-07-17 06:29
amd_asic_type.h
2.33
KB
-rw-r--r--
2024-03-10 20:38
drm_accel.h
2.25
KB
-rw-r--r--
2026-07-01 19:48
drm_aperture.h
1.06
KB
-rw-r--r--
2024-03-10 20:38
drm_atomic.h
42.54
KB
-rw-r--r--
2026-07-01 19:48
drm_atomic_helper.h
10.78
KB
-rw-r--r--
2024-03-10 20:38
drm_atomic_state_helper.h
4.42
KB
-rw-r--r--
2024-03-10 20:38
drm_atomic_uapi.h
2.06
KB
-rw-r--r--
2024-03-10 20:38
drm_audio_component.h
3.84
KB
-rw-r--r--
2024-03-10 20:38
drm_auth.h
4.18
KB
-rw-r--r--
2024-03-10 20:38
drm_blend.h
2.35
KB
-rw-r--r--
2024-03-10 20:38
drm_bridge.h
34.88
KB
-rw-r--r--
2026-07-01 19:48
drm_bridge_connector.h
405
B
-rw-r--r--
2024-03-10 20:38
drm_buddy.h
4.17
KB
-rw-r--r--
2024-03-10 20:38
drm_cache.h
3.3
KB
-rw-r--r--
2024-03-10 20:38
drm_client.h
5.04
KB
-rw-r--r--
2024-03-10 20:38
drm_color_mgmt.h
3.91
KB
-rw-r--r--
2024-03-10 20:38
drm_connector.h
65.08
KB
-rw-r--r--
2026-07-01 19:48
drm_crtc.h
44.52
KB
-rw-r--r--
2024-03-10 20:38
drm_crtc_helper.h
2.51
KB
-rw-r--r--
2024-03-10 20:38
drm_damage_helper.h
3.33
KB
-rw-r--r--
2024-03-10 20:38
drm_debugfs.h
5.68
KB
-rw-r--r--
2024-03-10 20:38
drm_debugfs_crc.h
2.66
KB
-rw-r--r--
2024-03-10 20:38
drm_device.h
7.64
KB
-rw-r--r--
2026-07-01 19:48
drm_displayid.h
4.99
KB
-rw-r--r--
2026-07-01 19:48
drm_drv.h
17.81
KB
-rw-r--r--
2024-03-10 20:38
drm_edid.h
15.68
KB
-rw-r--r--
2026-07-01 19:48
drm_eld.h
4.76
KB
-rw-r--r--
2024-03-10 20:38
drm_encoder.h
11.07
KB
-rw-r--r--
2024-03-10 20:38
drm_encoder_slave.h
6.46
KB
-rw-r--r--
2024-03-10 20:38
drm_exec.h
4.29
KB
-rw-r--r--
2024-03-10 20:38
drm_fb_dma_helper.h
575
B
-rw-r--r--
2024-03-10 20:38
drm_fb_helper.h
11.75
KB
-rw-r--r--
2024-03-10 20:38
drm_fbdev_dma.h
656
B
-rw-r--r--
2026-07-01 19:48
drm_fbdev_generic.h
349
B
-rw-r--r--
2024-03-10 20:38
drm_file.h
14.24
KB
-rw-r--r--
2026-07-01 19:48
drm_fixed.h
4.83
KB
-rw-r--r--
2026-07-01 19:48
drm_flip_work.h
2.63
KB
-rw-r--r--
2024-03-10 20:38
drm_format_helper.h
5.33
KB
-rw-r--r--
2024-03-10 20:38
drm_fourcc.h
9.91
KB
-rw-r--r--
2024-03-10 20:38
drm_framebuffer.h
10.04
KB
-rw-r--r--
2026-07-01 19:48
drm_gem.h
18.6
KB
-rw-r--r--
2026-07-01 19:48
drm_gem_atomic_helper.h
5.52
KB
-rw-r--r--
2024-03-10 20:38
drm_gem_dma_helper.h
9.26
KB
-rw-r--r--
2024-03-10 20:38
drm_gem_framebuffer_helper.h
1.93
KB
-rw-r--r--
2024-03-10 20:38
drm_gem_shmem_helper.h
7.93
KB
-rw-r--r--
2024-03-10 20:38
drm_gem_ttm_helper.h
822
B
-rw-r--r--
2024-03-10 20:38
drm_gem_vram_helper.h
6.08
KB
-rw-r--r--
2024-03-10 20:38
drm_gpuvm.h
33.54
KB
-rw-r--r--
2024-03-10 20:38
drm_ioctl.h
5.82
KB
-rw-r--r--
2024-03-10 20:38
drm_kunit_helpers.h
4.21
KB
-rw-r--r--
2026-07-01 19:48
drm_lease.h
1010
B
-rw-r--r--
2024-03-10 20:38
drm_managed.h
3.9
KB
-rw-r--r--
2024-03-10 20:38
drm_mipi_dbi.h
6.87
KB
-rw-r--r--
2024-03-10 20:38
drm_mipi_dsi.h
13.22
KB
-rw-r--r--
2026-07-01 19:48
drm_mm.h
17.53
KB
-rw-r--r--
2024-03-10 20:38
drm_mode_config.h
32.81
KB
-rw-r--r--
2024-03-10 20:38
drm_mode_object.h
5.46
KB
-rw-r--r--
2024-03-10 20:38
drm_modes.h
19.9
KB
-rw-r--r--
2024-03-10 20:38
drm_modeset_helper.h
1.77
KB
-rw-r--r--
2024-03-10 20:38
drm_modeset_helper_vtables.h
59.37
KB
-rw-r--r--
2026-07-01 19:48
drm_modeset_lock.h
7.07
KB
-rw-r--r--
2024-03-10 20:38
drm_module.h
3.72
KB
-rw-r--r--
2024-03-10 20:38
drm_of.h
5.27
KB
-rw-r--r--
2026-07-01 19:48
drm_panel.h
8.89
KB
-rw-r--r--
2024-03-10 20:38
drm_pciids.h
61.04
KB
-rw-r--r--
2024-03-10 20:38
drm_plane.h
30.92
KB
-rw-r--r--
2024-03-10 20:38
drm_plane_helper.h
2.22
KB
-rw-r--r--
2024-03-10 20:38
drm_prime.h
4.06
KB
-rw-r--r--
2024-03-10 20:38
drm_print.h
20.39
KB
-rw-r--r--
2026-07-01 19:48
drm_privacy_screen_consumer.h
1.94
KB
-rw-r--r--
2024-03-10 20:38
drm_privacy_screen_driver.h
2.99
KB
-rw-r--r--
2024-03-10 20:38
drm_privacy_screen_machine.h
1.25
KB
-rw-r--r--
2024-03-10 20:38
drm_probe_helper.h
1.57
KB
-rw-r--r--
2024-03-10 20:38
drm_property.h
11.99
KB
-rw-r--r--
2024-03-10 20:38
drm_rect.h
7.17
KB
-rw-r--r--
2024-03-10 20:38
drm_self_refresh_helper.h
594
B
-rw-r--r--
2024-03-10 20:38
drm_simple_kms_helper.h
9.52
KB
-rw-r--r--
2024-03-10 20:38
drm_suballoc.h
2.75
KB
-rw-r--r--
2024-03-10 20:38
drm_syncobj.h
3.95
KB
-rw-r--r--
2024-03-10 20:38
drm_sysfs.h
512
B
-rw-r--r--
2024-03-10 20:38
drm_util.h
2.58
KB
-rw-r--r--
2024-03-10 20:38
drm_utils.h
592
B
-rw-r--r--
2026-07-01 19:48
drm_vblank.h
10.18
KB
-rw-r--r--
2026-07-01 19:48
drm_vblank_work.h
1.91
KB
-rw-r--r--
2024-03-10 20:38
drm_vma_manager.h
8.23
KB
-rw-r--r--
2024-03-10 20:38
drm_writeback.h
4.45
KB
-rw-r--r--
2024-03-10 20:38
gma_drm.h
413
B
-rw-r--r--
2024-03-10 20:38
gpu_scheduler.h
20.85
KB
-rw-r--r--
2026-07-01 19:48
gud.h
11.65
KB
-rw-r--r--
2024-03-10 20:38
i915_component.h
1.81
KB
-rw-r--r--
2024-03-10 20:38
i915_drm.h
3.57
KB
-rw-r--r--
2024-03-10 20:38
i915_gsc_proxy_mei_interface.h
1.52
KB
-rw-r--r--
2024-03-10 20:38
i915_hdcp_interface.h
16.22
KB
-rw-r--r--
2024-03-10 20:38
i915_pciids.h
23.94
KB
-rw-r--r--
2026-07-01 19:48
i915_pxp_tee_interface.h
1.28
KB
-rw-r--r--
2024-03-10 20:38
intel-gtt.h
1015
B
-rw-r--r--
2024-03-10 20:38
intel_lpe_audio.h
1.72
KB
-rw-r--r--
2024-03-10 20:38
spsc_queue.h
3.08
KB
-rw-r--r--
2026-07-01 19:48
task_barrier.h
2.95
KB
-rw-r--r--
2024-03-10 20:38
xe_pciids.h
5.37
KB
-rw-r--r--
2024-03-10 20:38
Save
Rename
/* SPDX-License-Identifier: GPL-2.0 */ #ifndef __DRM_GEM_SHMEM_HELPER_H__ #define __DRM_GEM_SHMEM_HELPER_H__ #include <linux/fs.h> #include <linux/mm.h> #include <linux/mutex.h> #include <drm/drm_file.h> #include <drm/drm_gem.h> #include <drm/drm_ioctl.h> #include <drm/drm_prime.h> struct dma_buf_attachment; struct drm_mode_create_dumb; struct drm_printer; struct sg_table; /** * struct drm_gem_shmem_object - GEM object backed by shmem */ struct drm_gem_shmem_object { /** * @base: Base GEM object */ struct drm_gem_object base; /** * @pages: Page table */ struct page **pages; /** * @pages_use_count: * * Reference count on the pages table. * The pages are put when the count reaches zero. */ unsigned int pages_use_count; /** * @madv: State for madvise * * 0 is active/inuse. * A negative value is the object is purged. * Positive values are driver specific and not used by the helpers. */ int madv; /** * @madv_list: List entry for madvise tracking * * Typically used by drivers to track purgeable objects */ struct list_head madv_list; /** * @sgt: Scatter/gather table for imported PRIME buffers */ struct sg_table *sgt; /** * @vaddr: Kernel virtual address of the backing memory */ void *vaddr; /** * @vmap_use_count: * * Reference count on the virtual address. * The address are un-mapped when the count reaches zero. */ unsigned int vmap_use_count; /** * @pages_mark_dirty_on_put: * * Mark pages as dirty when they are put. */ bool pages_mark_dirty_on_put : 1; /** * @pages_mark_accessed_on_put: * * Mark pages as accessed when they are put. */ bool pages_mark_accessed_on_put : 1; /** * @map_wc: map object write-combined (instead of using shmem defaults). */ bool map_wc : 1; }; #define to_drm_gem_shmem_obj(obj) \ container_of(obj, struct drm_gem_shmem_object, base) struct drm_gem_shmem_object *drm_gem_shmem_create(struct drm_device *dev, size_t size); void drm_gem_shmem_free(struct drm_gem_shmem_object *shmem); void drm_gem_shmem_put_pages(struct drm_gem_shmem_object *shmem); int drm_gem_shmem_pin(struct drm_gem_shmem_object *shmem); void drm_gem_shmem_unpin(struct drm_gem_shmem_object *shmem); int drm_gem_shmem_vmap(struct drm_gem_shmem_object *shmem, struct iosys_map *map); void drm_gem_shmem_vunmap(struct drm_gem_shmem_object *shmem, struct iosys_map *map); int drm_gem_shmem_mmap(struct drm_gem_shmem_object *shmem, struct vm_area_struct *vma); int drm_gem_shmem_madvise(struct drm_gem_shmem_object *shmem, int madv); static inline bool drm_gem_shmem_is_purgeable(struct drm_gem_shmem_object *shmem) { return (shmem->madv > 0) && !shmem->vmap_use_count && shmem->sgt && !shmem->base.dma_buf && !shmem->base.import_attach; } void drm_gem_shmem_purge(struct drm_gem_shmem_object *shmem); struct sg_table *drm_gem_shmem_get_sg_table(struct drm_gem_shmem_object *shmem); struct sg_table *drm_gem_shmem_get_pages_sgt(struct drm_gem_shmem_object *shmem); void drm_gem_shmem_print_info(const struct drm_gem_shmem_object *shmem, struct drm_printer *p, unsigned int indent); extern const struct vm_operations_struct drm_gem_shmem_vm_ops; /* * GEM object functions */ /** * drm_gem_shmem_object_free - GEM object function for drm_gem_shmem_free() * @obj: GEM object to free * * This function wraps drm_gem_shmem_free(). Drivers that employ the shmem helpers * should use it as their &drm_gem_object_funcs.free handler. */ static inline void drm_gem_shmem_object_free(struct drm_gem_object *obj) { struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj); drm_gem_shmem_free(shmem); } /** * drm_gem_shmem_object_print_info() - Print &drm_gem_shmem_object info for debugfs * @p: DRM printer * @indent: Tab indentation level * @obj: GEM object * * This function wraps drm_gem_shmem_print_info(). Drivers that employ the shmem helpers should * use this function as their &drm_gem_object_funcs.print_info handler. */ static inline void drm_gem_shmem_object_print_info(struct drm_printer *p, unsigned int indent, const struct drm_gem_object *obj) { const struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj); drm_gem_shmem_print_info(shmem, p, indent); } /** * drm_gem_shmem_object_pin - GEM object function for drm_gem_shmem_pin() * @obj: GEM object * * This function wraps drm_gem_shmem_pin(). Drivers that employ the shmem helpers should * use it as their &drm_gem_object_funcs.pin handler. */ static inline int drm_gem_shmem_object_pin(struct drm_gem_object *obj) { struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj); return drm_gem_shmem_pin(shmem); } /** * drm_gem_shmem_object_unpin - GEM object function for drm_gem_shmem_unpin() * @obj: GEM object * * This function wraps drm_gem_shmem_unpin(). Drivers that employ the shmem helpers should * use it as their &drm_gem_object_funcs.unpin handler. */ static inline void drm_gem_shmem_object_unpin(struct drm_gem_object *obj) { struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj); drm_gem_shmem_unpin(shmem); } /** * drm_gem_shmem_object_get_sg_table - GEM object function for drm_gem_shmem_get_sg_table() * @obj: GEM object * * This function wraps drm_gem_shmem_get_sg_table(). Drivers that employ the shmem helpers should * use it as their &drm_gem_object_funcs.get_sg_table handler. * * Returns: * A pointer to the scatter/gather table of pinned pages or error pointer on failure. */ static inline struct sg_table *drm_gem_shmem_object_get_sg_table(struct drm_gem_object *obj) { struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj); return drm_gem_shmem_get_sg_table(shmem); } /* * drm_gem_shmem_object_vmap - GEM object function for drm_gem_shmem_vmap() * @obj: GEM object * @map: Returns the kernel virtual address of the SHMEM GEM object's backing store. * * This function wraps drm_gem_shmem_vmap(). Drivers that employ the shmem helpers should * use it as their &drm_gem_object_funcs.vmap handler. * * Returns: * 0 on success or a negative error code on failure. */ static inline int drm_gem_shmem_object_vmap(struct drm_gem_object *obj, struct iosys_map *map) { struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj); return drm_gem_shmem_vmap(shmem, map); } /* * drm_gem_shmem_object_vunmap - GEM object function for drm_gem_shmem_vunmap() * @obj: GEM object * @map: Kernel virtual address where the SHMEM GEM object was mapped * * This function wraps drm_gem_shmem_vunmap(). Drivers that employ the shmem helpers should * use it as their &drm_gem_object_funcs.vunmap handler. */ static inline void drm_gem_shmem_object_vunmap(struct drm_gem_object *obj, struct iosys_map *map) { struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj); drm_gem_shmem_vunmap(shmem, map); } /** * drm_gem_shmem_object_mmap - GEM object function for drm_gem_shmem_mmap() * @obj: GEM object * @vma: VMA for the area to be mapped * * This function wraps drm_gem_shmem_mmap(). Drivers that employ the shmem helpers should * use it as their &drm_gem_object_funcs.mmap handler. * * Returns: * 0 on success or a negative error code on failure. */ static inline int drm_gem_shmem_object_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma) { struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj); return drm_gem_shmem_mmap(shmem, vma); } /* * Driver ops */ struct drm_gem_object * drm_gem_shmem_prime_import_sg_table(struct drm_device *dev, struct dma_buf_attachment *attach, struct sg_table *sgt); int drm_gem_shmem_dumb_create(struct drm_file *file, struct drm_device *dev, struct drm_mode_create_dumb *args); /** * DRM_GEM_SHMEM_DRIVER_OPS - Default shmem GEM operations * * This macro provides a shortcut for setting the shmem GEM operations in * the &drm_driver structure. */ #define DRM_GEM_SHMEM_DRIVER_OPS \ .gem_prime_import_sg_table = drm_gem_shmem_prime_import_sg_table, \ .dumb_create = drm_gem_shmem_dumb_create #endif /* __DRM_GEM_SHMEM_HELPER_H__ */