From patchwork Wed Aug 21 14:22:01 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrzej Hajda X-Patchwork-Id: 2847834 Return-Path: X-Original-To: patchwork-dri-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 0D2FF9F271 for ; Wed, 21 Aug 2013 15:39:22 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id CC48D205AA for ; Wed, 21 Aug 2013 15:39:20 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by mail.kernel.org (Postfix) with ESMTP id 1A9F9205B4 for ; Wed, 21 Aug 2013 15:39:19 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 539F0E6F25 for ; Wed, 21 Aug 2013 08:39:19 -0700 (PDT) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org X-Greylist: delayed 602 seconds by postgrey-1.32 at gabe; Wed, 21 Aug 2013 07:32:45 PDT Received: from mailout3.w1.samsung.com (mailout3.w1.samsung.com [210.118.77.13]) by gabe.freedesktop.org (Postfix) with ESMTP id 89973E7988 for ; Wed, 21 Aug 2013 07:32:45 -0700 (PDT) Received: from eucpsbgm1.samsung.com (unknown [203.254.199.244]) by mailout3.w1.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MRV00ITQX8B1QB0@mailout3.w1.samsung.com> for dri-devel@lists.freedesktop.org; Wed, 21 Aug 2013 15:22:40 +0100 (BST) X-AuditID: cbfec7f4-b7f5f6d000000ff6-09-5214cd30073e Received: from eusync3.samsung.com ( [203.254.199.213]) by eucpsbgm1.samsung.com (EUCPMTA) with SMTP id 6B.C5.04086.03DC4125; Wed, 21 Aug 2013 15:22:40 +0100 (BST) Received: from AMDC1061.digital.local ([106.116.147.88]) by eusync3.samsung.com (Oracle Communications Messaging Server 7u4-23.01 (7.0.4.23.0) 64bit (built Aug 10 2011)) with ESMTPA id <0MRV000E9X9AFC10@eusync3.samsung.com>; Wed, 21 Aug 2013 15:22:40 +0100 (BST) From: Andrzej Hajda To: dri-devel@lists.freedesktop.org (open list:DRM DRIVERS FOR E...) Subject: [PATCH 1/3] drm/exynos: fimd: replace struct fb_videomode with videomode Date: Wed, 21 Aug 2013 16:22:01 +0200 Message-id: <1377094923-6919-2-git-send-email-a.hajda@samsung.com> X-Mailer: git-send-email 1.8.1.2 In-reply-to: <1377094923-6919-1-git-send-email-a.hajda@samsung.com> References: <1377094923-6919-1-git-send-email-a.hajda@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmpgluLIzCtJLcpLzFFi42I5/e/4VV2DsyJBBj8e6VvcWneO1aL33Ekm iytf37NZTLo/gcXixb2LLBZnm96wW8w4v4/J4vCbdlaLGZNfslmsn/GaxYHLY/u3B6we97uP M3n0bVnF6PF5k1wASxSXTUpqTmZZapG+XQJXxpKPBxkLDvtUTLv7ma2BcZ5dFyMnh4SAicTe 72fZIWwxiQv31rN1MXJxCAksZZR43HmQCcLpY5Lo6p3EBFLFJqAp8XfzTTYQW0TARWL75W3s IEXMAk+ZJI592c4IkhAWCJZoPHMSrIFFQFVix+MZLCA2r4CTxO2ly5gh1ilI/Lx8AmgQBwen gLPE0XkxIGEhoJIZy4+wT2DkXcDIsIpRNLU0uaA4KT3XUK84Mbe4NC9dLzk/dxMjJNS+7GBc fMzqEKMAB6MSD6/GHpEgIdbEsuLK3EOMEhzMSiK8hSeBQrwpiZVVqUX58UWlOanFhxiZODil GhibTzF8mtw9pU4830n7v+npo0z5xwJ//r/rdWL60c2d27JFeSalpfuJat80WPfknV5lQHxV oLtQRIe9DE/TxfY2Dy+/G6wmcjkPzvm963lREJdktujFVPds+YLrvXcWrzcxFv0SuECbq6cj cLV1UKmwWFWXlTKH63Jp/itvz/G27i/2MNiSp8RSnJFoqMVcVJwIAMk2Q+QTAgAA X-Mailman-Approved-At: Wed, 21 Aug 2013 08:30:55 -0700 Cc: "moderated list:ARM/S5P EXYNOS AR..." , Seung-Woo Kim , Andrzej Hajda , Kyungmin Park , s.nawrocki@samsung.com X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: dri-devel-bounces+patchwork-dri-devel=patchwork.kernel.org@lists.freedesktop.org Errors-To: dri-devel-bounces+patchwork-dri-devel=patchwork.kernel.org@lists.freedesktop.org X-Spam-Status: No, score=-7.0 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_MED, RP_MATCHES_RCVD, 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 The patch replaces all occurrences of struct fb_videomode by more accurate struct videomode. The change allows to remove mode conversion function and simplifies clock divider calculation. Clock configuration is moved to separate function. Signed-off-by: Andrzej Hajda Signed-off-by: Kyungmin Park --- drivers/gpu/drm/exynos/exynos_drm_connector.c | 33 +------ drivers/gpu/drm/exynos/exynos_drm_fimd.c | 131 +++++++++++++------------- include/drm/exynos_drm.h | 3 +- 3 files changed, 70 insertions(+), 97 deletions(-) diff --git a/drivers/gpu/drm/exynos/exynos_drm_connector.c b/drivers/gpu/drm/exynos/exynos_drm_connector.c index de7c7b2..e082efb 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_connector.c +++ b/drivers/gpu/drm/exynos/exynos_drm_connector.c @@ -29,35 +29,6 @@ struct exynos_drm_connector { uint32_t dpms; }; -/* convert exynos_video_timings to drm_display_mode */ -static inline void -convert_to_display_mode(struct drm_display_mode *mode, - struct exynos_drm_panel_info *panel) -{ - struct fb_videomode *timing = &panel->timing; - - mode->clock = timing->pixclock / 1000; - mode->vrefresh = timing->refresh; - - mode->hdisplay = timing->xres; - mode->hsync_start = mode->hdisplay + timing->right_margin; - mode->hsync_end = mode->hsync_start + timing->hsync_len; - mode->htotal = mode->hsync_end + timing->left_margin; - - mode->vdisplay = timing->yres; - mode->vsync_start = mode->vdisplay + timing->lower_margin; - mode->vsync_end = mode->vsync_start + timing->vsync_len; - mode->vtotal = mode->vsync_end + timing->upper_margin; - mode->width_mm = panel->width_mm; - mode->height_mm = panel->height_mm; - - if (timing->vmode & FB_VMODE_INTERLACED) - mode->flags |= DRM_MODE_FLAG_INTERLACE; - - if (timing->vmode & FB_VMODE_DOUBLE) - mode->flags |= DRM_MODE_FLAG_DBLSCAN; -} - static int exynos_drm_connector_get_modes(struct drm_connector *connector) { struct exynos_drm_connector *exynos_connector = @@ -112,7 +83,9 @@ static int exynos_drm_connector_get_modes(struct drm_connector *connector) return 0; } - convert_to_display_mode(mode, panel); + drm_display_mode_from_videomode(&panel->vm, mode); + mode->width_mm = panel->width_mm; + mode->height_mm = panel->height_mm; connector->display_info.width_mm = mode->width_mm; connector->display_info.height_mm = mode->height_mm; diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c b/drivers/gpu/drm/exynos/exynos_drm_fimd.c index f8889d2..a183ea7 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c +++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c @@ -21,6 +21,7 @@ #include #include