From mboxrd@z Thu Jan 1 00:00:00 1970 From: Przemyslaw Gaj Subject: Re: [PATCH v4 07/10] i3c: master: Add driver for Cadence IP Date: Mon, 4 Jun 2018 09:24:51 +0000 Message-ID: <9613475C-ECAE-4AD6-9C02-55C9214A6489@cadence.com> References: <20180330074751.25987-1-boris.brezillon@bootlin.com> <20180330074751.25987-8-boris.brezillon@bootlin.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180330074751.25987-8-boris.brezillon@bootlin.com> Content-Language: en-US Content-ID: <18ED8795B9B6864F89C11CA99D8CF0B5@namprd07.prod.outlook.com> Sender: linux-kernel-owner@vger.kernel.org To: Boris Brezillon , Wolfram Sang , "linux-i2c@vger.kernel.org" , Jonathan Corbet , "linux-doc@vger.kernel.org" , Greg Kroah-Hartman , Arnd Bergmann Cc: Przemyslaw Sroka , Arkadiusz Golec , Alan Douglas , Bartosz Folta , Damian Kos , Alicja Jurasik-Urbaniak , Cyprian Wronka , Suresh Punnoose , Rafal Ciepiela , Thomas Petazzoni , Nishanth Menon , Rob Herring , Pawel Moll , Mark Rutland , Ian Campbell , Kumar Gala , "devicetree@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Vitor Soares List-Id: linux-gpio@vger.kernel.org SGkgQm9yaXMsDQoNCkZldyB0aGluZ3MgcmVnYXJkaW5nIENhZGVuY2UgSVAgZHJpdmVyOg0KDQrv u79PbiA2LzQvMTgsIDk6MzEgQU0sICJCb3JpcyBCcmV6aWxsb24iIDxib3Jpcy5icmV6aWxsb25A Ym9vdGxpbi5jb20+IHdyb3RlOg0KDQogICAgK3N0YXRpYyB2b2lkIGNkbnNfaTNjX21hc3Rlcl9o YW5kbGVfaWJpKHN0cnVjdCBjZG5zX2kzY19tYXN0ZXIgKm1hc3RlciwNCiAgICArCQkJCSAgICAg ICB1MzIgaWJpcikNCiAgICArew0KICAgICsJc3RydWN0IGNkbnNfaTNjX2kyY19kZXZfZGF0YSAq ZGF0YTsNCiAgICArCWJvb2wgZGF0YV9jb25zdW1lZCA9IGZhbHNlOw0KICAgICsJc3RydWN0IGkz Y19pYmlfc2xvdCAqc2xvdDsNCiAgICArCXUzMiBpZCA9IElCSVJfU0xWSUQoaWJpcik7DQogICAg KwlzdHJ1Y3QgaTNjX2RldmljZSAqZGV2Ow0KICAgICsJaW50IGxlbiwgaSwgajsNCiAgICArCXU4 ICpidWY7DQogICAgKw0KICAgICsJLyoNCiAgICArCSAqIEZJWE1FOiBtYXliZSB3ZSBzaG91bGQg cmVwb3J0IHRoZSBGSUZPIE9WRiBlcnJvcnMgdG8gdGhlIHVwcGVyDQogICAgKwkgKiBsYXllci4N CiAgICArCSAqLw0KICAgICsJaWYgKGlkID49IG1hc3Rlci0+aWJpLm51bV9zbG90cyB8fCAoaWJp ciAmIElCSVJfRVJST1IpKQ0KICAgICsJCWdvdG8gb3V0Ow0KICAgICsNCiAgICArCWRldiA9IG1h c3Rlci0+aWJpLnNsb3RzW2lkXTsNCiAgICArCXNwaW5fbG9jaygmbWFzdGVyLT5pYmkubG9jayk7 DQogICAgKw0KICAgICsJZGF0YSA9IGkzY19kZXZpY2VfZ2V0X21hc3Rlcl9kYXRhKGRldik7DQog ICAgKwlzbG90ID0gaTNjX2dlbmVyaWNfaWJpX2dldF9mcmVlX3Nsb3QoZGF0YS0+aWJpX3Bvb2wp Ow0KICAgICsJaWYgKCFzbG90KQ0KICAgICsJCWdvdG8gb3V0X3VubG9jazsNCiAgICArDQogICAg KwlidWYgPSBzbG90LT5kYXRhOw0KICAgICsNCiAgICArCWxlbiA9IElCSVJfWEZFUl9CWVRFUyhp YmlyKTsNCiAgICArCWZvciAoaSA9IDA7IGkgPCBJQklSX1hGRVJfQllURVMoaWJpcik7IGkgKz0g NCkgew0KICAgICsJCXUzMiB0bXAgPSByZWFkbChtYXN0ZXItPnJlZ3MgKyBJQklfREFUQV9GSUZP KTsNCiAgICArDQogICAgKwkJZm9yIChqID0gMDsgaiA8IDQgJiYgaSArIGogPCBkZXYtPmliaS0+ bWF4X3BheWxvYWRfbGVuOyBqKyspDQogICAgKwkJCWJ1ZltpICsgal0gPSB0bXAgPj4gKGogKiA4 KTsNCiAgICArDQogICAgKwl9DQogICAgKwlzbG90LT5sZW4gPSBtaW5fdCh1bnNpZ25lZCBpbnQs IElCSVJfWEZFUl9CWVRFUyhpYmlyKSwNCiAgICArCQkJICBkZXYtPmliaS0+bWF4X3BheWxvYWRf bGVuKTsNCiAgICArCWkzY19tYXN0ZXJfcXVldWVfaWJpKGRldiwgc2xvdCk7DQogICAgKwlkYXRh X2NvbnN1bWVkID0gdHJ1ZTsNCiAgICArDQogICAgK291dF91bmxvY2s6DQogICAgKwlzcGluX3Vu bG9jaygmbWFzdGVyLT5pYmkubG9jayk7DQogICAgKw0KICAgICtvdXQ6DQogICAgKwkvKiBDb25z dW1lIGRhdGEgZnJvbSB0aGUgRklGTyBpZiBpdCdzIG5vdCBiZWVuIGRvbmUgYWxyZWFkeS4gKi8N CiAgICArCWlmICghZGF0YV9jb25zdW1lZCkgew0KICAgICsJCWZvciAoaSA9IDA7IGkgPCBJQklS X1hGRVJfQllURVMoaWJpcik7IGkgKz0gNCkNCiAgICArCQkJcmVhZGwobWFzdGVyLT5yZWdzICsg SUJJX0RBVEFfRklGTyk7DQogICAgKwl9DQogICAgK30NCiAgICANCmxlbiB2YXJpYWJsZSBpcyB1 bm5lZWRlZC4NCg0KICAgICtzdGF0aWMgaW50IGNkbnNfaTNjX21hc3Rlcl9wcm9iZShzdHJ1Y3Qg cGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KICAgICt7DQogICAgKwlzdHJ1Y3QgY2Ruc19pM2NfbWFz dGVyICptYXN0ZXI7DQogICAgKwlzdHJ1Y3QgcmVzb3VyY2UgKnJlczsNCiAgICArCWludCByZXQs IGlycTsNCiAgICArCXUzMiB2YWw7DQogICAgKw0KICAgICsJbWFzdGVyID0gZGV2bV9remFsbG9j KCZwZGV2LT5kZXYsIHNpemVvZigqbWFzdGVyKSwgR0ZQX0tFUk5FTCk7DQogICAgKwlpZiAoIW1h c3RlcikNCiAgICArCQlyZXR1cm4gLUVOT01FTTsNCiAgICArDQogICAgKwlyZXMgPSBwbGF0Zm9y bV9nZXRfcmVzb3VyY2UocGRldiwgSU9SRVNPVVJDRV9NRU0sIDApOw0KICAgICsJbWFzdGVyLT5y ZWdzID0gZGV2bV9pb3JlbWFwX3Jlc291cmNlKCZwZGV2LT5kZXYsIHJlcyk7DQogICAgKwlpZiAo SVNfRVJSKG1hc3Rlci0+cmVncykpDQogICAgKwkJcmV0dXJuIFBUUl9FUlIobWFzdGVyLT5yZWdz KTsNCiAgICArDQogICAgKwltYXN0ZXItPnBjbGsgPSBkZXZtX2Nsa19nZXQoJnBkZXYtPmRldiwg InBjbGsiKTsNCiAgICArCWlmIChJU19FUlIobWFzdGVyLT5wY2xrKSkNCiAgICArCQlyZXR1cm4g UFRSX0VSUihtYXN0ZXItPnBjbGspOw0KICAgICsNCiAgICArCW1hc3Rlci0+c3lzY2xrID0gZGV2 bV9jbGtfZ2V0KCZwZGV2LT5kZXYsICJzeXNjbGsiKTsNCiAgICArCWlmIChJU19FUlIobWFzdGVy LT5wY2xrKSkNCiAgICArCQlyZXR1cm4gUFRSX0VSUihtYXN0ZXItPnBjbGspOw0KICAgICsNCiAg ICArCWlycSA9IHBsYXRmb3JtX2dldF9pcnEocGRldiwgMCk7DQogICAgKwlpZiAoaXJxIDwgMCkN CiAgICArCQlyZXR1cm4gaXJxOw0KICAgICsNCiAgICArCXJldCA9IGNsa19wcmVwYXJlX2VuYWJs ZShtYXN0ZXItPnBjbGspOw0KICAgICsJaWYgKHJldCkNCiAgICArCQlyZXR1cm4gcmV0Ow0KICAg ICsNCiAgICArCXJldCA9IGNsa19wcmVwYXJlX2VuYWJsZShtYXN0ZXItPnN5c2Nsayk7DQogICAg KwlpZiAocmV0KQ0KICAgICsJCWdvdG8gZXJyX2Rpc2FibGVfcGNsazsNCiAgICArDQogICAgKwlp ZiAocmVhZGwobWFzdGVyLT5yZWdzICsgREVWX0lEKSAhPSBERVZfSURfSTNDX01BU1RFUikgew0K ICAgICsJCXJldCA9IC1FSU5WQUw7DQogICAgKwkJZ290byBlcnJfZGlzYWJsZV9zeXNjbGs7DQog ICAgKwl9DQogICAgKw0KICAgICsJc3Bpbl9sb2NrX2luaXQoJm1hc3Rlci0+eGZlcnF1ZXVlLmxv Y2spOw0KICAgICsJSU5JVF9MSVNUX0hFQUQoJm1hc3Rlci0+eGZlcnF1ZXVlLmxpc3QpOw0KICAg ICsNCiAgICArCUlOSVRfV09SSygmbWFzdGVyLT5oal93b3JrLCBjZG5zX2kzY19tYXN0ZXJfaGop Ow0KICAgICsJd3JpdGVsKDB4ZmZmZmZmZmYsIG1hc3Rlci0+cmVncyArIE1TVF9JRFIpOw0KICAg ICsJd3JpdGVsKDB4ZmZmZmZmZmYsIG1hc3Rlci0+cmVncyArIFNMVl9JRFIpOw0KICAgICsJcmV0 ID0gZGV2bV9yZXF1ZXN0X2lycSgmcGRldi0+ZGV2LCBpcnEsIGNkbnNfaTNjX21hc3Rlcl9pbnRl cnJ1cHQsIDAsDQogICAgKwkJCSAgICAgICBkZXZfbmFtZSgmcGRldi0+ZGV2KSwgbWFzdGVyKTsN CiAgICArCWlmIChyZXQpDQogICAgKwkJZ290byBlcnJfZGlzYWJsZV9zeXNjbGs7DQogICAgKw0K ICAgICsJcGxhdGZvcm1fc2V0X2RydmRhdGEocGRldiwgbWFzdGVyKTsNCiAgICArDQogICAgKwl2 YWwgPSByZWFkbChtYXN0ZXItPnJlZ3MgKyBDT05GX1NUQVRVUzApOw0KICAgICsNCiAgICArCS8q IERldmljZSBJRDAgaXMgcmVzZXJ2ZWQgdG8gZGVzY3JpYmUgdGhpcyBtYXN0ZXIuICovDQogICAg KwltYXN0ZXItPm1heGRldnMgPSBDT05GX1NUQVRVUzBfREVWU19OVU0odmFsKTsNCiAgICArCW1h c3Rlci0+ZnJlZV9ycl9zbG90cyA9IEdFTk1BU0sobWFzdGVyLT5tYXhkZXZzLCAxKTsNCiAgICAr DQogICAgKwl2YWwgPSByZWFkbChtYXN0ZXItPnJlZ3MgKyBDT05GX1NUQVRVUzEpOw0KICAgICsJ bWFzdGVyLT5jYXBzLmNtZGZpZm9kZXB0aCA9IENPTkZfU1RBVFVTMV9DTURfREVQVEgodmFsKTsN CiAgICArCW1hc3Rlci0+Y2Fwcy5yeGZpZm9kZXB0aCA9IENPTkZfU1RBVFVTMV9SWF9ERVBUSCh2 YWwpOw0KICAgICsJbWFzdGVyLT5jYXBzLnR4Zmlmb2RlcHRoID0gQ09ORl9TVEFUVVMxX1RYX0RF UFRIKHZhbCk7DQogICAgKwltYXN0ZXItPmNhcHMuaWJpcmZpZm9kZXB0aCA9IDE2Ow0KDQpJQkkg ZmlmbyBkZXB0aCBpcyBoYXJkY29kZWQuIFlvdSBjYW4gcmVhZCB0aGlzIHZhbHVlIGZyb20gQ09O Rl9TVEFUVVMwIHJlZ2lzdGVyLg0KDQogICAgKwltYXN0ZXItPmNhcHMuY21kcmZpZm9kZXB0aCA9 IDE2Ow0KDQpDTURSIGZpZm8gZGVwdGggaXMgaGFyZGNvZGVkLiBZb3UgY2FuIHJlYWQgdGhpcyB2 YWx1ZSBmcm9tIENPTkZfU1RBVFVTMCByZWdpc3RlciBhbHNvLg0KDQogICAgKw0KICAgICsJc3Bp bl9sb2NrX2luaXQoJm1hc3Rlci0+aWJpLmxvY2spOw0KICAgICsJbWFzdGVyLT5pYmkubnVtX3Ns b3RzID0gQ09ORl9TVEFUVVMxX0lCSV9IV19SRVModmFsKTsNCiAgICArCW1hc3Rlci0+aWJpLnNs b3RzID0gZGV2bV9remFsbG9jKCZwZGV2LT5kZXYsDQogICAgKwkJCQkJIHNpemVvZigqbWFzdGVy LT5pYmkuc2xvdHMpICoNCiAgICArCQkJCQkgbWFzdGVyLT5pYmkubnVtX3Nsb3RzLA0KICAgICsJ CQkJCSBHRlBfS0VSTkVMKTsNCiAgICArCWlmICghbWFzdGVyLT5pYmkuc2xvdHMpDQogICAgKwkJ Z290byBlcnJfZGlzYWJsZV9zeXNjbGs7DQogICAgKw0KICAgICsJd3JpdGVsKElCSVJfVEhSKDEp LCBtYXN0ZXItPnJlZ3MgKyBDTURfSUJJX1RIUl9DVFJMKTsNCiAgICArCXdyaXRlbChNU1RfSU5U X0lCSVJfVEhSLCBtYXN0ZXItPnJlZ3MgKyBNU1RfSUVSKTsNCiAgICArCXdyaXRlbChERVZTX0NU UkxfREVWX0NMUl9BTEwsIG1hc3Rlci0+cmVncyArIERFVlNfQ1RSTCk7DQogICAgKw0KICAgICsJ cmV0ID0gaTNjX21hc3Rlcl9yZWdpc3RlcigmbWFzdGVyLT5iYXNlLCAmcGRldi0+ZGV2LA0KICAg ICsJCQkJICAmY2Ruc19pM2NfbWFzdGVyX29wcywgZmFsc2UpOw0KICAgICsJaWYgKHJldCkNCiAg ICArCQlnb3RvIGVycl9kaXNhYmxlX3N5c2NsazsNCiAgICArDQogICAgKwlyZXR1cm4gMDsNCiAg ICArDQogICAgK2Vycl9kaXNhYmxlX3N5c2NsazoNCiAgICArCWNsa19kaXNhYmxlX3VucHJlcGFy ZShtYXN0ZXItPnN5c2Nsayk7DQogICAgKw0KICAgICtlcnJfZGlzYWJsZV9wY2xrOg0KICAgICsJ Y2xrX2Rpc2FibGVfdW5wcmVwYXJlKG1hc3Rlci0+cGNsayk7DQogICAgKw0KICAgICsJcmV0dXJu IHJldDsNCiAgICArfQ0KICAgIA0KUmVnYXJkcywNClByemVteXNsYXcgR2FqDQoNCg==