From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com ([192.55.52.88]:10825 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750806AbcAGNZt convert rfc822-to-8bit (ORCPT ); Thu, 7 Jan 2016 08:25:49 -0500 From: Jani Nikula To: Daniel Vetter , Ville =?utf-8?B?U3lyasOkbMOk?= Cc: DRI Development , Intel Graphics Development , Patrik Jakobsson , Imre Deak , Meelis Roos , Chris Wilson , stable , Daniel Vetter Subject: Re: [PATCH] drm/i915: Init power domains early in driver load In-Reply-To: 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, 07 Jan 2016 15:25:44 +0200 Message-ID: <87k2nlzfl3.fsf@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8BIT Sender: stable-owner@vger.kernel.org List-ID: On Thu, 07 Jan 2016, Daniel Vetter wrote: > 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. Ville's question was why we register the i2c adapters this early. As I explained in [1], the auto-probing happens when there's an i2c driver with matching class (I2C_CLASS_DDC). That's what happens on Meelis' box. But yes, we need to take userspace into account as well. In short, when we call intel_gmbus_setup(), we need to be ready for i2c communication. BR, Jani. [1] http://mid.gmane.org/87vb75znpz.fsf@intel.com -- Jani Nikula, Intel Open Source Technology Center From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH] drm/i915: Init power domains early in driver load Date: Thu, 07 Jan 2016 15:25:44 +0200 Message-ID: <87k2nlzfl3.fsf@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> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter , Ville =?utf-8?B?U3lyasOkbMOk?= Cc: Meelis Roos , Intel Graphics Development , DRI Development , stable , Daniel Vetter List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCAwNyBKYW4gMjAxNiwgRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5j aD4gd3JvdGU6Cj4gT24gVGh1LCBKYW4gNywgMjAxNiBhdCAxOjUyIFBNLCBWaWxsZSBTeXJqw6Rs w6QKPiA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+IHdyb3RlOgo+PiBPbiBUaHUsIEph biAwNywgMjAxNiBhdCAxMjo0NDoyMVBNICswMTAwLCBEYW5pZWwgVmV0dGVyIHdyb3RlOgo+Pj4g U2luY2UKPj4+Cj4+PiBjb21taXQgYWM5YjgyMzY1NTFkMTE3N2ZkMDdiNTZhZWY5YjU2NWQxODY0 NDIwZAo+Pj4gQXV0aG9yOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50 ZWwuY29tPgo+Pj4gRGF0ZTogICBGcmkgTm92IDI3IDE4OjU1OjI2IDIwMTUgKzAyMDAKPj4+Cj4+ PiAgICAgZHJtL2k5MTU6IEludHJvZHVjZSBhIGdtYnVzIHBvd2VyIGRvbWFpbgo+Pj4KPj4+IGdt YnVzIGFsc28gbmVlZHMgdGhlIHBvd2VyIGRvbWFpbiBpbmZyYXN0cnVjdHVyZSByaWdodCBmcm9t IHRoZSBzdGFydCwKPj4+IHNpbmNlIGFzIHNvb24gYXMgd2UgcmVnaXN0ZXIgdGhlIGkyYyBjb250 cm9sbGVycyBzb21lb25lIGNhbiB1c2UgdGhlbS4KPj4+Cj4+PiB2MjogQWRqdXN0IGNsZWFudXAg cGF0aHMgdG9vIChDaHJpcykuCj4+Pgo+Pj4gQ2M6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3ly amFsYUBsaW51eC5pbnRlbC5jb20+Cj4+PiBDYzogUGF0cmlrIEpha29ic3NvbiA8cGF0cmlrLmph a29ic3NvbkBsaW51eC5pbnRlbC5jb20+Cj4+PiBDYzogSW1yZSBEZWFrIDxpbXJlLmRlYWtAaW50 ZWwuY29tPgo+Pj4gQ2M6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRlbC5jb20+Cj4+PiBD YzogTWVlbGlzIFJvb3MgPG1yb29zQGxpbnV4LmVlPgo+Pj4gQ2M6IENocmlzIFdpbHNvbiA8Y2hy aXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+Pj4gRml4ZXM6IGFjOWI4MjM2NTUxZCAoImRybS9pOTE1 OiBJbnRyb2R1Y2UgYSBnbWJ1cyBwb3dlciBkb21haW4iKQo+Pj4gQ2M6IHN0YWJsZUB2Z2VyLmtl cm5lbC5vcmcKPj4+IFJlZmVyZW5jZXM6IGh0dHA6Ly93d3cuc3Bpbmljcy5uZXQvbGlzdHMvaW50 ZWwtZ2Z4L21zZzgzMDc1Lmh0bWwKPj4+IFRlc3RlZC1ieTogTWVlbGlzIFJvb3MgPG1yb29zQGxp bnV4LmVlPgo+Pj4gU2lnbmVkLW9mZi1ieTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBp bnRlbC5jb20+Cj4+PiAtLS0KPj4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RtYS5jIHwg MTEgKysrKystLS0tLS0KPj4+ICAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCA2IGRl bGV0aW9ucygtKQo+Pj4KPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2RtYS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kbWEuYwo+Pj4gaW5kZXggOTg4YTM4 MDY1MTJhLi40OTBkOGIwZDkzMWUgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2RtYS5jCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RtYS5jCj4+ PiBAQCAtMzk4LDcgKzM5OCw2IEBAIHN0YXRpYyBpbnQgaTkxNV9sb2FkX21vZGVzZXRfaW5pdChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+Pj4gICAgICAgaWYgKHJldCkKPj4+ICAgICAgICAgICAg ICAgZ290byBjbGVhbnVwX3ZnYV9zd2l0Y2hlcm9vOwo+Pj4KPj4+IC0gICAgIGludGVsX3Bvd2Vy X2RvbWFpbnNfaW5pdF9odyhkZXZfcHJpdiwgZmFsc2UpOwo+Pj4KPj4+ICAgICAgIGludGVsX2Nz cl91Y29kZV9pbml0KGRldl9wcml2KTsKPj4+Cj4+PiBAQCAtMTAyNSw2ICsxMDI0LDggQEAgaW50 IGk5MTVfZHJpdmVyX2xvYWQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdW5zaWduZWQgbG9uZyBm bGFncykKPj4+Cj4+PiAgICAgICBpbnRlbF9pcnFfaW5pdChkZXZfcHJpdik7Cj4+PiAgICAgICBp bnRlbF91bmNvcmVfc2FuaXRpemUoZGV2KTsKPj4+ICsgICAgIGludGVsX3Bvd2VyX2RvbWFpbnNf aW5pdChkZXZfcHJpdik7Cj4+PiArICAgICBpbnRlbF9wb3dlcl9kb21haW5zX2luaXRfaHcoZGV2 X3ByaXYpOwo+Pgo+PiBJIHRoaW5rIGludGVsX2luaXRfZHBpbygpIG5lZWRzIHRvIGJlIG1vdmVk IHRvby4gV2UgbmVlZCB0byBrbm93IHRoZQo+PiBEUElPIElPU0YgcG9ydHMgYmVmb3JlIGF0dGVt cHRpbmcgdG8gdGFsayB0byB0aGUgUEhZICh3aGljaCBjYW4gaGFwcGVuCj4+IGZyb20gaW50ZWxf cG93ZXJfZG9tYWluc19pbml0X2h3KCkpLgo+Cj4gVWdoLCB3aWxsIGNoYW5nZS4KPgo+PiBJJ20g YWxzbyB3b25kZXJpbmcgd2h5IHdlJ3JlIGRvaW5nIGdtYnVzIGluaXQgdGhpcyBlYXJseS4gV2Ug c2hvdWxkbid0Cj4+IG5lZWQgaXQgdW50aWwgbW9kZXNldCBpbml0Lgo+Cj4gQW55b25lIGNhbiBh Y2Nlc3MgdGhlIGdtYnVzIGNvbnRyb2xsZXIgb25jZSB3ZSByZWdpc3RlciBpdC4gVXNlcnNwYWNl Cj4gY2FuIChsaWtlIHdoYXQgc2VlbXMgdG8gaGFwcGVuIG9uIE1lZWxpcycgYm94KSwgYnV0IGFs c28gdGhlIGkyYyBjb3JlCj4gaGFzIHNvbWUgYXV0by1wcm9iZWQgc3R1ZmYgaW4gc29tZSBjb25m aWdzIGFmYWlrLgoKVmlsbGUncyBxdWVzdGlvbiB3YXMgd2h5IHdlIHJlZ2lzdGVyIHRoZSBpMmMg YWRhcHRlcnMgdGhpcyBlYXJseS4KCkFzIEkgZXhwbGFpbmVkIGluIFsxXSwgdGhlIGF1dG8tcHJv YmluZyBoYXBwZW5zIHdoZW4gdGhlcmUncyBhbiBpMmMKZHJpdmVyIHdpdGggbWF0Y2hpbmcgY2xh c3MgKEkyQ19DTEFTU19EREMpLiBUaGF0J3Mgd2hhdCBoYXBwZW5zIG9uCk1lZWxpcycgYm94LiBC dXQgeWVzLCB3ZSBuZWVkIHRvIHRha2UgdXNlcnNwYWNlIGludG8gYWNjb3VudCBhcyB3ZWxsLgoK SW4gc2hvcnQsIHdoZW4gd2UgY2FsbCBpbnRlbF9nbWJ1c19zZXR1cCgpLCB3ZSBuZWVkIHRvIGJl IHJlYWR5IGZvciBpMmMKY29tbXVuaWNhdGlvbi4KCkJSLApKYW5pLgoKCgoKWzFdIGh0dHA6Ly9t aWQuZ21hbmUub3JnLzg3dmI3NXpucHouZnNmQGludGVsLmNvbQoKCi0tIApKYW5pIE5pa3VsYSwg SW50ZWwgT3BlbiBTb3VyY2UgVGVjaG5vbG9neSBDZW50ZXIKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngK