Received: by 2002:ac0:aed5:0:0:0:0:0 with SMTP id t21csp2281224imb; Mon, 4 Mar 2019 00:40:19 -0800 (PST) X-Google-Smtp-Source: APXvYqxFgETGkQwGKWFMT1EJa8ZDV5OMKoRYg57nKgIw0jCrM1HxOFEmACijMtCnhcosfohMv1u6 X-Received: by 2002:a63:f544:: with SMTP id e4mr17558691pgk.145.1551688819105; Mon, 04 Mar 2019 00:40:19 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1551688819; cv=none; d=google.com; s=arc-20160816; b=ntOGpDKPOrCgSl954TMBW+PMwMaB9Ztex5vxKjuw2Y434mj2dxezlJ9eF1fVT8Agr8 sjZGFsQyyX1uFYmVpab6nahezHSft9WClvvGD8NFUpridXLYpMVMmzTUG/c6QEfrU9bZ iwgUNgqZ7ySmynVcjOkV1LbmOcYggKeFvdw194zpNxondxty46Nkb0B45sq5wZ1RMnuk kP1oe/fIuo9NZQQOopwV14eeR4Rp1TTyXHpcNyFioNpULCDprtB5hEu2rv53fMHxa4Km Xkk73ObsQMjCuTonuFv5Y/v3ZHqEgX1A350nd7QYYFSmLUrAm1+n8FEp9csFB+RpcPzh Is1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=IqUiMhdwBiFFk9DSVgZsdk+ADXdYWZh9x3NvQWrX2pg=; b=0LjlSEryuLrEmusMgX+Trt5x8ISyrhPkjB6EIpQWg54L17h/W7O7NSz5hRrAD2YPxq j5zSzHSloVRULyeQr9KOyatmpEyxV1ySlahWvDkoAlttqMMX8VAzDQ8fHiLNVuNPuTDc aSJzDLrnN6gNOuoJjU/WgNr8BHqNC53xnfmghrx7KS05E8RzuWlMHFSwLP09F2UUkPKE Q1iJma5hGPuP1b/pBOD7nEzideFsMwjVBZh1amiGhl5WoY2J90VnACZJoZ+moGn/zMAl x14gvgZn4G/O5M9IPVshu3TDEEF7Qxyp7+mEMmLa5StVkX4GSYy+BBX/LKPTJBoikkV2 0DrQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=dgz+fsZX; 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 j69si4484107pgd.31.2019.03.04.00.40.03; Mon, 04 Mar 2019 00:40:19 -0800 (PST) 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; dkim=pass header.i=@kernel.org header.s=default header.b=dgz+fsZX; 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 S1727466AbfCDId4 (ORCPT + 99 others); Mon, 4 Mar 2019 03:33:56 -0500 Received: from mail.kernel.org ([198.145.29.99]:39066 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728197AbfCDIdy (ORCPT ); Mon, 4 Mar 2019 03:33:54 -0500 Received: from localhost (5356596B.cm-6-7b.dynamic.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 4D1B320823; Mon, 4 Mar 2019 08:33:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1551688433; bh=vFqxc7+Voy/5DFR5djnBvTktJf8APXC7+bI4zOdb2fQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=dgz+fsZXz5k+knSfk5E06xjA1G3Nl74VsBnU2uKMVFg1zc4jvahsJgX8Y0mGU0mTs /6MSGRt2vjPGuGQw7jGK+vdRwKX11chxYvDPUEiJRmLt2Xd+cKAu6aTIaFti51SzA1 yv1DZl9cP+UZ76R9oTWol0adAQQfg/Pg5Cf2XW2w= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Priit Laes , Maxime Ripard , Sasha Levin Subject: [PATCH 4.20 42/88] drm/sun4i: hdmi: Fix usage of TMDS clock Date: Mon, 4 Mar 2019 09:22:25 +0100 Message-Id: <20190304081632.237641909@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190304081630.610632175@linuxfoundation.org> References: <20190304081630.610632175@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review X-Patchwork-Hint: ignore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.20-stable review patch. If anyone has any objections, please let me know. ------------------ [ Upstream commit 5e1bc251cebc84b41b8eb5d2434e54d939a85430 ] Although TMDS clock is required for HDMI to properly function, nobody called clk_prepare_enable(). This fixes reference counting issues and makes sure clock is running when it needs to be running. Due to TDMS clock being parent clock for DDC clock, TDMS clock was turned on/off for each EDID probe, causing spurious failures for certain HDMI/DVI screens. Fixes: 9c5681011a0c ("drm/sun4i: Add HDMI support") Signed-off-by: Priit Laes [Maxime: Moved the TMDS clock enable earlier] Signed-off-by: Maxime Ripard Link: https://patchwork.freedesktop.org/patch/msgid/20190122073232.7240-1-plaes@plaes.org Signed-off-by: Sasha Levin --- drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c b/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c index 061d2e0d9011e..416da53767018 100644 --- a/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c +++ b/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c @@ -92,6 +92,8 @@ static void sun4i_hdmi_disable(struct drm_encoder *encoder) val = readl(hdmi->base + SUN4I_HDMI_VID_CTRL_REG); val &= ~SUN4I_HDMI_VID_CTRL_ENABLE; writel(val, hdmi->base + SUN4I_HDMI_VID_CTRL_REG); + + clk_disable_unprepare(hdmi->tmds_clk); } static void sun4i_hdmi_enable(struct drm_encoder *encoder) @@ -102,6 +104,8 @@ static void sun4i_hdmi_enable(struct drm_encoder *encoder) DRM_DEBUG_DRIVER("Enabling the HDMI Output\n"); + clk_prepare_enable(hdmi->tmds_clk); + sun4i_hdmi_setup_avi_infoframes(hdmi, mode); val |= SUN4I_HDMI_PKT_CTRL_TYPE(0, SUN4I_HDMI_PKT_AVI); val |= SUN4I_HDMI_PKT_CTRL_TYPE(1, SUN4I_HDMI_PKT_END); -- 2.19.1