From patchwork Wed Feb 1 07:47:48 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrzej Hajda X-Patchwork-Id: 9549045 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 CAAD660425 for ; Wed, 1 Feb 2017 07:49:29 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id BBAE628338 for ; Wed, 1 Feb 2017 07:49:29 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id B093F28375; Wed, 1 Feb 2017 07:49:29 +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=-4.2 required=2.0 tests=BAYES_00, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 69E5428338 for ; Wed, 1 Feb 2017 07:49:29 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 086C86E794; Wed, 1 Feb 2017 07:48:04 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mailout4.w1.samsung.com (mailout4.w1.samsung.com [210.118.77.14]) by gabe.freedesktop.org (Postfix) with ESMTPS id CE3CD6E6CD for ; Wed, 1 Feb 2017 07:48:01 +0000 (UTC) Received: from eucas1p2.samsung.com (unknown [182.198.249.207]) by mailout4.w1.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTP id <0OKO00MYER000650@mailout4.w1.samsung.com> for dri-devel@lists.freedesktop.org; Wed, 01 Feb 2017 07:48:00 +0000 (GMT) Received: from eusmges4.samsung.com (unknown [203.254.199.244]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20170201074759eucas1p242535513794762302cd05d5fac534c4a~fGkOZ3E3J0812508125eucas1p2G; Wed, 1 Feb 2017 07:47:59 +0000 (GMT) Received: from eucas1p1.samsung.com ( [182.198.249.206]) by eusmges4.samsung.com (EUCPMTA) with SMTP id 74.5A.28517.FA291985; Wed, 1 Feb 2017 07:47:59 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20170201074759eucas1p2e4c973bb534b37374b56f6569b3b02ea~fGkNyuNTc1804318043eucas1p2a; Wed, 1 Feb 2017 07:47:59 +0000 (GMT) X-AuditID: cbfec7f4-f79716d000006f65-b9-589192af2ad5 Received: from eusync1.samsung.com ( [203.254.199.211]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id 04.45.10233.EA291985; Wed, 1 Feb 2017 07:47:58 +0000 (GMT) Received: from AMDC2768.DIGITAL.local ([106.120.43.17]) by eusync1.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTPA id <0OKO00GROQZTN370@eusync1.samsung.com>; Wed, 01 Feb 2017 07:47:58 +0000 (GMT) From: Andrzej Hajda To: Archit Taneja , dri-devel@lists.freedesktop.org Subject: [PATCH v3 21/25] drm/bridge/sii8620: send EMSC features on request Date: Wed, 01 Feb 2017 08:47:48 +0100 Message-id: <1485935272-17337-22-git-send-email-a.hajda@samsung.com> X-Mailer: git-send-email 2.7.4 In-reply-to: <1485935272-17337-1-git-send-email-a.hajda@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprGIsWRmVeSWpSXmKPExsWy7djPc7rrJ02MMNi+UNqiqeMtq8WVr+/Z HJg8Lvf1Mnnc7z7OFMAUxWWTkpqTWZZapG+XwJXx+twitoKVEhUN03czNTDOE+1i5OSQEDCR uH71MCOELSZx4d56ti5GLg4hgaWMElOXz2WHcD4zSqy99ZwRpuNO/3dWiMQyRolth5azQDj/ GSWO3H/OClLFJqAp8XfzTTYQW0TAW2LO6j6wbmEg+9WOSewgNouAqsSx1nNAzRwcvAIuErv6 7SEWyEncPNfJDGJzAoWfL5wDNl9CYA2bxJIV59hB6iUEZCU2HWCGMF0kpr7XhWgVlnh1fAs7 hC0jcXlyN1RrN6PEp/4T7BDOFEaJfx9mMENUWUscPn4R7GZmAT6JSdumQw3llehoE4Io8ZC4 PPsnE4TtKPF19U5oqExnlGh838E2gVF6ASPDKkaR1NLi3PTUYhO94sTc4tK8dL3k/NxNjMDY Ov3v+JcdjIuPWR1iFOBgVOLhnXFyQoQQa2JZcWXuIUYJDmYlEd4Z/RMjhHhTEiurUovy44tK c1KLDzFKc7AoifPuWXAlXEggPbEkNTs1tSC1CCbLxMEp1cAooZL0u3BGLPOygNANtmv2mWv5 VWbwzXBIPyzWoXV5gvbhm+acZR83n/e6Nz917lpf+40b5ObwPZvRVPWU8avx87nKS2dZB7+M EL/xZ+0zf4XAGyeurMuP51899d3Eeec4JbJPhpp9eLndc9HFCzLOXrnJ9/bZqARu8p+Tw2mk cM/z/cldL2XSlViKMxINtZiLihMBM3QziKkCAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrKLMWRmVeSWpSXmKPExsVy+t/xy7rrJk2MMHg+jcmiqeMtq8WVr+/Z HJg8Lvf1Mnnc7z7OFMAU5WaTkZqYklqkkJqXnJ+SmZduqxQa4qZroaSQl5ibaqsUoesbEqSk UJaYUwrkGRmgAQfnAPdgJX27BLeM1+cWsRWslKhomL6bqYFxnmgXIyeHhICJxJ3+76wQtpjE hXvr2boYuTiEBJYwSpz9tw3KaWSSuH3wKRNIFZuApsTfzTfZQGwRAW+JOav7GEFsYSD71Y5J 7CA2i4CqxLHWcyxdjBwcvAIuErv67SEWyEncPNfJDGJzAoWfL5zDAmILCThLfLs7i30CI88C RoZVjCKppcW56bnFRnrFibnFpXnpesn5uZsYgUG27djPLTsYu94FH2IU4GBU4uH9cHpChBBr YllxZe4hRgkOZiUR3hn9EyOEeFMSK6tSi/Lji0pzUosPMZoC3TSRWUo0OR8YAXkl8YYmhuaW hkbGFhbmRkZK4rxTP1wJFxJITyxJzU5NLUgtgulj4uCUamCUD9S10RI5/H7WieNWzqG3PMyt s/8xOCXrnbs3WaXioOBhuZcRu6/IxOjvyZD4vnHOMoVpWbmLS/9sZv58vifHk3Gb+Mm5ihuT g+vZjmxpnplktFp66QYPdYFlgdt+vWqLUd5tpGj46OGn55HGW7f9mW3bk/iu+FNJ9frkx39v /+XgcpqmnbNCiaU4I9FQi7moOBEAq9OomkgCAAA= X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20170201074759eucas1p2e4c973bb534b37374b56f6569b3b02ea X-Msg-Generator: CA X-Sender-IP: 182.198.249.180 X-Local-Sender: =?UTF-8?B?QW5kcnplaiBIYWpkYRtTUlBPTC1LZXJuZWwgKFRQKRvsgrw=?= =?UTF-8?B?7ISx7KCE7J6QG1NlbmlvciBTb2Z0d2FyZSBFbmdpbmVlcg==?= X-Global-Sender: =?UTF-8?B?QW5kcnplaiBIYWpkYRtTUlBPTC1LZXJuZWwgKFRQKRtTYW1z?= =?UTF-8?B?dW5nIEVsZWN0cm9uaWNzG1NlbmlvciBTb2Z0d2FyZSBFbmdpbmVlcg==?= X-Sender-Code: =?UTF-8?B?QzEwG0VIURtDMTBDRDAyQ0QwMjczOTI=?= CMS-TYPE: 201P X-HopCount: 7 X-CMS-RootMailID: 20170201074759eucas1p2e4c973bb534b37374b56f6569b3b02ea X-RootMTR: 20170201074759eucas1p2e4c973bb534b37374b56f6569b3b02ea References: <1485935272-17337-1-git-send-email-a.hajda@samsung.com> X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Virus-Scanned: ClamAV using ClamSMTP Device should report to the peer which features are really supported. Signed-off-by: Andrzej Hajda --- drivers/gpu/drm/bridge/sil-sii8620.c | 27 +++++++++++++++++++++++---- drivers/gpu/drm/bridge/sil-sii8620.h | 16 ++++++++-------- 2 files changed, 31 insertions(+), 12 deletions(-) diff --git a/drivers/gpu/drm/bridge/sil-sii8620.c b/drivers/gpu/drm/bridge/sil-sii8620.c index 243af5f..66ad397 100644 --- a/drivers/gpu/drm/bridge/sil-sii8620.c +++ b/drivers/gpu/drm/bridge/sil-sii8620.c @@ -1675,6 +1675,25 @@ static void sii8620_got_ecbus_speed(struct sii8620 *ctx, int ret) sii8620_mt_set_cont(ctx, sii8620_ecbus_up); } +static void sii8620_mhl_burst_emsc_support_set(struct mhl_burst_emsc_support *d, + enum mhl_burst_id id) +{ + sii8620_mhl_burst_hdr_set(&d->hdr, MHL_BURST_ID_EMSC_SUPPORT); + d->num_entries = 1; + d->burst_id[0] = cpu_to_be16(id); +} + +static void sii8620_send_features(struct sii8620 *ctx) +{ + u8 buf[16]; + + sii8620_write(ctx, REG_MDT_XMIT_CTRL, BIT_MDT_XMIT_CTRL_EN + | BIT_MDT_XMIT_CTRL_FIXED_BURST_LEN); + sii8620_mhl_burst_emsc_support_set((void *)buf, + MHL_BURST_ID_HID_PAYLOAD); + sii8620_write_buf(ctx, REG_MDT_XMIT_WRITE_PORT, buf, ARRAY_SIZE(buf)); +} + static void sii8620_msc_mr_set_int(struct sii8620 *ctx) { u8 ints[MHL_INT_SIZE]; @@ -1695,10 +1714,10 @@ static void sii8620_msc_mr_set_int(struct sii8620 *ctx) break; } } - if (ints[MHL_INT_RCHANGE] & MHL_INT_RC_FEAT_REQ) { - sii8620_mt_set_int(ctx, MHL_INT_REG(RCHANGE), - MHL_INT_RC_FEAT_COMPLETE); - } + if (ints[MHL_INT_RCHANGE] & MHL_INT_RC_FEAT_REQ) + sii8620_send_features(ctx); + if (ints[MHL_INT_RCHANGE] & MHL_INT_RC_FEAT_COMPLETE) + sii8620_edid_read(ctx, 0); } static struct sii8620_mt_msg *sii8620_msc_msg_first(struct sii8620 *ctx) diff --git a/drivers/gpu/drm/bridge/sil-sii8620.h b/drivers/gpu/drm/bridge/sil-sii8620.h index 613943a..c5a7c18 100644 --- a/drivers/gpu/drm/bridge/sil-sii8620.h +++ b/drivers/gpu/drm/bridge/sil-sii8620.h @@ -1298,14 +1298,14 @@ /* MDT Transmit Control, default value: 0x70 */ #define REG_MDT_XMIT_CTRL 0x0588 -#define BIT_MDT_XMIT_CTRL_MDT_XMIT_EN BIT(7) -#define BIT_MDT_XMIT_CTRL_MDT_XMIT_CMD_MERGE_EN BIT(6) -#define BIT_MDT_XMIT_CTRL_MDT_XMIT_FIXED_BURST_LEN BIT(5) -#define BIT_MDT_XMIT_CTRL_MDT_XMIT_FIXED_AID BIT(4) -#define BIT_MDT_XMIT_CTRL_MDT_XMIT_SINGLE_RUN_EN BIT(3) -#define BIT_MDT_XMIT_CTRL_MDT_CLR_ABORT_WAIT BIT(2) -#define BIT_MDT_XMIT_CTRL_MDT_XFIFO_CLR_ALL BIT(1) -#define BIT_MDT_XMIT_CTRL_MDT_XFIFO_CLR_CUR BIT(0) +#define BIT_MDT_XMIT_CTRL_EN BIT(7) +#define BIT_MDT_XMIT_CTRL_CMD_MERGE_EN BIT(6) +#define BIT_MDT_XMIT_CTRL_FIXED_BURST_LEN BIT(5) +#define BIT_MDT_XMIT_CTRL_FIXED_AID BIT(4) +#define BIT_MDT_XMIT_CTRL_SINGLE_RUN_EN BIT(3) +#define BIT_MDT_XMIT_CTRL_CLR_ABORT_WAIT BIT(2) +#define BIT_MDT_XMIT_CTRL_XFIFO_CLR_ALL BIT(1) +#define BIT_MDT_XMIT_CTRL_XFIFO_CLR_CUR BIT(0) /* MDT Receive WRITE Port, default value: 0x00 */ #define REG_MDT_XMIT_WRITE_PORT 0x0589