drm/i915: Make intel_crtc->config a pointer
To match the semantics of drm_crtc->state, which this will eventually become. The allocation of the memory for config will be fixed in a followup patch. By adding the extra _config field to intel_crtc it was possible to generate this entire patch with the cocci script below. @@ @@ struct intel_crtc { ... -struct intel_crtc_state config; +struct intel_crtc_state _config; +struct intel_crtc_state *config; ... } @@ struct intel_crtc *crtc; @@ -memset(&crtc->config, 0, sizeof(crtc->config)); +memset(crtc->config, 0, sizeof(*crtc->config)); @@ @@ __intel_set_mode(...) { <... -to_intel_crtc(crtc)->config = *pipe_config; +(*(to_intel_crtc(crtc)->config)) = *pipe_config; ...> } @@ @@ intel_crtc_init(...) { ... WARN_ON(drm_crtc_index(&intel_crtc->base) != intel_crtc->pipe); +intel_crtc->config = &intel_crtc->_config; return; ... } @@ struct intel_crtc *crtc; @@ -&crtc->config +crtc->config @@ struct intel_crtc *crtc; identifier member; @@ -crtc->config.member +crtc->config->member @@ expression E; @@ -&(to_intel_crtc(E)->config) +to_intel_crtc(E)->config @@ expression E; identifier member; @@ -to_intel_crtc(E)->config.member +to_intel_crtc(E)->config->member v2: Clarify manual changes by splitting them into another patch. (Matt) Improve cocci script to generate even more of the changes. (Ander) Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com> Reviewed-by: Matt Roper <matthew.d.roper@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:

committed by
Daniel Vetter

parent
681a8504a0
commit
6e3c9717e0
@@ -443,7 +443,7 @@ retry:
|
||||
DRM_DEBUG_KMS("looking for current mode on connector %s\n",
|
||||
connector->name);
|
||||
intel_mode_from_pipe_config(&encoder->crtc->hwmode,
|
||||
&to_intel_crtc(encoder->crtc)->config);
|
||||
to_intel_crtc(encoder->crtc)->config);
|
||||
modes[i] = &encoder->crtc->hwmode;
|
||||
}
|
||||
crtcs[i] = new_crtc;
|
||||
@@ -581,7 +581,7 @@ static bool intel_fbdev_init_bios(struct drm_device *dev,
|
||||
* pipe. Note we need to use the selected fb's pitch and bpp
|
||||
* rather than the current pipe's, since they differ.
|
||||
*/
|
||||
cur_size = intel_crtc->config.base.adjusted_mode.crtc_hdisplay;
|
||||
cur_size = intel_crtc->config->base.adjusted_mode.crtc_hdisplay;
|
||||
cur_size = cur_size * fb->base.bits_per_pixel / 8;
|
||||
if (fb->base.pitches[0] < cur_size) {
|
||||
DRM_DEBUG_KMS("fb not wide enough for plane %c (%d vs %d)\n",
|
||||
@@ -592,13 +592,13 @@ static bool intel_fbdev_init_bios(struct drm_device *dev,
|
||||
break;
|
||||
}
|
||||
|
||||
cur_size = intel_crtc->config.base.adjusted_mode.crtc_vdisplay;
|
||||
cur_size = intel_crtc->config->base.adjusted_mode.crtc_vdisplay;
|
||||
cur_size = ALIGN(cur_size, plane_config->tiled ? (IS_GEN2(dev) ? 16 : 8) : 1);
|
||||
cur_size *= fb->base.pitches[0];
|
||||
DRM_DEBUG_KMS("pipe %c area: %dx%d, bpp: %d, size: %d\n",
|
||||
pipe_name(intel_crtc->pipe),
|
||||
intel_crtc->config.base.adjusted_mode.crtc_hdisplay,
|
||||
intel_crtc->config.base.adjusted_mode.crtc_vdisplay,
|
||||
intel_crtc->config->base.adjusted_mode.crtc_hdisplay,
|
||||
intel_crtc->config->base.adjusted_mode.crtc_vdisplay,
|
||||
fb->base.bits_per_pixel,
|
||||
cur_size);
|
||||
|
||||
|
Reference in New Issue
Block a user