aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDamien Lespiau <damien.lespiau@intel.com>2014-08-05 06:29:37 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2014-08-08 11:43:50 -0400
commitb2784e151903628a086d2ee12cf943690216cd6c (patch)
tree625718dd5ba79c79d2930c77b55a0edf231575dd
parent4079b8d1c3e38b6f18fb31e2997fa25276feea07 (diff)
drm/i915: Introduce a for_each_intel_encoder() macro
Following the established idom, let's provide a macro to iterate through the encoders. spatch helps, once more, for the substitution: @@ iterator name list_for_each_entry; iterator name for_each_intel_encoder; struct intel_encoder * encoder; struct drm_device * dev; @@ -list_for_each_entry(encoder, &dev->mode_config.encoder_list, base.head) { +for_each_intel_encoder(dev, encoder) { ... } I also modified a few call sites by hand where a pointer to mode_config was directly used (to avoid overflowing 80 chars). Signed-off-by: Damien Lespiau <damien.lespiau@intel.com> [danvet: Wrap paramters correctly in the macro and remove spurious space checkpatch noticed.] Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r--drivers/gpu/drm/i915/i915_debugfs.c3
-rw-r--r--drivers/gpu/drm/i915/i915_drv.h5
-rw-r--r--drivers/gpu/drm/i915/i915_irq.c8
-rw-r--r--drivers/gpu/drm/i915/intel_display.c59
-rw-r--r--drivers/gpu/drm/i915/intel_hdmi.c2
-rw-r--r--drivers/gpu/drm/i915/intel_lvds.c3
6 files changed, 31 insertions, 49 deletions
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
index aea1a819c775..330caa1ab9f9 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -2708,8 +2708,7 @@ static int i9xx_pipe_crc_auto_source(struct drm_device *dev, enum pipe pipe,
2708 *source = INTEL_PIPE_CRC_SOURCE_PIPE; 2708 *source = INTEL_PIPE_CRC_SOURCE_PIPE;
2709 2709
2710 drm_modeset_lock_all(dev); 2710 drm_modeset_lock_all(dev);
2711 list_for_each_entry(encoder, &dev->mode_config.encoder_list, 2711 for_each_intel_encoder(dev, encoder) {
2712 base.head) {
2713 if (!encoder->base.crtc) 2712 if (!encoder->base.crtc)
2714 continue; 2713 continue;
2715 2714
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 0d7e55f2a8a2..73d2308e2377 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -171,6 +171,11 @@ enum hpd_pin {
171#define for_each_intel_crtc(dev, intel_crtc) \ 171#define for_each_intel_crtc(dev, intel_crtc) \
172 list_for_each_entry(intel_crtc, &dev->mode_config.crtc_list, base.head) 172 list_for_each_entry(intel_crtc, &dev->mode_config.crtc_list, base.head)
173 173
174#define for_each_intel_encoder(dev, intel_encoder) \
175 list_for_each_entry(intel_encoder, \
176 &(dev)->mode_config.encoder_list, \
177 base.head)
178
174#define for_each_encoder_on_crtc(dev, __crtc, intel_encoder) \ 179#define for_each_encoder_on_crtc(dev, __crtc, intel_encoder) \
175 list_for_each_entry((intel_encoder), &(dev)->mode_config.encoder_list, base.head) \ 180 list_for_each_entry((intel_encoder), &(dev)->mode_config.encoder_list, base.head) \
176 if ((intel_encoder)->base.crtc == (__crtc)) 181 if ((intel_encoder)->base.crtc == (__crtc))
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index 379cfb5dc731..87abe8679495 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -3522,18 +3522,17 @@ static void cherryview_irq_preinstall(struct drm_device *dev)
3522static void ibx_hpd_irq_setup(struct drm_device *dev) 3522static void ibx_hpd_irq_setup(struct drm_device *dev)
3523{ 3523{
3524 struct drm_i915_private *dev_priv = dev->dev_private; 3524 struct drm_i915_private *dev_priv = dev->dev_private;
3525 struct drm_mode_config *mode_config = &dev->mode_config;
3526 struct intel_encoder *intel_encoder; 3525 struct intel_encoder *intel_encoder;
3527 u32 hotplug_irqs, hotplug, enabled_irqs = 0; 3526 u32 hotplug_irqs, hotplug, enabled_irqs = 0;
3528 3527
3529 if (HAS_PCH_IBX(dev)) { 3528 if (HAS_PCH_IBX(dev)) {
3530 hotplug_irqs = SDE_HOTPLUG_MASK; 3529 hotplug_irqs = SDE_HOTPLUG_MASK;
3531 list_for_each_entry(intel_encoder, &mode_config->encoder_list, base.head) 3530 for_each_intel_encoder(dev, intel_encoder)
3532 if (dev_priv->hpd_stats[intel_encoder->hpd_pin].hpd_mark == HPD_ENABLED) 3531 if (dev_priv->hpd_stats[intel_encoder->hpd_pin].hpd_mark == HPD_ENABLED)
3533 enabled_irqs |= hpd_ibx[intel_encoder->hpd_pin]; 3532 enabled_irqs |= hpd_ibx[intel_encoder->hpd_pin];
3534 } else { 3533 } else {
3535 hotplug_irqs = SDE_HOTPLUG_MASK_CPT; 3534 hotplug_irqs = SDE_HOTPLUG_MASK_CPT;
3536 list_for_each_entry(intel_encoder, &mode_config->encoder_list, base.head) 3535 for_each_intel_encoder(dev, intel_encoder)
3537 if (dev_priv->hpd_stats[intel_encoder->hpd_pin].hpd_mark == HPD_ENABLED) 3536 if (dev_priv->hpd_stats[intel_encoder->hpd_pin].hpd_mark == HPD_ENABLED)
3538 enabled_irqs |= hpd_cpt[intel_encoder->hpd_pin]; 3537 enabled_irqs |= hpd_cpt[intel_encoder->hpd_pin];
3539 } 3538 }
@@ -4452,7 +4451,6 @@ static int i965_irq_postinstall(struct drm_device *dev)
4452static void i915_hpd_irq_setup(struct drm_device *dev) 4451static void i915_hpd_irq_setup(struct drm_device *dev)
4453{ 4452{
4454 struct drm_i915_private *dev_priv = dev->dev_private; 4453 struct drm_i915_private *dev_priv = dev->dev_private;
4455 struct drm_mode_config *mode_config = &dev->mode_config;
4456 struct intel_encoder *intel_encoder; 4454 struct intel_encoder *intel_encoder;
4457 u32 hotplug_en; 4455 u32 hotplug_en;
4458 4456
@@ -4463,7 +4461,7 @@ static void i915_hpd_irq_setup(struct drm_device *dev)
4463 hotplug_en &= ~HOTPLUG_INT_EN_MASK; 4461 hotplug_en &= ~HOTPLUG_INT_EN_MASK;
4464 /* Note HDMI and DP share hotplug bits */ 4462 /* Note HDMI and DP share hotplug bits */
4465 /* enable bits are the same for all generations */ 4463 /* enable bits are the same for all generations */
4466 list_for_each_entry(intel_encoder, &mode_config->encoder_list, base.head) 4464 for_each_intel_encoder(dev, intel_encoder)
4467 if (dev_priv->hpd_stats[intel_encoder->hpd_pin].hpd_mark == HPD_ENABLED) 4465 if (dev_priv->hpd_stats[intel_encoder->hpd_pin].hpd_mark == HPD_ENABLED)
4468 hotplug_en |= hpd_mask_i915[intel_encoder->hpd_pin]; 4466 hotplug_en |= hpd_mask_i915[intel_encoder->hpd_pin];
4469 /* Programming the CRT detection parameters tends 4467 /* Programming the CRT detection parameters tends
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 60ba6962026b..f32a94544940 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -6405,7 +6405,6 @@ static bool i9xx_get_pipe_config(struct intel_crtc *crtc,
6405static void ironlake_init_pch_refclk(struct drm_device *dev) 6405static void ironlake_init_pch_refclk(struct drm_device *dev)
6406{ 6406{
6407 struct drm_i915_private *dev_priv = dev->dev_private; 6407 struct drm_i915_private *dev_priv = dev->dev_private;
6408 struct drm_mode_config *mode_config = &dev->mode_config;
6409 struct intel_encoder *encoder; 6408 struct intel_encoder *encoder;
6410 u32 val, final; 6409 u32 val, final;
6411 bool has_lvds = false; 6410 bool has_lvds = false;
@@ -6415,8 +6414,7 @@ static void ironlake_init_pch_refclk(struct drm_device *dev)
6415 bool can_ssc = false; 6414 bool can_ssc = false;
6416 6415
6417 /* We need to take the global config into account */ 6416 /* We need to take the global config into account */
6418 list_for_each_entry(encoder, &mode_config->encoder_list, 6417 for_each_intel_encoder(dev, encoder) {
6419 base.head) {
6420 switch (encoder->type) { 6418 switch (encoder->type) {
6421 case INTEL_OUTPUT_LVDS: 6419 case INTEL_OUTPUT_LVDS:
6422 has_panel = true; 6420 has_panel = true;
@@ -6723,11 +6721,10 @@ static void lpt_disable_clkout_dp(struct drm_device *dev)
6723 6721
6724static void lpt_init_pch_refclk(struct drm_device *dev) 6722static void lpt_init_pch_refclk(struct drm_device *dev)
6725{ 6723{
6726 struct drm_mode_config *mode_config = &dev->mode_config;
6727 struct intel_encoder *encoder; 6724 struct intel_encoder *encoder;
6728 bool has_vga = false; 6725 bool has_vga = false;
6729 6726
6730 list_for_each_entry(encoder, &mode_config->encoder_list, base.head) { 6727 for_each_intel_encoder(dev, encoder) {
6731 switch (encoder->type) { 6728 switch (encoder->type) {
6732 case INTEL_OUTPUT_ANALOG: 6729 case INTEL_OUTPUT_ANALOG:
6733 has_vga = true; 6730 has_vga = true;
@@ -9902,8 +9899,7 @@ static void intel_modeset_update_staged_output_state(struct drm_device *dev)
9902 to_intel_encoder(connector->base.encoder); 9899 to_intel_encoder(connector->base.encoder);
9903 } 9900 }
9904 9901
9905 list_for_each_entry(encoder, &dev->mode_config.encoder_list, 9902 for_each_intel_encoder(dev, encoder) {
9906 base.head) {
9907 encoder->new_crtc = 9903 encoder->new_crtc =
9908 to_intel_crtc(encoder->base.crtc); 9904 to_intel_crtc(encoder->base.crtc);
9909 } 9905 }
@@ -9934,8 +9930,7 @@ static void intel_modeset_commit_output_state(struct drm_device *dev)
9934 connector->base.encoder = &connector->new_encoder->base; 9930 connector->base.encoder = &connector->new_encoder->base;
9935 } 9931 }
9936 9932
9937 list_for_each_entry(encoder, &dev->mode_config.encoder_list, 9933 for_each_intel_encoder(dev, encoder) {
9938 base.head) {
9939 encoder->base.crtc = &encoder->new_crtc->base; 9934 encoder->base.crtc = &encoder->new_crtc->base;
9940 } 9935 }
9941 9936
@@ -10105,8 +10100,7 @@ static bool check_single_encoder_cloning(struct intel_crtc *crtc,
10105 struct drm_device *dev = crtc->base.dev; 10100 struct drm_device *dev = crtc->base.dev;
10106 struct intel_encoder *source_encoder; 10101 struct intel_encoder *source_encoder;
10107 10102
10108 list_for_each_entry(source_encoder, 10103 for_each_intel_encoder(dev, source_encoder) {
10109 &dev->mode_config.encoder_list, base.head) {
10110 if (source_encoder->new_crtc != crtc) 10104 if (source_encoder->new_crtc != crtc)
10111 continue; 10105 continue;
10112 10106
@@ -10122,8 +10116,7 @@ static bool check_encoder_cloning(struct intel_crtc *crtc)
10122 struct drm_device *dev = crtc->base.dev; 10116 struct drm_device *dev = crtc->base.dev;
10123 struct intel_encoder *encoder; 10117 struct intel_encoder *encoder;
10124 10118
10125 list_for_each_entry(encoder, 10119 for_each_intel_encoder(dev, encoder) {
10126 &dev->mode_config.encoder_list, base.head) {
10127 if (encoder->new_crtc != crtc) 10120 if (encoder->new_crtc != crtc)
10128 continue; 10121 continue;
10129 10122
@@ -10207,8 +10200,7 @@ encoder_retry:
10207 * adjust it according to limitations or connector properties, and also 10200 * adjust it according to limitations or connector properties, and also
10208 * a chance to reject the mode entirely. 10201 * a chance to reject the mode entirely.
10209 */ 10202 */
10210 list_for_each_entry(encoder, &dev->mode_config.encoder_list, 10203 for_each_intel_encoder(dev, encoder) {
10211 base.head) {
10212 10204
10213 if (&encoder->new_crtc->base != crtc) 10205 if (&encoder->new_crtc->base != crtc)
10214 continue; 10206 continue;
@@ -10286,8 +10278,7 @@ intel_modeset_affected_pipes(struct drm_crtc *crtc, unsigned *modeset_pipes,
10286 1 << connector->new_encoder->new_crtc->pipe; 10278 1 << connector->new_encoder->new_crtc->pipe;
10287 } 10279 }
10288 10280
10289 list_for_each_entry(encoder, &dev->mode_config.encoder_list, 10281 for_each_intel_encoder(dev, encoder) {
10290 base.head) {
10291 if (encoder->base.crtc == &encoder->new_crtc->base) 10282 if (encoder->base.crtc == &encoder->new_crtc->base)
10292 continue; 10283 continue;
10293 10284
@@ -10361,8 +10352,7 @@ intel_modeset_update_state(struct drm_device *dev, unsigned prepare_pipes)
10361 struct intel_crtc *intel_crtc; 10352 struct intel_crtc *intel_crtc;
10362 struct drm_connector *connector; 10353 struct drm_connector *connector;
10363 10354
10364 list_for_each_entry(intel_encoder, &dev->mode_config.encoder_list, 10355 for_each_intel_encoder(dev, intel_encoder) {
10365 base.head) {
10366 if (!intel_encoder->base.crtc) 10356 if (!intel_encoder->base.crtc)
10367 continue; 10357 continue;
10368 10358
@@ -10636,8 +10626,7 @@ check_encoder_state(struct drm_device *dev)
10636 struct intel_encoder *encoder; 10626 struct intel_encoder *encoder;
10637 struct intel_connector *connector; 10627 struct intel_connector *connector;
10638 10628
10639 list_for_each_entry(encoder, &dev->mode_config.encoder_list, 10629 for_each_intel_encoder(dev, encoder) {
10640 base.head) {
10641 bool enabled = false; 10630 bool enabled = false;
10642 bool active = false; 10631 bool active = false;
10643 enum pipe pipe, tracked_pipe; 10632 enum pipe pipe, tracked_pipe;
@@ -10716,8 +10705,7 @@ check_crtc_state(struct drm_device *dev)
10716 WARN(crtc->active && !crtc->base.enabled, 10705 WARN(crtc->active && !crtc->base.enabled,
10717 "active crtc, but not enabled in sw tracking\n"); 10706 "active crtc, but not enabled in sw tracking\n");
10718 10707
10719 list_for_each_entry(encoder, &dev->mode_config.encoder_list, 10708 for_each_intel_encoder(dev, encoder) {
10720 base.head) {
10721 if (encoder->base.crtc != &crtc->base) 10709 if (encoder->base.crtc != &crtc->base)
10722 continue; 10710 continue;
10723 enabled = true; 10711 enabled = true;
@@ -10739,8 +10727,7 @@ check_crtc_state(struct drm_device *dev)
10739 if (crtc->pipe == PIPE_A && dev_priv->quirks & QUIRK_PIPEA_FORCE) 10727 if (crtc->pipe == PIPE_A && dev_priv->quirks & QUIRK_PIPEA_FORCE)
10740 active = crtc->active; 10728 active = crtc->active;
10741 10729
10742 list_for_each_entry(encoder, &dev->mode_config.encoder_list, 10730 for_each_intel_encoder(dev, encoder) {
10743 base.head) {
10744 enum pipe pipe; 10731 enum pipe pipe;
10745 if (encoder->base.crtc != &crtc->base) 10732 if (encoder->base.crtc != &crtc->base)
10746 continue; 10733 continue;
@@ -11108,7 +11095,7 @@ static void intel_set_config_restore_state(struct drm_device *dev,
11108 } 11095 }
11109 11096
11110 count = 0; 11097 count = 0;
11111 list_for_each_entry(encoder, &dev->mode_config.encoder_list, base.head) { 11098 for_each_intel_encoder(dev, encoder) {
11112 encoder->new_crtc = 11099 encoder->new_crtc =
11113 to_intel_crtc(config->save_encoder_crtcs[count++]); 11100 to_intel_crtc(config->save_encoder_crtcs[count++]);
11114 } 11101 }
@@ -11267,8 +11254,7 @@ intel_modeset_stage_output_state(struct drm_device *dev,
11267 } 11254 }
11268 11255
11269 /* Check for any encoders that needs to be disabled. */ 11256 /* Check for any encoders that needs to be disabled. */
11270 list_for_each_entry(encoder, &dev->mode_config.encoder_list, 11257 for_each_intel_encoder(dev, encoder) {
11271 base.head) {
11272 int num_connectors = 0; 11258 int num_connectors = 0;
11273 list_for_each_entry(connector, 11259 list_for_each_entry(connector,
11274 &dev->mode_config.connector_list, 11260 &dev->mode_config.connector_list,
@@ -11301,9 +11287,7 @@ intel_modeset_stage_output_state(struct drm_device *dev,
11301 for_each_intel_crtc(dev, crtc) { 11287 for_each_intel_crtc(dev, crtc) {
11302 crtc->new_enabled = false; 11288 crtc->new_enabled = false;
11303 11289
11304 list_for_each_entry(encoder, 11290 for_each_intel_encoder(dev, encoder) {
11305 &dev->mode_config.encoder_list,
11306 base.head) {
11307 if (encoder->new_crtc == crtc) { 11291 if (encoder->new_crtc == crtc) {
11308 crtc->new_enabled = true; 11292 crtc->new_enabled = true;
11309 break; 11293 break;
@@ -11340,7 +11324,7 @@ static void disable_crtc_nofb(struct intel_crtc *crtc)
11340 connector->new_encoder = NULL; 11324 connector->new_encoder = NULL;
11341 } 11325 }
11342 11326
11343 list_for_each_entry(encoder, &dev->mode_config.encoder_list, base.head) { 11327 for_each_intel_encoder(dev, encoder) {
11344 if (encoder->new_crtc == crtc) 11328 if (encoder->new_crtc == crtc)
11345 encoder->new_crtc = NULL; 11329 encoder->new_crtc = NULL;
11346 } 11330 }
@@ -11972,8 +11956,7 @@ static int intel_encoder_clones(struct intel_encoder *encoder)
11972 int index_mask = 0; 11956 int index_mask = 0;
11973 int entry = 0; 11957 int entry = 0;
11974 11958
11975 list_for_each_entry(source_encoder, 11959 for_each_intel_encoder(dev, source_encoder) {
11976 &dev->mode_config.encoder_list, base.head) {
11977 if (encoders_cloneable(encoder, source_encoder)) 11960 if (encoders_cloneable(encoder, source_encoder))
11978 index_mask |= (1 << entry); 11961 index_mask |= (1 << entry);
11979 11962
@@ -12162,7 +12145,7 @@ static void intel_setup_outputs(struct drm_device *dev)
12162 12145
12163 intel_edp_psr_init(dev); 12146 intel_edp_psr_init(dev);
12164 12147
12165 list_for_each_entry(encoder, &dev->mode_config.encoder_list, base.head) { 12148 for_each_intel_encoder(dev, encoder) {
12166 encoder->base.possible_crtcs = encoder->crtc_mask; 12149 encoder->base.possible_crtcs = encoder->crtc_mask;
12167 encoder->base.possible_clones = 12150 encoder->base.possible_clones =
12168 intel_encoder_clones(encoder); 12151 intel_encoder_clones(encoder);
@@ -13056,8 +13039,7 @@ static void intel_modeset_readout_hw_state(struct drm_device *dev)
13056 intel_display_power_get(dev_priv, POWER_DOMAIN_PLLS); 13039 intel_display_power_get(dev_priv, POWER_DOMAIN_PLLS);
13057 } 13040 }
13058 13041
13059 list_for_each_entry(encoder, &dev->mode_config.encoder_list, 13042 for_each_intel_encoder(dev, encoder) {
13060 base.head) {
13061 pipe = 0; 13043 pipe = 0;
13062 13044
13063 if (encoder->get_hw_state(encoder, &pipe)) { 13045 if (encoder->get_hw_state(encoder, &pipe)) {
@@ -13121,8 +13103,7 @@ void intel_modeset_setup_hw_state(struct drm_device *dev,
13121 } 13103 }
13122 13104
13123 /* HW state is read out, now we need to sanitize this mess. */ 13105 /* HW state is read out, now we need to sanitize this mess. */
13124 list_for_each_entry(encoder, &dev->mode_config.encoder_list, 13106 for_each_intel_encoder(dev, encoder) {
13125 base.head) {
13126 intel_sanitize_encoder(encoder); 13107 intel_sanitize_encoder(encoder);
13127 } 13108 }
13128 13109
diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
index 5f47d359a991..9169786dbbc3 100644
--- a/drivers/gpu/drm/i915/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/intel_hdmi.c
@@ -885,7 +885,7 @@ static bool hdmi_12bpc_possible(struct intel_crtc *crtc)
885 if (HAS_GMCH_DISPLAY(dev)) 885 if (HAS_GMCH_DISPLAY(dev))
886 return false; 886 return false;
887 887
888 list_for_each_entry(encoder, &dev->mode_config.encoder_list, base.head) { 888 for_each_intel_encoder(dev, encoder) {
889 if (encoder->new_crtc != crtc) 889 if (encoder->new_crtc != crtc)
890 continue; 890 continue;
891 891
diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
index 881361c0f27e..1987491723a5 100644
--- a/drivers/gpu/drm/i915/intel_lvds.c
+++ b/drivers/gpu/drm/i915/intel_lvds.c
@@ -823,8 +823,7 @@ bool intel_is_dual_link_lvds(struct drm_device *dev)
823 struct intel_encoder *encoder; 823 struct intel_encoder *encoder;
824 struct intel_lvds_encoder *lvds_encoder; 824 struct intel_lvds_encoder *lvds_encoder;
825 825
826 list_for_each_entry(encoder, &dev->mode_config.encoder_list, 826 for_each_intel_encoder(dev, encoder) {
827 base.head) {
828 if (encoder->type == INTEL_OUTPUT_LVDS) { 827 if (encoder->type == INTEL_OUTPUT_LVDS) {
829 lvds_encoder = to_lvds_encoder(&encoder->base); 828 lvds_encoder = to_lvds_encoder(&encoder->base);
830 829