[PATCH 01/10] drm/crtc: Add histogram properties
Arun R Murthy
arun.r.murthy at intel.com
Tue Dec 3 05:55:11 UTC 2024
Add variables for histogram drm_property, its corrsponding crtc_state
variables and define the structure pointed by the blob property.
Signed-off-by: Arun R Murthy <arun.r.murthy at intel.com>
---
include/drm/drm_crtc.h | 48 +++++++++++++++++++++++++++++++++++++
include/uapi/drm/drm_mode.h | 11 +++++++++
2 files changed, 59 insertions(+)
diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
index 8b48a1974da3..3984cfa00cbf 100644
--- a/include/drm/drm_crtc.h
+++ b/include/drm/drm_crtc.h
@@ -274,6 +274,38 @@ struct drm_crtc_state {
*/
struct drm_property_blob *gamma_lut;
+ /**
+ * @histogram_enable:
+ *
+ * This will be set if histogram is enabled for the CRTC.
+ */
+ bool histogram_enable;
+
+ /**
+ * @histogram_data:
+ *
+ * This will hold the pointer to the struct drm_histogram.
+ * The element data in drm_histogram will hold the pointer to the
+ * histogram data generated by the hardware.
+ */
+ struct drm_property_blob *histogram_data;
+
+ /**
+ * @histogram_-iet:
+ *
+ * This will hold the pointer to the struct drm_histogram.
+ * The element data in drm_histogram will hold the pointer to the
+ * histogram image enhancement generated by the algorithm that is to
+ * be fed back to the hardware.
+ */
+ struct drm_property_blob *histogram_iet;
+ /**
+ * @histogram_iet_updates:
+ *
+ * Convey that the image enhanced data has been updated by the user
+ */
+ bool histogram_iet_updated;
+
/**
* @target_vblank:
*
@@ -1088,6 +1120,22 @@ struct drm_crtc {
*/
struct drm_property *scaling_filter_property;
+ /**
+ * @histogram_enable_property: Optional CRTC property for enabling or
+ * disabling global histogram.
+ */
+ struct drm_property *histogram_enable_property;
+ /**
+ * @histogram_data_proeprty: Optional CRTC property for getting the
+ * histogram blob data.
+ */
+ struct drm_property *histogram_data_property;
+ /**
+ * @histogram_iet_proeprty: Optional CRTC property for writing the
+ * image enhanced blob data
+ */
+ struct drm_property *histogram_iet_property;
+
/**
* @state:
*
diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h
index c082810c08a8..da4396f57ed1 100644
--- a/include/uapi/drm/drm_mode.h
+++ b/include/uapi/drm/drm_mode.h
@@ -1355,6 +1355,17 @@ struct drm_mode_closefb {
__u32 pad;
};
+/**
+ * struct drm_histogram
+ * data_ptr: pointer to the array fo u32 data. This data can be histogram
+ * raw data or image enhanced data
+ * nr_elements: number of elements pointed by the data @data_ptr
+ */
+struct drm_histogram {
+ __u64 data_ptr;
+ __u32 nr_elements;
+};
+
#if defined(__cplusplus)
}
#endif
--
2.25.1
More information about the Intel-gfx
mailing list