Skip to content

Commit

Permalink
drm/i915: Use for_each_intel_crtc() when iterating through intel_crtcs
Browse files Browse the repository at this point in the history
Generated using the semantic patch:

  @@
  iterator name list_for_each_entry;
  iterator name for_each_intel_crtc;
  struct intel_crtc * crtc;
  struct drm_device * dev;
  @@
  -list_for_each_entry(crtc,&dev->mode_config.crtc_list,...) {
  +for_each_intel_crtc(dev,crtc) {
	...
  }

Followed by a couple of fixups by hand (that spatch doesn't match the
cases where list_for_each_entry() is not followed by a set of '{', '}',
but I couldn't figure out a way to leave the '{' out of the iterator
match).

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
  • Loading branch information
Damien Lespiau authored and Daniel Vetter committed May 13, 2014
1 parent d063ae4 commit d3fcc80
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 38 deletions.
4 changes: 2 additions & 2 deletions drivers/gpu/drm/i915/i915_debugfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -514,7 +514,7 @@ static int i915_gem_pageflip_info(struct seq_file *m, void *data)
unsigned long flags;
struct intel_crtc *crtc;

list_for_each_entry(crtc, &dev->mode_config.crtc_list, base.head) {
for_each_intel_crtc(dev, crtc) {
const char pipe = pipe_name(crtc->pipe);
const char plane = plane_name(crtc->plane);
struct intel_unpin_work *work;
Expand Down Expand Up @@ -2345,7 +2345,7 @@ static int i915_display_info(struct seq_file *m, void *unused)
drm_modeset_lock_all(dev);
seq_printf(m, "CRTC info\n");
seq_printf(m, "---------\n");
list_for_each_entry(crtc, &dev->mode_config.crtc_list, base.head) {
for_each_intel_crtc(dev, crtc) {
bool active;
int x, y;

Expand Down
53 changes: 20 additions & 33 deletions drivers/gpu/drm/i915/intel_display.c
Original file line number Diff line number Diff line change
Expand Up @@ -3261,7 +3261,7 @@ bool intel_has_pending_fb_unpin(struct drm_device *dev)
* cannot claim and pin a new fb without at least acquring the
* struct_mutex and so serialising with us.
*/
list_for_each_entry(crtc, &dev->mode_config.crtc_list, base.head) {
for_each_intel_crtc(dev, crtc) {
if (atomic_read(&crtc->unpin_work_count) == 0)
continue;

Expand Down Expand Up @@ -3993,7 +3993,7 @@ static void haswell_mode_set_planes_workaround(struct intel_crtc *crtc)

/* We want to get the other_active_crtc only if there's only 1 other
* active crtc. */
list_for_each_entry(crtc_it, &dev->mode_config.crtc_list, base.head) {
for_each_intel_crtc(dev, crtc_it) {
if (!crtc_it->active || crtc_it == crtc)
continue;

Expand Down Expand Up @@ -4312,7 +4312,7 @@ static void modeset_update_crtc_power_domains(struct drm_device *dev)
* First get all needed power domains, then put all unneeded, to avoid
* any unnecessary toggling of the power wells.
*/
list_for_each_entry(crtc, &dev->mode_config.crtc_list, base.head) {
for_each_intel_crtc(dev, crtc) {
enum intel_display_power_domain domain;

if (!crtc->base.enabled)
Expand All @@ -4324,7 +4324,7 @@ static void modeset_update_crtc_power_domains(struct drm_device *dev)
intel_display_power_get(dev_priv, domain);
}

list_for_each_entry(crtc, &dev->mode_config.crtc_list, base.head) {
for_each_intel_crtc(dev, crtc) {
enum intel_display_power_domain domain;

for_each_power_domain(domain, crtc->enabled_power_domains)
Expand Down Expand Up @@ -4458,8 +4458,7 @@ static int intel_mode_max_pixclk(struct drm_i915_private *dev_priv)
struct intel_crtc *intel_crtc;
int max_pixclk = 0;

list_for_each_entry(intel_crtc, &dev->mode_config.crtc_list,
base.head) {
for_each_intel_crtc(dev, intel_crtc) {
if (intel_crtc->new_enabled)
max_pixclk = max(max_pixclk,
intel_crtc->new_config->adjusted_mode.crtc_clock);
Expand All @@ -4480,8 +4479,7 @@ static void valleyview_modeset_global_pipes(struct drm_device *dev,
return;

/* disable/enable all currently active pipes while we change cdclk */
list_for_each_entry(intel_crtc, &dev->mode_config.crtc_list,
base.head)
for_each_intel_crtc(dev, intel_crtc)
if (intel_crtc->base.enabled)
*prepare_pipes |= (1 << intel_crtc->pipe);
}
Expand Down Expand Up @@ -7120,7 +7118,7 @@ static void assert_can_disable_lcpll(struct drm_i915_private *dev_priv)
struct intel_ddi_plls *plls = &dev_priv->ddi_plls;
struct intel_crtc *crtc;

list_for_each_entry(crtc, &dev->mode_config.crtc_list, base.head)
for_each_intel_crtc(dev, crtc)
WARN(crtc->active, "CRTC for pipe %c enabled\n",
pipe_name(crtc->pipe));

Expand Down Expand Up @@ -9298,8 +9296,7 @@ static void intel_modeset_update_staged_output_state(struct drm_device *dev)
to_intel_crtc(encoder->base.crtc);
}

list_for_each_entry(crtc, &dev->mode_config.crtc_list,
base.head) {
for_each_intel_crtc(dev, crtc) {
crtc->new_enabled = crtc->base.enabled;

if (crtc->new_enabled)
Expand Down Expand Up @@ -9330,8 +9327,7 @@ static void intel_modeset_commit_output_state(struct drm_device *dev)
encoder->base.crtc = &encoder->new_crtc->base;
}

list_for_each_entry(crtc, &dev->mode_config.crtc_list,
base.head) {
for_each_intel_crtc(dev, crtc) {
crtc->base.enabled = crtc->new_enabled;
}
}
Expand Down Expand Up @@ -9685,8 +9681,7 @@ intel_modeset_affected_pipes(struct drm_crtc *crtc, unsigned *modeset_pipes,
}

/* Check for pipes that will be enabled/disabled ... */
list_for_each_entry(intel_crtc, &dev->mode_config.crtc_list,
base.head) {
for_each_intel_crtc(dev, intel_crtc) {
if (intel_crtc->base.enabled == intel_crtc->new_enabled)
continue;

Expand Down Expand Up @@ -9759,8 +9754,7 @@ intel_modeset_update_state(struct drm_device *dev, unsigned prepare_pipes)
intel_modeset_commit_output_state(dev);

/* Double check state. */
list_for_each_entry(intel_crtc, &dev->mode_config.crtc_list,
base.head) {
for_each_intel_crtc(dev, intel_crtc) {
WARN_ON(intel_crtc->base.enabled != intel_crtc_in_use(&intel_crtc->base));
WARN_ON(intel_crtc->new_config &&
intel_crtc->new_config != &intel_crtc->config);
Expand Down Expand Up @@ -10038,8 +10032,7 @@ check_crtc_state(struct drm_device *dev)
struct intel_encoder *encoder;
struct intel_crtc_config pipe_config;

list_for_each_entry(crtc, &dev->mode_config.crtc_list,
base.head) {
for_each_intel_crtc(dev, crtc) {
bool enabled = false;
bool active = false;

Expand Down Expand Up @@ -10128,8 +10121,7 @@ check_shared_dpll_state(struct drm_device *dev)
"pll on state mismatch (expected %i, found %i)\n",
pll->on, active);

list_for_each_entry(crtc, &dev->mode_config.crtc_list,
base.head) {
for_each_intel_crtc(dev, crtc) {
if (crtc->base.enabled && intel_crtc_to_shared_dpll(crtc) == pll)
enabled_crtcs++;
if (crtc->active && intel_crtc_to_shared_dpll(crtc) == pll)
Expand Down Expand Up @@ -10370,7 +10362,7 @@ static void intel_set_config_restore_state(struct drm_device *dev,
int count;

count = 0;
list_for_each_entry(crtc, &dev->mode_config.crtc_list, base.head) {
for_each_intel_crtc(dev, crtc) {
crtc->new_enabled = config->save_crtc_enabled[count++];

if (crtc->new_enabled)
Expand Down Expand Up @@ -10560,8 +10552,7 @@ intel_modeset_stage_output_state(struct drm_device *dev,
}
/* Now we've also updated encoder->new_crtc for all encoders. */

list_for_each_entry(crtc, &dev->mode_config.crtc_list,
base.head) {
for_each_intel_crtc(dev, crtc) {
crtc->new_enabled = false;

list_for_each_entry(encoder,
Expand Down Expand Up @@ -10774,7 +10765,7 @@ static void ibx_pch_dpll_disable(struct drm_i915_private *dev_priv,
struct intel_crtc *crtc;

/* Make sure no transcoder isn't still depending on us. */
list_for_each_entry(crtc, &dev->mode_config.crtc_list, base.head) {
for_each_intel_crtc(dev, crtc) {
if (intel_crtc_to_shared_dpll(crtc) == pll)
assert_pch_transcoder_disabled(dev_priv, crtc->pipe);
}
Expand Down Expand Up @@ -11627,8 +11618,7 @@ void intel_modeset_init(struct drm_device *dev)
intel_modeset_setup_hw_state(dev, false);
mutex_unlock(&dev->mode_config.mutex);

list_for_each_entry(crtc, &dev->mode_config.crtc_list,
base.head) {
for_each_intel_crtc(dev, crtc) {
if (!crtc->active)
continue;

Expand Down Expand Up @@ -11889,8 +11879,7 @@ static void intel_modeset_readout_hw_state(struct drm_device *dev)
struct intel_connector *connector;
int i;

list_for_each_entry(crtc, &dev->mode_config.crtc_list,
base.head) {
for_each_intel_crtc(dev, crtc) {
memset(&crtc->config, 0, sizeof(crtc->config));

crtc->config.quirks |= PIPE_CONFIG_QUIRK_INHERITED_MODE;
Expand All @@ -11915,8 +11904,7 @@ static void intel_modeset_readout_hw_state(struct drm_device *dev)

pll->on = pll->get_hw_state(dev_priv, pll, &pll->hw_state);
pll->active = 0;
list_for_each_entry(crtc, &dev->mode_config.crtc_list,
base.head) {
for_each_intel_crtc(dev, crtc) {
if (crtc->active && intel_crtc_to_shared_dpll(crtc) == pll)
pll->active++;
}
Expand Down Expand Up @@ -11981,8 +11969,7 @@ void intel_modeset_setup_hw_state(struct drm_device *dev,
* Note that this could go away if we move to using crtc_config
* checking everywhere.
*/
list_for_each_entry(crtc, &dev->mode_config.crtc_list,
base.head) {
for_each_intel_crtc(dev, crtc) {
if (crtc->active && i915.fastboot) {
intel_mode_from_pipe_config(&crtc->base.mode, &crtc->config);
DRM_DEBUG_KMS("[CRTC:%d] found active mode: ",
Expand Down
6 changes: 3 additions & 3 deletions drivers/gpu/drm/i915/intel_pm.c
Original file line number Diff line number Diff line change
Expand Up @@ -2170,7 +2170,7 @@ static void ilk_compute_wm_config(struct drm_device *dev,
struct intel_crtc *intel_crtc;

/* Compute the currently _active_ config */
list_for_each_entry(intel_crtc, &dev->mode_config.crtc_list, base.head) {
for_each_intel_crtc(dev, intel_crtc) {
const struct intel_pipe_wm *wm = &intel_crtc->wm.active;

if (!wm->pipe_enabled)
Expand Down Expand Up @@ -2254,7 +2254,7 @@ static void ilk_merge_wm_level(struct drm_device *dev,

ret_wm->enable = true;

list_for_each_entry(intel_crtc, &dev->mode_config.crtc_list, base.head) {
for_each_intel_crtc(dev, intel_crtc) {
const struct intel_pipe_wm *active = &intel_crtc->wm.active;
const struct intel_wm_level *wm = &active->wm[level];

Expand Down Expand Up @@ -2400,7 +2400,7 @@ static void ilk_compute_wm_results(struct drm_device *dev,
}

/* LP0 register values */
list_for_each_entry(intel_crtc, &dev->mode_config.crtc_list, base.head) {
for_each_intel_crtc(dev, intel_crtc) {
enum pipe pipe = intel_crtc->pipe;
const struct intel_wm_level *r =
&intel_crtc->wm.active.wm[0];
Expand Down

0 comments on commit d3fcc80

Please sign in to comment.