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: [4/6] dmaengine: xilinx_dma: fix hardcoded maximum transfer length may be wrong From: Andrea Merello Message-Id: <20180620083653.17010-4-andrea.merello@gmail.com> Date: Wed, 20 Jun 2018 10:36:51 +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: VGhlIG1heGltdW0gdHJhbnNmZXIgbGVuZ3RoIGlzIGN1cnJlbnRseSBoYXJkY29kZWQgaW4gdGhl IGRyaXZlciwgYnV0Cml0IGRlcGVuZHMgYnkgaG93IHRoZSBzb2Z0LUlQIGlzIGFjdHVhbGx5IGNv bmZpZ3VyZWQuCgpUaGlzIHNlZW1zIHRvIGFmZmVjdCBhbHNvIG1heCBwb3NzaWJsZSBsZW5ndGgg Zm9yIFNHIHRyYW5zZmVycy4KClRoaXMgcGF0Y2ggaW50cm9kdWNlIGEgbmV3IERUIHByb3BlcnR5 IGluIG9yZGVyIHRvIG9wZXJhdGUgd2l0aCBwcm9wZXIKbWF4aW11bSB0cmFuc2ZlciBsZW5ndGgu CgpTaWduZWQtb2ZmLWJ5OiBBbmRyZWEgTWVyZWxsbyA8YW5kcmVhLm1lcmVsbG9AZ21haWwuY29t PgotLS0KIGRyaXZlcnMvZG1hL3hpbGlueC94aWxpbnhfZG1hLmMgfCAyNCArKysrKysrKysrKysr KysrKy0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZG1hL3hpbGlueC94aWxpbnhfZG1hLmMgYi9kcml2 ZXJzL2RtYS94aWxpbngveGlsaW54X2RtYS5jCmluZGV4IGNmMTJmNzE0N2YwNy4uYmRiYzhiYTkw OTJhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2RtYS94aWxpbngveGlsaW54X2RtYS5jCisrKyBiL2Ry aXZlcnMvZG1hL3hpbGlueC94aWxpbnhfZG1hLmMKQEAgLTQzOSw2ICs0MzksNyBAQCBzdHJ1Y3Qg eGlsaW54X2RtYV9kZXZpY2UgewogCXN0cnVjdCBjbGsgKnJ4c19jbGs7CiAJdTMyIG5yX2NoYW5u ZWxzOwogCXUzMiBjaGFuX2lkOworCWludCBtYXhfdHJhbnNmZXI7CiB9OwogCiAvKiBNYWNyb3Mg Ki8KQEAgLTE4MDYsOCArMTgwNyw4IEBAIHN0YXRpYyBzdHJ1Y3QgZG1hX2FzeW5jX3R4X2Rlc2Ny aXB0b3IgKnhpbGlueF9kbWFfcHJlcF9zbGF2ZV9zZygKIAkJCSAqIHRoZSBuZXh0IGNodWNrIHN0 YXJ0IGFkZHJlc3MgaXMgYWxpZ25lZAogCQkJICovCiAJCQljb3B5ID0gc2dfZG1hX2xlbihzZykg LSBzZ191c2VkOwotCQkJaWYgKGNvcHkgPiBYSUxJTlhfRE1BX01BWF9UUkFOU19MRU4pCi0JCQkJ Y29weSA9IFhJTElOWF9ETUFfTUFYX1RSQU5TX0xFTiAmCisJCQlpZiAoY29weSA+IGNoYW4tPnhk ZXYtPm1heF90cmFuc2ZlcikKKwkJCQljb3B5ID0gY2hhbi0+eGRldi0+bWF4X3RyYW5zZmVyICYK IAkJCQkJY2hhbi0+Y29weV9tYXNrOwogCiAJCQlodyA9ICZzZWdtZW50LT5odzsKQEAgLTE5MTQs OCArMTkxNSw4IEBAIHN0YXRpYyBzdHJ1Y3QgZG1hX2FzeW5jX3R4X2Rlc2NyaXB0b3IgKnhpbGlu eF9kbWFfcHJlcF9kbWFfY3ljbGljKAogCQkJICogdGhlIG5leHQgY2h1Y2sgc3RhcnQgYWRkcmVz cyBpcyBhbGlnbmVkCiAJCQkgKi8KIAkJCWNvcHkgPSBwZXJpb2RfbGVuIC0gc2dfdXNlZDsKLQkJ CWlmIChjb3B5ID4gWElMSU5YX0RNQV9NQVhfVFJBTlNfTEVOKQotCQkJCWNvcHkgPSBYSUxJTlhf RE1BX01BWF9UUkFOU19MRU4gJgorCQkJaWYgKGNvcHkgPiBjaGFuLT54ZGV2LT5tYXhfdHJhbnNm ZXIpCisJCQkJY29weSA9IGNoYW4tPnhkZXYtPm1heF90cmFuc2ZlciAmCiAJCQkJCWNoYW4tPmNv cHlfbWFzazsKIAogCQkJaHcgPSAmc2VnbWVudC0+aHc7CkBAIC0yNTk0LDcgKzI1OTUsNyBAQCBz dGF0aWMgaW50IHhpbGlueF9kbWFfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikK IAlzdHJ1Y3QgeGlsaW54X2RtYV9kZXZpY2UgKnhkZXY7CiAJc3RydWN0IGRldmljZV9ub2RlICpj aGlsZCwgKm5wID0gcGRldi0+ZGV2Lm9mX25vZGU7CiAJc3RydWN0IHJlc291cmNlICppbzsKLQl1 MzIgbnVtX2ZyYW1lcywgYWRkcl93aWR0aDsKKwl1MzIgbnVtX2ZyYW1lcywgYWRkcl93aWR0aCwg bGVucmVnX3dpZHRoOwogCWludCBpLCBlcnI7CiAKIAkvKiBBbGxvY2F0ZSBhbmQgaW5pdGlhbGl6 ZSB0aGUgRE1BIGVuZ2luZSBzdHJ1Y3R1cmUgKi8KQEAgLTI2MjUsOSArMjYyNiwxOCBAQCBzdGF0 aWMgaW50IHhpbGlueF9kbWFfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIAkJ cmV0dXJuIFBUUl9FUlIoeGRldi0+cmVncyk7CiAKIAkvKiBSZXRyaWV2ZSB0aGUgRE1BIGVuZ2lu ZSBwcm9wZXJ0aWVzIGZyb20gdGhlIGRldmljZSB0cmVlICovCi0JeGRldi0+aGFzX3NnID0gb2Zf cHJvcGVydHlfcmVhZF9ib29sKG5vZGUsICJ4bG54LGluY2x1ZGUtc2ciKTsKLQlpZiAoeGRldi0+ ZG1hX2NvbmZpZy0+ZG1hdHlwZSA9PSBYRE1BX1RZUEVfQVhJRE1BKQorCisJaWYgKHhkZXYtPmRt YV9jb25maWctPmRtYXR5cGUgPT0gWERNQV9UWVBFX0FYSURNQSkgewogCQl4ZGV2LT5tY2RtYSA9 IG9mX3Byb3BlcnR5X3JlYWRfYm9vbChub2RlLCAieGxueCxtY2RtYSIpOworCQllcnIgPSBvZl9w cm9wZXJ0eV9yZWFkX3UzMihub2RlLCAieGxueCxsZW5ndGhyZWd3aWR0aCIsCisJCQkJCSZsZW5y ZWdfd2lkdGgpOworCQlpZiAoZXJyIDwgMCkgeworCQkJZGV2X2Vycih4ZGV2LT5kZXYsCisJCQkJ Im1pc3NpbmcgeGxueCxsZW5ndGhyZWd3aWR0aCBwcm9wZXJ0eVxuIik7CisJCQlyZXR1cm4gZXJy OworCQl9CisJCXhkZXYtPm1heF90cmFuc2ZlciA9IEdFTk1BU0sobGVucmVnX3dpZHRoIC0gMSwg MCk7CisJfQogCiAJaWYgKHhkZXYtPmRtYV9jb25maWctPmRtYXR5cGUgPT0gWERNQV9UWVBFX1ZE TUEpIHsKIAkJZXJyID0gb2ZfcHJvcGVydHlfcmVhZF91MzIobm9kZSwgInhsbngsbnVtLWZzdG9y ZXMiLAo=