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: [5/6] dmaengine: xilinx_dma: autodetect whether the HW supports scatter-gather From: Andrea Merello Message-Id: <20180620083653.17010-5-andrea.merello@gmail.com> Date: Wed, 20 Jun 2018 10:36:52 +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: VGhlIEhXIGNhbiBiZSBlaXRoZXIgZGlyZWN0LWFjY2VzcyBvciBzY2F0dGVyLWdhdGhlciB2ZXJz aW9uLiBUaGVzZSBhcmUKU1cgaW5jb21wYXRpYmxlLgoKVGhlIGRyaXZlciBjYW4gaGFuZGxlIGJv dGggdmVyc2lvbjogYSBEVCBwcm9wZXJ0eSB3YXMgdXNlZCB0bwp0ZWxsIHRoZSBkcml2ZXIgd2hl dGhlciB0byBhc3N1bWUgdGhlIEhXIGlzIGlzIHNjYXR0ZXItZ2F0aGVyIG1vZGUuCgpUaGlzIHBh dGNoIG1ha2VzIHRoZSBkcml2ZXIgdG8gYXV0b2RldGVjdCB0aGlzIGluZm9ybWF0aW9uLiBUaGUg RFQKcHJvcGVydHkgaXMgbm90IHJlcXVpcmVkIGFueW1vcmUuCgpTaWduZWQtb2ZmLWJ5OiBBbmRy ZWEgTWVyZWxsbyA8YW5kcmVhLm1lcmVsbG9AZ21haWwuY29tPgotLS0KIGRyaXZlcnMvZG1hL3hp bGlueC94aWxpbnhfZG1hLmMgfCAxMiArKysrKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA4IGlu c2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9kbWEveGls aW54L3hpbGlueF9kbWEuYyBiL2RyaXZlcnMvZG1hL3hpbGlueC94aWxpbnhfZG1hLmMKaW5kZXgg YmRiYzhiYTkwOTJhLi44YzZlODE4ZTU5NmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZG1hL3hpbGlu eC94aWxpbnhfZG1hLmMKKysrIGIvZHJpdmVycy9kbWEveGlsaW54L3hpbGlueF9kbWEuYwpAQCAt ODYsNiArODYsNyBAQAogI2RlZmluZSBYSUxJTlhfRE1BX0RNQVNSX0RNQV9ERUNfRVJSCQlCSVQo NikKICNkZWZpbmUgWElMSU5YX0RNQV9ETUFTUl9ETUFfU0xBVkVfRVJSCQlCSVQoNSkKICNkZWZp bmUgWElMSU5YX0RNQV9ETUFTUl9ETUFfSU5UX0VSUgkJQklUKDQpCisjZGVmaW5lIFhJTElOWF9E TUFfRE1BU1JfU0dfTUFTSwkJQklUKDMpCiAjZGVmaW5lIFhJTElOWF9ETUFfRE1BU1JfSURMRQkJ CUJJVCgxKQogI2RlZmluZSBYSUxJTlhfRE1BX0RNQVNSX0hBTFRFRAkJQklUKDApCiAjZGVmaW5l IFhJTElOWF9ETUFfRE1BU1JfREVMQVlfTUFTSwkJR0VOTUFTSygzMSwgMjQpCkBAIC00MDcsNyAr NDA4LDYgQEAgc3RydWN0IHhpbGlueF9kbWFfY29uZmlnIHsKICAqIEBkZXY6IERldmljZSBTdHJ1 Y3R1cmUKICAqIEBjb21tb246IERNQSBkZXZpY2Ugc3RydWN0dXJlCiAgKiBAY2hhbjogRHJpdmVy IHNwZWNpZmljIERNQSBjaGFubmVsCi0gKiBAaGFzX3NnOiBTcGVjaWZpZXMgd2hldGhlciBTY2F0 dGVyLUdhdGhlciBpcyBwcmVzZW50IG9yIG5vdAogICogQG1jZG1hOiBTcGVjaWZpZXMgd2hldGhl ciBNdWx0aS1DaGFubmVsIGlzIHByZXNlbnQgb3Igbm90CiAgKiBAZmx1c2hfb25fZnN5bmM6IEZs dXNoIG9uIGZyYW1lIHN5bmMKICAqIEBleHRfYWRkcjogSW5kaWNhdGVzIDY0IGJpdCBhZGRyZXNz aW5nIGlzIHN1cHBvcnRlZCBieSBkbWEgZGV2aWNlCkBAIC00MjYsNyArNDI2LDYgQEAgc3RydWN0 IHhpbGlueF9kbWFfZGV2aWNlIHsKIAlzdHJ1Y3QgZGV2aWNlICpkZXY7CiAJc3RydWN0IGRtYV9k ZXZpY2UgY29tbW9uOwogCXN0cnVjdCB4aWxpbnhfZG1hX2NoYW4gKmNoYW5bWElMSU5YX0RNQV9N QVhfQ0hBTlNfUEVSX0RFVklDRV07Ci0JYm9vbCBoYXNfc2c7CiAJYm9vbCBtY2RtYTsKIAl1MzIg Zmx1c2hfb25fZnN5bmM7CiAJYm9vbCBleHRfYWRkcjsKQEAgLTIzOTEsNyArMjM5MCw2IEBAIHN0 YXRpYyBpbnQgeGlsaW54X2RtYV9jaGFuX3Byb2JlKHN0cnVjdCB4aWxpbnhfZG1hX2RldmljZSAq eGRldiwKIAogCWNoYW4tPmRldiA9IHhkZXYtPmRldjsKIAljaGFuLT54ZGV2ID0geGRldjsKLQlj aGFuLT5oYXNfc2cgPSB4ZGV2LT5oYXNfc2c7CiAJY2hhbi0+ZGVzY19wZW5kaW5nY291bnQgPSAw eDA7CiAJY2hhbi0+ZXh0X2FkZHIgPSB4ZGV2LT5leHRfYWRkcjsKIAkvKiBUaGlzIHZhcmlhYmxl IGVuc3VyZXMgdGhhdCBkZXNjcmlwdG9ycyBhcmUgbm90CkBAIC0yNDg4LDYgKzI0ODYsMTMgQEAg c3RhdGljIGludCB4aWxpbnhfZG1hX2NoYW5fcHJvYmUoc3RydWN0IHhpbGlueF9kbWFfZGV2aWNl ICp4ZGV2LAogCQljaGFuLT5zdG9wX3RyYW5zZmVyID0geGlsaW54X2RtYV9zdG9wX3RyYW5zZmVy OwogCX0KIAorCS8qIGNoZWNrIGlmIFNHIGlzIGVuYWJsZWQgKi8KKwlpZiAoZG1hX2N0cmxfcmVh ZChjaGFuLCBYSUxJTlhfRE1BX1JFR19ETUFTUikgJgorCQlYSUxJTlhfRE1BX0RNQVNSX1NHX01B U0spCisJCWNoYW4tPmhhc19zZyA9IHRydWU7CisJZGV2X2RiZyhjaGFuLT5kZXYsICJjaCAlZDog U0cgJXNcbiIsIGNoYW4tPmlkLAorCQljaGFuLT5oYXNfc2cgPyAiZW5hYmxlZCIgOiAiZGlzYWJs ZWQiKTsKKwogCS8qIEluaXRpYWxpemUgdGhlIHRhc2tsZXQgKi8KIAl0YXNrbGV0X2luaXQoJmNo YW4tPnRhc2tsZXQsIHhpbGlueF9kbWFfZG9fdGFza2xldCwKIAkJCSh1bnNpZ25lZCBsb25nKWNo YW4pOwpAQCAtMjYyNiw3ICsyNjMxLDYgQEAgc3RhdGljIGludCB4aWxpbnhfZG1hX3Byb2JlKHN0 cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAJCXJldHVybiBQVFJfRVJSKHhkZXYtPnJlZ3Mp OwogCiAJLyogUmV0cmlldmUgdGhlIERNQSBlbmdpbmUgcHJvcGVydGllcyBmcm9tIHRoZSBkZXZp Y2UgdHJlZSAqLwotCiAJaWYgKHhkZXYtPmRtYV9jb25maWctPmRtYXR5cGUgPT0gWERNQV9UWVBF X0FYSURNQSkgewogCQl4ZGV2LT5tY2RtYSA9IG9mX3Byb3BlcnR5X3JlYWRfYm9vbChub2RlLCAi eGxueCxtY2RtYSIpOwogCQllcnIgPSBvZl9wcm9wZXJ0eV9yZWFkX3UzMihub2RlLCAieGxueCxs ZW5ndGhyZWd3aWR0aCIsCg==