From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Return-Path: From: Gabriele Paoloni To: Benjamin Herrenschmidt , Bjorn Helgaas Subject: RE: [PATCH v4] PCI: Support hibmc VGA cards behind a misbehaving HiSilicon bridge Date: Fri, 14 Jul 2017 12:14:01 +0000 Message-ID: References: <20170712050811.3620-1-dja@axtens.net> <20170712200430.GI14614@bhelgaas-glaptop.roam.corp.google.com> <20170713112938.GI4486@bhelgaas-glaptop.roam.corp.google.com> <1499978726.2865.59.camel@kernel.crashing.org> In-Reply-To: <1499978726.2865.59.camel@kernel.crashing.org> MIME-Version: 1.0 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: David Airlie , "linux-pci@vger.kernel.org" , Will Deacon , "Liuxinliang \(Matthew Liu\)" , Alex Williamson , Catalin Marinas , Rongrong Zou , Daniel Vetter , "linux-arm-kernel@lists.infradead.org" , Daniel Axtens Content-Type: text/plain; charset="utf-8" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+bjorn=helgaas.com@lists.infradead.org List-ID: SGkgQmVuDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQmVuamFtaW4g SGVycmVuc2NobWlkdCBbbWFpbHRvOmJlbmhAa2VybmVsLmNyYXNoaW5nLm9yZ10NCj4gU2VudDog MTMgSnVseSAyMDE3IDIxOjQ1DQo+IFRvOiBCam9ybiBIZWxnYWFzOyBHYWJyaWVsZSBQYW9sb25p DQo+IENjOiBEYW5pZWwgQXh0ZW5zOyBsaW51eC1wY2lAdmdlci5rZXJuZWwub3JnOyBMaXV4aW5s aWFuZyAoTWF0dGhldw0KPiBMaXUpOyBSb25ncm9uZyBab3U7IENhdGFsaW4gTWFyaW5hczsgV2ls bCBEZWFjb247IGxpbnV4LWFybS0NCj4ga2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmc7IERhdmlk IEFpcmxpZTsgRGFuaWVsIFZldHRlcjsgQWxleA0KPiBXaWxsaWFtc29uDQo+IFN1YmplY3Q6IFJl OiBbUEFUQ0ggdjRdIFBDSTogU3VwcG9ydCBoaWJtYyBWR0EgY2FyZHMgYmVoaW5kIGENCj4gbWlz YmVoYXZpbmcgSGlTaWxpY29uIGJyaWRnZQ0KPiANCj4gT24gVGh1LCAyMDE3LTA3LTEzIGF0IDA2 OjI5IC0wNTAwLCBCam9ybiBIZWxnYWFzIHdyb3RlOg0KPiA+ID4gSW5kZWVkIG91ciBob3N0IGNv bnRyb2xsZXIgZGVwZW5kcyBvbiBBUk02NCBzbyBtYXliZSBpdCB3b3VsZCBtYWtlDQo+ID4gPiBz ZW5zZSB0byBtb3ZlIHRoZSBxdWlyayBhcmNoL2FybTY0L2tlcm5lbC9wY2kuYzsgaG93ZXZlciBy ZWdhcmRsZXNzDQo+ID4gPiB3aHkgaXMgaXQgc3RyaWN0bHkgcmVxdWlyZWQgZm9yIGEgVkdBIGRl dmljZSB0byBiZSBsZWdhY3kgb25lIGluDQo+IG9yZGVyDQo+ID4gPiB0byBtYWtlIGl0IHRoZSBk ZWZhdWx0IGJvb3QgZGV2aWNlPw0KPiA+ID4gaS5lLiBjb3VsZG4ndCB3ZSBoYXZlOg0KPiA+ID4N Cj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS92Z2EvdmdhYXJiLmMgYi9kcml2ZXJzL2dw dS92Z2EvdmdhYXJiLmMNCj4gPiA+IGluZGV4IDBmNWIyZGQuLmE2YjYwNmMgMTAwNjQ0DQo+ID4g PiAtLS0gYS9kcml2ZXJzL2dwdS92Z2EvdmdhYXJiLmMNCj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1 L3ZnYS92Z2FhcmIuYw0KPiA+ID4gQEAgLTY2Nyw4ICs2NjcsNyBAQCBzdGF0aWMgYm9vbCB2Z2Ff YXJiaXRlcl9hZGRfcGNpX2RldmljZShzdHJ1Y3QNCj4gcGNpX2RldiAqcGRldikNCj4gPiA+IMKg wqDCoMKgwqDCoMKgLyogRGVhbCB3aXRoIFZHQSBkZWZhdWx0IGRldmljZS4gVXNlIGZpcnN0IGVu YWJsZWQgb25lDQo+ID4gPiDCoMKgwqDCoMKgwqDCoCAqIGJ5IGRlZmF1bHQgaWYgYXJjaCBkb2Vz bid0IGhhdmUgaXQncyBvd24gaG9vaw0KPiA+ID4gwqDCoMKgwqDCoMKgwqAgKi8NCj4gPiA+IC3C oMKgwqDCoMKgaWYgKHZnYV9kZWZhdWx0ID09IE5VTEwgJiYNCj4gPiA+IC3CoMKgwqDCoMKgwqDC oMKgICgodmdhZGV2LT5vd25zICYgVkdBX1JTUkNfTEVHQUNZX01BU0spID09DQo+IFZHQV9SU1JD X0xFR0FDWV9NQVNLKSkgew0KPiA+ID4gK8KgwqDCoMKgwqBpZiAodmdhX2RlZmF1bHQgPT0gTlVM TCkgew0KPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgdmdhYXJiX2luZm8oJnBk ZXYtPmRldiwgInNldHRpbmcgYXMgYm9vdCBWR0ENCj4gZGV2aWNlXG4iKTsNCj4gPiA+IMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHZnYV9zZXRfZGVmYXVsdF9kZXZpY2UocGRldik7DQo+ ID4gPiDCoMKgwqDCoMKgwqDCoH0NCj4gPg0KPiA+IEkgZG9uJ3Qga25vdyBlbm91Z2ggYWJvdXQg dGhlIFZHQSBhcmJpdGVyIHRvIGFuc3dlciB0aGlzLsKgIFRoaXMgdGVzdA0KPiB3YXMNCj4gPiBw YXJ0IG9mIHRoZSBpbml0aWFsIGltcGxlbWVudGF0aW9uOiBkZWIyZDJlY2Q0M2QgKCJQQ0kvR1BV OiBpbXBsZW1lbnQNCj4gVkdBDQo+ID4gYXJiaXRyYXRpb24gb24gTGludXgiKSBieSBCZW4uDQo+ IA0KPiBUaGUgYWJvdmUgc2ltcGx5IHVzZXMgdGhlIGZpcnN0IGRldmljZSB0aGF0IGhhcyBtZW1v cnkgYW5kIElPIGVuYWJsZWQNCj4gYXMgdGhlIGRlZmF1bHQgZGV2aWNlICh5b3UgZG9uJ3QgbmVl ZCB0byBoYXZlIGEgZGVmYXVsdCBkZXZpY2UpLg0KPiANCj4gVGhpcyBpcyBlc3NlbnRpYWxseSBw aWNraW5nIHVwIHdoYXRldmVyIGRldmljZSBoYWQgYmVlbiBpbml0aWFsaXplZA0KPiBieSB0aGUg QklPUy9maXJtd2FyZSBhcyBkZWZhdWx0LiBUaGlzIGlzIG5lZWRlZCBmb3IgZXhhbXBsZSBvbiB4 ODYNCj4gd2hlcmUgdGhlIEJJT1MgdGVuZHMgdG8gb25seSBpbml0aWFsaXplIG9uZSBkZXZpY2Uu DQo+IA0KPiBJJ20gbm90IHN1cmUgd2hhdCBwcm9ibGVtIHlvdSBhcmUgdHJ5aW5nIHRvIHNvbHZl IGhlcmUgPw0KDQpXZWxsIG91ciBob3N0IHBsYXRmb3JtIGRvZXMgbm90IHN1cHBvcnQgbGVnYWN5 IGRldmljZXMgYW5kIHRoZXJlZm9yZSB3ZSBmaW5kDQpvdXJzZWx2ZXMgd2l0aG91dCBhIGRlZmF1 bHQgVkdBIGRldmljZS4uLg0KDQpJIHdhcyB0cnlpbmcgdG8gdW5kZXJzdGFuZCB3aHkgYSBkZWZh dWx0IGRldmljZSBoYXMgdG8gYmUgbGVnYWN5Li4uYnV0IEkgdGhpbmsNCnRoaXMgd2FzIGFuc3dl cmVkIGJ5IGJvdGggeW91IGFuZCBBbGV4IGluIG90aGVyIGZvbGxvd3MtdXAuLi4NCg0KVGhhbmtz DQpHYWIgDQoNCj4gDQo+IENoZWVycywNCj4gQmVuLg0KDQpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdAps aW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVh ZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 From: gabriele.paoloni@huawei.com (Gabriele Paoloni) Date: Fri, 14 Jul 2017 12:14:01 +0000 Subject: [PATCH v4] PCI: Support hibmc VGA cards behind a misbehaving HiSilicon bridge In-Reply-To: <1499978726.2865.59.camel@kernel.crashing.org> References: <20170712050811.3620-1-dja@axtens.net> <20170712200430.GI14614@bhelgaas-glaptop.roam.corp.google.com> <20170713112938.GI4486@bhelgaas-glaptop.roam.corp.google.com> <1499978726.2865.59.camel@kernel.crashing.org> Message-ID: To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hi Ben > -----Original Message----- > From: Benjamin Herrenschmidt [mailto:benh at kernel.crashing.org] > Sent: 13 July 2017 21:45 > To: Bjorn Helgaas; Gabriele Paoloni > Cc: Daniel Axtens; linux-pci at vger.kernel.org; Liuxinliang (Matthew > Liu); Rongrong Zou; Catalin Marinas; Will Deacon; linux-arm- > kernel at lists.infradead.org; David Airlie; Daniel Vetter; Alex > Williamson > Subject: Re: [PATCH v4] PCI: Support hibmc VGA cards behind a > misbehaving HiSilicon bridge > > On Thu, 2017-07-13 at 06:29 -0500, Bjorn Helgaas wrote: > > > Indeed our host controller depends on ARM64 so maybe it would make > > > sense to move the quirk arch/arm64/kernel/pci.c; however regardless > > > why is it strictly required for a VGA device to be legacy one in > order > > > to make it the default boot device? > > > i.e. couldn't we have: > > > > > > diff --git a/drivers/gpu/vga/vgaarb.c b/drivers/gpu/vga/vgaarb.c > > > index 0f5b2dd..a6b606c 100644 > > > --- a/drivers/gpu/vga/vgaarb.c > > > +++ b/drivers/gpu/vga/vgaarb.c > > > @@ -667,8 +667,7 @@ static bool vga_arbiter_add_pci_device(struct > pci_dev *pdev) > > > ???????/* Deal with VGA default device. Use first enabled one > > > ??????? * by default if arch doesn't have it's own hook > > > ??????? */ > > > -?????if (vga_default == NULL && > > > -???????? ((vgadev->owns & VGA_RSRC_LEGACY_MASK) == > VGA_RSRC_LEGACY_MASK)) { > > > +?????if (vga_default == NULL) { > > > ???????????????vgaarb_info(&pdev->dev, "setting as boot VGA > device\n"); > > > ???????????????vga_set_default_device(pdev); > > > ???????} > > > > I don't know enough about the VGA arbiter to answer this.? This test > was > > part of the initial implementation: deb2d2ecd43d ("PCI/GPU: implement > VGA > > arbitration on Linux") by Ben. > > The above simply uses the first device that has memory and IO enabled > as the default device (you don't need to have a default device). > > This is essentially picking up whatever device had been initialized > by the BIOS/firmware as default. This is needed for example on x86 > where the BIOS tends to only initialize one device. > > I'm not sure what problem you are trying to solve here ? Well our host platform does not support legacy devices and therefore we find ourselves without a default VGA device... I was trying to understand why a default device has to be legacy...but I think this was answered by both you and Alex in other follows-up... Thanks Gab > > Cheers, > Ben.