drm/i915: Improve how the memory for crtc state is allocated

The previous patch changed the config field in intel_crtc to a pointer,
but to keep the mechanical changes (done with spatch) separate from the
new code, the pointer was made to point to a new _config field with type
struct intel_crtc_state added to that struct. This patch improves that
code by getting rid of that field, allocating a state struct in
intel_crtc_init() a keeping it properly updated when a mode set
happens.

v2: Manual changes split from previous patch. (Matt)
    Don't leak the current state when the crtc is destroyed (Matt)

Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
[danvet: Squash in fixup from Matt Roper for driver unload.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
Ander Conselvan de Oliveira
2015-01-15 14:55:26 +02:00
committed by Daniel Vetter
parent 6e3c9717e0
commit f5de6e0739
2 changed files with 16 additions and 5 deletions

View File

@@ -469,7 +469,6 @@ struct intel_crtc {
uint32_t cursor_base;
struct intel_plane_config plane_config;
struct intel_crtc_state _config;
struct intel_crtc_state *config;
struct intel_crtc_state *new_config;
bool new_enabled;