drmutils: Add drm interface for SSPP Tonemapping
Newer DPU adds support for source side tonemapping features,
add these features to the drm interface.
Crs-fixed: 2200881
Change-Id: Ia81e786cc2987be01a3aebee36b25bf89b372e85
diff --git a/libdrmutils/drm_interface.h b/libdrmutils/drm_interface.h
index 4123882..d6198f5 100644
--- a/libdrmutils/drm_interface.h
+++ b/libdrmutils/drm_interface.h
@@ -162,6 +162,24 @@
*/
PLANE_SET_ROT_FB_ID,
/*
+ * Op: Sets inverse pma mode on this plane.
+ * Arg: uint32_t - Plane ID
+ * uint32_t - enable/disable inverse pma.
+ */
+ PLANE_SET_INVERSE_PMA,
+ /*
+ * Op: Sets csc config on this plane.
+ * Arg: uint32_t - Plane ID
+ * uint64_t - Address of the csc config object(version based)
+ */
+ PLANE_SET_DGM_CSC_CONFIG,
+ /*
+ * Op: Sets SSPP Feature
+ * Arg: uint32_t - Plane ID
+ * DRMPPFeatureInfo * - PP feature data pointer
+ */
+ PLANE_SET_POST_PROC,
+ /*
* Op: Activate or deactivate a CRTC
* Arg: uint32_t - CRTC ID
* uint32_t - 1 to enable, 0 to disable
@@ -454,6 +472,13 @@
MAX,
};
+enum struct DRMTonemapLutType {
+ DMA_1D_GC,
+ DMA_1D_IGC,
+ VIG_1D_IGC,
+ VIG_3D_GAMUT,
+};
+
struct DRMPlaneTypeInfo {
DRMPlaneType type;
uint32_t master_plane_id;
@@ -471,6 +496,9 @@
QSEEDStepVersion qseed3_version;
bool multirect_prop_present = false;
InlineRotationVersion inrot_version; // inline rotation version
+ bool inverse_pma = false;
+ uint32_t dgm_csc_version = 0; // csc used with DMA
+ std::map<DRMTonemapLutType, uint32_t> tonemap_lut_version_map = {};
};
// All DRM Planes as map<Plane_id , plane_type_info> listed from highest to lowest priority