mirror of https://gitee.com/openkylin/linux.git
drm/i915: Convert intel_crt to use atomic state
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/1470755054-32699-9-git-send-email-maarten.lankhorst@linux.intel.com Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
1189e4f4d8
commit
225cc34840
|
@ -143,13 +143,15 @@ static void hsw_crt_get_config(struct intel_encoder *encoder,
|
||||||
|
|
||||||
/* Note: The caller is required to filter out dpms modes not supported by the
|
/* Note: The caller is required to filter out dpms modes not supported by the
|
||||||
* platform. */
|
* platform. */
|
||||||
static void intel_crt_set_dpms(struct intel_encoder *encoder, int mode)
|
static void intel_crt_set_dpms(struct intel_encoder *encoder,
|
||||||
|
struct intel_crtc_state *crtc_state,
|
||||||
|
int mode)
|
||||||
{
|
{
|
||||||
struct drm_device *dev = encoder->base.dev;
|
struct drm_device *dev = encoder->base.dev;
|
||||||
struct drm_i915_private *dev_priv = to_i915(dev);
|
struct drm_i915_private *dev_priv = to_i915(dev);
|
||||||
struct intel_crt *crt = intel_encoder_to_crt(encoder);
|
struct intel_crt *crt = intel_encoder_to_crt(encoder);
|
||||||
struct intel_crtc *crtc = to_intel_crtc(encoder->base.crtc);
|
struct intel_crtc *crtc = to_intel_crtc(crtc_state->base.crtc);
|
||||||
const struct drm_display_mode *adjusted_mode = &crtc->config->base.adjusted_mode;
|
const struct drm_display_mode *adjusted_mode = &crtc_state->base.adjusted_mode;
|
||||||
u32 adpa;
|
u32 adpa;
|
||||||
|
|
||||||
if (INTEL_INFO(dev)->gen >= 5)
|
if (INTEL_INFO(dev)->gen >= 5)
|
||||||
|
@ -197,7 +199,7 @@ static void intel_disable_crt(struct intel_encoder *encoder,
|
||||||
struct intel_crtc_state *old_crtc_state,
|
struct intel_crtc_state *old_crtc_state,
|
||||||
struct drm_connector_state *old_conn_state)
|
struct drm_connector_state *old_conn_state)
|
||||||
{
|
{
|
||||||
intel_crt_set_dpms(encoder, DRM_MODE_DPMS_OFF);
|
intel_crt_set_dpms(encoder, old_crtc_state, DRM_MODE_DPMS_OFF);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void pch_disable_crt(struct intel_encoder *encoder,
|
static void pch_disable_crt(struct intel_encoder *encoder,
|
||||||
|
@ -217,7 +219,7 @@ static void intel_enable_crt(struct intel_encoder *encoder,
|
||||||
struct intel_crtc_state *pipe_config,
|
struct intel_crtc_state *pipe_config,
|
||||||
struct drm_connector_state *conn_state)
|
struct drm_connector_state *conn_state)
|
||||||
{
|
{
|
||||||
intel_crt_set_dpms(encoder, DRM_MODE_DPMS_ON);
|
intel_crt_set_dpms(encoder, pipe_config, DRM_MODE_DPMS_ON);
|
||||||
}
|
}
|
||||||
|
|
||||||
static enum drm_mode_status
|
static enum drm_mode_status
|
||||||
|
|
Loading…
Reference in New Issue