From patchwork Fri Jan 20 07:38:40 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrzej Hajda X-Patchwork-Id: 9527647 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 C731060434 for ; Fri, 20 Jan 2017 07:39:42 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B807928452 for ; Fri, 20 Jan 2017 07:39:42 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id ACB2B28620; Fri, 20 Jan 2017 07:39:42 +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 666AE28452 for ; Fri, 20 Jan 2017 07:39:42 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 066AC6EB37; Fri, 20 Jan 2017 07:39:05 +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 B52656EB22 for ; Fri, 20 Jan 2017 07:39:00 +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 <0OK200F30IL05150@mailout4.w1.samsung.com> for dri-devel@lists.freedesktop.org; Fri, 20 Jan 2017 07:39:00 +0000 (GMT) Received: from eusmges1.samsung.com (unknown [203.254.199.239]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20170120073859eucas1p232fdb8ebc4c971947255a6e5210e99d6~bas8Ybk273117931179eucas1p2Y; Fri, 20 Jan 2017 07:38:59 +0000 (GMT) Received: from eucas1p1.samsung.com ( [182.198.249.206]) by eusmges1.samsung.com (EUCPMTA) with SMTP id 13.B0.16908.69EB1885; Fri, 20 Jan 2017 07:39:02 +0000 (GMT) Received: from eusmgms1.samsung.com (unknown [182.198.249.179]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20170120073859eucas1p11cc6d9d02494c47b0e3a671378552064~bas7vfaAM0436204362eucas1p1f; Fri, 20 Jan 2017 07:38:59 +0000 (GMT) X-AuditID: cbfec7ef-f79d26d00000420c-01-5881be967fbc Received: from eusync1.samsung.com ( [203.254.199.211]) by eusmgms1.samsung.com (EUCPMTA) with SMTP id 18.08.06687.ECEB1885; Fri, 20 Jan 2017 07:39: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 <0OK200LE1IKT7D70@eusync1.samsung.com>; Fri, 20 Jan 2017 07:38:59 +0000 (GMT) From: Andrzej Hajda To: Archit Taneja , dri-devel@lists.freedesktop.org Subject: [PATCH 14/24] drm/bridge/sii8620: set gen2 write burst before sending MSC command Date: Fri, 20 Jan 2017 08:38:40 +0100 Message-id: <1484897930-1275-15-git-send-email-a.hajda@samsung.com> X-Mailer: git-send-email 2.7.4 In-reply-to: <1484897930-1275-1-git-send-email-a.hajda@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrBIsWRmVeSWpSXmKPExsWy7djPc7rT9jVGGHw8xWNxa905Voumjres FhtnrGe1uPL1PZvFpPsTWCzWHrnL7sDmcbmvl8njfvdxJo++LasYA5ijuGxSUnMyy1KL9O0S uDIeHPnKXPBJsmLCtossDYx3RLsYOTgkBEwk/u1y6mLkBDLFJC7cW8/WxcjFISSwjFFi1Ywz 7BDOZ0aJGTsamCCqTCQenl3JAmKDVV19lAxR9J9RYueLhewgCTYBTYm/m2+ygdgiAt4Sc1b3 MYLYzALrGSWunYoDsYUFYiR6r1wCi7MIqEoce94BVs8r4Cwx58EOVohlchI3z3Uyg9icQPHz N75AHXGfTWLlWyeID2QlNh1ghjBdJHb22kNUCEu8Or6FHcKWkejsOMgEcqaEQDejxKf+E+wQ zhRGiX8fZjBDVFlLHD5+kRXiTj6JSdumQw3llehoE4Io8ZDYOLuLEcJ2lHj1bQ8zJBymAc1Z LT6BUWYBI8MqRpHU0uLc9NRiQ73ixNzi0rx0veT83E2MwPg8/e/4+x2MT5tDDjEKcDAq8fDu ONEQIcSaWFZcmXuIUYKDWUmEt2d9Y4QQb0piZVVqUX58UWlOavEhRmkOFiVx3r0LroQLCaQn lqRmp6YWpBbBZJk4OKUaGN3bY21P/XhxqWXz6dozGtZeyzUFJiov/XWRoUJO45NnhYiawxf5 Cd8EtJ29Tvy/IFn0Ku9j5uaHW4UC2DLF5ya1ecQx/Z7ZMUm0p//P863m7J65F9nm792YMFnp rpPu9YlN7T8vXm9nsC9Tzslsc2SwuDQzn1fHRUmb6dXd9a819ghu280cocRSnJFoqMVcVJwI AAS6EAHLAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrNLMWRmVeSWpSXmKPExsVy+t/xy7rn9jVGGHx6xGtxa905Voumjres FhtnrGe1uPL1PZvFpPsTWCzWHrnL7sDmcbmvl8njfvdxJo++LasYA5ij3GwyUhNTUosUUvOS 81My89JtlUJD3HQtlBTyEnNTbZUidH1DgpQUyhJzSoE8IwM04OAc4B6spG+X4Jbx4MhX5oJP khUTtl1kaWC8I9rFyMkhIWAi8fDsShYIW0ziwr31bF2MXBxCAksYJV5/bGSBcBqZJHrnfmAG qWIT0JT4u/kmG4gtIuAtMWd1HyNIEbPAekaJqY//soMkhAViJNpfTgWzWQRUJY497wBr4BVw lpjzYAcrxDo5iZvnOsGGcgLFz9/4wtTFyAG0zUni2izZCYy8CxgZVjGKpJYW56bnFhvqFSfm Fpfmpesl5+duYgQG7LZjPzfvYLy0MfgQowAHoxIPb8Kxhggh1sSy4srcQ4wSHMxKIrw96xsj hHhTEiurUovy44tKc1KLDzGaAt00kVlKNDkfGE15JfGGJobmloZGxhYW5kZGSuK8JR+uhAsJ pCeWpGanphakFsH0MXFwSjUwiix/IjHj95R7p/ZoV8yZUODM8e+qkF/ix/hFS/10zH41KTvx y3xI9XltFdTy7bzmZh/hhzsCsnsYLmwJ0rzWGtugs6V6n0PE/86Zic98GzS/6yWUW6tduLy/ Mn3qlaPnMwq/fZ7yL/GlwN3H+zpYUpmCJMpeL7vG4aS2ypSV13VN61Kr0BlTlFiKMxINtZiL ihMBNwXGXG4CAAA= X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20170120073859eucas1p11cc6d9d02494c47b0e3a671378552064 X-Msg-Generator: CA X-Sender-IP: 182.198.249.179 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: 20170120073859eucas1p11cc6d9d02494c47b0e3a671378552064 X-RootMTR: 20170120073859eucas1p11cc6d9d02494c47b0e3a671378552064 References: <1484897930-1275-1-git-send-email-a.hajda@samsung.com> Cc: Marek Szyprowski , Bartlomiej Zolnierkiewicz 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 Write burst should be enabled for MHL_INT_RC_FEAT_REQ and disabled for other commands. The patch moves functions up and adds delay setting for MHL3 burst mode. Signed-off-by: Andrzej Hajda --- drivers/gpu/drm/bridge/sil-sii8620.c | 88 ++++++++++++++++++++---------------- 1 file changed, 50 insertions(+), 38 deletions(-) diff --git a/drivers/gpu/drm/bridge/sil-sii8620.c b/drivers/gpu/drm/bridge/sil-sii8620.c index 5b879ff..653187c 100644 --- a/drivers/gpu/drm/bridge/sil-sii8620.c +++ b/drivers/gpu/drm/bridge/sil-sii8620.c @@ -289,9 +289,59 @@ static void sii8620_mt_work(struct sii8620 *ctx) msg->send(ctx, msg); } +static void sii8620_enable_gen2_write_burst(struct sii8620 *ctx) +{ + u8 ctrl = BIT_MDT_RCV_CTRL_MDT_RCV_EN; + + if (ctx->gen2_write_burst) + return; + + if (ctx->mode >= CM_MHL1) + ctrl |= BIT_MDT_RCV_CTRL_MDT_DELAY_RCV_EN; + + sii8620_write_seq(ctx, + REG_MDT_RCV_TIMEOUT, 100, + REG_MDT_RCV_CTRL, ctrl + ); + ctx->gen2_write_burst = 1; +} + +static void sii8620_disable_gen2_write_burst(struct sii8620 *ctx) +{ + if (!ctx->gen2_write_burst) + return; + + sii8620_write_seq_static(ctx, + REG_MDT_XMIT_CTRL, 0, + REG_MDT_RCV_CTRL, 0 + ); + ctx->gen2_write_burst = 0; +} + +static void sii8620_start_gen2_write_burst(struct sii8620 *ctx) +{ + sii8620_write_seq_static(ctx, + REG_MDT_INT_1_MASK, BIT_MDT_RCV_TIMEOUT + | BIT_MDT_RCV_SM_ABORT_PKT_RCVD | BIT_MDT_RCV_SM_ERROR + | BIT_MDT_XMIT_TIMEOUT | BIT_MDT_XMIT_SM_ABORT_PKT_RCVD + | BIT_MDT_XMIT_SM_ERROR, + REG_MDT_INT_0_MASK, BIT_MDT_XFIFO_EMPTY + | BIT_MDT_IDLE_AFTER_HAWB_DISABLE + | BIT_MDT_RFIFO_DATA_RDY + ); + sii8620_enable_gen2_write_burst(ctx); +} + static void sii8620_mt_msc_cmd_send(struct sii8620 *ctx, struct sii8620_mt_msg *msg) { + if (msg->reg[0] == MHL_SET_INT && + msg->reg[1] == MHL_INT_REG(RCHANGE) && + msg->reg[2] == MHL_INT_RC_FEAT_REQ) + sii8620_enable_gen2_write_burst(ctx); + else + sii8620_disable_gen2_write_burst(ctx); + switch (msg->reg[0]) { case MHL_WRITE_STAT: case MHL_SET_INT: @@ -956,44 +1006,6 @@ static void sii8620_enable_hpd(struct sii8620 *ctx) ); } -static void sii8620_enable_gen2_write_burst(struct sii8620 *ctx) -{ - if (ctx->gen2_write_burst) - return; - - sii8620_write_seq_static(ctx, - REG_MDT_RCV_TIMEOUT, 100, - REG_MDT_RCV_CTRL, BIT_MDT_RCV_CTRL_MDT_RCV_EN - ); - ctx->gen2_write_burst = 1; -} - -static void sii8620_disable_gen2_write_burst(struct sii8620 *ctx) -{ - if (!ctx->gen2_write_burst) - return; - - sii8620_write_seq_static(ctx, - REG_MDT_XMIT_CTRL, 0, - REG_MDT_RCV_CTRL, 0 - ); - ctx->gen2_write_burst = 0; -} - -static void sii8620_start_gen2_write_burst(struct sii8620 *ctx) -{ - sii8620_write_seq_static(ctx, - REG_MDT_INT_1_MASK, BIT_MDT_RCV_TIMEOUT - | BIT_MDT_RCV_SM_ABORT_PKT_RCVD | BIT_MDT_RCV_SM_ERROR - | BIT_MDT_XMIT_TIMEOUT | BIT_MDT_XMIT_SM_ABORT_PKT_RCVD - | BIT_MDT_XMIT_SM_ERROR, - REG_MDT_INT_0_MASK, BIT_MDT_XFIFO_EMPTY - | BIT_MDT_IDLE_AFTER_HAWB_DISABLE - | BIT_MDT_RFIFO_DATA_RDY - ); - sii8620_enable_gen2_write_burst(ctx); -} - static void sii8620_mhl_discover(struct sii8620 *ctx) { sii8620_write_seq_static(ctx,