Message ID | 20241203055520.1704661-2-arun.r.murthy@intel.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Display Global Histogram | expand |
On Tue, Dec 03, 2024 at 11:25:11AM +0530, Arun R Murthy wrote: > Add variables for histogram drm_property, its corrsponding crtc_state > variables and define the structure pointed by the blob property. Missing description of the data format. How can other drivers implememt it if the format is not documented? > > Signed-off-by: Arun R Murthy <arun.r.murthy@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 >
> -----Original Message----- > From: Intel-xe <intel-xe-bounces@lists.freedesktop.org> On Behalf Of Arun R > Murthy > Sent: Tuesday, December 3, 2024 11:25 AM > To: intel-xe@lists.freedesktop.org; intel-gfx@lists.freedesktop.org; dri- > devel@lists.freedesktop.org > Cc: Murthy, Arun R <arun.r.murthy@intel.com> > Subject: [PATCH 01/10] drm/crtc: Add histogram properties > > 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@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. > + */ Shouldn't it be "will be set if histogram needs to be enabled" Regards, Suraj Kandpal > + 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
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
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@intel.com> --- include/drm/drm_crtc.h | 48 +++++++++++++++++++++++++++++++++++++ include/uapi/drm/drm_mode.h | 11 +++++++++ 2 files changed, 59 insertions(+)