From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [v2,4/5] dmaengine: xilinx_dma: autodetect whether the HW supports scatter-gather From: Andrea Merello Message-Id: <20180621115822.20058-4-andrea.merello@gmail.com> Date: Thu, 21 Jun 2018 13:58:21 +0200 To: vkoul@kernel.org, dan.j.williams@intel.com, michal.simek@xilinx.com, appana.durga.rao@xilinx.com, dmaengine@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Andrea Merello List-ID: VGhlIEFYSURNQSBhbmQgQ0RNQSBIVyBjYW4gYmUgZWl0aGVyIGRpcmVjdC1hY2Nlc3Mgb3Igc2Nh dHRlci1nYXRoZXIKdmVyc2lvbi4gVGhlc2UgYXJlIFNXIGluY29tcGF0aWJsZS4KClRoZSBkcml2 ZXIgY2FuIGhhbmRsZSBib3RoIHZlcnNpb246IGEgRFQgcHJvcGVydHkgd2FzIHVzZWQgdG8KdGVs bCB0aGUgZHJpdmVyIHdoZXRoZXIgdG8gYXNzdW1lIHRoZSBIVyBpcyBpcyBzY2F0dGVyLWdhdGhl ciBtb2RlLgoKVGhpcyBwYXRjaCBtYWtlcyB0aGUgZHJpdmVyIHRvIGF1dG9kZXRlY3QgdGhpcyBp bmZvcm1hdGlvbi4gVGhlIERUCnByb3BlcnR5IGlzIG5vdCByZXF1aXJlZCBhbnltb3JlLgoKTm8g Y2hhbmdlcyBmb3IgVkRNQS4KClNpZ25lZC1vZmYtYnk6IEFuZHJlYSBNZXJlbGxvIDxhbmRyZWEu bWVyZWxsb0BnbWFpbC5jb20+Ci0tLQpDaGFuZ2VzIGluIHYyOgoJLSBhdXRvZGV0ZWN0IG9ubHkg aW4gIVZETUEgY2FzZQotLS0KIGRyaXZlcnMvZG1hL3hpbGlueC94aWxpbnhfZG1hLmMgfCAxNCAr KysrKysrKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDQgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9kbWEveGlsaW54L3hpbGlueF9kbWEuYyBiL2Ry aXZlcnMvZG1hL3hpbGlueC94aWxpbnhfZG1hLmMKaW5kZXggZTEwNzc1ZDMwNTE1Li5mYWM4ZjA5 ZWNlNWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZG1hL3hpbGlueC94aWxpbnhfZG1hLmMKKysrIGIv ZHJpdmVycy9kbWEveGlsaW54L3hpbGlueF9kbWEuYwpAQCAtODYsNiArODYsNyBAQAogI2RlZmlu ZSBYSUxJTlhfRE1BX0RNQVNSX0RNQV9ERUNfRVJSCQlCSVQoNikKICNkZWZpbmUgWElMSU5YX0RN QV9ETUFTUl9ETUFfU0xBVkVfRVJSCQlCSVQoNSkKICNkZWZpbmUgWElMSU5YX0RNQV9ETUFTUl9E TUFfSU5UX0VSUgkJQklUKDQpCisjZGVmaW5lIFhJTElOWF9ETUFfRE1BU1JfU0dfTUFTSwkJQklU KDMpCiAjZGVmaW5lIFhJTElOWF9ETUFfRE1BU1JfSURMRQkJCUJJVCgxKQogI2RlZmluZSBYSUxJ TlhfRE1BX0RNQVNSX0hBTFRFRAkJQklUKDApCiAjZGVmaW5lIFhJTElOWF9ETUFfRE1BU1JfREVM QVlfTUFTSwkJR0VOTUFTSygzMSwgMjQpCkBAIC00MDYsNyArNDA3LDYgQEAgc3RydWN0IHhpbGlu eF9kbWFfY29uZmlnIHsKICAqIEBkZXY6IERldmljZSBTdHJ1Y3R1cmUKICAqIEBjb21tb246IERN QSBkZXZpY2Ugc3RydWN0dXJlCiAgKiBAY2hhbjogRHJpdmVyIHNwZWNpZmljIERNQSBjaGFubmVs Ci0gKiBAaGFzX3NnOiBTcGVjaWZpZXMgd2hldGhlciBTY2F0dGVyLUdhdGhlciBpcyBwcmVzZW50 IG9yIG5vdAogICogQG1jZG1hOiBTcGVjaWZpZXMgd2hldGhlciBNdWx0aS1DaGFubmVsIGlzIHBy ZXNlbnQgb3Igbm90CiAgKiBAZmx1c2hfb25fZnN5bmM6IEZsdXNoIG9uIGZyYW1lIHN5bmMKICAq IEBleHRfYWRkcjogSW5kaWNhdGVzIDY0IGJpdCBhZGRyZXNzaW5nIGlzIHN1cHBvcnRlZCBieSBk bWEgZGV2aWNlCkBAIC00MjYsNyArNDI2LDYgQEAgc3RydWN0IHhpbGlueF9kbWFfZGV2aWNlIHsK IAlzdHJ1Y3QgZGV2aWNlICpkZXY7CiAJc3RydWN0IGRtYV9kZXZpY2UgY29tbW9uOwogCXN0cnVj dCB4aWxpbnhfZG1hX2NoYW4gKmNoYW5bWElMSU5YX0RNQV9NQVhfQ0hBTlNfUEVSX0RFVklDRV07 Ci0JYm9vbCBoYXNfc2c7CiAJYm9vbCBtY2RtYTsKIAl1MzIgZmx1c2hfb25fZnN5bmM7CiAJYm9v bCBleHRfYWRkcjsKQEAgLTIzODMsNyArMjM4Miw2IEBAIHN0YXRpYyBpbnQgeGlsaW54X2RtYV9j aGFuX3Byb2JlKHN0cnVjdCB4aWxpbnhfZG1hX2RldmljZSAqeGRldiwKIAogCWNoYW4tPmRldiA9 IHhkZXYtPmRldjsKIAljaGFuLT54ZGV2ID0geGRldjsKLQljaGFuLT5oYXNfc2cgPSB4ZGV2LT5o YXNfc2c7CiAJY2hhbi0+ZGVzY19wZW5kaW5nY291bnQgPSAweDA7CiAJY2hhbi0+ZXh0X2FkZHIg PSB4ZGV2LT5leHRfYWRkcjsKIAkvKiBUaGlzIHZhcmlhYmxlIGVuc3VyZXMgdGhhdCBkZXNjcmlw dG9ycyBhcmUgbm90CkBAIC0yNDc2LDYgKzI0NzQsMTUgQEAgc3RhdGljIGludCB4aWxpbnhfZG1h X2NoYW5fcHJvYmUoc3RydWN0IHhpbGlueF9kbWFfZGV2aWNlICp4ZGV2LAogCQljaGFuLT5zdG9w X3RyYW5zZmVyID0geGlsaW54X2RtYV9zdG9wX3RyYW5zZmVyOwogCX0KIAorCS8qIGNoZWNrIGlm IFNHIGlzIGVuYWJsZWQgKG9ubHkgZm9yIEFYSURNQSBhbmQgQ0RNQSkgKi8KKwlpZiAoeGRldi0+ ZG1hX2NvbmZpZy0+ZG1hdHlwZSAhPSBYRE1BX1RZUEVfVkRNQSkgeworCQlpZiAoZG1hX2N0cmxf cmVhZChjaGFuLCBYSUxJTlhfRE1BX1JFR19ETUFTUikgJgorCQkgICAgWElMSU5YX0RNQV9ETUFT Ul9TR19NQVNLKQorCQkJY2hhbi0+aGFzX3NnID0gdHJ1ZTsKKwkJZGV2X2RiZyhjaGFuLT5kZXYs ICJjaCAlZDogU0cgJXNcbiIsIGNoYW4tPmlkLAorCQkJY2hhbi0+aGFzX3NnID8gImVuYWJsZWQi IDogImRpc2FibGVkIik7CisJfQorCiAJLyogSW5pdGlhbGl6ZSB0aGUgdGFza2xldCAqLwogCXRh c2tsZXRfaW5pdCgmY2hhbi0+dGFza2xldCwgeGlsaW54X2RtYV9kb190YXNrbGV0LAogCQkJKHVu c2lnbmVkIGxvbmcpY2hhbik7CkBAIC0yNjE0LDcgKzI2MjEsNiBAQCBzdGF0aWMgaW50IHhpbGlu eF9kbWFfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIAkJcmV0dXJuIFBUUl9F UlIoeGRldi0+cmVncyk7CiAKIAkvKiBSZXRyaWV2ZSB0aGUgRE1BIGVuZ2luZSBwcm9wZXJ0aWVz IGZyb20gdGhlIGRldmljZSB0cmVlICovCi0JeGRldi0+aGFzX3NnID0gb2ZfcHJvcGVydHlfcmVh ZF9ib29sKG5vZGUsICJ4bG54LGluY2x1ZGUtc2ciKTsKIAl4ZGV2LT5tYXhfYnVmZmVyX2xlbiA9 IEdFTk1BU0soWElMSU5YX0RNQV9NQVhfVFJBTlNfTEVOX01BWCAtIDEsIDApOwogCiAJaWYgKHhk ZXYtPmRtYV9jb25maWctPmRtYXR5cGUgPT0gWERNQV9UWVBFX0FYSURNQSkgewo=