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: [v5,5/7] dmaengine: xilinx_dma: autodetect whether the HW supports scatter-gather From: Andrea Merello Message-Id: <20180907062502.8241-5-andrea.merello@gmail.com> Date: Fri, 7 Sep 2018 08:25:00 +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, 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 djU6CglOb25lCi0tLQogZHJpdmVycy9kbWEveGlsaW54L3hpbGlueF9kbWEuYyB8IDE0ICsrKysr KysrKystLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2RtYS94aWxpbngveGlsaW54X2RtYS5jIGIvZHJpdmVy cy9kbWEveGlsaW54L3hpbGlueF9kbWEuYwppbmRleCBiMTdmMjRlNGVjMzUuLjc4ZDBmMmY4MjI1 ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9kbWEveGlsaW54L3hpbGlueF9kbWEuYworKysgYi9kcml2 ZXJzL2RtYS94aWxpbngveGlsaW54X2RtYS5jCkBAIC04Niw2ICs4Niw3IEBACiAjZGVmaW5lIFhJ TElOWF9ETUFfRE1BU1JfRE1BX0RFQ19FUlIJCUJJVCg2KQogI2RlZmluZSBYSUxJTlhfRE1BX0RN QVNSX0RNQV9TTEFWRV9FUlIJCUJJVCg1KQogI2RlZmluZSBYSUxJTlhfRE1BX0RNQVNSX0RNQV9J TlRfRVJSCQlCSVQoNCkKKyNkZWZpbmUgWElMSU5YX0RNQV9ETUFTUl9TR19NQVNLCQlCSVQoMykK ICNkZWZpbmUgWElMSU5YX0RNQV9ETUFTUl9JRExFCQkJQklUKDEpCiAjZGVmaW5lIFhJTElOWF9E TUFfRE1BU1JfSEFMVEVECQlCSVQoMCkKICNkZWZpbmUgWElMSU5YX0RNQV9ETUFTUl9ERUxBWV9N QVNLCQlHRU5NQVNLKDMxLCAyNCkKQEAgLTQwNyw3ICs0MDgsNiBAQCBzdHJ1Y3QgeGlsaW54X2Rt YV9jb25maWcgewogICogQGRldjogRGV2aWNlIFN0cnVjdHVyZQogICogQGNvbW1vbjogRE1BIGRl dmljZSBzdHJ1Y3R1cmUKICAqIEBjaGFuOiBEcml2ZXIgc3BlY2lmaWMgRE1BIGNoYW5uZWwKLSAq IEBoYXNfc2c6IFNwZWNpZmllcyB3aGV0aGVyIFNjYXR0ZXItR2F0aGVyIGlzIHByZXNlbnQgb3Ig bm90CiAgKiBAbWNkbWE6IFNwZWNpZmllcyB3aGV0aGVyIE11bHRpLUNoYW5uZWwgaXMgcHJlc2Vu dCBvciBub3QKICAqIEBmbHVzaF9vbl9mc3luYzogRmx1c2ggb24gZnJhbWUgc3luYwogICogQGV4 dF9hZGRyOiBJbmRpY2F0ZXMgNjQgYml0IGFkZHJlc3NpbmcgaXMgc3VwcG9ydGVkIGJ5IGRtYSBk ZXZpY2UKQEAgLTQyNyw3ICs0MjcsNiBAQCBzdHJ1Y3QgeGlsaW54X2RtYV9kZXZpY2UgewogCXN0 cnVjdCBkZXZpY2UgKmRldjsKIAlzdHJ1Y3QgZG1hX2RldmljZSBjb21tb247CiAJc3RydWN0IHhp bGlueF9kbWFfY2hhbiAqY2hhbltYSUxJTlhfRE1BX01BWF9DSEFOU19QRVJfREVWSUNFXTsKLQli b29sIGhhc19zZzsKIAlib29sIG1jZG1hOwogCXUzMiBmbHVzaF9vbl9mc3luYzsKIAlib29sIGV4 dF9hZGRyOwpAQCAtMjQwMCw3ICsyMzk5LDYgQEAgc3RhdGljIGludCB4aWxpbnhfZG1hX2NoYW5f cHJvYmUoc3RydWN0IHhpbGlueF9kbWFfZGV2aWNlICp4ZGV2LAogCiAJY2hhbi0+ZGV2ID0geGRl di0+ZGV2OwogCWNoYW4tPnhkZXYgPSB4ZGV2OwotCWNoYW4tPmhhc19zZyA9IHhkZXYtPmhhc19z ZzsKIAljaGFuLT5kZXNjX3BlbmRpbmdjb3VudCA9IDB4MDsKIAljaGFuLT5leHRfYWRkciA9IHhk ZXYtPmV4dF9hZGRyOwogCS8qIFRoaXMgdmFyaWFibGUgZW5zdXJlcyB0aGF0IGRlc2NyaXB0b3Jz IGFyZSBub3QKQEAgLTI0OTMsNiArMjQ5MSwxNSBAQCBzdGF0aWMgaW50IHhpbGlueF9kbWFfY2hh bl9wcm9iZShzdHJ1Y3QgeGlsaW54X2RtYV9kZXZpY2UgKnhkZXYsCiAJCWNoYW4tPnN0b3BfdHJh bnNmZXIgPSB4aWxpbnhfZG1hX3N0b3BfdHJhbnNmZXI7CiAJfQogCisJLyogY2hlY2sgaWYgU0cg aXMgZW5hYmxlZCAob25seSBmb3IgQVhJRE1BIGFuZCBDRE1BKSAqLworCWlmICh4ZGV2LT5kbWFf Y29uZmlnLT5kbWF0eXBlICE9IFhETUFfVFlQRV9WRE1BKSB7CisJCWlmIChkbWFfY3RybF9yZWFk KGNoYW4sIFhJTElOWF9ETUFfUkVHX0RNQVNSKSAmCisJCSAgICBYSUxJTlhfRE1BX0RNQVNSX1NH X01BU0spCisJCQljaGFuLT5oYXNfc2cgPSB0cnVlOworCQlkZXZfZGJnKGNoYW4tPmRldiwgImNo ICVkOiBTRyAlc1xuIiwgY2hhbi0+aWQsCisJCQljaGFuLT5oYXNfc2cgPyAiZW5hYmxlZCIgOiAi ZGlzYWJsZWQiKTsKKwl9CisKIAkvKiBJbml0aWFsaXplIHRoZSB0YXNrbGV0ICovCiAJdGFza2xl dF9pbml0KCZjaGFuLT50YXNrbGV0LCB4aWxpbnhfZG1hX2RvX3Rhc2tsZXQsCiAJCQkodW5zaWdu ZWQgbG9uZyljaGFuKTsKQEAgLTI2MzEsNyArMjYzOCw2IEBAIHN0YXRpYyBpbnQgeGlsaW54X2Rt YV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogCQlyZXR1cm4gUFRSX0VSUih4 ZGV2LT5yZWdzKTsKIAogCS8qIFJldHJpZXZlIHRoZSBETUEgZW5naW5lIHByb3BlcnRpZXMgZnJv bSB0aGUgZGV2aWNlIHRyZWUgKi8KLQl4ZGV2LT5oYXNfc2cgPSBvZl9wcm9wZXJ0eV9yZWFkX2Jv b2wobm9kZSwgInhsbngsaW5jbHVkZS1zZyIpOwogCXhkZXYtPm1heF9idWZmZXJfbGVuID0gR0VO TUFTSyhYSUxJTlhfRE1BX01BWF9UUkFOU19MRU5fTUFYIC0gMSwgMCk7CiAKIAlpZiAoeGRldi0+ ZG1hX2NvbmZpZy0+ZG1hdHlwZSA9PSBYRE1BX1RZUEVfQVhJRE1BKSB7Cg==