Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp348057imm; Tue, 24 Jul 2018 20:58:10 -0700 (PDT) X-Google-Smtp-Source: AAOMgpemu+adN7Uk2HI9Y7mr/JT9czB9mDG9kn7JGzbYxme1OXOkw4k7nAsCXGsdEXiF0khlr/98 X-Received: by 2002:a62:b612:: with SMTP id j18-v6mr20557073pff.199.1532491090121; Tue, 24 Jul 2018 20:58:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1532491090; cv=none; d=google.com; s=arc-20160816; b=nlbKXBDvJi6E36/NpUacE6KUqp4lEY0W7iqkqv0Y9jn5Vhna+VTi4B/DbIOg6DWDkS 0L/Cpc7CABpBCmr5ZipsgrycUtkkSqhNfJeVNv9MICiavEbZfLEEY3iBedti9C4KNRRi 37QDP1D0ACAKJmVoNZkhRLYctoad3ikKmH5KhB2nRvlb7ao6pDIwhIHDs+BiBGcrCi9/ 3TP3t91gdbrK9ySu5FtKVN6pO/NfuxenqRhz5mK01FBvdyThfT9cyX0PklBHeIjOVXp5 +cLSMpl87/oDH2KN6nrTxTueK9CyKBYkCwueqq+8j3zLS7u1QB8izlu/2OjhZn8bIKRD 5AYA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :arc-authentication-results; bh=TjVS2USEe9cno8ViPphFvP5XJKVI2DaQR0SWdBWgDSg=; b=OK4XJen6+vmFp5ZSb4NdZRfnYQcMTsGEhSHVsUL7+h96nSzHAZFIh/RNh920Bkt0cf MRqJ67EBsBQdC5S4WOIoP7KJ9jzOE+b1L/W04sEvpUy9bEjjNchhpXIzWfmMIFktU3Of y9ksEmoOPf6UXrtugFgQ6fE5JCbp/u9vAmniQO+Fx6wqJ90ayJp1fZe7zZU+qPHmdK9u tGzQUNQ0R7QdFiwGti6gG9OB8QmIBgwT4YtzgJufL+MSNNLEQoXO55VH+EzFLlhN6Akl 0vKJMBF9YoMvEcGW6CbckpeL+FcCHtqFhd+NeFDlTbhHBbVuQ1zwQlR5E6yxuUeTSksA YcCQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d3-v6si12127125pla.28.2018.07.24.20.57.54; Tue, 24 Jul 2018 20:58:10 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727200AbeGYFGs (ORCPT + 99 others); Wed, 25 Jul 2018 01:06:48 -0400 Received: from hermes.aosc.io ([199.195.250.187]:45685 "EHLO hermes.aosc.io" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725998AbeGYFGs (ORCPT ); Wed, 25 Jul 2018 01:06:48 -0400 Received: from localhost (localhost [127.0.0.1]) (Authenticated sender: icenowy@aosc.io) by hermes.aosc.io (Postfix) with ESMTPSA id 64FCB9F7C1; Wed, 25 Jul 2018 03:57:02 +0000 (UTC) From: Icenowy Zheng To: Archit Taneja , Andrzej Hajda , Laurent Pinchart , Neil Armstrong , Maxime Ripard , Jernej Skrabec , Daniel Vetter Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Icenowy Zheng Subject: [PATCH] drm/bridge/synopsys: dw-hdmi: re-run dw_hdmi_setup when setting mode Date: Wed, 25 Jul 2018 11:56:27 +0800 Message-Id: <20180725035627.58223-1-icenowy@aosc.io> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Currently dw_hdmi_setup is only run when the dw-hdmi bridge is enabled, with the mode set last time. When the bridge is enabled before any mode is set (this may happen when booting), the mode won't be set at all, some setup steps will be skipped or fail, and the HDMI output may not work. Re-run dw_hdmi_setup when setting mode, in order to prevent such situation. Signed-off-by: Icenowy Zheng --- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c index 5971976284bf..e2f832182afe 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c @@ -2007,6 +2007,7 @@ static void dw_hdmi_bridge_mode_set(struct drm_bridge *bridge, /* Store the display mode for plugin/DKMS poweron events */ memcpy(&hdmi->previous_mode, mode, sizeof(hdmi->previous_mode)); + dw_hdmi_setup(hdmi, mode); mutex_unlock(&hdmi->mutex); } -- 2.18.0