include/drm/drm_colorop.h
Source file repositories/reference/linux-study-clean/include/drm/drm_colorop.h
File Facts
- System
- Linux kernel
- Corpus path
include/drm/drm_colorop.h- Extension
.h- Size
- 13194 bytes
- Lines
- 485
- Domain
- Repository Root And Misc
- Bucket
- include
- Inferred role
- Repository Root And Misc: implementation source
- Status
- source implementation candidate
Why This File Exists
Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Uses kernel synchronization; read lock ordering, sleepability, and interrupt context assumptions before translating.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
drm/drm_mode_object.hdrm/drm_mode.hdrm/drm_property.h
Detected Declarations
struct drm_colorop_statestruct drm_colorop_funcsstruct drm_coloropenum drm_colorop_curve_1d_typefunction drm_colorop_index
Annotated Snippet
struct drm_colorop_state {
/** @colorop: backpointer to the colorop */
struct drm_colorop *colorop;
/*
* Color properties
*
* The following fields are not always valid, their usage depends
* on the colorop type. See their associated comment for more
* information.
*/
/**
* @bypass:
*
* When the property BYPASS exists on this colorop, this stores
* the requested bypass state: true if colorop shall be bypassed,
* false if colorop is enabled.
*/
bool bypass;
/**
* @curve_1d_type:
*
* Type of 1D curve.
*/
enum drm_colorop_curve_1d_type curve_1d_type;
/**
* @multiplier:
*
* Multiplier to 'gain' the plane. Format is S31.32 sign-magnitude.
*/
uint64_t multiplier;
/**
* @data:
*
* Data blob for any TYPE that requires such a blob. The
* interpretation of the blob is TYPE-specific.
*
* See the &drm_colorop_type documentation for how blob is laid
* out.
*/
struct drm_property_blob *data;
/**
* @lut1d_interpolation:
*
* Interpolation for DRM_COLOROP_1D_LUT
*/
enum drm_colorop_lut1d_interpolation_type lut1d_interpolation;
/**
* @lut3d_interpolation:
*
* Interpolation for DRM_COLOROP_3D_LUT
*/
enum drm_colorop_lut3d_interpolation_type lut3d_interpolation;
/** @state: backpointer to global drm_atomic_commit */
struct drm_atomic_commit *state;
};
/**
* struct drm_colorop_funcs - driver colorop control functions
*/
struct drm_colorop_funcs {
/**
* @destroy:
*
* Clean up colorop resources. This is called at driver unload time
* through drm_mode_config_cleanup()
*/
void (*destroy)(struct drm_colorop *colorop);
};
/**
* struct drm_colorop - DRM color operation control structure
*
* A colorop represents one color operation. They can be chained via
* the 'next' pointer to build a color pipeline.
*
* Since colorops cannot stand-alone and are used to describe colorop
* operations on a plane they don't have their own locking mechanism but
* are locked and programmed along with their associated &drm_plane.
*
*/
struct drm_colorop {
/** @dev: parent DRM device */
Annotation
- Immediate include surface: `drm/drm_mode_object.h`, `drm/drm_mode.h`, `drm/drm_property.h`.
- Detected declarations: `struct drm_colorop_state`, `struct drm_colorop_funcs`, `struct drm_colorop`, `enum drm_colorop_curve_1d_type`, `function drm_colorop_index`.
- Atlas domain: Repository Root And Misc / include.
- Implementation status: source implementation candidate.
- Synchronization appears in or near this file; preserve lock ordering, sleepability, and interrupt-context constraints.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.