From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ob0-f169.google.com ([209.85.214.169]:35306 "EHLO mail-ob0-f169.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752067AbcAGNPv convert rfc822-to-8bit (ORCPT ); Thu, 7 Jan 2016 08:15:51 -0500 Received: by mail-ob0-f169.google.com with SMTP id xn1so52051089obc.2 for ; Thu, 07 Jan 2016 05:15:51 -0800 (PST) MIME-Version: 1.0 In-Reply-To: <20160107125226.GA4437@intel.com> References: <1452157856-27360-1-git-send-email-daniel.vetter@ffwll.ch> <1452167061-27252-1-git-send-email-daniel.vetter@ffwll.ch> <20160107125226.GA4437@intel.com> Date: Thu, 7 Jan 2016 14:15:50 +0100 Message-ID: Subject: Re: [PATCH] drm/i915: Init power domains early in driver load From: Daniel Vetter To: =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= Cc: DRI Development , Intel Graphics Development , Patrik Jakobsson , Imre Deak , Jani Nikula , Meelis Roos , Chris Wilson , stable , Daniel Vetter Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Sender: stable-owner@vger.kernel.org List-ID: On Thu, Jan 7, 2016 at 1:52 PM, Ville Syrjälä wrote: > On Thu, Jan 07, 2016 at 12:44:21PM +0100, Daniel Vetter wrote: >> Since >> >> commit ac9b8236551d1177fd07b56aef9b565d1864420d >> Author: Ville Syrjälä >> Date: Fri Nov 27 18:55:26 2015 +0200 >> >> drm/i915: Introduce a gmbus power domain >> >> gmbus also needs the power domain infrastructure right from the start, >> since as soon as we register the i2c controllers someone can use them. >> >> v2: Adjust cleanup paths too (Chris). >> >> Cc: Ville Syrjälä >> Cc: Patrik Jakobsson >> Cc: Imre Deak >> Cc: Jani Nikula >> Cc: Meelis Roos >> Cc: Chris Wilson >> Fixes: ac9b8236551d ("drm/i915: Introduce a gmbus power domain") >> Cc: stable@vger.kernel.org >> References: http://www.spinics.net/lists/intel-gfx/msg83075.html >> Tested-by: Meelis Roos >> Signed-off-by: Daniel Vetter >> --- >> drivers/gpu/drm/i915/i915_dma.c | 11 +++++------ >> 1 file changed, 5 insertions(+), 6 deletions(-) >> >> diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c >> index 988a3806512a..490d8b0d931e 100644 >> --- a/drivers/gpu/drm/i915/i915_dma.c >> +++ b/drivers/gpu/drm/i915/i915_dma.c >> @@ -398,7 +398,6 @@ static int i915_load_modeset_init(struct drm_device *dev) >> if (ret) >> goto cleanup_vga_switcheroo; >> >> - intel_power_domains_init_hw(dev_priv, false); >> >> intel_csr_ucode_init(dev_priv); >> >> @@ -1025,6 +1024,8 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags) >> >> intel_irq_init(dev_priv); >> intel_uncore_sanitize(dev); >> + intel_power_domains_init(dev_priv); >> + intel_power_domains_init_hw(dev_priv); > > I think intel_init_dpio() needs to be moved too. We need to know the > DPIO IOSF ports before attempting to talk to the PHY (which can happen > from intel_power_domains_init_hw()). Ugh, will change. > I'm also wondering why we're doing gmbus init this early. We shouldn't > need it until modeset init. Anyone can access the gmbus controller once we register it. Userspace can (like what seems to happen on Meelis' box), but also the i2c core has some auto-probed stuff in some configs afaik. -Daniel -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch