From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Return-Path: Message-ID: <1533120257.20186.7.camel@pengutronix.de> Subject: Re: [PATCH 2/2] PCI: imx: Add workaround for e10728, IMX7d PCIe PLL failure From: Lucas Stach To: Trent Piepho , linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org Date: Wed, 01 Aug 2018 12:44:17 +0200 In-Reply-To: <20180718194424.8844-3-tpiepho@impinj.com> References: <20180718194424.8844-1-tpiepho@impinj.com> <20180718194424.8844-3-tpiepho@impinj.com> Mime-Version: 1.0 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Fabio Estevam , Richard Zhu , Shawn Guo , Sascha Hauer 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: QW0gTWl0dHdvY2gsIGRlbiAxOC4wNy4yMDE4LCAxMjo0NCAtMDcwMCBzY2hyaWViIFRyZW50IFBp ZXBobzoKPiBUaGlzIGltcGxlbWVudHMgdGhlIHdvcmtvdW5kIGRlc2NyaWJlZCBpbiB0aGUgTlhQ IElNWDdkIGVycmF0dW0gZTEwNzI4Lgo+IAo+IEluaXRpYWwgVkNPIG9zY2lsbGF0aW9uIG1heSBm YWlsIHVuZGVyIGNvcm5lciBjb25kaXRpb25zIHN1Y2ggYXMgY29sZAo+IHRlbXBlcmF0dXJlLsKg wqBJdCBjYXVzZXMgUENJZSBQTEwgdG8gZmFpbCB0byBsb2NrIGluIHRoZSBpbml0aWFsaXphdGlv bgo+IHBoYXNlLCB3aGljaCByZXN1bHRzIGluIHRoZSBQQ0llIGxpbmsgZmFpbGluZyB0byBjb21l IHVwLgo+IAo+IFRoZSB3b3JrYXJvdW5kIGlzIHRvIGRpc2FibGUgRHV0eS1jeWNsZSBDb3JyZWN0 b3IgKERDQykgY2FsaWJyYXRpb24KPiBhZnRlciBHX1JTVC4KPiAKPiBUbyBkbyB0aGlzIGl0IGlz IG5lY2Vzc2FyeSB0byBnYWluIGFjY2VzcyB0byB0aGUgdW5kb2N1bWVudGVkIGFuZAo+IGN1cnJl bnRseSB1bnVzZWQgUENJZSBQSFkgcmVnaXN0ZXIgYmFuay7CoMKgQSBuZXcgZGV2aWNlIHRyZWUg bm9kZSBvZiB0eXBlCj4gImZzbCxpbXgtcGNpZS1waHkiIGlzIGNyZWF0ZWQgZm9yIHRoZSBQSFkg YmxvY2sgYW5kIHRoZSBleGlzdGluZyBQQ0llCj4gZGV2aWNlIHVzZXMgYSBwaGFuZGxlIG5hbWVk ICJmc2wscGNpZS1waHkiIHRvIHBvaW50IHRvIGl0Lgo+IAo+ID4gQ2M6IFNoYXduIEd1byA8c2hh d25ndW9Aa2VybmVsLm9yZz4KPiA+IENjOiBTYXNjaGEgSGF1ZXIgPGtlcm5lbEBwZW5ndXRyb25p eC5kZT4KPiA+IENjOiBGYWJpbyBFc3RldmFtIDxmYWJpby5lc3RldmFtQG54cC5jb20+Cj4gPiBD YzogUmljaGFyZCBaaHUgPGhvbmd4aW5nLnpodUBueHAuY29tPgo+ID4gQ2M6IEx1Y2FzIFN0YWNo IDxsLnN0YWNoQHBlbmd1dHJvbml4LmRlPgo+ID4gU2lnbmVkLW9mZi1ieTogVHJlbnQgUGllcGhv IDx0cGllcGhvQGltcGluai5jb20+Cj4gLS0tCj4gwqBkcml2ZXJzL3BjaS9kd2MvcGNpLWlteDYu YyB8IDU5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiDC oDEgZmlsZSBjaGFuZ2VkLCA1OSBpbnNlcnRpb25zKCspCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvcGNpL2R3Yy9wY2ktaW14Ni5jIGIvZHJpdmVycy9wY2kvZHdjL3BjaS1pbXg2LmMKPiBpbmRl eCBkY2YzODliNjI5NDQuLjMyNDI5YWZjOTM4MCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3BjaS9k d2MvcGNpLWlteDYuYwo+ICsrKyBiL2RyaXZlcnMvcGNpL2R3Yy9wY2ktaW14Ni5jCj4gQEAgLTE4 LDYgKzE4LDcgQEAKPiDCoCNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KPiDCoCNpbmNsdWRlIDxs aW51eC9vZl9ncGlvLmg+Cj4gwqAjaW5jbHVkZSA8bGludXgvb2ZfZGV2aWNlLmg+Cj4gKyNpbmNs dWRlIDxsaW51eC9vZl9hZGRyZXNzLmg+Cj4gwqAjaW5jbHVkZSA8bGludXgvcGNpLmg+Cj4gwqAj aW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+Cj4gwqAjaW5jbHVkZSA8bGludXgvcmVn bWFwLmg+Cj4gQEAgLTU4LDYgKzU5LDcgQEAgc3RydWN0IGlteDZfcGNpZSB7Cj4gPiA+IMKgCXUz MgkJCXR4X3N3aW5nX2xvdzsKPiA+ID4gwqAJaW50CQkJbGlua19nZW47Cj4gPiA+IMKgCXN0cnVj dCByZWd1bGF0b3IJKnZwY2llOwo+ID4gPiArCXZvaWQgX19pb21lbQkJKnBoeV9iYXNlOwo+IMKg fTsKPiDCoAo+IMKgLyogUGFyYW1ldGVycyBmb3IgdGhlIHdhaXRpbmcgZm9yIFBDSWUgUEhZIFBM TCB0byBsb2NrIG9uIGkuTVg3ICovCj4gQEAgLTk4LDYgKzEwMCwyMyBAQCBzdHJ1Y3QgaW14Nl9w Y2llIHsKPiDCoCNkZWZpbmUgUENJRV9QSFlfUlhfQVNJQ19PVVQgMHgxMDBECj4gPiDCoCNkZWZp bmUgUENJRV9QSFlfUlhfQVNJQ19PVVRfVkFMSUQJKDEgPDwgMCkKPiDCoAo+ICsvKiBpTVg3IFBD SWUgUEhZIHJlZ2lzdGVycyAqLwo+ID4gKyNkZWZpbmUgUENJRV9QSFlfQ01OX1JFRzQJCTB4MTQK PiArLyogVGhlc2UgYXJlIHByb2JhYmx5IHRoZSBiaXRzIHRoYXQgKmFyZW4ndCogRENDX0ZCX0VO ICovCj4gPiArI2RlZmluZSBQQ0lFX1BIWV9DTU5fUkVHNF9EQ0NfRkJfRU4JMHgyOQo+ICsKPiA+ ICsjZGVmaW5lIFBDSUVfUEhZX0NNTl9SRUcxNQnCoMKgwqDCoMKgwqDCoMKgMHg1NAo+ID4gKyNk ZWZpbmUgUENJRV9QSFlfQ01OX1JFRzE1X0RMWV80CUJJVCgyKQo+ID4gKyNkZWZpbmUgUENJRV9Q SFlfQ01OX1JFRzE1X1BMTF9QRAlCSVQoNSkKPiA+ICsjZGVmaW5lIFBDSUVfUEhZX0NNTl9SRUcx NV9PVlJEX1BMTF9QRAlCSVQoNykKPiArCj4gPiArI2RlZmluZSBQQ0lFX1BIWV9DTU5fUkVHMjQJ CTB4OTAKPiA+ICsjZGVmaW5lIFBDSUVfUEhZX0NNTl9SRUcyNF9SWF9FUQlCSVQoNikKPiA+ICsj ZGVmaW5lIFBDSUVfUEhZX0NNTl9SRUcyNF9SWF9FUV9TRUwJQklUKDMpCj4gKwo+ID4gKyNkZWZp bmUgUENJRV9QSFlfQ01OX1JFRzI2CQkweDk4Cj4gPiArI2RlZmluZSBQQ0lFX1BIWV9DTU5fUkVH MjZfQVRUX01PREUJMHhCQwo+ICsKPiDCoCNkZWZpbmUgUEhZX1JYX09WUkRfSU5fTE8gMHgxMDA1 Cj4gwqAjZGVmaW5lIFBIWV9SWF9PVlJEX0lOX0xPX1JYX0RBVEFfRU4gKDEgPDwgNSkKPiDCoCNk ZWZpbmUgUEhZX1JYX09WUkRfSU5fTE9fUlhfUExMX0VOICgxIDw8IDMpCj4gQEAgLTQzMSw2ICs0 NTAsMjYgQEAgc3RhdGljIHZvaWQgaW14Nl9wY2llX2RlYXNzZXJ0X2NvcmVfcmVzZXQoc3RydWN0 IGlteDZfcGNpZSAqaW14Nl9wY2llKQo+ID4gwqAJc3dpdGNoIChpbXg2X3BjaWUtPnZhcmlhbnQp IHsKPiA+IMKgCWNhc2UgSU1YN0Q6Cj4gPiDCoAkJcmVzZXRfY29udHJvbF9kZWFzc2VydChpbXg2 X3BjaWUtPnBjaWVwaHlfcmVzZXQpOwo+ICsKPiA+ICsJCS8qIFdvcmthcm91bmQgZm9yIEVSUjAx MDcyOCwgZmFpbHVyZSBvZiBQQ0ktZSBQTEwgVkNPIHRvCj4gPiArCQnCoCogb3NjaWxsYXRlLCBl c3BlY2lhbGx5IHdoZW4gY29sZC7CoMKgVGhpcyB0dXJucyBvZmYgIkR1dHktY3ljbGUKPiA+ICsJ CcKgKiBDb3JyZWN0b3IiIGFuZCBvdGhlciBteXN0ZXJpb3VzIHVuZG9jdW1lbnRlZCB0aGluZ3Mu Cj4gPiArCQnCoCovCj4gPiArCQlpZiAobGlrZWx5KGlteDZfcGNpZS0+cGh5X2Jhc2UpKSB7Cj4g PiArCQkJLyogRGUtYXNzZXJ0IERDQ19GQl9FTiAqLwo+ID4gKwkJCXdyaXRlbChQQ0lFX1BIWV9D TU5fUkVHNF9EQ0NfRkJfRU4sCj4gPiArCQkJwqDCoMKgwqDCoMKgwqBpbXg2X3BjaWUtPnBoeV9i YXNlICsgUENJRV9QSFlfQ01OX1JFRzQpOwo+ID4gKwkJCS8qIEFzc2VydCBSWF9FUVMgYW5kIFJY X0VRU19TRUwgKi8KPiA+ICsJCQl3cml0ZWwoUENJRV9QSFlfQ01OX1JFRzI0X1JYX0VRX1NFTAo+ ID4gKwkJCQl8IFBDSUVfUEhZX0NNTl9SRUcyNF9SWF9FUSwKPiA+ICsJCQnCoMKgwqDCoMKgwqDC oGlteDZfcGNpZS0+cGh5X2Jhc2UgKyBQQ0lFX1BIWV9DTU5fUkVHMjQpOwo+ID4gKwkJCS8qIEFz c2VydCBBVFRfTU9ERSAqLwo+ID4gKwkJCXdyaXRlbChQQ0lFX1BIWV9DTU5fUkVHMjZfQVRUX01P REUsCj4gPiArCQkJwqDCoMKgwqDCoMKgwqBpbXg2X3BjaWUtPnBoeV9iYXNlICsgUENJRV9QSFlf Q01OX1JFRzI2KTsKPiA+ICsJCX0gZWxzZSB7Cj4gKwkJCWRldl9lcnIoZGV2LCAiUEhZIGJhc2Ug YWRkcmVzcyBub3Qgc2V0XG4iKTsKClBsZWFzZSB0dW5lIHRoaXMgZG93biB0byB0aGUgZGV2X3dh cm4gbGV2ZWwsIGluIGNhc2Ugd2UgYXJlIHJ1bm5pbmcgYQpuZXcga2VybmVsIG9uIGEgb2xkZXIg RFQuIEFsc28gdGhlIG1lc3NhZ2UgaXNuJ3QgcmVhbGx5IGhlbHBmdWwgdG8gdGhlCnVzZXIuIEl0 IHdvdWxkIGJlIGJldHRlciB0byBoYXZlIHNvbWV0aGluZyBsaWtlICJObyBhY2Nlc3MgdG8gUEhZ CnJlZ2lzdGVycywgY2FuJ3QgYXBwbHkgd29ya2Fyb3VuZCBmb3IgRVJSMDEwNzI4LiIgTWF5YmUg ZXZlbiB3aXRoIGEKaGludCB0byB1cGRhdGUgdGhlIERULgoKPiArCQl9Cj4gKwo+ID4gwqAJCWlt eDdkX3BjaWVfd2FpdF9mb3JfcGh5X3BsbF9sb2NrKGlteDZfcGNpZSk7Cj4gPiDCoAkJYnJlYWs7 Cj4gPiDCoAljYXNlIElNWDZTWDoKPiBAQCAtNjk4LDYgKzczNyw3IEBAIHN0YXRpYyBpbnQgaW14 Nl9wY2llX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gPiDCoAlzdHJ1Y3Qg ZGV2aWNlICpkZXYgPSAmcGRldi0+ZGV2Owo+ID4gwqAJc3RydWN0IGR3X3BjaWUgKnBjaTsKPiA+ IMKgCXN0cnVjdCBpbXg2X3BjaWUgKmlteDZfcGNpZTsKPiA+ICsJc3RydWN0IGRldmljZV9ub2Rl ICpucDsKPiA+IMKgCXN0cnVjdCByZXNvdXJjZSAqZGJpX2Jhc2U7Cj4gPiDCoAlzdHJ1Y3QgZGV2 aWNlX25vZGUgKm5vZGUgPSBkZXYtPm9mX25vZGU7Cj4gPiDCoAlpbnQgcmV0Owo+IEBAIC03MTcs NiArNzU3LDI1IEBAIHN0YXRpYyBpbnQgaW14Nl9wY2llX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9k ZXZpY2UgKnBkZXYpCj4gPiDCoAlpbXg2X3BjaWUtPnZhcmlhbnQgPQo+ID4gwqAJCShlbnVtIGlt eDZfcGNpZV92YXJpYW50cylvZl9kZXZpY2VfZ2V0X21hdGNoX2RhdGEoZGV2KTsKPiDCoAo+ID4g KwkvKiBGaW5kIHRoZSBQSFkgaWYgb25lIGlzIGRlZmluZWQsIG9ubHkgaW14N2QgdXNlcyBpdCAq Lwo+ID4gKwlucCA9IG9mX3BhcnNlX3BoYW5kbGUobm9kZSwgImZzbCxwY2llLXBoeSIsIDApOwo+ ID4gKwlpZiAobnApIHsKPiA+ICsJCXN0cnVjdCByZXNvdXJjZSByZXM7Cj4gKwo+ID4gKwkJcmV0 ID0gb2ZfYWRkcmVzc190b19yZXNvdXJjZShucCwgMCwgJnJlcyk7Cj4gPiArCQlpZiAocmV0KSB7 Cj4gPiArCQkJZGV2X2VycihkZXYsICJVbmFibGUgdG8gbWFwIFBDSWUgUEhZXG4iKTsKPiA+ICsJ CQlyZXR1cm4gcmV0Owo+ID4gKwkJfQo+ID4gKwkJaW14Nl9wY2llLT5waHlfYmFzZSA9IGRldm1f aW9yZW1hcF9yZXNvdXJjZShkZXYsICZyZXMpOwo+ID4gKwkJaWYgKElTX0VSUihpbXg2X3BjaWUt PnBoeV9iYXNlKSkgewo+ID4gKwkJCWRldl9lcnIoZGV2LCAiVW5hYmxlIHRvIG1hcCBQQ0llIFBI WVxuIik7Cj4gPiArCQkJcmV0dXJuIFBUUl9FUlIoaW14Nl9wY2llLT5waHlfYmFzZSk7Cj4gPiAr CQl9Cj4gPiArCX0gZWxzZSB7Cj4gPiArCQlpbXg2X3BjaWUtPnBoeV9iYXNlID0gTlVMTDsKPiAr CX0KCmlteDZfcGNpZSBpcyB6ZXJvIGluaXRpYWxpemVkIG9uIGFsbG9jYXRpb24sIHNvIG5vIG5l ZWQgZm9yIHRoZSBlbHNlCnBhdGggc2V0dGluZyB0aGlzIHRvIE5VTEwuCgpSZWdhcmRzLApMdWNh cwoKPiArCj4gPiDCoAlkYmlfYmFzZSA9IHBsYXRmb3JtX2dldF9yZXNvdXJjZShwZGV2LCBJT1JF U09VUkNFX01FTSwgMCk7Cj4gPiDCoAlwY2ktPmRiaV9iYXNlID0gZGV2bV9pb3JlbWFwX3Jlc291 cmNlKGRldiwgZGJpX2Jhc2UpOwo+ID4gwqAJaWYgKElTX0VSUihwY2ktPmRiaV9iYXNlKSkKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1r ZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpo dHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJu ZWwK