From mboxrd@z Thu Jan 1 00:00:00 1970 From: Robin Gong Subject: [PATCH v1 4/6] dmaengine: fsl-edma: add i.mx7ulp edma2 version support Date: Fri, 10 May 2019 10:14:21 +0000 Message-ID: <1557512248-8440-5-git-send-email-yibin.gong@nxp.com> References: <1557512248-8440-1-git-send-email-yibin.gong@nxp.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1557512248-8440-1-git-send-email-yibin.gong@nxp.com> Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org To: "robh@kernel.org" , "shawnguo@kernel.org" , "s.hauer@pengutronix.de" , "festevam@gmail.com" , "mark.rutland@arm.com" , "vkoul@kernel.org" , "dan.j.williams@intel.com" Cc: dl-linux-imx , "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" , "dmaengine@vger.kernel.org" , "devicetree@vger.kernel.org" , "kernel@pengutronix.de" List-Id: devicetree@vger.kernel.org ICBBZGQgZWRtYTIgZm9yIGkubXg3dWxwIGJ5IHZlcnNpb24gdjMsIHNpbmNlIHYyIGhhcyBhbHJl YWR5DQpiZWVuIHVzZWQgYnkgbWNmLWVkbWEuDQpUaGUgYmlnIGNoYW5nZXMgYmFzZWQgb24gdjEg YXJlIGJlbG93czoNCiAgMS4gb25seSBvbmUgZG1hbXV4Lg0KICAyLiBhbm90aGVyIGNsb2NrIGRt YV9jbGsgZXhjZXB0IGRtYW11eCBjbGsuDQogIDMuIDE2IGluZGVwZW5kZW50IGludGVycnVwdHMg aW5zdGVhZCBvZiBvbmx5IG9uZSBpbnRlcnJ1cHQgZm9yDQphbGwgY2hhbm5lbHMuDQoNClNpZ25l ZC1vZmYtYnk6IFJvYmluIEdvbmcgPHlpYmluLmdvbmdAbnhwLmNvbT4NCi0tLQ0KIGRyaXZlcnMv ZG1hL2ZzbC1lZG1hLWNvbW1vbi5jIHwgMTggKysrKysrKysrKy0NCiBkcml2ZXJzL2RtYS9mc2wt ZWRtYS1jb21tb24uaCB8ICAzICsrDQogZHJpdmVycy9kbWEvZnNsLWVkbWEuYyAgICAgICAgfCA2 OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystDQogMyBmaWxlcyBj aGFuZ2VkLCA4OCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQ0KDQpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9kbWEvZnNsLWVkbWEtY29tbW9uLmMgYi9kcml2ZXJzL2RtYS9mc2wtZWRtYS1jb21t b24uYw0KaW5kZXggYmIyNDI1MS4uNjRlODIyZSAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvZG1hL2Zz bC1lZG1hLWNvbW1vbi5jDQorKysgYi9kcml2ZXJzL2RtYS9mc2wtZWRtYS1jb21tb24uYw0KQEAg LTkwLDYgKzkwLDE5IEBAIHN0YXRpYyB2b2lkIG11eF9jb25maWd1cmU4KHN0cnVjdCBmc2xfZWRt YV9jaGFuICpmc2xfY2hhbiwgdm9pZCBfX2lvbWVtICphZGRyLA0KIAlpb3dyaXRlOCh2YWw4LCBh ZGRyICsgb2ZmKTsNCiB9DQogDQordm9pZCBtdXhfY29uZmlndXJlMzIoc3RydWN0IGZzbF9lZG1h X2NoYW4gKmZzbF9jaGFuLCB2b2lkIF9faW9tZW0gKmFkZHIsDQorCQkgICAgIHUzMiBvZmYsIHUz MiBzbG90LCBib29sIGVuYWJsZSkNCit7DQorCXUzMiB2YWw7DQorDQorCWlmIChlbmFibGUpDQor CQl2YWwgPSBFRE1BTVVYX0NIQ0ZHX0VOQkwgPDwgMjQgfCBzbG90Ow0KKwllbHNlDQorCQl2YWwg PSBFRE1BTVVYX0NIQ0ZHX0RJUzsNCisNCisJaW93cml0ZTMyKHZhbCwgYWRkciArIG9mZiAqIDQp Ow0KK30NCisNCiB2b2lkIGZzbF9lZG1hX2NoYW5fbXV4KHN0cnVjdCBmc2xfZWRtYV9jaGFuICpm c2xfY2hhbiwNCiAJCQl1bnNpZ25lZCBpbnQgc2xvdCwgYm9vbCBlbmFibGUpDQogew0KQEAgLTEw Miw3ICsxMTUsMTAgQEAgdm9pZCBmc2xfZWRtYV9jaGFuX211eChzdHJ1Y3QgZnNsX2VkbWFfY2hh biAqZnNsX2NoYW4sDQogCW11eGFkZHIgPSBmc2xfY2hhbi0+ZWRtYS0+bXV4YmFzZVtjaCAvIGNo YW5zX3Blcl9tdXhdOw0KIAlzbG90ID0gRURNQU1VWF9DSENGR19TT1VSQ0Uoc2xvdCk7DQogDQot CW11eF9jb25maWd1cmU4KGZzbF9jaGFuLCBtdXhhZGRyLCBjaF9vZmYsIHNsb3QsIGVuYWJsZSk7 DQorCWlmIChmc2xfY2hhbi0+ZWRtYS0+dmVyc2lvbiA9PSB2MykNCisJCW11eF9jb25maWd1cmUz Mihmc2xfY2hhbiwgbXV4YWRkciwgY2hfb2ZmLCBzbG90LCBlbmFibGUpOw0KKwllbHNlDQorCQlt dXhfY29uZmlndXJlOChmc2xfY2hhbiwgbXV4YWRkciwgY2hfb2ZmLCBzbG90LCBlbmFibGUpOw0K IH0NCiBFWFBPUlRfU1lNQk9MX0dQTChmc2xfZWRtYV9jaGFuX211eCk7DQogDQpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9kbWEvZnNsLWVkbWEtY29tbW9uLmggYi9kcml2ZXJzL2RtYS9mc2wtZWRtYS1j b21tb24uaA0KaW5kZXggMjFhOWNmZC4uMmIwY2M4ZSAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvZG1h L2ZzbC1lZG1hLWNvbW1vbi5oDQorKysgYi9kcml2ZXJzL2RtYS9mc2wtZWRtYS1jb21tb24uaA0K QEAgLTEyNCw2ICsxMjQsNyBAQCBzdHJ1Y3QgZnNsX2VkbWFfY2hhbiB7DQogCWRtYV9hZGRyX3QJ CQlkbWFfZGV2X2FkZHI7DQogCXUzMgkJCQlkbWFfZGV2X3NpemU7DQogCWVudW0gZG1hX2RhdGFf ZGlyZWN0aW9uCQlkbWFfZGlyOw0KKwljaGFyCQkJCWNoYW5fbmFtZVsxNl07DQogfTsNCiANCiBz dHJ1Y3QgZnNsX2VkbWFfZGVzYyB7DQpAQCAtMTM4LDYgKzEzOSw3IEBAIHN0cnVjdCBmc2xfZWRt YV9kZXNjIHsNCiBlbnVtIGVkbWFfdmVyc2lvbiB7DQogCXYxLCAvKiAzMmNoLCBWeWJyaWQsIG1w YzU3eCwgZXRjICovDQogCXYyLCAvKiA2NGNoIENvbGRmaXJlICovDQorCXYzLCAvKiAzMmNoLCBp Lm14N3VscCAqLw0KIH07DQogDQogc3RydWN0IGZzbF9lZG1hX2VuZ2luZSB7DQpAQCAtMTQ1LDYg KzE0Nyw3IEBAIHN0cnVjdCBmc2xfZWRtYV9lbmdpbmUgew0KIAl2b2lkIF9faW9tZW0JCSptZW1i YXNlOw0KIAl2b2lkIF9faW9tZW0JCSptdXhiYXNlW0RNQU1VWF9OUl07DQogCXN0cnVjdCBjbGsJ CSptdXhjbGtbRE1BTVVYX05SXTsNCisJc3RydWN0IGNsawkJKmRtYWNsazsNCiAJdTMyCQkJZG1h bXV4X25yOw0KIAlzdHJ1Y3QgbXV0ZXgJCWZzbF9lZG1hX211dGV4Ow0KIAl1MzIJCQluX2NoYW5z Ow0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZG1hL2ZzbC1lZG1hLmMgYi9kcml2ZXJzL2RtYS9mc2wt ZWRtYS5jDQppbmRleCA3YjY1ZWY0Li4xNTY4MDcwIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9kbWEv ZnNsLWVkbWEuYw0KKysrIGIvZHJpdmVycy9kbWEvZnNsLWVkbWEuYw0KQEAgLTE2NSw2ICsxNjUs NTEgQEAgZnNsX2VkbWFfaXJxX2luaXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwgc3Ry dWN0IGZzbF9lZG1hX2VuZ2luZSAqZnNsX2VkbWENCiAJcmV0dXJuIDA7DQogfQ0KIA0KK3N0YXRp YyBpbnQNCitmc2xfZWRtYTJfaXJxX2luaXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwN CisJCSAgIHN0cnVjdCBmc2xfZWRtYV9lbmdpbmUgKmZzbF9lZG1hKQ0KK3sNCisJc3RydWN0IGRl dmljZV9ub2RlICpucCA9IHBkZXYtPmRldi5vZl9ub2RlOw0KKwlpbnQgaSwgcmV0LCBpcnE7DQor CWludCBjb3VudCA9IDA7DQorDQorCWNvdW50ID0gb2ZfaXJxX2NvdW50KG5wKTsNCisJZGV2X2lu Zm8oJnBkZXYtPmRldiwgIiVzIEZvdW5kICVkIGludGVycnVwdHNcclxuIiwgX19mdW5jX18sIGNv dW50KTsNCisJaWYgKGNvdW50IDw9IDIpIHsNCisJCWRldl9lcnIoJnBkZXYtPmRldiwgIkludGVy cnVwdHMgaW4gRFRTIG5vdCBjb3JyZWN0LlxuIik7DQorCQlyZXR1cm4gLUVJTlZBTDsNCisJfQ0K KwkvKg0KKwkgKiAxNiBjaGFubmVsIGluZGVwZW5kZW50IGludGVycnVwdHMgKyAxIGVycm9yIGlu dGVycnVwdCBvbiBpLm14N3VscC4NCisJICogMiBjaGFubmVsIHNoYXJlIG9uZSBpbnRlcnJ1cHQs IGZvciBleGFtcGxlLCBjaDAvY2gxNiwgY2gxL2NoMTcuLi4NCisJICogRm9yIG5vdywganVzdCBz aW1wbHkgcmVxdWVzdCBpcnEgd2l0aG91dCBJUlFGX1NIQVJFRCBmbGFnLCBzaW5jZSAxNg0KKwkg KiBjaGFubmVscyBhcmUgZW5vdWdoIG9uIGkubXg3dWxwIHdob3NlIE00IGRvbWFpbiBvd24gc29t ZSBwZXJpcGhlcmFscy4NCisJICovDQorCWZvciAoaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7DQor CQlpcnEgPSBwbGF0Zm9ybV9nZXRfaXJxKHBkZXYsIGkpOw0KKwkJaWYgKGlycSA8IDApDQorCQkJ cmV0dXJuIC1FTlhJTzsNCisNCisJCXNwcmludGYoZnNsX2VkbWEtPmNoYW5zW2ldLmNoYW5fbmFt ZSwgImVETUEyLUNIJTAyZCIsIGkpOw0KKw0KKwkJLyogVGhlIGxhc3QgSVJRIGlzIGZvciBlRE1B IGVyciAqLw0KKwkJaWYgKGkgPT0gY291bnQgLSAxKQ0KKwkJCXJldCA9IGRldm1fcmVxdWVzdF9p cnEoJnBkZXYtPmRldiwgaXJxLA0KKwkJCQkJCWZzbF9lZG1hX2Vycl9oYW5kbGVyLA0KKwkJCQkJ CTAsICJlRE1BMi1FUlIiLCBmc2xfZWRtYSk7DQorCQllbHNlDQorDQorCQkJcmV0ID0gZGV2bV9y ZXF1ZXN0X2lycSgmcGRldi0+ZGV2LCBpcnEsDQorCQkJCQkJZnNsX2VkbWFfdHhfaGFuZGxlciwg MCwNCisJCQkJCQlmc2xfZWRtYS0+Y2hhbnNbaV0uY2hhbl9uYW1lLA0KKwkJCQkJCWZzbF9lZG1h KTsNCisJCWlmIChyZXQpDQorCQkJcmV0dXJuIHJldDsNCisJfQ0KKw0KKwlyZXR1cm4gMDsNCit9 DQorDQogc3RhdGljIHZvaWQgZnNsX2VkbWFfaXJxX2V4aXQoDQogCQlzdHJ1Y3QgcGxhdGZvcm1f ZGV2aWNlICpwZGV2LCBzdHJ1Y3QgZnNsX2VkbWFfZW5naW5lICpmc2xfZWRtYSkNCiB7DQpAQCAt MjE4LDYgKzI2MywyMyBAQCBzdGF0aWMgaW50IGZzbF9lZG1hX3Byb2JlKHN0cnVjdCBwbGF0Zm9y bV9kZXZpY2UgKnBkZXYpDQogCWZzbF9lZG1hX3NldHVwX3JlZ3MoZnNsX2VkbWEpOw0KIAlyZWdz ID0gJmZzbF9lZG1hLT5yZWdzOw0KIA0KKwlpZiAob2ZfZGV2aWNlX2lzX2NvbXBhdGlibGUobnAs ICJmc2wsaW14N3VscC1lZG1hIikpIHsNCisJCWZzbF9lZG1hLT5kbWFtdXhfbnIgPSAxOw0KKwkJ ZnNsX2VkbWEtPnZlcnNpb24gPSB2MzsNCisNCisJCWZzbF9lZG1hLT5kbWFjbGsgPSBkZXZtX2Ns a19nZXQoJnBkZXYtPmRldiwgImRtYSIpOw0KKwkJaWYgKElTX0VSUihmc2xfZWRtYS0+ZG1hY2xr KSkgew0KKwkJCWRldl9lcnIoJnBkZXYtPmRldiwgIk1pc3NpbmcgRE1BIGJsb2NrIGNsb2NrLlxu Iik7DQorCQkJcmV0dXJuIFBUUl9FUlIoZnNsX2VkbWEtPmRtYWNsayk7DQorCQl9DQorDQorCQly ZXQgPSBjbGtfcHJlcGFyZV9lbmFibGUoZnNsX2VkbWEtPmRtYWNsayk7DQorCQlpZiAocmV0KSB7 DQorCQkJZGV2X2VycigmcGRldi0+ZGV2LCAiRE1BIGNsayBibG9jayBmYWlsZWQuXG4iKTsNCisJ CQlyZXR1cm4gcmV0Ow0KKwkJfQ0KKwl9DQorDQogCWZvciAoaSA9IDA7IGkgPCBmc2xfZWRtYS0+ ZG1hbXV4X25yOyBpKyspIHsNCiAJCWNoYXIgY2xrbmFtZVszMl07DQogDQpAQCAtMjY0LDcgKzMy NiwxMSBAQCBzdGF0aWMgaW50IGZzbF9lZG1hX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2Ug KnBkZXYpDQogCX0NCiANCiAJZWRtYV93cml0ZWwoZnNsX2VkbWEsIH4wLCByZWdzLT5pbnRsKTsN Ci0JcmV0ID0gZnNsX2VkbWFfaXJxX2luaXQocGRldiwgZnNsX2VkbWEpOw0KKw0KKwlpZiAoZnNs X2VkbWEtPnZlcnNpb24gPT0gdjMpDQorCQlyZXQgPSBmc2xfZWRtYTJfaXJxX2luaXQocGRldiwg ZnNsX2VkbWEpOw0KKwllbHNlDQorCQlyZXQgPSBmc2xfZWRtYV9pcnFfaW5pdChwZGV2LCBmc2xf ZWRtYSk7DQogCWlmIChyZXQpDQogCQlyZXR1cm4gcmV0Ow0KIA0KQEAgLTM4NSw2ICs0NTEsNyBA QCBzdGF0aWMgY29uc3Qgc3RydWN0IGRldl9wbV9vcHMgZnNsX2VkbWFfcG1fb3BzID0gew0KIA0K IHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGZzbF9lZG1hX2R0X2lkc1tdID0gew0K IAl7IC5jb21wYXRpYmxlID0gImZzbCx2ZjYxMC1lZG1hIiwgfSwNCisJeyAuY29tcGF0aWJsZSA9 ICJmc2wsaW14N3VscC1lZG1hIiwgfSwNCiAJeyAvKiBzZW50aW5lbCAqLyB9DQogfTsNCiBNT0RV TEVfREVWSUNFX1RBQkxFKG9mLCBmc2xfZWRtYV9kdF9pZHMpOw0KLS0gDQoyLjcuNA0KDQo=