From patchwork Tue Mar 7 08:56:28 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maxime Ripard X-Patchwork-Id: 9608367 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 98FD4604DC for ; Tue, 7 Mar 2017 09:04:15 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 8C131284E7 for ; Tue, 7 Mar 2017 09:04:15 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 7B23C284F9; Tue, 7 Mar 2017 09:04:15 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [65.50.211.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 7E056284FE for ; Tue, 7 Mar 2017 09:04:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:References: In-Reply-To:Message-Id:Date:Subject:To:From:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=DsHpD1T+4Tsi03awvN7z6LHRunr3WHNO9dz5EfzJHGA=; b=Os6NRpt+VBnMY0Z/wrk7nHsRbn abmoKxBVSO8m5xTaqljtITrERxyZe038s8Ld+fabGZxJXGzcT0vgycHucizsfrzvH0lXwRU9xvxop GTrpuqBStrXCbjxrIqZMpN1js8dcwI/uNeOYCHStlhUHzAjurMS8Rr/tO8UGpSBs3YU2UCiDkdCOB m7VJcu4u0wEeKmDm6VoGvu3Yg9hKOA2Dh11f+WMvJFXtz/ahcJD4G1MWxsDUHQXJ6pnvhcgChLI7m r6ToH2jG3gId3frv9XWXk+T5O4SVNa/nIcuTDyBYutWVxuvDgUxq1rVZ7pdJi78W7gs/NXPb0GwEI 9kV1nMMw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux)) id 1clB2N-0006im-Ri; Tue, 07 Mar 2017 09:04:07 +0000 Received: from mail.free-electrons.com ([62.4.15.54]) by bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux)) id 1clAvy-0000tW-LA for linux-arm-kernel@lists.infradead.org; Tue, 07 Mar 2017 08:57:37 +0000 Received: by mail.free-electrons.com (Postfix, from userid 110) id F26F7207DD; Tue, 7 Mar 2017 09:56:56 +0100 (CET) Received: from localhost (LStLambert-657-1-97-87.w90-63.abo.wanadoo.fr [90.63.216.87]) by mail.free-electrons.com (Postfix) with ESMTPSA id C8950207DF; Tue, 7 Mar 2017 09:56:38 +0100 (CET) From: Maxime Ripard To: Mike Turquette , Stephen Boyd , Chen-Yu Tsai , Maxime Ripard Subject: [PATCH 9/15] drm/sun4i: tcon: Pass the encoder to the mode set functions Date: Tue, 7 Mar 2017 09:56:28 +0100 Message-Id: X-Mailer: git-send-email 2.11.0 In-Reply-To: References: In-Reply-To: References: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20170307_005731_026292_142CC4E2 X-CRM114-Status: GOOD ( 12.04 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , devicetree@vger.kernel.org, David Airlie , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-sunxi@googlegroups.com, Rob Herring , Daniel Vetter , linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP The mode set function need some changes based on which encoder is being used. Make sure we can differentiate between our encoders by passing the encoder structure asking for the mode set. Signed-off-by: Maxime Ripard --- drivers/gpu/drm/sun4i/sun4i_rgb.c | 2 +- drivers/gpu/drm/sun4i/sun4i_tcon.c | 4 ++-- drivers/gpu/drm/sun4i/sun4i_tcon.h | 4 ++-- drivers/gpu/drm/sun4i/sun4i_tv.c | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/sun4i/sun4i_rgb.c b/drivers/gpu/drm/sun4i/sun4i_rgb.c index 1147451eb993..1d4a59a44d04 100644 --- a/drivers/gpu/drm/sun4i/sun4i_rgb.c +++ b/drivers/gpu/drm/sun4i/sun4i_rgb.c @@ -173,7 +173,7 @@ static void sun4i_rgb_encoder_mode_set(struct drm_encoder *encoder, struct sun4i_rgb *rgb = drm_encoder_to_sun4i_rgb(encoder); struct sun4i_tcon *tcon = rgb->tcon; - sun4i_tcon0_mode_set(tcon, mode); + sun4i_tcon0_mode_set(tcon, encoder, mode); clk_set_rate(tcon->dclk, mode->crtc_clock * 1000); diff --git a/drivers/gpu/drm/sun4i/sun4i_tcon.c b/drivers/gpu/drm/sun4i/sun4i_tcon.c index 7461ae107e54..d2335f109601 100644 --- a/drivers/gpu/drm/sun4i/sun4i_tcon.c +++ b/drivers/gpu/drm/sun4i/sun4i_tcon.c @@ -127,7 +127,7 @@ static int sun4i_tcon_get_clk_delay(struct drm_display_mode *mode, return delay; } -void sun4i_tcon0_mode_set(struct sun4i_tcon *tcon, +void sun4i_tcon0_mode_set(struct sun4i_tcon *tcon, struct drm_encoder *encoder, struct drm_display_mode *mode) { unsigned int bp, hsync, vsync; @@ -200,7 +200,7 @@ void sun4i_tcon0_mode_set(struct sun4i_tcon *tcon, } EXPORT_SYMBOL(sun4i_tcon0_mode_set); -void sun4i_tcon1_mode_set(struct sun4i_tcon *tcon, +void sun4i_tcon1_mode_set(struct sun4i_tcon *tcon, struct drm_encoder *encoder, struct drm_display_mode *mode) { unsigned int bp, hsync, vsync; diff --git a/drivers/gpu/drm/sun4i/sun4i_tcon.h b/drivers/gpu/drm/sun4i/sun4i_tcon.h index f636343a935d..95b7e76eb1f8 100644 --- a/drivers/gpu/drm/sun4i/sun4i_tcon.h +++ b/drivers/gpu/drm/sun4i/sun4i_tcon.h @@ -190,9 +190,9 @@ void sun4i_tcon_enable_vblank(struct sun4i_tcon *tcon, bool enable); /* Mode Related Controls */ void sun4i_tcon_switch_interlace(struct sun4i_tcon *tcon, bool enable); -void sun4i_tcon0_mode_set(struct sun4i_tcon *tcon, +void sun4i_tcon0_mode_set(struct sun4i_tcon *tcon, struct drm_encoder *encoder, struct drm_display_mode *mode); -void sun4i_tcon1_mode_set(struct sun4i_tcon *tcon, +void sun4i_tcon1_mode_set(struct sun4i_tcon *tcon, struct drm_encoder *encoder, struct drm_display_mode *mode); #endif /* __SUN4I_TCON_H__ */ diff --git a/drivers/gpu/drm/sun4i/sun4i_tv.c b/drivers/gpu/drm/sun4i/sun4i_tv.c index 32ed5fdf0c4d..2d36df092a6a 100644 --- a/drivers/gpu/drm/sun4i/sun4i_tv.c +++ b/drivers/gpu/drm/sun4i/sun4i_tv.c @@ -389,7 +389,7 @@ static void sun4i_tv_mode_set(struct drm_encoder *encoder, struct sun4i_tcon *tcon = drv->tcon; const struct tv_mode *tv_mode = sun4i_tv_find_tv_by_mode(mode); - sun4i_tcon1_mode_set(tcon, mode); + sun4i_tcon1_mode_set(tcon, encoder, mode); /* Enable and map the DAC to the output */ regmap_update_bits(tv->regs, SUN4I_TVE_EN_REG,