diff mbox

[03/22] drm: Add color correction blobs in CRTC state

Message ID 1444418952-5671-4-git-send-email-shashank.sharma@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Sharma, Shashank Oct. 9, 2015, 7:28 p.m. UTC
This patch adds new variables in CRTC state, to hold respective color
correction blobs. These blobs will be required during the atomic commit
for writing the color correction values in correction registers.

Signed-off-by: Shashank Sharma <shashank.sharma@intel.com>
Signed-off-by: Kausal Malladi <kausalmalladi@gmail.com>
---
 drivers/gpu/drm/drm_atomic_helper.c | 12 ++++++++++++
 include/drm/drm_crtc.h              |  7 ++++++-
 2 files changed, 18 insertions(+), 1 deletion(-)

Comments

kernel test robot Oct. 9, 2015, 8:21 p.m. UTC | #1
Hi Shashank,

[auto build test WARNING on next-20151009 -- if it's inappropriate base, please ignore]

reproduce: make htmldocs

All warnings (new ones prefixed by >>):

   drivers/gpu/drm/i915/i915_irq.c:2582: warning: No description found for parameter 'wedged'
   drivers/gpu/drm/i915/i915_irq.c:2582: warning: No description found for parameter 'fmt'
   include/drm/drm_crtc.h:315: warning: No description found for parameter 'mode_blob'
>> include/drm/drm_crtc.h:315: warning: No description found for parameter 'palette_before_ctm_blob'
>> include/drm/drm_crtc.h:315: warning: No description found for parameter 'palette_after_ctm_blob'
>> include/drm/drm_crtc.h:315: warning: No description found for parameter 'ctm_blob'
   include/drm/drm_crtc.h:747: warning: No description found for parameter 'tile_blob_ptr'
   include/drm/drm_crtc.h:786: warning: No description found for parameter 'rotation'
   include/drm/drm_crtc.h:882: warning: No description found for parameter 'mutex'
   include/drm/drm_crtc.h:882: warning: No description found for parameter 'helper_private'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'tile_idr'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'delayed_event'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'edid_property'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'dpms_property'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'path_property'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'tile_property'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'plane_type_property'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'rotation_property'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'prop_src_x'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'prop_src_y'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'prop_src_w'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'prop_src_h'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'prop_crtc_x'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'prop_crtc_y'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'prop_crtc_w'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'prop_crtc_h'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'prop_fb_id'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'prop_crtc_id'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'prop_active'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'prop_mode_id'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'dvi_i_subconnector_property'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'dvi_i_select_subconnector_property'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'tv_subconnector_property'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'tv_select_subconnector_property'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'tv_mode_property'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'tv_left_margin_property'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'tv_right_margin_property'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'tv_top_margin_property'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'tv_bottom_margin_property'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'tv_brightness_property'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'tv_contrast_property'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'tv_flicker_reduction_property'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'tv_overscan_property'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'tv_saturation_property'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'tv_hue_property'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'scaling_mode_property'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'aspect_ratio_property'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'dirty_info_property'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'suggested_x_property'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'suggested_y_property'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'cm_palette_before_ctm_property'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'cm_palette_after_ctm_property'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'cm_ctm_property'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'cm_coeff_before_ctm_property'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'cm_coeff_after_ctm_property'
   include/drm/drm_crtc.h:1176: warning: No description found for parameter 'allow_fb_modifiers'
   include/drm/drm_fb_helper.h:148: warning: No description found for parameter 'connector_info'
   include/drm/drm_dp_helper.h:713: warning: No description found for parameter 'i2c_nack_count'
   include/drm/drm_dp_helper.h:713: warning: No description found for parameter 'i2c_defer_count'
   drivers/gpu/drm/drm_dp_mst_topology.c:2226: warning: No description found for parameter 'connector'
   include/drm/drm_dp_mst_helper.h:97: warning: No description found for parameter 'cached_edid'
   include/drm/drm_dp_mst_helper.h:471: warning: No description found for parameter 'max_dpcd_transaction_bytes'
   include/drm/drm_dp_mst_helper.h:471: warning: No description found for parameter 'sink_count'
   include/drm/drm_dp_mst_helper.h:471: warning: No description found for parameter 'total_slots'
   include/drm/drm_dp_mst_helper.h:471: warning: No description found for parameter 'avail_slots'
   include/drm/drm_dp_mst_helper.h:471: warning: No description found for parameter 'total_pbn'
   include/drm/drm_dp_mst_helper.h:471: warning: No description found for parameter 'qlock'
   include/drm/drm_dp_mst_helper.h:471: warning: No description found for parameter 'tx_msg_downq'
   include/drm/drm_dp_mst_helper.h:471: warning: No description found for parameter 'tx_msg_upq'
   include/drm/drm_dp_mst_helper.h:471: warning: No description found for parameter 'tx_down_in_progress'
   include/drm/drm_dp_mst_helper.h:471: warning: No description found for parameter 'tx_up_in_progress'
   include/drm/drm_dp_mst_helper.h:471: warning: No description found for parameter 'payload_lock'
   include/drm/drm_dp_mst_helper.h:471: warning: No description found for parameter 'proposed_vcpis'
   include/drm/drm_dp_mst_helper.h:471: warning: No description found for parameter 'payloads'
   include/drm/drm_dp_mst_helper.h:471: warning: No description found for parameter 'payload_mask'
   include/drm/drm_dp_mst_helper.h:471: warning: No description found for parameter 'vcpi_mask'
   include/drm/drm_dp_mst_helper.h:471: warning: No description found for parameter 'tx_waitq'
   include/drm/drm_dp_mst_helper.h:471: warning: No description found for parameter 'work'
   include/drm/drm_dp_mst_helper.h:471: warning: No description found for parameter 'tx_work'
   include/drm/drm_dp_mst_helper.h:471: warning: No description found for parameter 'destroy_connector_list'
   include/drm/drm_dp_mst_helper.h:471: warning: No description found for parameter 'destroy_connector_lock'
   include/drm/drm_dp_mst_helper.h:471: warning: No description found for parameter 'destroy_connector_work'
   drivers/gpu/drm/drm_dp_mst_topology.c:2226: warning: No description found for parameter 'connector'
   drivers/gpu/drm/drm_irq.c:173: warning: No description found for parameter 'flags'
   include/drm/drmP.h:164: warning: No description found for parameter 'fmt'
   include/drm/drmP.h:180: warning: No description found for parameter 'fmt'
   include/drm/drmP.h:198: warning: No description found for parameter 'fmt'
   include/drm/drmP.h:238: warning: No description found for parameter 'dev'
   include/drm/drmP.h:238: warning: No description found for parameter 'data'
   include/drm/drmP.h:238: warning: No description found for parameter 'file_priv'
   include/drm/drmP.h:271: warning: No description found for parameter 'ioctl'
   include/drm/drmP.h:271: warning: No description found for parameter '_func'
   include/drm/drmP.h:271: warning: No description found for parameter '_flags'
   include/drm/drmP.h:344: warning: cannot understand function prototype: 'struct drm_lock_data '
   include/drm/drmP.h:397: warning: cannot understand function prototype: 'struct drm_driver '
   include/drm/drmP.h:647: warning: cannot understand function prototype: 'struct drm_info_list '
   include/drm/drmP.h:657: warning: cannot understand function prototype: 'struct drm_info_node '
   include/drm/drmP.h:667: warning: cannot understand function prototype: 'struct drm_minor '
   include/drm/drmP.h:715: warning: cannot understand function prototype: 'struct drm_device '
   drivers/gpu/drm/i915/i915_irq.c:2582: warning: No description found for parameter 'wedged'
   drivers/gpu/drm/i915/i915_irq.c:2582: warning: No description found for parameter 'fmt'
   drivers/gpu/drm/i915/i915_irq.c:2582: warning: No description found for parameter 'wedged'
   drivers/gpu/drm/i915/i915_irq.c:2582: warning: No description found for parameter 'fmt'
   drivers/gpu/drm/i915/i915_irq.c:2582: warning: No description found for parameter 'wedged'
   drivers/gpu/drm/i915/i915_irq.c:2582: warning: No description found for parameter 'fmt'
   drivers/gpu/drm/i915/i915_irq.c:2582: warning: No description found for parameter 'wedged'

vim +/palette_before_ctm_blob +315 include/drm/drm_crtc.h

2f324b42 Daniel Vetter      2014-10-29  299  	/* adjusted_mode: for use by helpers and drivers */
2f324b42 Daniel Vetter      2014-10-29  300  	struct drm_display_mode adjusted_mode;
2f324b42 Daniel Vetter      2014-10-29  301  
144ecb97 Daniel Vetter      2014-10-27  302  	struct drm_display_mode mode;
144ecb97 Daniel Vetter      2014-10-27  303  
99cf4a29 Daniel Stone       2015-05-25  304  	/* blob property to expose current mode to atomic userspace */
99cf4a29 Daniel Stone       2015-05-25  305  	struct drm_property_blob *mode_blob;
99cf4a29 Daniel Stone       2015-05-25  306  
076c6f91 Shashank Sharma    2015-10-10  307  	/* blob properties to hold the color properties' blobs */
076c6f91 Shashank Sharma    2015-10-10  308  	struct drm_property_blob *palette_before_ctm_blob;
076c6f91 Shashank Sharma    2015-10-10  309  	struct drm_property_blob *palette_after_ctm_blob;
076c6f91 Shashank Sharma    2015-10-10  310  	struct drm_property_blob *ctm_blob;
076c6f91 Shashank Sharma    2015-10-10  311  
144ecb97 Daniel Vetter      2014-10-27  312  	struct drm_pending_vblank_event *event;
144ecb97 Daniel Vetter      2014-10-27  313  
144ecb97 Daniel Vetter      2014-10-27  314  	struct drm_atomic_state *state;
144ecb97 Daniel Vetter      2014-10-27 @315  };
f453ba04 Dave Airlie        2008-11-07  316  
f453ba04 Dave Airlie        2008-11-07  317  /**
3bf0401c Daniel Vetter      2014-10-27  318   * struct drm_crtc_funcs - control CRTCs for a given device
f453ba04 Dave Airlie        2008-11-07  319   * @save: save CRTC state
3b02ab88 Laurent Pinchart   2012-05-17  320   * @restore: restore CRTC state
715f59cc Christopher Harvey 2013-04-05  321   * @reset: reset CRTC after state has been invalidated (e.g. resume)
3b02ab88 Laurent Pinchart   2012-05-17  322   * @cursor_set: setup the cursor
2c0c33d4 Daniel Vetter      2014-10-27  323   * @cursor_set2: setup the cursor with hotspot, superseeds @cursor_set if set

:::::: The code at line 315 was first introduced by commit
:::::: 144ecb97cd57d2a61cc455730a3337e413499cae drm: Add atomic driver interface definitions for objects

:::::: TO: Daniel Vetter <daniel.vetter@ffwll.ch>
:::::: CC: Daniel Vetter <daniel.vetter@ffwll.ch>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
Emil Velikov Oct. 9, 2015, 10:23 p.m. UTC | #2
Hi Shashank,

On 9 October 2015 at 20:28, Shashank Sharma <shashank.sharma@intel.com> wrote:
> This patch adds new variables in CRTC state, to hold respective color
> correction blobs. These blobs will be required during the atomic commit
> for writing the color correction values in correction registers.
>
> Signed-off-by: Shashank Sharma <shashank.sharma@intel.com>
> Signed-off-by: Kausal Malladi <kausalmalladi@gmail.com>
> ---
>  drivers/gpu/drm/drm_atomic_helper.c | 12 ++++++++++++
>  include/drm/drm_crtc.h              |  7 ++++++-
>  2 files changed, 18 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c
> index 87a2a44..d73ca9b9 100644
> --- a/drivers/gpu/drm/drm_atomic_helper.c
> +++ b/drivers/gpu/drm/drm_atomic_helper.c
> @@ -2193,6 +2193,12 @@ void __drm_atomic_helper_crtc_duplicate_state(struct drm_crtc *crtc,
>
>         if (state->mode_blob)
>                 drm_property_reference_blob(state->mode_blob);
> +       if (state->ctm_blob)
> +               drm_property_reference_blob(state->ctm_blob);
> +       if (state->palette_after_ctm_blob)
> +               drm_property_reference_blob(state->palette_after_ctm_blob);
> +       if (state->palette_before_ctm_blob)
> +               drm_property_reference_blob(state->palette_before_ctm_blob);
>         state->mode_changed = false;
>         state->active_changed = false;
>         state->planes_changed = false;
> @@ -2238,6 +2244,12 @@ void __drm_atomic_helper_crtc_destroy_state(struct drm_crtc *crtc,
>  {
>         if (state->mode_blob)
>                 drm_property_unreference_blob(state->mode_blob);
> +       if (state->ctm_blob)
> +               drm_property_unreference_blob(state->ctm_blob);
> +       if (state->palette_after_ctm_blob)
> +               drm_property_unreference_blob(state->palette_after_ctm_blob);
> +       if (state->palette_before_ctm_blob)
> +               drm_property_unreference_blob(state->palette_before_ctm_blob);
>  }
>  EXPORT_SYMBOL(__drm_atomic_helper_crtc_destroy_state);
>
> diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
> index 6e0f177..9cd4123 100644
> --- a/include/drm/drm_crtc.h
> +++ b/include/drm/drm_crtc.h
> @@ -302,6 +302,11 @@ struct drm_crtc_state {
>         /* blob property to expose current mode to atomic userspace */
>         struct drm_property_blob *mode_blob;
>
> +       /* blob properties to hold the color properties' blobs */
> +       struct drm_property_blob *palette_before_ctm_blob;
> +       struct drm_property_blob *palette_after_ctm_blob;
> +       struct drm_property_blob *ctm_blob;
> +
>         struct drm_pending_vblank_event *event;
>
>         struct drm_atomic_state *state;
> @@ -1151,7 +1156,7 @@ struct drm_mode_config {
>         struct drm_property *cm_palette_after_ctm_property;
>         struct drm_property *cm_ctm_property;
>
> -       /* Coor management capabilities query */
> +       /* Color management capabilities query */
This should be part of the previous patch.

Regards,
Emil
Sharma, Shashank Oct. 10, 2015, 4:48 a.m. UTC | #3
Thanks for the review comments, Emil.

Regards
Shashank
On 10/10/2015 3:53 AM, Emil Velikov wrote:
> Hi Shashank,
>
> On 9 October 2015 at 20:28, Shashank Sharma <shashank.sharma@intel.com> wrote:
>> This patch adds new variables in CRTC state, to hold respective color
>> correction blobs. These blobs will be required during the atomic commit
>> for writing the color correction values in correction registers.
>>
>> Signed-off-by: Shashank Sharma <shashank.sharma@intel.com>
>> Signed-off-by: Kausal Malladi <kausalmalladi@gmail.com>
>> ---
>>   drivers/gpu/drm/drm_atomic_helper.c | 12 ++++++++++++
>>   include/drm/drm_crtc.h              |  7 ++++++-
>>   2 files changed, 18 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c
>> index 87a2a44..d73ca9b9 100644
>> --- a/drivers/gpu/drm/drm_atomic_helper.c
>> +++ b/drivers/gpu/drm/drm_atomic_helper.c
>> @@ -2193,6 +2193,12 @@ void __drm_atomic_helper_crtc_duplicate_state(struct drm_crtc *crtc,
>>
>>          if (state->mode_blob)
>>                  drm_property_reference_blob(state->mode_blob);
>> +       if (state->ctm_blob)
>> +               drm_property_reference_blob(state->ctm_blob);
>> +       if (state->palette_after_ctm_blob)
>> +               drm_property_reference_blob(state->palette_after_ctm_blob);
>> +       if (state->palette_before_ctm_blob)
>> +               drm_property_reference_blob(state->palette_before_ctm_blob);
>>          state->mode_changed = false;
>>          state->active_changed = false;
>>          state->planes_changed = false;
>> @@ -2238,6 +2244,12 @@ void __drm_atomic_helper_crtc_destroy_state(struct drm_crtc *crtc,
>>   {
>>          if (state->mode_blob)
>>                  drm_property_unreference_blob(state->mode_blob);
>> +       if (state->ctm_blob)
>> +               drm_property_unreference_blob(state->ctm_blob);
>> +       if (state->palette_after_ctm_blob)
>> +               drm_property_unreference_blob(state->palette_after_ctm_blob);
>> +       if (state->palette_before_ctm_blob)
>> +               drm_property_unreference_blob(state->palette_before_ctm_blob);
>>   }
>>   EXPORT_SYMBOL(__drm_atomic_helper_crtc_destroy_state);
>>
>> diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
>> index 6e0f177..9cd4123 100644
>> --- a/include/drm/drm_crtc.h
>> +++ b/include/drm/drm_crtc.h
>> @@ -302,6 +302,11 @@ struct drm_crtc_state {
>>          /* blob property to expose current mode to atomic userspace */
>>          struct drm_property_blob *mode_blob;
>>
>> +       /* blob properties to hold the color properties' blobs */
>> +       struct drm_property_blob *palette_before_ctm_blob;
>> +       struct drm_property_blob *palette_after_ctm_blob;
>> +       struct drm_property_blob *ctm_blob;
>> +
>>          struct drm_pending_vblank_event *event;
>>
>>          struct drm_atomic_state *state;
>> @@ -1151,7 +1156,7 @@ struct drm_mode_config {
>>          struct drm_property *cm_palette_after_ctm_property;
>>          struct drm_property *cm_ctm_property;
>>
>> -       /* Coor management capabilities query */
>> +       /* Color management capabilities query */
> This should be part of the previous patch.
>
Agree, will do it.

> Regards,
> Emil
>
diff mbox

Patch

diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c
index 87a2a44..d73ca9b9 100644
--- a/drivers/gpu/drm/drm_atomic_helper.c
+++ b/drivers/gpu/drm/drm_atomic_helper.c
@@ -2193,6 +2193,12 @@  void __drm_atomic_helper_crtc_duplicate_state(struct drm_crtc *crtc,
 
 	if (state->mode_blob)
 		drm_property_reference_blob(state->mode_blob);
+	if (state->ctm_blob)
+		drm_property_reference_blob(state->ctm_blob);
+	if (state->palette_after_ctm_blob)
+		drm_property_reference_blob(state->palette_after_ctm_blob);
+	if (state->palette_before_ctm_blob)
+		drm_property_reference_blob(state->palette_before_ctm_blob);
 	state->mode_changed = false;
 	state->active_changed = false;
 	state->planes_changed = false;
@@ -2238,6 +2244,12 @@  void __drm_atomic_helper_crtc_destroy_state(struct drm_crtc *crtc,
 {
 	if (state->mode_blob)
 		drm_property_unreference_blob(state->mode_blob);
+	if (state->ctm_blob)
+		drm_property_unreference_blob(state->ctm_blob);
+	if (state->palette_after_ctm_blob)
+		drm_property_unreference_blob(state->palette_after_ctm_blob);
+	if (state->palette_before_ctm_blob)
+		drm_property_unreference_blob(state->palette_before_ctm_blob);
 }
 EXPORT_SYMBOL(__drm_atomic_helper_crtc_destroy_state);
 
diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
index 6e0f177..9cd4123 100644
--- a/include/drm/drm_crtc.h
+++ b/include/drm/drm_crtc.h
@@ -302,6 +302,11 @@  struct drm_crtc_state {
 	/* blob property to expose current mode to atomic userspace */
 	struct drm_property_blob *mode_blob;
 
+	/* blob properties to hold the color properties' blobs */
+	struct drm_property_blob *palette_before_ctm_blob;
+	struct drm_property_blob *palette_after_ctm_blob;
+	struct drm_property_blob *ctm_blob;
+
 	struct drm_pending_vblank_event *event;
 
 	struct drm_atomic_state *state;
@@ -1151,7 +1156,7 @@  struct drm_mode_config {
 	struct drm_property *cm_palette_after_ctm_property;
 	struct drm_property *cm_ctm_property;
 
-	/* Coor management capabilities query */
+	/* Color management capabilities query */
 	struct drm_property *cm_coeff_before_ctm_property;
 	struct drm_property *cm_coeff_after_ctm_property;