Received: by 2002:a05:6a10:af89:0:0:0:0 with SMTP id iu9csp3972328pxb; Tue, 25 Jan 2022 00:20:02 -0800 (PST) X-Google-Smtp-Source: ABdhPJwCjqpMHsqlqPYxxfyI7Vk9tW+NaVMEux7lcYUByTFfqTHn59iuwdu55KMbl5Iyaz4CgPKE X-Received: by 2002:a17:903:2449:b0:14b:6619:31f5 with SMTP id l9-20020a170903244900b0014b661931f5mr4497710pls.147.1643098801880; Tue, 25 Jan 2022 00:20:01 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643098801; cv=none; d=google.com; s=arc-20160816; b=sBnmUlOPAdIXsaJns1pcuhbJmOch9rWnbI8/HsvhTa5nZjJV6nhK0AH+lOYg0XG8Tb 9mot1SEl5+ocHh8KzjBAMgORw75heLkWltQMbBoq2DGILaLgEmzzrrpCcO8mG+cbSLTF xwLl4fQZXSW4Da1Jzn/Vz4wF2bDiJNm8opRj4dN3RFuBKNhDRvoymNxgWRiSE8O1o813 R7RXb82kKZuKquYZQYyVfSA0Xo6fVeA/fs02AG+sLuDNLi4j5i64AErZw4jCSXoxiHN2 lbRe/3MJmXKOr1OOlSj1T59lRKMILyvo4bP7F0S7blzC7aDU9YqCmjy6q7dMyGF4Rqrm 7eMA== 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=Beq9IAShPSOkF5LqPkgxvaEjhw5wv6nLTsqasrasL9Q=; b=l08Dk6Qfwk0zXSCjWZlmpIflqkgik2vaKIM5uqVfKv5lhuYy8v54LaCT8Km76eX9PU B5Q5+ukblGAvydoMvZ3X6kMks8zi/oB3iIoaFgIq/yBiuhL3zH8AHF74g4rUVpl08KqJ grzeRLZ9HE1GVXEAGZiCR1gC9ItfE22RewJ3rw9wGzdYCLBwVyEHdmY7+/n4zPqPiGFN f3G603nDwTef8SQgv19jAPLk46AF+/KkXaDluSTWqbxQwYKzrA3VCP3xhJ4gb8HhaU7f HKWEHquscxDY21+CFNiCQmdqvYKlmBUFXuPbvzp6wXzHdrHRUqUVR9w+d9Dw2td6QYJk CoBw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=qtCtCjlc; 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 v202si2729425pgb.255.2022.01.25.00.19.50; Tue, 25 Jan 2022 00:20:01 -0800 (PST) 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=qtCtCjlc; 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 S3413554AbiAYAjS (ORCPT + 99 others); Mon, 24 Jan 2022 19:39:18 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57722 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2363973AbiAXXq1 (ORCPT ); Mon, 24 Jan 2022 18:46:27 -0500 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 75AEAC05A1BD; Mon, 24 Jan 2022 13:40:21 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 341E9B811FC; Mon, 24 Jan 2022 21:40:20 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5E84DC340E4; Mon, 24 Jan 2022 21:40:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1643060419; bh=qGKPlBKi4dvM3k6D9aqxyYUFmALZfLKHSo5w9/UB2ys=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=qtCtCjlcvT0yNpTx5xw06rGH3Hd4i9Uy/fxpOkf9pKM5DGz164fHf9OI+5q54Xh6y AusBuoCyrigJ2doGul4Z5DOgBh33BPB1dmsDzKLbYMhlwYokghAur4ZIlt8sO3omRQ sOITUmPxddMwiuv9ZDFAPh48CjX0rXHuwrkDl7Pg= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Dave Stevenson , Maxime Ripard Subject: [PATCH 5.16 0908/1039] drm/vc4: hdmi: Make sure the device is powered with CEC Date: Mon, 24 Jan 2022 19:44:57 +0100 Message-Id: <20220124184155.818941043@linuxfoundation.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220124184125.121143506@linuxfoundation.org> References: <20220124184125.121143506@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: Maxime Ripard commit 20b0dfa86bef0e80b41b0e5ac38b92f23b6f27f9 upstream. Similarly to what we encountered with the detect hook with DRM, nothing actually prevents any of the CEC callback from being run while the HDMI output is disabled. However, this is an issue since any register access to the controller when it's powered down will result in a silent hang. Let's make sure we run the runtime_pm hooks when the CEC adapter is opened and closed by the userspace to avoid that issue. Fixes: 15b4511a4af6 ("drm/vc4: add HDMI CEC support") Reviewed-by: Dave Stevenson Signed-off-by: Maxime Ripard Link: https://patchwork.freedesktop.org/patch/msgid/20210819135931.895976-6-maxime@cerno.tech Signed-off-by: Greg Kroah-Hartman --- drivers/gpu/drm/vc4/vc4_hdmi.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c @@ -1736,8 +1736,14 @@ static int vc4_hdmi_cec_adap_enable(stru struct vc4_hdmi *vc4_hdmi = cec_get_drvdata(adap); /* clock period in microseconds */ const u32 usecs = 1000000 / CEC_CLOCK_FREQ; - u32 val = HDMI_READ(HDMI_CEC_CNTRL_5); + u32 val; + int ret; + ret = pm_runtime_resume_and_get(&vc4_hdmi->pdev->dev); + if (ret) + return ret; + + val = HDMI_READ(HDMI_CEC_CNTRL_5); val &= ~(VC4_HDMI_CEC_TX_SW_RESET | VC4_HDMI_CEC_RX_SW_RESET | VC4_HDMI_CEC_CNT_TO_4700_US_MASK | VC4_HDMI_CEC_CNT_TO_4500_US_MASK); @@ -1883,6 +1889,8 @@ static int vc4_hdmi_cec_init(struct vc4_ if (ret < 0) goto err_remove_handlers; + pm_runtime_put(&vc4_hdmi->pdev->dev); + return 0; err_remove_handlers: