From patchwork Sun Jul 21 19:37:02 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Vetter X-Patchwork-Id: 2830945 Return-Path: X-Original-To: patchwork-intel-gfx@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 04C10C0319 for ; Sun, 21 Jul 2013 20:56:04 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 0792D2013B for ; Sun, 21 Jul 2013 20:56:03 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by mail.kernel.org (Postfix) with ESMTP id DE7AB20136 for ; Sun, 21 Jul 2013 20:56:01 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id A0E78E645E for ; Sun, 21 Jul 2013 13:56:01 -0700 (PDT) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from mail-ee0-f44.google.com (mail-ee0-f44.google.com [74.125.83.44]) by gabe.freedesktop.org (Postfix) with ESMTP id AE105E6432 for ; Sun, 21 Jul 2013 13:52:39 -0700 (PDT) Received: by mail-ee0-f44.google.com with SMTP id c13so3456438eek.31 for ; Sun, 21 Jul 2013 13:52:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references; bh=VUfc0ZN1Vj7fkgCxQ8VfLgfL3UsWTk+7fHGMr7tMp3w=; b=C3pRwyB7iaGyCbq3Me5CZy7zx3lZ2fPurBFbsuu8Ry7o7pY2pvq9PvBL0tO0eF4nP7 vjeEeaPkVZzvdltgoxKye3Jvm3FZ7FnDgWI4ZdpkkNqlcGKhfpPYf3PgA4YRWBF5koQn kv1jfrAgh2JVh1KJS/r+ZMwqL9ApFv1Bw3PMs= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references :x-gm-message-state; bh=VUfc0ZN1Vj7fkgCxQ8VfLgfL3UsWTk+7fHGMr7tMp3w=; b=G6UJC9C9TeFEu7PDH+zo1zpA3AE9Ub2y37AtbBITOHIlvMQMtmJblYuzOhcBi5umxo BcmVngDnhdfQPirYNqkcLpC7FkBZ1dPvo1QmRyND1k9okRbEZ3u8eQ6M/mu0QYEYM1UN jLCk/tbwTZh/3VKlPxMA3Be2BB7+rRzE0rixdSE8uBXTHtnp6ikjeNINeJZ3/pS545vS jRfWOgU5vPyFVmCf1zgy9zitvT+lB1YUnmM8gA/AUp9eH+5fY5LX7+Csl8NXL5a8+7tx dMf0HHVtMch8eifximxp1tg8mDEMX6iHZdblZHZ0DqMbZEDwCybkt5ISgXVbuB1aT5wg CshQ== X-Received: by 10.14.95.69 with SMTP id o45mr24775009eef.48.1374439958990; Sun, 21 Jul 2013 13:52:38 -0700 (PDT) Received: from wespe.ffwll.local (178-83-130-250.dynamic.hispeed.ch. [178.83.130.250]) by mx.google.com with ESMTPSA id cg12sm45642301eeb.7.2013.07.21.13.52.37 for (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Sun, 21 Jul 2013 13:52:38 -0700 (PDT) From: Daniel Vetter To: Intel Graphics Development Date: Sun, 21 Jul 2013 21:37:02 +0200 Message-Id: <1374435429-5543-7-git-send-email-daniel.vetter@ffwll.ch> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1374435429-5543-1-git-send-email-daniel.vetter@ffwll.ch> References: <1374435429-5543-1-git-send-email-daniel.vetter@ffwll.ch> X-Gm-Message-State: ALoCoQlMr3eYdWWf0jrVVkKq1Y7W1wfi6x3t7FgXSBSEW8tUnJnBzCqSiZ1AotWUqspdR70yuJe+ Cc: Daniel Vetter Subject: [Intel-gfx] [PATCH 06/13] drm/i915/tv: Use native encoder->mode_set callback X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: intel-gfx-bounces+patchwork-intel-gfx=patchwork.kernel.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+patchwork-intel-gfx=patchwork.kernel.org@lists.freedesktop.org X-Spam-Status: No, score=-5.5 required=5.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_MED,RP_MATCHES_RCVD,T_DKIM_INVALID,UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Also switch to intel_encoder for the upcast helper while at it. Signed-off-by: Daniel Vetter --- drivers/gpu/drm/i915/intel_tv.c | 27 +++++++++------------------ 1 file changed, 9 insertions(+), 18 deletions(-) diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c index 39debd8..dce899d 100644 --- a/drivers/gpu/drm/i915/intel_tv.c +++ b/drivers/gpu/drm/i915/intel_tv.c @@ -823,16 +823,14 @@ static const struct tv_mode tv_modes[] = { }, }; -static struct intel_tv *enc_to_intel_tv(struct drm_encoder *encoder) +static struct intel_tv *enc_to_tv(struct intel_encoder *encoder) { - return container_of(encoder, struct intel_tv, base.base); + return container_of(encoder, struct intel_tv, base); } static struct intel_tv *intel_attached_tv(struct drm_connector *connector) { - return container_of(intel_attached_encoder(connector), - struct intel_tv, - base); + return enc_to_tv(intel_attached_encoder(connector)); } static bool @@ -908,7 +906,7 @@ static bool intel_tv_compute_config(struct intel_encoder *encoder, struct intel_crtc_config *pipe_config) { - struct intel_tv *intel_tv = enc_to_intel_tv(&encoder->base); + struct intel_tv *intel_tv = enc_to_tv(encoder); const struct tv_mode *tv_mode = intel_tv_mode_find(intel_tv); if (!tv_mode) @@ -921,15 +919,12 @@ intel_tv_compute_config(struct intel_encoder *encoder, return true; } -static void -intel_tv_mode_set(struct drm_encoder *encoder, struct drm_display_mode *mode, - struct drm_display_mode *adjusted_mode) +static void intel_tv_mode_set(struct intel_encoder *encoder) { - struct drm_device *dev = encoder->dev; + struct drm_device *dev = encoder->base.dev; struct drm_i915_private *dev_priv = dev->dev_private; - struct drm_crtc *crtc = encoder->crtc; - struct intel_crtc *intel_crtc = to_intel_crtc(crtc); - struct intel_tv *intel_tv = enc_to_intel_tv(encoder); + struct intel_crtc *intel_crtc = to_intel_crtc(encoder->base.crtc); + struct intel_tv *intel_tv = enc_to_tv(encoder); const struct tv_mode *tv_mode = intel_tv_mode_find(intel_tv); u32 tv_ctl; u32 hctl1, hctl2, hctl3; @@ -1483,10 +1478,6 @@ out: return ret; } -static const struct drm_encoder_helper_funcs intel_tv_helper_funcs = { - .mode_set = intel_tv_mode_set, -}; - static const struct drm_connector_funcs intel_tv_connector_funcs = { .dpms = intel_connector_dpms, .detect = intel_tv_detect, @@ -1619,6 +1610,7 @@ intel_tv_init(struct drm_device *dev) DRM_MODE_ENCODER_TVDAC); intel_encoder->compute_config = intel_tv_compute_config; + intel_encoder->mode_set = intel_tv_mode_set; intel_encoder->enable = intel_enable_tv; intel_encoder->disable = intel_disable_tv; intel_encoder->get_hw_state = intel_tv_get_hw_state; @@ -1640,7 +1632,6 @@ intel_tv_init(struct drm_device *dev) intel_tv->tv_format = tv_modes[initial_mode].name; - drm_encoder_helper_add(&intel_encoder->base, &intel_tv_helper_funcs); drm_connector_helper_add(connector, &intel_tv_connector_helper_funcs); connector->interlace_allowed = false; connector->doublescan_allowed = false;