Skip to content

Commit

Permalink
drm/i915: Use for_each_crtc() when iterating through the CRTCs
Browse files Browse the repository at this point in the history
Patch done using the following semantic patch (thanks Daniel for the
help!)

  @@
  iterator name list_for_each_entry;
  iterator name for_each_crtc;
  struct drm_crtc * crtc;
  struct drm_device * dev;
  @@
  -list_for_each_entry(crtc,&dev->mode_config.crtc_list, head) {
  +for_each_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 d79b814 commit 70e1e0e
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 16 deletions.
2 changes: 1 addition & 1 deletion drivers/gpu/drm/i915/i915_drv.c
Original file line number Diff line number Diff line change
Expand Up @@ -486,7 +486,7 @@ static int i915_drm_freeze(struct drm_device *dev)
* for _thaw.
*/
mutex_lock(&dev->mode_config.mutex);
list_for_each_entry(crtc, &dev->mode_config.crtc_list, head)
for_each_crtc(dev, crtc)
dev_priv->display.crtc_disable(crtc);
mutex_unlock(&dev->mode_config.mutex);

Expand Down
18 changes: 9 additions & 9 deletions drivers/gpu/drm/i915/intel_display.c
Original file line number Diff line number Diff line change
Expand Up @@ -2312,7 +2312,7 @@ static void intel_find_plane_obj(struct intel_crtc *intel_crtc,
* Failed to alloc the obj, check to see if we should share
* an fb with another CRTC instead
*/
list_for_each_entry(c, &dev->mode_config.crtc_list, head) {
for_each_crtc(dev, c) {
i = to_intel_crtc(c);

if (c == &intel_crtc->base)
Expand Down Expand Up @@ -2540,15 +2540,15 @@ void intel_display_handle_reset(struct drm_device *dev)
* pending_flip_queue really got woken up.
*/

list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) {
for_each_crtc(dev, crtc) {
struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
enum plane plane = intel_crtc->plane;

intel_prepare_page_flip(dev, plane);
intel_finish_page_flip_plane(dev, plane);
}

list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) {
for_each_crtc(dev, crtc) {
struct intel_crtc *intel_crtc = to_intel_crtc(crtc);

mutex_lock(&crtc->mutex);
Expand Down Expand Up @@ -8298,7 +8298,7 @@ bool intel_get_load_detect_pipe(struct drm_connector *connector,
}

/* Find an unused one (if possible) */
list_for_each_entry(possible_crtc, &dev->mode_config.crtc_list, head) {
for_each_crtc(dev, possible_crtc) {
i++;
if (!(encoder->possible_crtcs & (1 << i)))
continue;
Expand Down Expand Up @@ -8689,7 +8689,7 @@ void intel_mark_idle(struct drm_device *dev)
if (!i915.powersave)
goto out;

list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) {
for_each_crtc(dev, crtc) {
if (!crtc->primary->fb)
continue;

Expand All @@ -8712,7 +8712,7 @@ void intel_mark_fb_busy(struct drm_i915_gem_object *obj,
if (!i915.powersave)
return;

list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) {
for_each_crtc(dev, crtc) {
if (!crtc->primary->fb)
continue;

Expand Down Expand Up @@ -10336,7 +10336,7 @@ static int intel_set_config_save_state(struct drm_device *dev,
* restored, not the drivers personal bookkeeping.
*/
count = 0;
list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) {
for_each_crtc(dev, crtc) {
config->save_crtc_enabled[count++] = crtc->enabled;
}

Expand Down Expand Up @@ -12045,7 +12045,7 @@ void intel_modeset_gem_init(struct drm_device *dev)
* for this.
*/
mutex_lock(&dev->struct_mutex);
list_for_each_entry(c, &dev->mode_config.crtc_list, head) {
for_each_crtc(dev, c) {
if (!c->primary->fb)
continue;

Expand Down Expand Up @@ -12091,7 +12091,7 @@ void intel_modeset_cleanup(struct drm_device *dev)

intel_unregister_dsm_handler();

list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) {
for_each_crtc(dev, crtc) {
/* Skip inactive CRTCs */
if (!crtc->primary->fb)
continue;
Expand Down
6 changes: 3 additions & 3 deletions drivers/gpu/drm/i915/intel_fbdev.c
Original file line number Diff line number Diff line change
Expand Up @@ -488,7 +488,7 @@ static bool intel_fbdev_init_bios(struct drm_device *dev,
return false;

/* Find the largest fb */
list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) {
for_each_crtc(dev, crtc) {
intel_crtc = to_intel_crtc(crtc);

if (!intel_crtc->active || !crtc->primary->fb) {
Expand All @@ -512,7 +512,7 @@ static bool intel_fbdev_init_bios(struct drm_device *dev,
}

/* Now make sure all the pipes will fit into it */
list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) {
for_each_crtc(dev, crtc) {
unsigned int cur_size;

intel_crtc = to_intel_crtc(crtc);
Expand Down Expand Up @@ -577,7 +577,7 @@ static bool intel_fbdev_init_bios(struct drm_device *dev,
drm_framebuffer_reference(&ifbdev->fb->base);

/* Final pass to check if any active pipes don't have fbs */
list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) {
for_each_crtc(dev, crtc) {
intel_crtc = to_intel_crtc(crtc);

if (!intel_crtc->active)
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 @@ -487,7 +487,7 @@ void intel_update_fbc(struct drm_device *dev)
* - new fb is too large to fit in compressed buffer
* - going to an unsupported config (interlace, pixel multiply, etc.)
*/
list_for_each_entry(tmp_crtc, &dev->mode_config.crtc_list, head) {
for_each_crtc(dev, tmp_crtc) {
if (intel_crtc_active(tmp_crtc) &&
to_intel_crtc(tmp_crtc)->primary_enabled) {
if (crtc) {
Expand Down Expand Up @@ -1010,7 +1010,7 @@ static struct drm_crtc *single_enabled_crtc(struct drm_device *dev)
{
struct drm_crtc *crtc, *enabled = NULL;

list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) {
for_each_crtc(dev, crtc) {
if (intel_crtc_active(crtc)) {
if (enabled)
return NULL;
Expand Down Expand Up @@ -2747,7 +2747,7 @@ void ilk_wm_get_hw_state(struct drm_device *dev)
struct ilk_wm_values *hw = &dev_priv->wm.hw;
struct drm_crtc *crtc;

list_for_each_entry(crtc, &dev->mode_config.crtc_list, head)
for_each_crtc(dev, crtc)
ilk_pipe_wm_get_hw_state(crtc);

hw->wm_lp[0] = I915_READ(WM1_LP_ILK);
Expand Down

0 comments on commit 70e1e0e

Please sign in to comment.