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: [v3,4/5] dmaengine: xilinx_dma: autodetect whether the HW supports scatter-gather From: Andrea Merello Message-Id: <20180625092724.22164-4-andrea.merello@gmail.com> Date: Mon, 25 Jun 2018 11:27:23 +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 , Rob Herring , Mark Rutland , devicetree@vger.kernel.org, Radhey Shyam Pandey List-ID: VGhlIEFYSURNQSBhbmQgQ0RNQSBIVyBjYW4gYmUgZWl0aGVyIGRpcmVjdC1hY2Nlc3Mgb3Igc2Nh dHRlci1nYXRoZXIKdmVyc2lvbi4gVGhlc2UgYXJlIFNXIGluY29tcGF0aWJsZS4KClRoZSBkcml2 ZXIgY2FuIGhhbmRsZSBib3RoIHZlcnNpb246IGEgRFQgcHJvcGVydHkgd2FzIHVzZWQgdG8KdGVs bCB0aGUgZHJpdmVyIHdoZXRoZXIgdG8gYXNzdW1lIHRoZSBIVyBpcyBpcyBzY2F0dGVyLWdhdGhl ciBtb2RlLgoKVGhpcyBwYXRjaCBtYWtlcyB0aGUgZHJpdmVyIHRvIGF1dG9kZXRlY3QgdGhpcyBp bmZvcm1hdGlvbi4gVGhlIERUCnByb3BlcnR5IGlzIG5vdCByZXF1aXJlZCBhbnltb3JlLgoKTm8g Y2hhbmdlcyBmb3IgVkRNQS4KCkNjOiBSb2IgSGVycmluZyA8cm9iaCtkdEBrZXJuZWwub3JnPgpD YzogTWFyayBSdXRsYW5kIDxtYXJrLnJ1dGxhbmRAYXJtLmNvbT4KQ2M6IGRldmljZXRyZWVAdmdl ci5rZXJuZWwub3JnCkNjOiBSYWRoZXkgU2h5YW0gUGFuZGV5IDxyYWRoZXkuc2h5YW0ucGFuZGV5 QHhpbGlueC5jb20+ClNpZ25lZC1vZmYtYnk6IEFuZHJlYSBNZXJlbGxvIDxhbmRyZWEubWVyZWxs b0BnbWFpbC5jb20+ClJldmlld2VkLWJ5OiBSYWRoZXkgU2h5YW0gUGFuZGV5IDxyYWRoZXkuc2h5 YW0ucGFuZGV5QHhpbGlueC5jb20+Ci0tLQpDaGFuZ2VzIGluIHYyOgoJLSBhdXRvZGV0ZWN0IG9u bHkgaW4gIVZETUEgY2FzZQpDaGFuZ2VzIGluIHYzOgoJLSBjYyBEVCBtYWludGFpbmVycy9NTAot LS0KIGRyaXZlcnMvZG1hL3hpbGlueC94aWxpbnhfZG1hLmMgfCAxNCArKysrKysrKysrLS0tLQog MSBmaWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9kbWEveGlsaW54L3hpbGlueF9kbWEuYyBiL2RyaXZlcnMvZG1hL3hpbGlu eC94aWxpbnhfZG1hLmMKaW5kZXggN2YwYWI5MDRiNzQ5Li40M2ZjYzcxZmYyODcgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZG1hL3hpbGlueC94aWxpbnhfZG1hLmMKKysrIGIvZHJpdmVycy9kbWEveGls aW54L3hpbGlueF9kbWEuYwpAQCAtODYsNiArODYsNyBAQAogI2RlZmluZSBYSUxJTlhfRE1BX0RN QVNSX0RNQV9ERUNfRVJSCQlCSVQoNikKICNkZWZpbmUgWElMSU5YX0RNQV9ETUFTUl9ETUFfU0xB VkVfRVJSCQlCSVQoNSkKICNkZWZpbmUgWElMSU5YX0RNQV9ETUFTUl9ETUFfSU5UX0VSUgkJQklU KDQpCisjZGVmaW5lIFhJTElOWF9ETUFfRE1BU1JfU0dfTUFTSwkJQklUKDMpCiAjZGVmaW5lIFhJ TElOWF9ETUFfRE1BU1JfSURMRQkJCUJJVCgxKQogI2RlZmluZSBYSUxJTlhfRE1BX0RNQVNSX0hB TFRFRAkJQklUKDApCiAjZGVmaW5lIFhJTElOWF9ETUFfRE1BU1JfREVMQVlfTUFTSwkJR0VOTUFT SygzMSwgMjQpCkBAIC00MDYsNyArNDA3LDYgQEAgc3RydWN0IHhpbGlueF9kbWFfY29uZmlnIHsK ICAqIEBkZXY6IERldmljZSBTdHJ1Y3R1cmUKICAqIEBjb21tb246IERNQSBkZXZpY2Ugc3RydWN0 dXJlCiAgKiBAY2hhbjogRHJpdmVyIHNwZWNpZmljIERNQSBjaGFubmVsCi0gKiBAaGFzX3NnOiBT cGVjaWZpZXMgd2hldGhlciBTY2F0dGVyLUdhdGhlciBpcyBwcmVzZW50IG9yIG5vdAogICogQG1j ZG1hOiBTcGVjaWZpZXMgd2hldGhlciBNdWx0aS1DaGFubmVsIGlzIHByZXNlbnQgb3Igbm90CiAg KiBAZmx1c2hfb25fZnN5bmM6IEZsdXNoIG9uIGZyYW1lIHN5bmMKICAqIEBleHRfYWRkcjogSW5k aWNhdGVzIDY0IGJpdCBhZGRyZXNzaW5nIGlzIHN1cHBvcnRlZCBieSBkbWEgZGV2aWNlCkBAIC00 MjYsNyArNDI2LDYgQEAgc3RydWN0IHhpbGlueF9kbWFfZGV2aWNlIHsKIAlzdHJ1Y3QgZGV2aWNl ICpkZXY7CiAJc3RydWN0IGRtYV9kZXZpY2UgY29tbW9uOwogCXN0cnVjdCB4aWxpbnhfZG1hX2No YW4gKmNoYW5bWElMSU5YX0RNQV9NQVhfQ0hBTlNfUEVSX0RFVklDRV07Ci0JYm9vbCBoYXNfc2c7 CiAJYm9vbCBtY2RtYTsKIAl1MzIgZmx1c2hfb25fZnN5bmM7CiAJYm9vbCBleHRfYWRkcjsKQEAg LTIzOTMsNyArMjM5Miw2IEBAIHN0YXRpYyBpbnQgeGlsaW54X2RtYV9jaGFuX3Byb2JlKHN0cnVj dCB4aWxpbnhfZG1hX2RldmljZSAqeGRldiwKIAogCWNoYW4tPmRldiA9IHhkZXYtPmRldjsKIAlj aGFuLT54ZGV2ID0geGRldjsKLQljaGFuLT5oYXNfc2cgPSB4ZGV2LT5oYXNfc2c7CiAJY2hhbi0+ ZGVzY19wZW5kaW5nY291bnQgPSAweDA7CiAJY2hhbi0+ZXh0X2FkZHIgPSB4ZGV2LT5leHRfYWRk cjsKIAkvKiBUaGlzIHZhcmlhYmxlIGVuc3VyZXMgdGhhdCBkZXNjcmlwdG9ycyBhcmUgbm90CkBA IC0yNDg2LDYgKzI0ODQsMTUgQEAgc3RhdGljIGludCB4aWxpbnhfZG1hX2NoYW5fcHJvYmUoc3Ry dWN0IHhpbGlueF9kbWFfZGV2aWNlICp4ZGV2LAogCQljaGFuLT5zdG9wX3RyYW5zZmVyID0geGls aW54X2RtYV9zdG9wX3RyYW5zZmVyOwogCX0KIAorCS8qIGNoZWNrIGlmIFNHIGlzIGVuYWJsZWQg KG9ubHkgZm9yIEFYSURNQSBhbmQgQ0RNQSkgKi8KKwlpZiAoeGRldi0+ZG1hX2NvbmZpZy0+ZG1h dHlwZSAhPSBYRE1BX1RZUEVfVkRNQSkgeworCQlpZiAoZG1hX2N0cmxfcmVhZChjaGFuLCBYSUxJ TlhfRE1BX1JFR19ETUFTUikgJgorCQkgICAgWElMSU5YX0RNQV9ETUFTUl9TR19NQVNLKQorCQkJ Y2hhbi0+aGFzX3NnID0gdHJ1ZTsKKwkJZGV2X2RiZyhjaGFuLT5kZXYsICJjaCAlZDogU0cgJXNc biIsIGNoYW4tPmlkLAorCQkJY2hhbi0+aGFzX3NnID8gImVuYWJsZWQiIDogImRpc2FibGVkIik7 CisJfQorCiAJLyogSW5pdGlhbGl6ZSB0aGUgdGFza2xldCAqLwogCXRhc2tsZXRfaW5pdCgmY2hh bi0+dGFza2xldCwgeGlsaW54X2RtYV9kb190YXNrbGV0LAogCQkJKHVuc2lnbmVkIGxvbmcpY2hh bik7CkBAIC0yNjI0LDcgKzI2MzEsNiBAQCBzdGF0aWMgaW50IHhpbGlueF9kbWFfcHJvYmUoc3Ry dWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIAkJcmV0dXJuIFBUUl9FUlIoeGRldi0+cmVncyk7 CiAKIAkvKiBSZXRyaWV2ZSB0aGUgRE1BIGVuZ2luZSBwcm9wZXJ0aWVzIGZyb20gdGhlIGRldmlj ZSB0cmVlICovCi0JeGRldi0+aGFzX3NnID0gb2ZfcHJvcGVydHlfcmVhZF9ib29sKG5vZGUsICJ4 bG54LGluY2x1ZGUtc2ciKTsKIAl4ZGV2LT5tYXhfYnVmZmVyX2xlbiA9IEdFTk1BU0soWElMSU5Y X0RNQV9NQVhfVFJBTlNfTEVOX01BWCAtIDEsIDApOwogCiAJaWYgKHhkZXYtPmRtYV9jb25maWct PmRtYXR5cGUgPT0gWERNQV9UWVBFX0FYSURNQSkgewo=