Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755034AbdLTLdG (ORCPT ); Wed, 20 Dec 2017 06:33:06 -0500 Received: from bhuna.collabora.co.uk ([46.235.227.227]:41080 "EHLO bhuna.collabora.co.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754328AbdLTLdE (ORCPT ); Wed, 20 Dec 2017 06:33:04 -0500 From: Guillaume Tucker To: Thierry Reding , Jon Hunter , David Airlie Cc: linux-tegra@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Guillaume Tucker Subject: [RFC PATCH v2 0/1] Fix drm driver hang on tegra124-nyan-big Date: Wed, 20 Dec 2017 11:32:22 +0000 Message-Id: X-Mailer: git-send-email 2.11.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1323 Lines: 31 This patch was initially sent along with another one to fix a first hang in the nouveau drm driver[1]. I'm now sending it again as a separate patch as it's to fix a second hang which is not strictly related. It is hidden by the first hang though, as this happens later on during the driver initialisation. The issue this is addressing is due to a rework[2] of the driver which apparently wasn't fully tested on tegra124 and possibly also on tegra210. The sor->clk_out is not used on these platforms as HDMI and DP are both not supported (but eDP is), so trying to assign the parent clock to clk_out does nothing. The driver then goes on to configure the clock and PLL registers in tegra_sor_edp_enable and this is where it hangs. As this is hard to debug further without full documentation or a hardware debugger, this patch essentially makes the driver do what it used to do on these platforms before the rework (i.e. assign the parent clock to sor->clk instead). There might be a more correct way of fixing this, hence the RFC. [1] https://patchwork.kernel.org/patch/10124637/ [2] e1335e2f0cfc ("drm/tegra: sor: Reimplement pad clock") Guillaume Tucker (1): drm/tegra: sor: Fix hang on tegra124 due to NULL clk_out drivers/gpu/drm/tegra/sor.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- 2.11.0