From patchwork Sat Jul 18 23:33:22 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Linus Walleij X-Patchwork-Id: 235753 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp730794ilg; Sat, 18 Jul 2020 16:33:32 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzQ62xv22tZZBxG7jsD68biyPPTpEsUt/24I0AbotCxYh003XVF74UaPEsM0MTdui+RMNuP X-Received: by 2002:a05:6a00:1586:: with SMTP id u6mr13296174pfk.147.1595115212037; Sat, 18 Jul 2020 16:33:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595115212; cv=none; d=google.com; s=arc-20160816; b=jv4q7WP5zh+o+WCfzINmUh+LbU90YyQAV2VEDi8FBuRngB6h03fiPGnf+zWdz9mNUr 9OHQQ0Gm1EcSGzt5YQWDxGlDyG0eLLvYZrThmJAs/Vfqh8dEigZlIgw/DQpcNq+i54Kf 9eEm2rIQNHtcdAIDGXuf0HoeGz+rOPKPsx6BREaL92UMPV1IXwNCTlqeIHosJ4mcgn7Y 0ua/0VmigAINrc/CzGeJ/HjWU/nHW8uvWMfmQdkqTC2F/RI6rnt535H0cP5AILXUbbyn MzPACRQ3rFY/DaLbjpFP9VptF1yufDmIoYV1u9GyI69KunmmBt2ci2gPLqsf3o4LGk0f H8Zw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:mime-version:message-id:date:subject:to:from :dkim-signature:delivered-to; bh=b/PNNil/DVJBSY83u58+ETtwpF/jLGMMz0KX10CoSfg=; b=fiS9Dyt+rFzG7GrGEOtCFLchU6lulMRsLujSMODXj/DRX5wfP8Q5aeQjUVsdmQiLtV 7ICxu7lxPOvpY364PSWY/Kq8toV86N73FA4LtIvljh7oTleG369xsbgTcDZ28a0q7JdI 53nThKK79DGJvWHv25dC/rV+StZIxGUaObFtP0zYJ4fL+YjnEh+z5f1TOKHQeRULxsub pHQ17GMy3GszUpjp2v+N2EgA/fe0yYHZ322+gW9MR7urLJwY8dl+8u68PF/KcUfTVfGj VmAeCYcBgb9/RAnX3NhUvgi5a9uVQIhCHUvJipZPJtkz+RjyDHBRYBLgj2WVbSvRHvdb J6BA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b=wZWp6Chj; spf=pass (google.com: best guess record for domain of dri-devel-bounces@lists.freedesktop.org designates 131.252.210.177 as permitted sender) smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from gabe.freedesktop.org (gabe.freedesktop.org. [131.252.210.177]) by mx.google.com with ESMTPS id w187si2728915pfd.211.2020.07.18.16.33.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 18 Jul 2020 16:33:32 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of dri-devel-bounces@lists.freedesktop.org designates 131.252.210.177 as permitted sender) client-ip=131.252.210.177; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b=wZWp6Chj; spf=pass (google.com: best guess record for domain of dri-devel-bounces@lists.freedesktop.org designates 131.252.210.177 as permitted sender) smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 149496E2B6; Sat, 18 Jul 2020 23:33:29 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mail-lj1-x241.google.com (mail-lj1-x241.google.com [IPv6:2a00:1450:4864:20::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id CD9A06E2B6 for ; Sat, 18 Jul 2020 23:33:27 +0000 (UTC) Received: by mail-lj1-x241.google.com with SMTP id s9so16506838ljm.11 for ; Sat, 18 Jul 2020 16:33:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=/uOHqtO1l7zkVQ8bbrjF3EFuuScxemsHl8Jv5NCr0Zs=; b=wZWp6ChjpBomhs7feoixsNH6mvZLKAYA8u/pFpS6/4nXNwsMmcWx1WrkYAa6kpeyhw ut1SO2AgAFg6va3LkF4XlPm8dhKGm8IRhMu+s/52INWp8R2v5f777thEv9Z2BmsFva+p tbvz0Dfvyrb8M8PNIGClarnUhD8glzwj4RxsQrH7DGmoWQ3hG0zA4kfDhYXULDfUifqC 6Pia5lWZ07e49ux85FjYMggGYJFae0DeZVbbW9cDHIWz+9lxFMj4jk06rPuJ4jOchqBf ZBJdLaWhjbhZ6ngabbnkjbl4hEiOPNOjbJsipvegjgu17Hme8z1GhDtB5FCw/Wpor4GQ Wm7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=/uOHqtO1l7zkVQ8bbrjF3EFuuScxemsHl8Jv5NCr0Zs=; b=HZs2EKIuB16vKXUokCtUeVkeQut0xAKoFo2oYl/8uqehuf3Sw5h3iEq4vZ2bFrzHpw SUQBAR+l98vJDeOORJ04vvga7xjO0VgMY83JWy0eegWiUTOlsPPgTbNgzfYUzN922MoM st2QdyfgvJA8UtqzKYAUFIGl5SQ9Ht8sujy2BxTGGpzpkYLjohevwMWYSP/6vgZ67zQB fDhsgzf/1ZyrECFv60fni6fUiYaSsR9KGxCqpSYXRK2fJh0DjFlxvHNwCrqIEbZB6ns0 k79Ib5zb6sEPTv3vRXNPW0/SXgleCoWtIjaa3O6AvSZhmAK6g6bv+FvH2wlVEPTBVqKh huFw== X-Gm-Message-State: AOAM531ZqJIFbW3w167Fa9IVjfDL/GhHsO9Kg4z4men1Yp2Xo5+FdlDK ys6ds2EYh9z/dy84NyMIX+4C80XEOEP90A== X-Received: by 2002:a2e:978c:: with SMTP id y12mr7173559lji.270.1595115205664; Sat, 18 Jul 2020 16:33:25 -0700 (PDT) Received: from localhost.bredbandsbolaget (c-92d7225c.014-348-6c756e10.bbcust.telenor.se. [92.34.215.146]) by smtp.gmail.com with ESMTPSA id d22sm2014139lfs.26.2020.07.18.16.33.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 18 Jul 2020 16:33:24 -0700 (PDT) From: Linus Walleij To: dri-devel@lists.freedesktop.org, Maarten Lankhorst , Maxime Ripard , Sean Paul Subject: [PATCH] drm/mcde: Fix stability issue Date: Sun, 19 Jul 2020 01:33:22 +0200 Message-Id: <20200718233323.3407670-1-linus.walleij@linaro.org> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: stable@vger.kernel.org, Stephan Gerhold , linux-arm-kernel@lists.infradead.org Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Whenener a display update was sent, apart from updating the memory base address we called mcde_display_send_one_frame() which also sent a command to the display requesting the TE IRQ and enabling the FIFO. When continous updates are running this is wrong: we need to only send this to start the flow to the display on the very first update. This lead to the display pipeline locking up and crashing. Check if the flow is already running and in that case do not call mcde_display_send_one_frame(). This fixes crashes on the Samsung GT-S7710 (Skomer). Cc: Stephan Gerhold Cc: stable@vger.kernel.org Signed-off-by: Linus Walleij --- drivers/gpu/drm/mcde/mcde_display.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) -- 2.26.2 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel diff --git a/drivers/gpu/drm/mcde/mcde_display.c b/drivers/gpu/drm/mcde/mcde_display.c index 212aee60cf61..1d8ea8830a17 100644 --- a/drivers/gpu/drm/mcde/mcde_display.c +++ b/drivers/gpu/drm/mcde/mcde_display.c @@ -1086,9 +1086,14 @@ static void mcde_display_update(struct drm_simple_display_pipe *pipe, */ if (fb) { mcde_set_extsrc(mcde, drm_fb_cma_get_gem_addr(fb, pstate, 0)); - if (!mcde->video_mode) - /* Send a single frame using software sync */ - mcde_display_send_one_frame(mcde); + if (!mcde->video_mode) { + /* + * Send a single frame using software sync if the flow + * is not active yet. + */ + if (mcde->flow_active == 0) + mcde_display_send_one_frame(mcde); + } dev_info_once(mcde->dev, "sent first display update\n"); } else { /*