From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753630AbdKAOQg (ORCPT ); Wed, 1 Nov 2017 10:16:36 -0400 Received: from fw-tnat.cambridge.arm.com ([217.140.96.140]:52315 "EHLO cam-smtp0.cambridge.arm.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750848AbdKAOQf (ORCPT ); Wed, 1 Nov 2017 10:16:35 -0400 From: Liviu Dudau To: Brian Starkey Cc: Mali DP Maintainers , David Airlie , DRI-devel , LKML Subject: [PATCH] drm: hdlcd: Skip checking the clock provider when CRTC is disabled. Date: Wed, 1 Nov 2017 14:16:25 +0000 Message-Id: <20171101141625.3297-1-Liviu.Dudau@arm.com> X-Mailer: git-send-email 2.14.3 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Some clock providers (clk-vexpress-osc) trigger a WARN() when the requested rate falls outside its capabilities, as is the case when a CRTC gets disabled. Check if the CRTC's new state is enabled and skip the clk_round_rate() call if it is not. Reported-by: Vladimir Murzin Signed-off-by: Liviu Dudau Tested-by: Vladimir Murzin --- drivers/gpu/drm/arm/hdlcd_crtc.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/arm/hdlcd_crtc.c b/drivers/gpu/drm/arm/hdlcd_crtc.c index 72b22b805412b..a1387a8bf78c4 100644 --- a/drivers/gpu/drm/arm/hdlcd_crtc.c +++ b/drivers/gpu/drm/arm/hdlcd_crtc.c @@ -193,6 +193,10 @@ static int hdlcd_crtc_atomic_check(struct drm_crtc *crtc, struct drm_display_mode *mode = &state->adjusted_mode; long rate, clk_rate = mode->clock * 1000; + /* if the crtc is disabled, skip the clock check */ + if (!state->enable) + return 0; + rate = clk_round_rate(hdlcd->clk, clk_rate); if (rate != clk_rate) { /* clock required by mode not supported by hardware */ -- 2.14.1