From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephan Gerhold Subject: [PATCH 4/7] drm/mcde: dsi: Delay start of video stream generator Date: Wed, 6 Nov 2019 17:58:32 +0100 Message-ID: <20191106165835.2863-5-stephan@gerhold.net> References: <20191106165835.2863-1-stephan@gerhold.net> Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Return-path: In-Reply-To: <20191106165835.2863-1-stephan@gerhold.net> Sender: linux-kernel-owner@vger.kernel.org To: Linus Walleij Cc: David Airlie , Daniel Vetter , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Stephan Gerhold List-Id: dri-devel@lists.freedesktop.org The initialization order for DSI video mode is important - if we enable the video stream generator (VSG) before the MCDE DSI formatter starts sending pixel data, it will immediately run into an error and disable itself again. Avoid this problem by delaying the activation of the VSG until the MCDE DSI formatter is properly set up and running (i.e. when mcde_dsi_bridge_enable() is called). Signed-off-by: Stephan Gerhold --- drivers/gpu/drm/mcde/mcde_dsi.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/mcde/mcde_dsi.c b/drivers/gpu/drm/mcde/mcde_dsi.c index c7956c92b51b..4710f23b2966 100644 --- a/drivers/gpu/drm/mcde/mcde_dsi.c +++ b/drivers/gpu/drm/mcde/mcde_dsi.c @@ -583,11 +583,6 @@ static void mcde_dsi_setup_video_mode(struct mcde_dsi *d, val |= DSI_VID_MODE_STS_CTL_ERR_MISSING_VSYNC; val |= DSI_VID_MODE_STS_CTL_ERR_MISSING_DATA; writel(val, d->regs + DSI_VID_MODE_STS_CTL); - - /* Enable video mode */ - val = readl(d->regs + DSI_MCTL_MAIN_DATA_CTL); - val |= DSI_MCTL_MAIN_DATA_CTL_VID_EN; - writel(val, d->regs + DSI_MCTL_MAIN_DATA_CTL); } static void mcde_dsi_start(struct mcde_dsi *d) @@ -699,6 +694,14 @@ static void mcde_dsi_start(struct mcde_dsi *d) static void mcde_dsi_bridge_enable(struct drm_bridge *bridge) { struct mcde_dsi *d = bridge_to_mcde_dsi(bridge); + u32 val; + + if (d->mdsi->mode_flags & MIPI_DSI_MODE_VIDEO) { + /* Enable video mode */ + val = readl(d->regs + DSI_MCTL_MAIN_DATA_CTL); + val |= DSI_MCTL_MAIN_DATA_CTL_VID_EN; + writel(val, d->regs + DSI_MCTL_MAIN_DATA_CTL); + } dev_info(d->dev, "enable DSI master\n"); }; -- 2.23.0 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id EB18AC5DF63 for ; Wed, 6 Nov 2019 17:01:21 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id C772421882 for ; Wed, 6 Nov 2019 17:01:21 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C772421882 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=gerhold.net Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 38F826E277; Wed, 6 Nov 2019 17:01:14 +0000 (UTC) Received: from mo6-p02-ob.smtp.rzone.de (mo6-p02-ob.smtp.rzone.de [IPv6:2a01:238:20a:202:5302::3]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1B42D6E277 for ; Wed, 6 Nov 2019 17:01:09 +0000 (UTC) X-RZG-AUTH: ":P3gBZUipdd93FF5ZZvYFPugejmSTVR2nRPhVORvLd4SsytBXQrEOHTIXs8PvtBNfIQ==" X-RZG-CLASS-ID: mo00 Received: from localhost.localdomain by smtp.strato.de (RZmta 44.29.0 AUTH) with ESMTPSA id e07688vA6H14hLu (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (curve secp521r1 with 521 ECDH bits, eq. 15360 bits RSA)) (Client did not present a certificate); Wed, 6 Nov 2019 18:01:04 +0100 (CET) From: Stephan Gerhold To: Linus Walleij Subject: [PATCH 4/7] drm/mcde: dsi: Delay start of video stream generator Date: Wed, 6 Nov 2019 17:58:32 +0100 Message-Id: <20191106165835.2863-5-stephan@gerhold.net> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20191106165835.2863-1-stephan@gerhold.net> References: <20191106165835.2863-1-stephan@gerhold.net> MIME-Version: 1.0 X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1573059668; s=strato-dkim-0002; d=gerhold.net; h=References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From: X-RZG-CLASS-ID:X-RZG-AUTH:From:Subject:Sender; bh=TU8xWeq3Fq2kfoIu2yX7EJClpaSQfLxdKJkoXF7JaIQ=; b=pyMOfJPYoU+oB9gSN57jQK09wpZ632KRh1qsA7YFz6u2j4xYIbCNuiptAlkxpBSILU gdW5RoooG0i18Vx0rFSIpIHZci9KUwninov2fFrRH3yP21kSjQDzCcIc8aUcTqwkW45X qWUL0wnKCkAfqfKin15pwi+fcHyvTbM71rflpnXDbKP4BF0+zc5gEO1lUZXksi9mL1Jh F4LsR5szBZgTlWRngbE2kyOqNaxWkzHPDeHV9UKKT0Sv8DVM4QxicMr4w2qqcOVczm5g rn5kWZBPIY3Au2o/qoKRjwKqmWcvweLMH32SZIgbHXN8mul0WqJl5NwB6U+UNAIdg9Wz nSZQ== X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: David Airlie , Stephan Gerhold , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Message-ID: <20191106165832.uaaQB7ltXPjHircN11uUpw9077yaYjdEeK5LMDtD5oM@z> VGhlIGluaXRpYWxpemF0aW9uIG9yZGVyIGZvciBEU0kgdmlkZW8gbW9kZSBpcyBpbXBvcnRhbnQg LSBpZiB3ZQplbmFibGUgdGhlIHZpZGVvIHN0cmVhbSBnZW5lcmF0b3IgKFZTRykgYmVmb3JlIHRo ZSBNQ0RFIERTSSBmb3JtYXR0ZXIKc3RhcnRzIHNlbmRpbmcgcGl4ZWwgZGF0YSwgaXQgd2lsbCBp bW1lZGlhdGVseSBydW4gaW50byBhbiBlcnJvciBhbmQKZGlzYWJsZSBpdHNlbGYgYWdhaW4uCgpB dm9pZCB0aGlzIHByb2JsZW0gYnkgZGVsYXlpbmcgdGhlIGFjdGl2YXRpb24gb2YgdGhlIFZTRwp1 bnRpbCB0aGUgTUNERSBEU0kgZm9ybWF0dGVyIGlzIHByb3Blcmx5IHNldCB1cCBhbmQgcnVubmlu ZwooaS5lLiB3aGVuIG1jZGVfZHNpX2JyaWRnZV9lbmFibGUoKSBpcyBjYWxsZWQpLgoKU2lnbmVk LW9mZi1ieTogU3RlcGhhbiBHZXJob2xkIDxzdGVwaGFuQGdlcmhvbGQubmV0PgotLS0KIGRyaXZl cnMvZ3B1L2RybS9tY2RlL21jZGVfZHNpLmMgfCAxMyArKysrKysrKy0tLS0tCiAxIGZpbGUgY2hh bmdlZCwgOCBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9tY2RlL21jZGVfZHNpLmMgYi9kcml2ZXJzL2dwdS9kcm0vbWNkZS9tY2RlX2Rz aS5jCmluZGV4IGM3OTU2YzkyYjUxYi4uNDcxMGYyM2IyOTY2IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vbWNkZS9tY2RlX2RzaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tY2RlL21jZGVf ZHNpLmMKQEAgLTU4MywxMSArNTgzLDYgQEAgc3RhdGljIHZvaWQgbWNkZV9kc2lfc2V0dXBfdmlk ZW9fbW9kZShzdHJ1Y3QgbWNkZV9kc2kgKmQsCiAJdmFsIHw9IERTSV9WSURfTU9ERV9TVFNfQ1RM X0VSUl9NSVNTSU5HX1ZTWU5DOwogCXZhbCB8PSBEU0lfVklEX01PREVfU1RTX0NUTF9FUlJfTUlT U0lOR19EQVRBOwogCXdyaXRlbCh2YWwsIGQtPnJlZ3MgKyBEU0lfVklEX01PREVfU1RTX0NUTCk7 Ci0KLQkvKiBFbmFibGUgdmlkZW8gbW9kZSAqLwotCXZhbCA9IHJlYWRsKGQtPnJlZ3MgKyBEU0lf TUNUTF9NQUlOX0RBVEFfQ1RMKTsKLQl2YWwgfD0gRFNJX01DVExfTUFJTl9EQVRBX0NUTF9WSURf RU47Ci0Jd3JpdGVsKHZhbCwgZC0+cmVncyArIERTSV9NQ1RMX01BSU5fREFUQV9DVEwpOwogfQog CiBzdGF0aWMgdm9pZCBtY2RlX2RzaV9zdGFydChzdHJ1Y3QgbWNkZV9kc2kgKmQpCkBAIC02OTks NiArNjk0LDE0IEBAIHN0YXRpYyB2b2lkIG1jZGVfZHNpX3N0YXJ0KHN0cnVjdCBtY2RlX2RzaSAq ZCkKIHN0YXRpYyB2b2lkIG1jZGVfZHNpX2JyaWRnZV9lbmFibGUoc3RydWN0IGRybV9icmlkZ2Ug KmJyaWRnZSkKIHsKIAlzdHJ1Y3QgbWNkZV9kc2kgKmQgPSBicmlkZ2VfdG9fbWNkZV9kc2koYnJp ZGdlKTsKKwl1MzIgdmFsOworCisJaWYgKGQtPm1kc2ktPm1vZGVfZmxhZ3MgJiBNSVBJX0RTSV9N T0RFX1ZJREVPKSB7CisJCS8qIEVuYWJsZSB2aWRlbyBtb2RlICovCisJCXZhbCA9IHJlYWRsKGQt PnJlZ3MgKyBEU0lfTUNUTF9NQUlOX0RBVEFfQ1RMKTsKKwkJdmFsIHw9IERTSV9NQ1RMX01BSU5f REFUQV9DVExfVklEX0VOOworCQl3cml0ZWwodmFsLCBkLT5yZWdzICsgRFNJX01DVExfTUFJTl9E QVRBX0NUTCk7CisJfQogCiAJZGV2X2luZm8oZC0+ZGV2LCAiZW5hYmxlIERTSSBtYXN0ZXJcbiIp OwogfTsKLS0gCjIuMjMuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJp LWRldmVs