diff mbox

[v7,08/25] drm: Add color correction state flag

Message ID 1445344492-8296-9-git-send-email-shashank.sharma@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Sharma, Shashank Oct. 20, 2015, 12:34 p.m. UTC
Add a color correction state flag, to indicate a change in
color correction states. This flag will help a core driver to
optimize its commit calls, by appling the color correction only
when there is a change, not every commit.

Signed-off-by: Shashank Sharma <shashank.sharma@intel.com>
---
 drivers/gpu/drm/drm_atomic.c | 6 ++++++
 include/drm/drm_crtc.h       | 1 +
 2 files changed, 7 insertions(+)

Comments

kernel test robot Oct. 20, 2015, 1:58 p.m. UTC | #1
Hi Shashank,

[auto build test WARNING on drm-intel/for-linux-next -- if it's inappropriate base, please suggest rules for selecting the more suitable base]

url:    https://github.com/0day-ci/linux/commits/Shashank-Sharma/Color-Management-for-DRM-framework/20151020-202959
reproduce: make htmldocs

All warnings (new ones prefixed by >>):

   drivers/gpu/drm/i915/i915_irq.c:2584: warning: No description found for parameter 'wedged'
   drivers/gpu/drm/i915/i915_irq.c:2584: warning: No description found for parameter 'fmt'
   drivers/gpu/drm/drm_atomic.c:407: warning: No description found for parameter 'dev'
>> include/drm/drm_crtc.h:314: warning: No description found for parameter 'color_correction_changed'
   include/drm/drm_crtc.h:314: warning: No description found for parameter 'mode_blob'
   include/drm/drm_crtc.h:314: warning: No description found for parameter 'palette_before_ctm_blob'
   include/drm/drm_crtc.h:314: warning: No description found for parameter 'palette_after_ctm_blob'
   include/drm/drm_crtc.h:314: warning: No description found for parameter 'ctm_blob'
   include/drm/drm_crtc.h:746: warning: No description found for parameter 'tile_blob_ptr'
   include/drm/drm_crtc.h:785: warning: No description found for parameter 'rotation'
   include/drm/drm_crtc.h:881: warning: No description found for parameter 'mutex'
   include/drm/drm_crtc.h:881: warning: No description found for parameter 'helper_private'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'tile_idr'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'delayed_event'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'edid_property'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'dpms_property'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'path_property'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'tile_property'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'plane_type_property'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'rotation_property'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'prop_src_x'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'prop_src_y'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'prop_src_w'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'prop_src_h'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'prop_crtc_x'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'prop_crtc_y'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'prop_crtc_w'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'prop_crtc_h'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'prop_fb_id'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'prop_crtc_id'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'prop_active'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'prop_mode_id'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'dvi_i_subconnector_property'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'dvi_i_select_subconnector_property'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'tv_subconnector_property'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'tv_select_subconnector_property'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'tv_mode_property'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'tv_left_margin_property'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'tv_right_margin_property'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'tv_top_margin_property'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'tv_bottom_margin_property'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'tv_brightness_property'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'tv_contrast_property'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'tv_flicker_reduction_property'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'tv_overscan_property'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'tv_saturation_property'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'tv_hue_property'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'scaling_mode_property'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'aspect_ratio_property'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'dirty_info_property'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'suggested_x_property'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'suggested_y_property'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'cm_palette_before_ctm_property'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'cm_palette_after_ctm_property'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'cm_ctm_property'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'cm_coeff_before_ctm_property'
   include/drm/drm_crtc.h:1175: warning: No description found for parameter 'cm_coeff_after_ctm_property'
   include/drm/drm_crtc.h:1175: 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:709: warning: No description found for parameter 'i2c_nack_count'
   include/drm/drm_dp_helper.h:709: warning: No description found for parameter 'i2c_defer_count'
   drivers/gpu/drm/drm_dp_mst_topology.c:2211: 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:470: warning: No description found for parameter 'max_dpcd_transaction_bytes'
   include/drm/drm_dp_mst_helper.h:470: warning: No description found for parameter 'sink_count'
   include/drm/drm_dp_mst_helper.h:470: warning: No description found for parameter 'total_slots'
   include/drm/drm_dp_mst_helper.h:470: warning: No description found for parameter 'avail_slots'
   include/drm/drm_dp_mst_helper.h:470: warning: No description found for parameter 'total_pbn'
   include/drm/drm_dp_mst_helper.h:470: warning: No description found for parameter 'qlock'
   include/drm/drm_dp_mst_helper.h:470: warning: No description found for parameter 'tx_msg_downq'
   include/drm/drm_dp_mst_helper.h:470: warning: No description found for parameter 'tx_msg_upq'
   include/drm/drm_dp_mst_helper.h:470: warning: No description found for parameter 'tx_down_in_progress'
   include/drm/drm_dp_mst_helper.h:470: warning: No description found for parameter 'tx_up_in_progress'
   include/drm/drm_dp_mst_helper.h:470: warning: No description found for parameter 'payload_lock'
   include/drm/drm_dp_mst_helper.h:470: warning: No description found for parameter 'proposed_vcpis'
   include/drm/drm_dp_mst_helper.h:470: warning: No description found for parameter 'payloads'
   include/drm/drm_dp_mst_helper.h:470: warning: No description found for parameter 'payload_mask'
   include/drm/drm_dp_mst_helper.h:470: warning: No description found for parameter 'vcpi_mask'
   include/drm/drm_dp_mst_helper.h:470: warning: No description found for parameter 'tx_waitq'
   include/drm/drm_dp_mst_helper.h:470: warning: No description found for parameter 'work'
   include/drm/drm_dp_mst_helper.h:470: warning: No description found for parameter 'tx_work'
   include/drm/drm_dp_mst_helper.h:470: warning: No description found for parameter 'destroy_connector_list'
   include/drm/drm_dp_mst_helper.h:470: warning: No description found for parameter 'destroy_connector_lock'
   include/drm/drm_dp_mst_helper.h:470: warning: No description found for parameter 'destroy_connector_work'
   drivers/gpu/drm/drm_dp_mst_topology.c:2211: 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:648: warning: cannot understand function prototype: 'struct drm_info_list '
   include/drm/drmP.h:658: warning: cannot understand function prototype: 'struct drm_info_node '
   include/drm/drmP.h:668: warning: cannot understand function prototype: 'struct drm_minor '
   include/drm/drmP.h:716: warning: cannot understand function prototype: 'struct drm_device '
   drivers/gpu/drm/i915/i915_irq.c:2584: warning: No description found for parameter 'wedged'
   drivers/gpu/drm/i915/i915_irq.c:2584: warning: No description found for parameter 'fmt'
   drivers/gpu/drm/i915/i915_irq.c:2584: warning: No description found for parameter 'wedged'

vim +/color_correction_changed +314 include/drm/drm_crtc.h

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

:::::: The code at line 314 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
diff mbox

Patch

diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c
index b49aaeb..1c163a6 100644
--- a/drivers/gpu/drm/drm_atomic.c
+++ b/drivers/gpu/drm/drm_atomic.c
@@ -459,18 +459,24 @@  int drm_atomic_crtc_set_property(struct drm_crtc *crtc,
 				&state->palette_after_ctm_blob, val);
 		if (ret)
 			DRM_ERROR("Failed to load blob palette_after_ctm\n");
+		else
+			state->color_correction_changed = true;
 		return ret;
 	} else if (property == config->cm_palette_before_ctm_property) {
 		ret = drm_atomic_crtc_set_blob(dev,
 				&state->palette_before_ctm_blob, val);
 		if (ret)
 			DRM_ERROR("Failed to load blob palette_before_ctm\n");
+		else
+			state->color_correction_changed = true;
 		return ret;
 	} else if (property == config->cm_ctm_property) {
 		ret = drm_atomic_crtc_set_blob(dev,
 				&state->ctm_blob, val);
 		if (ret)
 			DRM_ERROR("Failed to load blob ctm\n");
+		else
+			state->color_correction_changed = true;
 		return ret;
 	} else if (crtc->funcs->atomic_set_property)
 		return crtc->funcs->atomic_set_property(crtc, state, property, val);
diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
index cea6b3b..d002994 100644
--- a/include/drm/drm_crtc.h
+++ b/include/drm/drm_crtc.h
@@ -285,6 +285,7 @@  struct drm_crtc_state {
 	bool mode_changed : 1;
 	bool active_changed : 1;
 	bool connectors_changed : 1;
+	bool color_correction_changed : 1;
 
 	/* attached planes bitmask:
 	 * WARNING: transitional helpers do not maintain plane_mask so