From patchwork Fri Sep 28 14:25:31 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rahul Sharma X-Patchwork-Id: 1520151 Return-Path: X-Original-To: patchwork-dri-devel@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by patchwork1.kernel.org (Postfix) with ESMTP id 995083FC71 for ; Fri, 28 Sep 2012 16:24:39 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 88CAFA0F9D for ; Fri, 28 Sep 2012 09:24:39 -0700 (PDT) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mailout1.samsung.com (mailout1.samsung.com [203.254.224.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 00ADD9EB03 for ; Fri, 28 Sep 2012 00:01:33 -0700 (PDT) Received: from epcpsbgm1.samsung.com (epcpsbgm1 [203.254.230.26]) by mailout1.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MB1000KMSRZ8TK0@mailout1.samsung.com> for dri-devel@lists.freedesktop.org; Fri, 28 Sep 2012 16:00:37 +0900 (KST) Received: from epcpsbgm1.samsung.com ( [172.20.52.124]) by epcpsbgm1.samsung.com (EPCPMTA) with SMTP id 14.37.03783.51B45605; Fri, 28 Sep 2012 16:00:37 +0900 (KST) X-AuditID: cbfee61a-b7f726d000000ec7-28-50654b152b1a Received: from epmmp1.local.host ( [203.254.227.16]) by epcpsbgm1.samsung.com (EPCPMTA) with SMTP id 63.37.03783.51B45605; Fri, 28 Sep 2012 16:00:37 +0900 (KST) Received: from localhost.localdomain ([107.108.73.106]) by mmp1.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0MB100IE3SS09G80@mmp1.samsung.com> for dri-devel@lists.freedesktop.org; Fri, 28 Sep 2012 16:00:37 +0900 (KST) From: Rahul Sharma To: dri-devel@lists.freedesktop.org Subject: [PATCH 09/14] drm: exynos: hdmi: add support for platform variants for mixer Date: Fri, 28 Sep 2012 19:55:31 +0530 Message-id: <1348842336-2153-10-git-send-email-rahul.sharma@samsung.com> X-Mailer: git-send-email 1.7.0.4 In-reply-to: <1348842336-2153-1-git-send-email-rahul.sharma@samsung.com> References: <1348842336-2153-1-git-send-email-rahul.sharma@samsung.com> DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrHLMWRmVeSWpSXmKPExsWyRsSkRlfUOzXAYO8aRYsrX9+zOTB63O8+ zhTAGMVlk5Kak1mWWqRvl8CV8eNDE2PBQ8GKns2/mBoYD/J1MXJySAiYSHy6t5UVwhaTuHBv PVsXIxeHkMBSRom9S3rYYYoOP5/HCJFYxCjRsboFylnNJNF0fA8jSBWbgK7E7IPPwGwRAWWJ vxNXgRUxC3QwSXQ0TAUbJSwQLrFg/2oWEJtFQFXi3JsuJhCbV8BDYsrCx1B3KEi0LjsEVs8J FJ95bwobiC0k4C7RebeJHaJXQOLb5ENAcziA6mUlNh1gBtklIXCZTWL/5FMsEHMkJQ6uuMEy gVF4ASPDKkbR1ILkguKk9FxDveLE3OLSvHS95PzcTYzAQDz975nUDsaVDRaHGAU4GJV4eC1W pgQIsSaWFVfmHmKU4GBWEuF1XgwU4k1JrKxKLcqPLyrNSS0+xOgDdMlEZinR5HxglOSVxBsa m5ibGptaGhmZmZriEFYS5232AJolkJ5YkpqdmlqQWgQzjomDU6qB0fFcz2TnEz+dpvHxdrpU aKzW61hgvzbKYbuy/4Rb2pMOW6vMN9zx88fuoqM6G70OZTjOvlQ94an39JqW4y96Zghss3vv 2ZjEuOxq4c57J2dN8xYq+iFtpVEa9lji5G3J2/Nmf+ZIcU/t031vpsDe+a6BwYGh8uG8aUsF AgqyP0t2Lln0+/zF/UosxRmJhlrMRcWJAAl/75dxAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFuplkeLIzCtJLcpLzFFi42I5/e+xgK6od2qAwdrDYhZXvr5nc2D0uN99 nCmAMaqB0SYjNTEltUghNS85PyUzL91WyTs43jne1MzAUNfQ0sJcSSEvMTfVVsnFJ0DXLTMH aKySQlliTilQKCCxuFhJ3w7ThNAQN10LmMYIXd+QILgeIwM0kLCGMePHhybGgoeCFT2bfzE1 MB7k62Lk5JAQMJE4/HweI4QtJnHh3nq2LkYuDiGBRYwSHatbGCGc1UwSTcf3gFWxCehKzD74 DMwWEVCW+DtxFVgRs0AHk0RHw1R2kISwQLjEgv2rWUBsFgFViXNvuphAbF4BD4kpCx+zQqxT kGhddgisnhMoPvPeFDYQW0jAXaLzbhP7BEbeBYwMqxhFUwuSC4qT0nMN9YoTc4tL89L1kvNz NzGCw/yZ1A7GlQ0WhxgFOBiVeHgtVqYECLEmlhVX5h5ilOBgVhLhdV4MFOJNSaysSi3Kjy8q zUktPsToA3TVRGYp0eR8YAzmlcQbGpuYmxqbWppYmJhZ4hBWEudt9gCaJZCeWJKanZpakFoE M46Jg1OqgdH9wElrjgDZzwpnJtqnO7zqVv4/68Euj1kVm826fs3lkdRYwR9be2O30o+nnV9O fLrtsZxnQ9+8Y49YTqubb7prmvX5tY7P40+nbrE/WdIpbmu2x3re+UcBK/t8eVYICkkv5tg/ 4dLxpPqu+btqNvDOecX/5aP5Rq8PhoVb4rx3fyzaLcPokxeqxFKckWioxVxUnAgA0+TB46AC AAA= X-CFilter-Loop: Reflected X-Mailman-Approved-At: Fri, 28 Sep 2012 09:18:26 -0700 Cc: l.krishna@samsung.com, joshi@samsung.com, kyungmin.park@samsung.com, fahad.k@samsung.com, rahul.sharma@samsung.com, prashanth.g@samsung.com, s.shirish@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 This patch adds the support for multiple mixer versions avaialble in various platform variants. Version is passed as a driver data field instead of paltform data. Signed-off-by: Rahul Sharma --- drivers/gpu/drm/exynos/exynos_mixer.c | 28 ++++++++++++++++++++++++++++ 1 files changed, 28 insertions(+), 0 deletions(-) diff --git a/drivers/gpu/drm/exynos/exynos_mixer.c b/drivers/gpu/drm/exynos/exynos_mixer.c index 8a43ee1..30233a3 100644 --- a/drivers/gpu/drm/exynos/exynos_mixer.c +++ b/drivers/gpu/drm/exynos/exynos_mixer.c @@ -73,6 +73,12 @@ struct mixer_resources { struct clk *sclk_dac; }; +enum mixer_version_id { + MXR_VER_INVALID = -1, + MXR_VER_0_0_0_16, + MXR_VER_16_0_33_0, +}; + struct mixer_context { struct device *dev; int pipe; @@ -83,6 +89,11 @@ struct mixer_context { struct mutex mixer_mutex; struct mixer_resources mixer_res; struct hdmi_win_data win_data[MIXER_WIN_NR]; + enum mixer_version_id mxr_ver; +}; + +struct mixer_drv_data { + enum mixer_version_id version; }; static const u8 filter_y_horiz_tap8[] = { @@ -1023,11 +1034,24 @@ fail: return ret; } +static struct mixer_drv_data exynos4_mxr_drv_data = { + .version = MXR_VER_0_0_0_16, +}; +static struct platform_device_id mixer_driver_types[] = { + { + .name = "s5p-mixer", + .driver_data = (unsigned long)&exynos4_mxr_drv_data, + }, { + /* end node */ + } +}; + static int __devinit mixer_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; struct exynos_drm_hdmi_context *drm_hdmi_ctx; struct mixer_context *ctx; + struct mixer_drv_data *drv; int ret; dev_info(dev, "probe start\n"); @@ -1047,8 +1071,11 @@ static int __devinit mixer_probe(struct platform_device *pdev) mutex_init(&ctx->mixer_mutex); + drv = (struct mixer_drv_data *)platform_get_device_id( + pdev)->driver_data; ctx->dev = &pdev->dev; drm_hdmi_ctx->ctx = (void *)ctx; + ctx->mxr_ver = drv->version; platform_set_drvdata(pdev, drm_hdmi_ctx); @@ -1101,4 +1128,5 @@ struct platform_driver mixer_driver = { }, .probe = mixer_probe, .remove = __devexit_p(mixer_remove), + .id_table = mixer_driver_types, };