From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Vivi Subject: Re: [PATCH 1/2] x86/gpu: reserve ICL's graphics stolen memory Date: Mon, 18 Jun 2018 10:47:21 -0700 Message-ID: <20180618174721.GC2236@intel.com> References: <20180503002352.11951-1-paulo.r.zanoni@intel.com> <20180504203252.28048-1-paulo.r.zanoni@intel.com> <152568281673.4929.8527287724144901266@moflaher-mobl.ger.corp.intel.com> <1527889491.2503.9.camel@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id C28306E0E1 for ; Mon, 18 Jun 2018 17:47:22 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1527889491.2503.9.camel@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Paulo Zanoni , Thomas Gleixner , Ingo Molnar Cc: x86@kernel.org, intel-gfx@lists.freedesktop.org, stable@vger.kernel.org, "H . Peter Anvin" , Ingo Molnar List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBKdW4gMDEsIDIwMTggYXQgMDI6NDQ6NTFQTSAtMDcwMCwgUGF1bG8gWmFub25pIHdy b3RlOgo+IEVtIFNlZywgMjAxOC0wNS0wNyDDoHMgMTE6NDYgKzAzMDAsIEpvb25hcyBMYWh0aW5l biBlc2NyZXZldToKPiA+IEluZ28sIGRvIHlvdSBwcmVmZXIgdG8gbWVyZ2UgdGhyb3VnaCBvdXIg dHJlZSB3aXRoIHlvdXIgYWNrPwo+IAo+IFBpbmc/Cj4gCj4gPiAKPiA+IFF1b3RpbmcgUGF1bG8g WmFub25pICgyMDE4LTA1LTA0IDIzOjMyOjUxKQo+ID4gPiBJQ0wgY2hhbmdlcyB0aGUgcmVnaXN0 ZXJzIGFuZCBhZGRyZXNzZXMgdG8gNjQgYml0cy4KPiA+ID4gCj4gPiA+IEkgYWxzbyBicmllZmx5 IGxvb2tlZCBhdCBpbXBsZW1lbnRpbmcgYW4gdTY0IHZlcnNpb24gb2YgdGhlIFBDSQo+ID4gPiBj b25maWcKPiA+ID4gcmVhZCBmdW5jdGlvbnMsIGJ1dCBJIGNvbmNsdWRlZCB0aGlzIHdvdWxkbid0 IGJlIHRyaXZpYWwsIHNvIGl0J3MKPiA+ID4gbm90Cj4gPiA+IHdvcnRoIGRvaW5nIGl0IGZvciBh IHNpbmdsZSB1c2VyIHRoYXQgY2FuJ3QgaGF2ZSBhbnkgcmFjaW5nCj4gPiA+IHByb2JsZW1zCj4g PiA+IHdoaWxlIHJlYWRpbmcgdGhlIHJlZ2lzdGVyIGluIHR3byBzZXBhcmF0ZSBvcGVyYXRpb25z Lgo+ID4gPiAKPiA+ID4gdjI6Cj4gPiA+ICAtIFNjcnViIHRoZSBkZXZlbG9wbWVudCAobm9uLXB1 YmxpYykgY2hhbmdlbG9nIChKb29uYXMpLgo+ID4gPiAgLSBSZW1vdmUgdGhlIGk5MTUua28gYml0 cyBzbyB0aGlzIGNhbiBiZSBlYXNpbHkgYmFja3BvcnRlZCBpbgo+ID4gPiBvcmRlcgo+ID4gPiAg ICB0byBwcm9wZXJseSBhdm9pZCBzdG9sZW4gbWVtb3J5IGV2ZW4gb24gbWFjaGluZXMgd2l0aG91 dCBpOTE1LmtvCj4gPiA+ICAgIChKb29uYXMpLgo+ID4gPiAgLSBDQyBzdGFibGUgZm9yIHRoZSBy ZWFzb25zIGFib3ZlLgo+ID4gPiAKPiA+ID4gSXNzdWU6IFZJWi05MjUwCj4gPiAKPiA+IEZpeGVz OiA0MTIzMTAwMTlhMjAgKCJkcm0vaTkxNS9pY2w6IEFkZCBpbml0aWFsIEljZWxha2UKPiA+IGRl ZmluaXRpb25zLiIpCj4gPiAKPiA+ID4gQ0M6IHN0YWJsZUB2Z2VyLmtlcm5lbC5vcmcKPiA+IAo+ ID4gVGhpcyBzaG91bGQgbm90IGJlIG5lZWRlZCwgaXQgd2FzIGludHJvZHVjZWQgaW4gdjQuMTct cmMxIG9ubHkuCj4gPiAKPiA+IFJldmlld2VkLWJ5OiBKb29uYXMgTGFodGluZW4gPGpvb25hcy5s YWh0aW5lbkBsaW51eC5pbnRlbC5jb20+Cj4gPiAKPiA+IFJlZ2FyZHMsIEpvb25hcwo+ID4KCkNj OiBUaG9tYXMgR2xlaXhuZXIgPHRnbHhAbGludXRyb25peC5kZT4KPiA+ID4gQ2M6IEluZ28gTW9s bmFyIDxtaW5nb0BrZXJuZWwub3JnPgo+ID4gPiBDYzogSC4gUGV0ZXIgQW52aW4gPGhwYUB6eXRv ci5jb20+Cj4gPiA+IENjOiB4ODZAa2VybmVsLm9yZwoKZ3V5cywgY291bGQgd2UgcHVzaCB0aGlz IHRocm91Z2ggZHJtLWludGVsPyBhY2s/Cm5hY2s/IGNvbW1lbnRzPwoKPiA+ID4gQ2M6IERhbmll bGUgQ2VyYW9sbyBTcHVyaW8gPGRhbmllbGUuY2VyYW9sb3NwdXJpb0BpbnRlbC5jb20+Cj4gPiA+ IENjOiBKb29uYXMgTGFodGluZW4gPGpvb25hcy5sYWh0aW5lbkBsaW51eC5pbnRlbC5jb20+Cj4g PiA+IFNpZ25lZC1vZmYtYnk6IFBhdWxvIFphbm9uaSA8cGF1bG8uci56YW5vbmlAaW50ZWwuY29t Pgo+ID4gPiAtLS0KPiA+ID4gIGFyY2gveDg2L2tlcm5lbC9lYXJseS1xdWlya3MuYyB8IDE4ICsr KysrKysrKysrKysrKysrKwo+ID4gPiAgaW5jbHVkZS9kcm0vaTkxNV9kcm0uaCAgICAgICAgIHwg IDQgKysrLQo+ID4gPiAgMiBmaWxlcyBjaGFuZ2VkLCAyMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0 aW9uKC0pCj4gPiA+IAo+ID4gPiBkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2Vhcmx5LXF1 aXJrcy5jCj4gPiA+IGIvYXJjaC94ODYva2VybmVsL2Vhcmx5LXF1aXJrcy5jCj4gPiA+IGluZGV4 IGJhZTBkMzJlMzI3Yi4uNzJjMmNmOTYxZDQ0IDEwMDY0NAo+ID4gPiAtLS0gYS9hcmNoL3g4Ni9r ZXJuZWwvZWFybHktcXVpcmtzLmMKPiA+ID4gKysrIGIvYXJjaC94ODYva2VybmVsL2Vhcmx5LXF1 aXJrcy5jCj4gPiA+IEBAIC0zNDAsNiArMzQwLDE4IEBAIHN0YXRpYyByZXNvdXJjZV9zaXplX3Qg X19pbml0Cj4gPiA+IGdlbjNfc3RvbGVuX2Jhc2UoaW50IG51bSwgaW50IHNsb3QsIGludCBmdW5j LAo+ID4gPiAgICAgICAgIHJldHVybiBic20gJiBJTlRFTF9CU01fTUFTSzsKPiA+ID4gIH0KPiA+ ID4gIAo+ID4gPiArc3RhdGljIHJlc291cmNlX3NpemVfdCBfX2luaXQgZ2VuMTFfc3RvbGVuX2Jh c2UoaW50IG51bSwgaW50IHNsb3QsCj4gPiA+IGludCBmdW5jLAo+ID4gPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvdXJjZV9zaXplX3QKPiA+ID4g c3RvbGVuX3NpemUpCj4gPiA+ICt7Cj4gPiA+ICsgICAgICAgdTY0IGJzbTsKPiA+ID4gKwo+ID4g PiArICAgICAgIGJzbSA9IHJlYWRfcGNpX2NvbmZpZyhudW0sIHNsb3QsIGZ1bmMsCj4gPiA+IElO VEVMX0dFTjExX0JTTV9EVzApOwo+ID4gPiArICAgICAgIGJzbSAmPSBJTlRFTF9CU01fTUFTSzsK PiA+ID4gKyAgICAgICBic20gfD0gKHU2NClyZWFkX3BjaV9jb25maWcobnVtLCBzbG90LCBmdW5j LAo+ID4gPiBJTlRFTF9HRU4xMV9CU01fRFcxKSA8PCAzMjsKPiA+ID4gKwo+ID4gPiArICAgICAg IHJldHVybiBic207Cj4gPiA+ICt9Cj4gPiA+ICsKPiA+ID4gIHN0YXRpYyByZXNvdXJjZV9zaXpl X3QgX19pbml0IGk4MzBfc3RvbGVuX3NpemUoaW50IG51bSwgaW50IHNsb3QsCj4gPiA+IGludCBm dW5jKQo+ID4gPiAgewo+ID4gPiAgICAgICAgIHUxNiBnbWNoX2N0cmw7Cj4gPiA+IEBAIC01MDAs NiArNTEyLDExIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZWFybHlfb3BzCj4gPiA+IGNo dl9lYXJseV9vcHMgX19pbml0Y29uc3QgPSB7Cj4gPiA+ICAgICAgICAgLnN0b2xlbl9zaXplID0g Y2h2X3N0b2xlbl9zaXplLAo+ID4gPiAgfTsKPiA+ID4gIAo+ID4gPiArc3RhdGljIGNvbnN0IHN0 cnVjdCBpbnRlbF9lYXJseV9vcHMgZ2VuMTFfZWFybHlfb3BzIF9faW5pdGNvbnN0ID0KPiA+ID4g ewo+ID4gPiArICAgICAgIC5zdG9sZW5fYmFzZSA9IGdlbjExX3N0b2xlbl9iYXNlLAo+ID4gPiAr ICAgICAgIC5zdG9sZW5fc2l6ZSA9IGdlbjlfc3RvbGVuX3NpemUsCj4gPiA+ICt9Owo+ID4gPiAr Cj4gPiA+ICBzdGF0aWMgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgaW50ZWxfZWFybHlfaWRz W10gX19pbml0Y29uc3QgPQo+ID4gPiB7Cj4gPiA+ICAgICAgICAgSU5URUxfSTgzMF9JRFMoJmk4 MzBfZWFybHlfb3BzKSwKPiA+ID4gICAgICAgICBJTlRFTF9JODQ1R19JRFMoJmk4NDVfZWFybHlf b3BzKSwKPiA+ID4gQEAgLTUzMSw2ICs1NDgsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHBjaV9k ZXZpY2VfaWQKPiA+ID4gaW50ZWxfZWFybHlfaWRzW10gX19pbml0Y29uc3QgPSB7Cj4gPiA+ICAg ICAgICAgSU5URUxfQ0ZMX0lEUygmZ2VuOV9lYXJseV9vcHMpLAo+ID4gPiAgICAgICAgIElOVEVM X0dMS19JRFMoJmdlbjlfZWFybHlfb3BzKSwKPiA+ID4gICAgICAgICBJTlRFTF9DTkxfSURTKCZn ZW45X2Vhcmx5X29wcyksCj4gPiA+ICsgICAgICAgSU5URUxfSUNMXzExX0lEUygmZ2VuMTFfZWFy bHlfb3BzKSwKPiA+ID4gIH07Cj4gPiA+ICAKPiA+ID4gIHN0cnVjdCByZXNvdXJjZSBpbnRlbF9n cmFwaGljc19zdG9sZW5fcmVzIF9fcm9fYWZ0ZXJfaW5pdCA9Cj4gPiA+IERFRklORV9SRVNfTUVN KDAsIDApOwo+ID4gPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vaTkxNV9kcm0uaCBiL2luY2x1 ZGUvZHJtL2k5MTVfZHJtLmgKPiA+ID4gaW5kZXggYzllNWE2NjIxYjk1Li5jNDQ3MDNmNDcxYjMg MTAwNjQ0Cj4gPiA+IC0tLSBhL2luY2x1ZGUvZHJtL2k5MTVfZHJtLmgKPiA+ID4gKysrIGIvaW5j bHVkZS9kcm0vaTkxNV9kcm0uaAo+ID4gPiBAQCAtOTUsNyArOTUsOSBAQCBleHRlcm4gc3RydWN0 IHJlc291cmNlIGludGVsX2dyYXBoaWNzX3N0b2xlbl9yZXM7Cj4gPiA+ICAjZGVmaW5lICAgIEk4 NDVfVFNFR19TSVpFXzUxMksgKDIgPDwgMSkKPiA+ID4gICNkZWZpbmUgICAgSTg0NV9UU0VHX1NJ WkVfMU0gICAoMyA8PCAxKQo+ID4gPiAgCj4gPiA+IC0jZGVmaW5lIElOVEVMX0JTTSAweDVjCj4g PiA+ICsjZGVmaW5lIElOVEVMX0JTTSAgICAgICAgICAgICAgMHg1Ywo+ID4gPiArI2RlZmluZSBJ TlRFTF9HRU4xMV9CU01fRFcwICAgIDB4YzAKPiA+ID4gKyNkZWZpbmUgSU5URUxfR0VOMTFfQlNN X0RXMSAgICAweGM0Cj4gPiA+ICAjZGVmaW5lICAgSU5URUxfQlNNX01BU0sgICAgICAgKC0oMXUg PDwgMjApKQo+ID4gPiAgCj4gPiA+ICAjZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgLyog X0k5MTVfRFJNX0hfICovCj4gPiA+IC0tIAo+ID4gPiAyLjE0LjMKPiA+ID4gCj4gX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBJbnRlbC1nZnggbWFpbGlu ZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QK SW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com ([192.55.52.93]:20959 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S935319AbeFRRrW (ORCPT ); Mon, 18 Jun 2018 13:47:22 -0400 Date: Mon, 18 Jun 2018 10:47:21 -0700 From: Rodrigo Vivi To: Paulo Zanoni , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" Cc: Joonas Lahtinen , intel-gfx@lists.freedesktop.org, x86@kernel.org, Ingo Molnar , stable@vger.kernel.org, "H . Peter Anvin" Subject: Re: [Intel-gfx] [PATCH 1/2] x86/gpu: reserve ICL's graphics stolen memory Message-ID: <20180618174721.GC2236@intel.com> References: <20180503002352.11951-1-paulo.r.zanoni@intel.com> <20180504203252.28048-1-paulo.r.zanoni@intel.com> <152568281673.4929.8527287724144901266@moflaher-mobl.ger.corp.intel.com> <1527889491.2503.9.camel@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1527889491.2503.9.camel@intel.com> Sender: stable-owner@vger.kernel.org List-ID: On Fri, Jun 01, 2018 at 02:44:51PM -0700, Paulo Zanoni wrote: > Em Seg, 2018-05-07 �s 11:46 +0300, Joonas Lahtinen escreveu: > > Ingo, do you prefer to merge through our tree with your ack? > > Ping? > > > > > Quoting Paulo Zanoni (2018-05-04 23:32:51) > > > ICL changes the registers and addresses to 64 bits. > > > > > > I also briefly looked at implementing an u64 version of the PCI > > > config > > > read functions, but I concluded this wouldn't be trivial, so it's > > > not > > > worth doing it for a single user that can't have any racing > > > problems > > > while reading the register in two separate operations. > > > > > > v2: > > > - Scrub the development (non-public) changelog (Joonas). > > > - Remove the i915.ko bits so this can be easily backported in > > > order > > > to properly avoid stolen memory even on machines without i915.ko > > > (Joonas). > > > - CC stable for the reasons above. > > > > > > Issue: VIZ-9250 > > > > Fixes: 412310019a20 ("drm/i915/icl: Add initial Icelake > > definitions.") > > > > > CC: stable@vger.kernel.org > > > > This should not be needed, it was introduced in v4.17-rc1 only. > > > > Reviewed-by: Joonas Lahtinen > > > > Regards, Joonas > > Cc: Thomas Gleixner > > > Cc: Ingo Molnar > > > Cc: H. Peter Anvin > > > Cc: x86@kernel.org guys, could we push this through drm-intel? ack? nack? comments? > > > Cc: Daniele Ceraolo Spurio > > > Cc: Joonas Lahtinen > > > Signed-off-by: Paulo Zanoni > > > --- > > > arch/x86/kernel/early-quirks.c | 18 ++++++++++++++++++ > > > include/drm/i915_drm.h | 4 +++- > > > 2 files changed, 21 insertions(+), 1 deletion(-) > > > > > > diff --git a/arch/x86/kernel/early-quirks.c > > > b/arch/x86/kernel/early-quirks.c > > > index bae0d32e327b..72c2cf961d44 100644 > > > --- a/arch/x86/kernel/early-quirks.c > > > +++ b/arch/x86/kernel/early-quirks.c > > > @@ -340,6 +340,18 @@ static resource_size_t __init > > > gen3_stolen_base(int num, int slot, int func, > > > return bsm & INTEL_BSM_MASK; > > > } > > > > > > +static resource_size_t __init gen11_stolen_base(int num, int slot, > > > int func, > > > + resource_size_t > > > stolen_size) > > > +{ > > > + u64 bsm; > > > + > > > + bsm = read_pci_config(num, slot, func, > > > INTEL_GEN11_BSM_DW0); > > > + bsm &= INTEL_BSM_MASK; > > > + bsm |= (u64)read_pci_config(num, slot, func, > > > INTEL_GEN11_BSM_DW1) << 32; > > > + > > > + return bsm; > > > +} > > > + > > > static resource_size_t __init i830_stolen_size(int num, int slot, > > > int func) > > > { > > > u16 gmch_ctrl; > > > @@ -500,6 +512,11 @@ static const struct intel_early_ops > > > chv_early_ops __initconst = { > > > .stolen_size = chv_stolen_size, > > > }; > > > > > > +static const struct intel_early_ops gen11_early_ops __initconst = > > > { > > > + .stolen_base = gen11_stolen_base, > > > + .stolen_size = gen9_stolen_size, > > > +}; > > > + > > > static const struct pci_device_id intel_early_ids[] __initconst = > > > { > > > INTEL_I830_IDS(&i830_early_ops), > > > INTEL_I845G_IDS(&i845_early_ops), > > > @@ -531,6 +548,7 @@ static const struct pci_device_id > > > intel_early_ids[] __initconst = { > > > INTEL_CFL_IDS(&gen9_early_ops), > > > INTEL_GLK_IDS(&gen9_early_ops), > > > INTEL_CNL_IDS(&gen9_early_ops), > > > + INTEL_ICL_11_IDS(&gen11_early_ops), > > > }; > > > > > > struct resource intel_graphics_stolen_res __ro_after_init = > > > DEFINE_RES_MEM(0, 0); > > > diff --git a/include/drm/i915_drm.h b/include/drm/i915_drm.h > > > index c9e5a6621b95..c44703f471b3 100644 > > > --- a/include/drm/i915_drm.h > > > +++ b/include/drm/i915_drm.h > > > @@ -95,7 +95,9 @@ extern struct resource intel_graphics_stolen_res; > > > #define I845_TSEG_SIZE_512K (2 << 1) > > > #define I845_TSEG_SIZE_1M (3 << 1) > > > > > > -#define INTEL_BSM 0x5c > > > +#define INTEL_BSM 0x5c > > > +#define INTEL_GEN11_BSM_DW0 0xc0 > > > +#define INTEL_GEN11_BSM_DW1 0xc4 > > > #define INTEL_BSM_MASK (-(1u << 20)) > > > > > > #endif /* _I915_DRM_H_ */ > > > -- > > > 2.14.3 > > > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx