From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Subject: [PATCH v4 4/4] drm/tinydrm: Remove chunk splitting in tinydrm_spi_transfer Date: Thu, 11 Apr 2019 18:42:35 +0200 Message-ID: <20190411164235.49771-5-noralf@tronnes.org> References: <20190411164235.49771-1-noralf@tronnes.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: stefan.wahren@i2se.com, broonie@kernel.org, linux-rpi-kernel@lists.infradead.org, meghana.madhyastha@gmail.com, kernel@martin.sperl.org To: linux-spi@vger.kernel.org, dri-devel@lists.freedesktop.org Return-path: In-Reply-To: <20190411164235.49771-1-noralf@tronnes.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" List-Id: linux-spi.vger.kernel.org RnJvbTogTWVnaGFuYSBNYWRoeWFzdGhhIDxtZWdoYW5hLm1hZGh5YXN0aGFAZ21haWwuY29tPgoK UmVtb3ZlIGNodW5rIHNwbGl0dGluZyBpbiB0aW55ZHJtX3NwaV90cmFuc2ZlciBpbiB0aW55ZHJt LWhlbHBlcnMgYXMgdGhlCnNwaSBjb3JlIHdpbGwgc3BsaXQgYSBidWZmZXIgaW50byBtYXhfZG1h X2xlbiBjaHVua3MgZm9yIHRoZSBzcGkKY29udHJvbGxlciBkcml2ZXIgdG8gaGFuZGxlLCBhdXRv bWF0aWMgYnl0ZSBzd2FwcGluZyBpbgp0aW55ZHJtX3NwaV90cmFuc2ZlciBhcyBpdCBkb2Vzbid0 IGhhdmUgdXNlcnMuCgpSZW1vdmUgdGhlIHNwaV9tYXggbW9kdWxlIGFyZ3VtZW50IHRoYXQgbm93 IGhhcyBsb3N0IGl0cyBjYXVzZS4KClRoZSAxNmtCIGJ1ZmZlciBzaXplIGZvciBUeXBlIEMgT3B0 aW9uIDEgKDktYml0KSBpbnRlcmZhY2UgaXMgc29tZXdoYXQKYXJiaXRyYXJ5LCBidXQgYSBiaWdn ZXIgYnVmZmVyIHdpbGwgaGF2ZSBhIG1pbmlzY3VsZSBpbXBhY3Qgb24gdHJhbnNmZXIKc3BlZWQs IHNvIGl0J3MgcHJvYmFibHkgZmluZS4KClNpZ25lZC1vZmYtYnk6IE1lZ2hhbmEgTWFkaHlhc3Ro YSA8bWVnaGFuYS5tYWRoeWFzdGhhQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogTm9yYWxmIFRy w7hubmVzIDxub3JhbGZAdHJvbm5lcy5vcmc+Ci0tLQogLi4uL2dwdS9kcm0vdGlueWRybS9jb3Jl L3Rpbnlkcm0taGVscGVycy5jICAgIHwgODMgKystLS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9n cHUvZHJtL3Rpbnlkcm0vbWlwaS1kYmkuYyAgICAgICAgICAgIHwgMTAgKy0tCiAyIGZpbGVzIGNo YW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgODYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL3Rpbnlkcm0vY29yZS90aW55ZHJtLWhlbHBlcnMuYyBiL2RyaXZlcnMvZ3B1 L2RybS90aW55ZHJtL2NvcmUvdGlueWRybS1oZWxwZXJzLmMKaW5kZXggNmQ1NDBkOTM3NThmLi5h MzJkYzg1OWE5YzEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS90aW55ZHJtL2NvcmUvdGlu eWRybS1oZWxwZXJzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0vY29yZS90aW55ZHJt LWhlbHBlcnMuYwpAQCAtMjIsNDEgKzIyLDggQEAKICNpbmNsdWRlIDxkcm0vZHJtX3JlY3QuaD4K ICNpbmNsdWRlIDxkcm0vdGlueWRybS90aW55ZHJtLWhlbHBlcnMuaD4KIAotc3RhdGljIHVuc2ln bmVkIGludCBzcGlfbWF4OwotbW9kdWxlX3BhcmFtKHNwaV9tYXgsIHVpbnQsIDA0MDApOwotTU9E VUxFX1BBUk1fREVTQyhzcGlfbWF4LCAiU2V0IGEgbG93ZXIgU1BJIG1heCB0cmFuc2ZlciBzaXpl Iik7Ci0KICNpZiBJU19FTkFCTEVEKENPTkZJR19TUEkpCiAKLS8qKgotICogdGlueWRybV9zcGlf bWF4X3RyYW5zZmVyX3NpemUgLSBEZXRlcm1pbmUgbWF4IFNQSSB0cmFuc2ZlciBzaXplCi0gKiBA c3BpOiBTUEkgZGV2aWNlCi0gKiBAbWF4X2xlbjogTWF4aW11bSBidWZmZXIgc2l6ZSBuZWVkZWQg KG9wdGlvbmFsKQotICoKLSAqIFRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgbWF4aW11bSBzaXpl IHRvIHVzZSBmb3IgU1BJIHRyYW5zZmVycy4gSXQgY2hlY2tzCi0gKiB0aGUgU1BJIG1hc3Rlciwg dGhlIG9wdGlvbmFsIEBtYXhfbGVuIGFuZCB0aGUgbW9kdWxlIHBhcmFtZXRlciBzcGlfbWF4IGFu ZAotICogcmV0dXJucyB0aGUgc21hbGxlc3QuCi0gKgotICogUmV0dXJuczoKLSAqIE1heGltdW0g c2l6ZSBmb3IgU1BJIHRyYW5zZmVycwotICovCi1zaXplX3QgdGlueWRybV9zcGlfbWF4X3RyYW5z ZmVyX3NpemUoc3RydWN0IHNwaV9kZXZpY2UgKnNwaSwgc2l6ZV90IG1heF9sZW4pCi17Ci0Jc2l6 ZV90IHJldDsKLQotCXJldCA9IG1pbihzcGlfbWF4X3RyYW5zZmVyX3NpemUoc3BpKSwgc3BpLT5t YXN0ZXItPm1heF9kbWFfbGVuKTsKLQlpZiAobWF4X2xlbikKLQkJcmV0ID0gbWluKHJldCwgbWF4 X2xlbik7Ci0JaWYgKHNwaV9tYXgpCi0JCXJldCA9IG1pbl90KHNpemVfdCwgcmV0LCBzcGlfbWF4 KTsKLQlyZXQgJj0gfjB4MzsKLQlpZiAocmV0IDwgNCkKLQkJcmV0ID0gNDsKLQotCXJldHVybiBy ZXQ7Ci19Ci1FWFBPUlRfU1lNQk9MKHRpbnlkcm1fc3BpX21heF90cmFuc2Zlcl9zaXplKTsKLQog LyoqCiAgKiB0aW55ZHJtX3NwaV9icHdfc3VwcG9ydGVkIC0gQ2hlY2sgaWYgYml0cyBwZXIgd29y ZCBpcyBzdXBwb3J0ZWQKICAqIEBzcGk6IFNQSSBkZXZpY2UKQEAgLTE0Nyw2MiArMTE0LDIyIEBA IGludCB0aW55ZHJtX3NwaV90cmFuc2ZlcihzdHJ1Y3Qgc3BpX2RldmljZSAqc3BpLCB1MzIgc3Bl ZWRfaHosCiAJc3RydWN0IHNwaV90cmFuc2ZlciB0ciA9IHsKIAkJLmJpdHNfcGVyX3dvcmQgPSBi cHcsCiAJCS5zcGVlZF9oeiA9IHNwZWVkX2h6LAorCQkudHhfYnVmID0gYnVmLAorCQkubGVuID0g bGVuCiAJfTsKIAlzdHJ1Y3Qgc3BpX21lc3NhZ2UgbTsKLQl1MTYgKnN3YXBfYnVmID0gTlVMTDsK LQlzaXplX3QgbWF4X2NodW5rOwotCXNpemVfdCBjaHVuazsKLQlpbnQgcmV0ID0gMDsKLQotCWlm IChXQVJOX09OX09OQ0UoYnB3ICE9IDggJiYgYnB3ICE9IDE2KSkKLQkJcmV0dXJuIC1FSU5WQUw7 Ci0KLQltYXhfY2h1bmsgPSB0aW55ZHJtX3NwaV9tYXhfdHJhbnNmZXJfc2l6ZShzcGksIDApOwog CiAJaWYgKGRybV9kZWJ1ZyAmIERSTV9VVF9EUklWRVIpCi0JCXByX2RlYnVnKCJbZHJtOiVzXSBi cHc9JXUsIG1heF9jaHVuaz0lenUsIHRyYW5zZmVyczpcbiIsCi0JCQkgX19mdW5jX18sIGJwdywg bWF4X2NodW5rKTsKLQotCWlmIChicHcgPT0gMTYgJiYgIXRpbnlkcm1fc3BpX2Jwd19zdXBwb3J0 ZWQoc3BpLCAxNikpIHsKLQkJdHIuYml0c19wZXJfd29yZCA9IDg7Ci0JCWlmICh0aW55ZHJtX21h Y2hpbmVfbGl0dGxlX2VuZGlhbigpKSB7Ci0JCQlzd2FwX2J1ZiA9IGttYWxsb2MobWluKGxlbiwg bWF4X2NodW5rKSwgR0ZQX0tFUk5FTCk7Ci0JCQlpZiAoIXN3YXBfYnVmKQotCQkJCXJldHVybiAt RU5PTUVNOwotCQl9Ci0JfQorCQlwcl9kZWJ1ZygiW2RybTolc10gYnB3PSV1LCB0cmFuc2ZlcnM6 XG4iLCBfX2Z1bmNfXywgYnB3KTsKIAogCXNwaV9tZXNzYWdlX2luaXQoJm0pOwogCWlmIChoZWFk ZXIpCiAJCXNwaV9tZXNzYWdlX2FkZF90YWlsKGhlYWRlciwgJm0pOwogCXNwaV9tZXNzYWdlX2Fk ZF90YWlsKCZ0ciwgJm0pOwogCi0Jd2hpbGUgKGxlbikgewotCQljaHVuayA9IG1pbihsZW4sIG1h eF9jaHVuayk7CisJdGlueWRybV9kYmdfc3BpX21lc3NhZ2Uoc3BpLCAmbSk7CiAKLQkJdHIudHhf YnVmID0gYnVmOwotCQl0ci5sZW4gPSBjaHVuazsKLQotCQlpZiAoc3dhcF9idWYpIHsKLQkJCWNv bnN0IHUxNiAqYnVmMTYgPSBidWY7Ci0JCQl1bnNpZ25lZCBpbnQgaTsKLQotCQkJZm9yIChpID0g MDsgaSA8IGNodW5rIC8gMjsgaSsrKQotCQkJCXN3YXBfYnVmW2ldID0gc3dhYjE2KGJ1ZjE2W2ld KTsKLQotCQkJdHIudHhfYnVmID0gc3dhcF9idWY7Ci0JCX0KLQotCQlidWYgKz0gY2h1bms7Ci0J CWxlbiAtPSBjaHVuazsKLQotCQl0aW55ZHJtX2RiZ19zcGlfbWVzc2FnZShzcGksICZtKTsKLQkJ cmV0ID0gc3BpX3N5bmMoc3BpLCAmbSk7Ci0JCWlmIChyZXQpCi0JCQlyZXR1cm4gcmV0OwotCX0K LQotCXJldHVybiAwOworCXJldHVybiBzcGlfc3luYyhzcGksICZtKTsKIH0KIEVYUE9SVF9TWU1C T0wodGlueWRybV9zcGlfdHJhbnNmZXIpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v dGlueWRybS9taXBpLWRiaS5jIGIvZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0vbWlwaS1kYmkuYwpp bmRleCA4NTc2MWI0YWJiODMuLjBiY2Y2Yzc2NDg5MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL3Rpbnlkcm0vbWlwaS1kYmkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdGlueWRybS9taXBp LWRiaS5jCkBAIC05NzUsMTUgKzk3NSw5IEBAIHN0YXRpYyBpbnQgbWlwaV9kYmlfdHlwZWMzX2Nv bW1hbmQoc3RydWN0IG1pcGlfZGJpICptaXBpLCB1OCAqY21kLAogaW50IG1pcGlfZGJpX3NwaV9p bml0KHN0cnVjdCBzcGlfZGV2aWNlICpzcGksIHN0cnVjdCBtaXBpX2RiaSAqbWlwaSwKIAkJICAg ICAgc3RydWN0IGdwaW9fZGVzYyAqZGMpCiB7Ci0Jc2l6ZV90IHR4X3NpemUgPSB0aW55ZHJtX3Nw aV9tYXhfdHJhbnNmZXJfc2l6ZShzcGksIDApOwogCXN0cnVjdCBkZXZpY2UgKmRldiA9ICZzcGkt PmRldjsKIAlpbnQgcmV0OwogCi0JaWYgKHR4X3NpemUgPCAxNikgewotCQlEUk1fRVJST1IoIlNQ SSB0cmFuc21pdCBidWZmZXIgdG9vIHNtYWxsOiAlenVcbiIsIHR4X3NpemUpOwotCQlyZXR1cm4g LUVJTlZBTDsKLQl9Ci0KIAkvKgogCSAqIEV2ZW4gdGhvdWdoIGl0J3Mgbm90IHRoZSBTUEkgZGV2 aWNlIHRoYXQgZG9lcyBETUEgKHRoZSBtYXN0ZXIgZG9lcyksCiAJICogdGhlIGRtYSBtYXNrIGlz IG5lY2Vzc2FyeSBmb3IgdGhlIGRtYV9hbGxvY193YygpIGluCkBAIC0xMDEzLDggKzEwMDcsOCBA QCBpbnQgbWlwaV9kYmlfc3BpX2luaXQoc3RydWN0IHNwaV9kZXZpY2UgKnNwaSwgc3RydWN0IG1p cGlfZGJpICptaXBpLAogCQkJbWlwaS0+c3dhcF9ieXRlcyA9IHRydWU7CiAJfSBlbHNlIHsKIAkJ bWlwaS0+Y29tbWFuZCA9IG1pcGlfZGJpX3R5cGVjMV9jb21tYW5kOwotCQltaXBpLT50eF9idWY5 X2xlbiA9IHR4X3NpemU7Ci0JCW1pcGktPnR4X2J1ZjkgPSBkZXZtX2ttYWxsb2MoZGV2LCB0eF9z aXplLCBHRlBfS0VSTkVMKTsKKwkJbWlwaS0+dHhfYnVmOV9sZW4gPSBTWl8xNks7CisJCW1pcGkt PnR4X2J1ZjkgPSBkZXZtX2ttYWxsb2MoZGV2LCBtaXBpLT50eF9idWY5X2xlbiwgR0ZQX0tFUk5F TCk7CiAJCWlmICghbWlwaS0+dHhfYnVmOSkKIAkJCXJldHVybiAtRU5PTUVNOwogCX0KLS0gCjIu MjAuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJp LWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs