Received: by 2002:a05:6a10:17d3:0:0:0:0 with SMTP id hz19csp2547709pxb; Mon, 19 Apr 2021 08:10:46 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwltaSM1jkCs6oKEvx+9o8r701mBbLU3T3OEkwdBLGJLOCq1d9hbvw9aVELhVApwM9cXCdb X-Received: by 2002:a17:90b:1118:: with SMTP id gi24mr24872400pjb.30.1618845046453; Mon, 19 Apr 2021 08:10:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1618845046; cv=none; d=google.com; s=arc-20160816; b=HcQNAfe+iWEgAEoVQqjpCq8oKKoaM7k5aL+ZCF8Nlyk4cmq0DUnuYsUED/8Znsxk1F 7FpPcLVP0Lty83lhZMZP1xY/7EOL8t+8b6n2ygkO/OcB58PS0iIx7S8ViwxqySsnt0vK bwswIvuRWqYHaDaZ4G8Fjc9s94VP+U8gOvV7toG8iRrmsDZV9WVxnkBhhNNAMR+hknN/ sIs8pO47myS806CT+BvaDTvZLHD4enSSfx8wFmVk+3bLp5LNqSFAC2Pp74nESylRkahi NodWDbXs2WVBh+A2cXgjktTORSwkQnHh3Yuv0GGG0wiSNPZ+T/92JNzjFn5SYohzuQIe 2WyQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=/su0TVaoOC4yZItm7kTdpkVWaWq5vhK9eJPcIBM8sVM=; b=YEWWM+R9J5Q+c4oA+fS8hbvYGxB3CuzGm1IWBNjiev9qXgyOXnKwFzIZuo+vFTXKC4 TWEs+A2ig7ENZgFkj0n+WglzcXIE5yBF5ppmbsfswsNiqSfzwma97Tk7b45nZtq4uE0S DsL/YoNx5sPS27Om/OQZCjo89nwAScajceWCBhcH4hXBtAaZhNOS9mk8SwAHRjLVPo2f 57Gak+r/IYCT8TSgb4BsCeKxS+zahrKUr0E+PLH485lnM8OLv7qnhzFj2CBVd3IJcNIq LO8qulqZ0RYiRKS/haEK1xpMnGW90XXnqGQOtzTQSdOyZF60ADr5XTeJZJcieaqk7tSg 5i7A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=bD9G3r0g; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id me12si3590449pjb.143.2021.04.19.08.10.34; Mon, 19 Apr 2021 08:10:46 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=bD9G3r0g; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240262AbhDSNN2 (ORCPT + 99 others); Mon, 19 Apr 2021 09:13:28 -0400 Received: from mail.kernel.org ([198.145.29.99]:46262 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232708AbhDSNLX (ORCPT ); Mon, 19 Apr 2021 09:11:23 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id B245361369; Mon, 19 Apr 2021 13:10:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1618837852; bh=cTv/+ObGpid6q5PCgrkMLnY1hD7lfOHQmZ+Pxd2mqtA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=bD9G3r0gxXyaj0x6eBtqVdCCy1bHYjm7UhlUC0l17kRytCfURtgcyWmQt0GndfFOI eu9F+PrPt12IcdbuYWWXyOtsR527Du2jS6d82rT2a2wXWaXKXyfG/xoTQPKX4SyLfL qfiby+qCTTlxESGOjSTMjjg6H6jK9KU+zRQzKl3s= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= , Hans de Goede , Rodrigo Vivi Subject: [PATCH 5.11 078/122] drm/i915/display/vlv_dsi: Do not skip panel_pwr_cycle_delay when disabling the panel Date: Mon, 19 Apr 2021 15:05:58 +0200 Message-Id: <20210419130532.821962952@linuxfoundation.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210419130530.166331793@linuxfoundation.org> References: <20210419130530.166331793@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Hans de Goede commit aee6f25e9c911323aa89a200e1bb160c1613ed3d upstream. After the recently added commit fe0f1e3bfdfe ("drm/i915: Shut down displays gracefully on reboot"), the DSI panel on a Cherry Trail based Predia Basic tablet would no longer properly light up after reboot. I've managed to reproduce this without rebooting by doing: chvt 3; echo 1 > /sys/class/graphics/fb0/blank;\ echo 0 > /sys/class/graphics/fb0/blank Which rapidly turns the panel off and back on again. The vlv_dsi.c code uses an intel_dsi_msleep() helper for the various delays used for panel on/off, since starting with MIPI-sequences version >= 3 the delays are already included inside the MIPI-sequences. The problems exposed by the "Shut down displays gracefully on reboot" change, show that using this helper for the panel_pwr_cycle_delay is not the right thing to do. This has not been noticed until now because normally the panel never is cycled off and directly on again in quick succession. Change the msleep for the panel_pwr_cycle_delay to a normal msleep() call to avoid the panel staying black after a quick off + on cycle. Cc: Ville Syrjälä Fixes: fe0f1e3bfdfe ("drm/i915: Shut down displays gracefully on reboot") Signed-off-by: Hans de Goede Reviewed-by: Ville Syrjälä Link: https://patchwork.freedesktop.org/patch/msgid/20210325114823.44922-1-hdegoede@redhat.com (cherry picked from commit 2878b29fc25a0dac0e1c6c94177f07c7f94240f0) Signed-off-by: Rodrigo Vivi Signed-off-by: Greg Kroah-Hartman --- drivers/gpu/drm/i915/display/vlv_dsi.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/drivers/gpu/drm/i915/display/vlv_dsi.c +++ b/drivers/gpu/drm/i915/display/vlv_dsi.c @@ -992,14 +992,14 @@ static void intel_dsi_post_disable(struc * FIXME As we do with eDP, just make a note of the time here * and perform the wait before the next panel power on. */ - intel_dsi_msleep(intel_dsi, intel_dsi->panel_pwr_cycle_delay); + msleep(intel_dsi->panel_pwr_cycle_delay); } static void intel_dsi_shutdown(struct intel_encoder *encoder) { struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); - intel_dsi_msleep(intel_dsi, intel_dsi->panel_pwr_cycle_delay); + msleep(intel_dsi->panel_pwr_cycle_delay); } static bool intel_dsi_get_hw_state(struct intel_encoder *encoder,