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: [v6,5/7] dmaengine: xilinx_dma: autodetect whether the HW supports scatter-gather From: Andrea Merello Message-Id: <20181120153151.18024-5-andrea.merello@gmail.com> Date: Tue, 20 Nov 2018 16:31:49 +0100 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, robh+dt@kernel.org, mark.rutland@arm.com, devicetree@vger.kernel.org, radhey.shyam.pandey@xilinx.com, Andrea Merello List-ID: VGhlIEFYSURNQSBhbmQgQ0RNQSBIVyBjYW4gYmUgZWl0aGVyIGRpcmVjdC1hY2Nlc3Mgb3Igc2Nh dHRlci1nYXRoZXIKdmVyc2lvbi4gVGhlc2UgYXJlIFNXIGluY29tcGF0aWJsZS4KClRoZSBkcml2 ZXIgY2FuIGhhbmRsZSBib3RoIHZlcnNpb25zOiBhIERUIHByb3BlcnR5IHdhcyB1c2VkIHRvCnRl bGwgdGhlIGRyaXZlciB3aGV0aGVyIHRvIGFzc3VtZSB0aGUgSFcgaXMgaW4gc2NhdHRlci1nYXRo ZXIgbW9kZS4KClRoaXMgcGF0Y2ggbWFrZXMgdGhlIGRyaXZlciB0byBhdXRvZGV0ZWN0IHRoaXMg aW5mb3JtYXRpb24uIFRoZSBEVApwcm9wZXJ0eSBpcyBub3QgcmVxdWlyZWQgYW55bW9yZS4KCk5v IGNoYW5nZXMgZm9yIFZETUEuCgpDYzogUm9iIEhlcnJpbmcgPHJvYmgrZHRAa2VybmVsLm9yZz4K Q2M6IE1hcmsgUnV0bGFuZCA8bWFyay5ydXRsYW5kQGFybS5jb20+CkNjOiBkZXZpY2V0cmVlQHZn ZXIua2VybmVsLm9yZwpDYzogUmFkaGV5IFNoeWFtIFBhbmRleSA8cmFkaGV5LnNoeWFtLnBhbmRl eUB4aWxpbnguY29tPgpTaWduZWQtb2ZmLWJ5OiBBbmRyZWEgTWVyZWxsbyA8YW5kcmVhLm1lcmVs bG9AZ21haWwuY29tPgpSZXZpZXdlZC1ieTogUmFkaGV5IFNoeWFtIFBhbmRleSA8cmFkaGV5LnNo eWFtLnBhbmRleUB4aWxpbnguY29tPgotLS0KQ2hhbmdlcyBpbiB2MjoKCS0gYXV0b2RldGVjdCBv bmx5IGluICFWRE1BIGNhc2UKQ2hhbmdlcyBpbiB2MzoKCS0gY2MgRFQgbWFpbnRhaW5lcnMvTUwK Q2hhbmdlcyBpbiB2NDoKCS0gZml4IHR5cG9zIGluIGNvbW1pdCBtZXNzYWdlCkNoYW5nZXMgaW4g djU6CglOb25lCkNoYW5nZXMgaW4gdjY6CglOb25lCi0tLQogZHJpdmVycy9kbWEveGlsaW54L3hp bGlueF9kbWEuYyB8IDE0ICsrKysrKysrKystLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0 aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2RtYS94aWxpbngv eGlsaW54X2RtYS5jIGIvZHJpdmVycy9kbWEveGlsaW54L3hpbGlueF9kbWEuYwppbmRleCAwNzE2 ZGI2MWYxZDAuLjQxYmQ4Y2FjYTA5ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9kbWEveGlsaW54L3hp bGlueF9kbWEuYworKysgYi9kcml2ZXJzL2RtYS94aWxpbngveGlsaW54X2RtYS5jCkBAIC04Niw2 ICs4Niw3IEBACiAjZGVmaW5lIFhJTElOWF9ETUFfRE1BU1JfRE1BX0RFQ19FUlIJCUJJVCg2KQog I2RlZmluZSBYSUxJTlhfRE1BX0RNQVNSX0RNQV9TTEFWRV9FUlIJCUJJVCg1KQogI2RlZmluZSBY SUxJTlhfRE1BX0RNQVNSX0RNQV9JTlRfRVJSCQlCSVQoNCkKKyNkZWZpbmUgWElMSU5YX0RNQV9E TUFTUl9TR19NQVNLCQlCSVQoMykKICNkZWZpbmUgWElMSU5YX0RNQV9ETUFTUl9JRExFCQkJQklU KDEpCiAjZGVmaW5lIFhJTElOWF9ETUFfRE1BU1JfSEFMVEVECQlCSVQoMCkKICNkZWZpbmUgWElM SU5YX0RNQV9ETUFTUl9ERUxBWV9NQVNLCQlHRU5NQVNLKDMxLCAyNCkKQEAgLTQxMiw3ICs0MTMs NiBAQCBzdHJ1Y3QgeGlsaW54X2RtYV9jb25maWcgewogICogQGRldjogRGV2aWNlIFN0cnVjdHVy ZQogICogQGNvbW1vbjogRE1BIGRldmljZSBzdHJ1Y3R1cmUKICAqIEBjaGFuOiBEcml2ZXIgc3Bl Y2lmaWMgRE1BIGNoYW5uZWwKLSAqIEBoYXNfc2c6IFNwZWNpZmllcyB3aGV0aGVyIFNjYXR0ZXIt R2F0aGVyIGlzIHByZXNlbnQgb3Igbm90CiAgKiBAbWNkbWE6IFNwZWNpZmllcyB3aGV0aGVyIE11 bHRpLUNoYW5uZWwgaXMgcHJlc2VudCBvciBub3QKICAqIEBmbHVzaF9vbl9mc3luYzogRmx1c2gg b24gZnJhbWUgc3luYwogICogQGV4dF9hZGRyOiBJbmRpY2F0ZXMgNjQgYml0IGFkZHJlc3Npbmcg aXMgc3VwcG9ydGVkIGJ5IGRtYSBkZXZpY2UKQEAgLTQzMiw3ICs0MzIsNiBAQCBzdHJ1Y3QgeGls aW54X2RtYV9kZXZpY2UgewogCXN0cnVjdCBkZXZpY2UgKmRldjsKIAlzdHJ1Y3QgZG1hX2Rldmlj ZSBjb21tb247CiAJc3RydWN0IHhpbGlueF9kbWFfY2hhbiAqY2hhbltYSUxJTlhfRE1BX01BWF9D SEFOU19QRVJfREVWSUNFXTsKLQlib29sIGhhc19zZzsKIAlib29sIG1jZG1hOwogCXUzMiBmbHVz aF9vbl9mc3luYzsKIAlib29sIGV4dF9hZGRyOwpAQCAtMjQxNyw3ICsyNDE2LDYgQEAgc3RhdGlj IGludCB4aWxpbnhfZG1hX2NoYW5fcHJvYmUoc3RydWN0IHhpbGlueF9kbWFfZGV2aWNlICp4ZGV2 LAogCiAJY2hhbi0+ZGV2ID0geGRldi0+ZGV2OwogCWNoYW4tPnhkZXYgPSB4ZGV2OwotCWNoYW4t Pmhhc19zZyA9IHhkZXYtPmhhc19zZzsKIAljaGFuLT5kZXNjX3BlbmRpbmdjb3VudCA9IDB4MDsK IAljaGFuLT5leHRfYWRkciA9IHhkZXYtPmV4dF9hZGRyOwogCS8qIFRoaXMgdmFyaWFibGUgZW5z dXJlcyB0aGF0IGRlc2NyaXB0b3JzIGFyZSBub3QKQEAgLTI1MTcsNiArMjUxNSwxNSBAQCBzdGF0 aWMgaW50IHhpbGlueF9kbWFfY2hhbl9wcm9iZShzdHJ1Y3QgeGlsaW54X2RtYV9kZXZpY2UgKnhk ZXYsCiAJCWNoYW4tPnN0b3BfdHJhbnNmZXIgPSB4aWxpbnhfZG1hX3N0b3BfdHJhbnNmZXI7CiAJ fQogCisJLyogY2hlY2sgaWYgU0cgaXMgZW5hYmxlZCAob25seSBmb3IgQVhJRE1BIGFuZCBDRE1B KSAqLworCWlmICh4ZGV2LT5kbWFfY29uZmlnLT5kbWF0eXBlICE9IFhETUFfVFlQRV9WRE1BKSB7 CisJCWlmIChkbWFfY3RybF9yZWFkKGNoYW4sIFhJTElOWF9ETUFfUkVHX0RNQVNSKSAmCisJCSAg ICBYSUxJTlhfRE1BX0RNQVNSX1NHX01BU0spCisJCQljaGFuLT5oYXNfc2cgPSB0cnVlOworCQlk ZXZfZGJnKGNoYW4tPmRldiwgImNoICVkOiBTRyAlc1xuIiwgY2hhbi0+aWQsCisJCQljaGFuLT5o YXNfc2cgPyAiZW5hYmxlZCIgOiAiZGlzYWJsZWQiKTsKKwl9CisKIAkvKiBJbml0aWFsaXplIHRo ZSB0YXNrbGV0ICovCiAJdGFza2xldF9pbml0KCZjaGFuLT50YXNrbGV0LCB4aWxpbnhfZG1hX2Rv X3Rhc2tsZXQsCiAJCQkodW5zaWduZWQgbG9uZyljaGFuKTsKQEAgLTI2NTUsNyArMjY2Miw2IEBA IHN0YXRpYyBpbnQgeGlsaW54X2RtYV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2 KQogCQlyZXR1cm4gUFRSX0VSUih4ZGV2LT5yZWdzKTsKIAogCS8qIFJldHJpZXZlIHRoZSBETUEg ZW5naW5lIHByb3BlcnRpZXMgZnJvbSB0aGUgZGV2aWNlIHRyZWUgKi8KLQl4ZGV2LT5oYXNfc2cg PSBvZl9wcm9wZXJ0eV9yZWFkX2Jvb2wobm9kZSwgInhsbngsaW5jbHVkZS1zZyIpOwogCXhkZXYt Pm1heF9idWZmZXJfbGVuID0gR0VOTUFTSyhYSUxJTlhfRE1BX01BWF9UUkFOU19MRU5fTUFYIC0g MSwgMCk7CiAKIAlpZiAoeGRldi0+ZG1hX2NvbmZpZy0+ZG1hdHlwZSA9PSBYRE1BX1RZUEVfQVhJ RE1BKSB7Cg==