From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 397BFC433DB for ; Mon, 29 Mar 2021 18:01:37 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 53E7E61936 for ; Mon, 29 Mar 2021 18:01:36 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 53E7E61936 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=tronnes.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 791AC6E4AD; Mon, 29 Mar 2021 18:01:35 +0000 (UTC) Received: from asav21.altibox.net (asav21.altibox.net [109.247.116.8]) by gabe.freedesktop.org (Postfix) with ESMTPS id 59D556E4AD for ; Mon, 29 Mar 2021 18:01:34 +0000 (UTC) Received: from localhost.localdomain (unknown [81.166.168.211]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: noralf.tronnes@ebnett.no) by asav21.altibox.net (Postfix) with ESMTPSA id 0FEB880141; Mon, 29 Mar 2021 20:01:32 +0200 (CEST) From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= To: dri-devel@lists.freedesktop.org Subject: [PATCH 2/2] drm/gud: Use scatter-gather USB bulk transfer Date: Mon, 29 Mar 2021 20:01:20 +0200 Message-Id: <20210329180120.27380-2-noralf@tronnes.org> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20210329180120.27380-1-noralf@tronnes.org> References: <20210329180120.27380-1-noralf@tronnes.org> MIME-Version: 1.0 X-CMAE-Score: 0 X-CMAE-Analysis: v=2.3 cv=PJ4hB8iC c=1 sm=1 tr=0 a=OYZzhG0JTxDrWp/F2OJbnw==:117 a=OYZzhG0JTxDrWp/F2OJbnw==:17 a=IkcTkHD0fZMA:10 a=M51BFTxLslgA:10 a=SJz97ENfAAAA:8 a=5BA6ouN-Wtim1XomoPEA:9 a=dtU_DToyqAIvPTGO:21 a=Ahp39RNxHBNoZmH1:21 a=QEXdDO2ut3YA:10 a=vFet0B0WnEQeilDPIY6i:22 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter@stuge.se Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" VGhlcmUnYSBsaW1pdCB0byBob3cgYmlnIGEga21hbGxvYyBidWZmZXIgY2FuIGJlLCBhbmQgYXMg bWVtb3J5IGdldHMKZnJhZ21lbnRlZCBpdCBiZWNvbWVzIG1vcmUgZGlmZmljdWx0IHRvIGdldCBi aWcgYnVmZmVycy4gVGhlIGRvd25zaWRlIG9mCnNtYWxsZXIgYnVmZmVycyBpcyB0aGF0IHRoZSBk cml2ZXIgaGFzIHRvIHNwbGl0IHRoZSB0cmFuc2ZlciB1cCB3aGljaApoYW1wZXJzIHBlcmZvcm1h bmNlLiBDb21wcmVzc2lvbiBtaWdodCBhbHNvIHRha2UgYSBoaXQgYmVjYXVzZSBvZiB0aGUKc3Bs aXR0aW5nLgoKU29sdmUgdGhpcyBieSBhbGxvY2F0aW5nIHRoZSB0cmFuc2ZlciBidWZmZXIgdXNp bmcgdm1hbGxvYyBhbmQgY3JlYXRlIGEKU0cgdGFibGUgdG8gYmUgcGFzc2VkIG9uIHRvIHRoZSBV U0Igc3Vic3lzdGVtLiB2bWFsbG9jXzMyKCkgaXMgdXNlZCB0bwphdm9pZCBETUEgYm91bmNlIGJ1 ZmZlcnMgb24gVVNCIGNvbnRyb2xsZXJzIHRoYXQgY2FuIG9ubHkgYWNjZXNzIDMyLWJpdAphZGRy ZXNzZXMuCgpUaGlzIGFsc28gc29sdmVzIHRoZSBwcm9ibGVtIHRoYXQgc3BsaXQgdHJhbnNmZXJz IGNhbiBnaXZlIGhvc3Qgc2lkZQp0ZWFyaW5nIHNpbmNlIGZsdXNoaW5nIGlzIGRlY291cGxlZCBm cm9tIHJlbmRlcmluZy4KClNpZ25lZC1vZmYtYnk6IE5vcmFsZiBUcsO4bm5lcyA8bm9yYWxmQHRy b25uZXMub3JnPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9ndWQvZ3VkX2Rydi5jICAgICAgfCA0OSAr KysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9ndWQvZ3VkX2lu dGVybmFsLmggfCAgMiArKwogZHJpdmVycy9ncHUvZHJtL2d1ZC9ndWRfcGlwZS5jICAgICB8IDQ3 ICsrKysrKysrKysrKysrKysrKysrKysrKy0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgNzcgaW5zZXJ0 aW9ucygrKSwgMjEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2d1 ZC9ndWRfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vZ3VkL2d1ZF9kcnYuYwppbmRleCA4MjBjNzMz MWIzYjMuLjhmOWJjZjY1NjFlOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2d1ZC9ndWRf ZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2d1ZC9ndWRfZHJ2LmMKQEAgLTM5NCwxMyArMzk0 LDQwIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2RyaXZlciBndWRfZHJtX2RyaXZlciA9IHsK IAkubWlub3IJCQk9IDAsCiB9OwogCitzdGF0aWMgaW50IGd1ZF9hbGxvY19idWxrX2J1ZmZlcihz dHJ1Y3QgZ3VkX2RldmljZSAqZ2RybSkKK3sKKwl1bnNpZ25lZCBpbnQgaSwgbnVtX3BhZ2VzOwor CXN0cnVjdCBwYWdlICoqcGFnZXM7CisJdm9pZCAqcHRyOworCWludCByZXQ7CisKKwlnZHJtLT5i dWxrX2J1ZiA9IHZtYWxsb2NfMzIoZ2RybS0+YnVsa19sZW4pOworCWlmICghZ2RybS0+YnVsa19i dWYpCisJCXJldHVybiAtRU5PTUVNOworCisJbnVtX3BhZ2VzID0gUEFHRV9BTElHTihnZHJtLT5i dWxrX2xlbikgPj4gUEFHRV9TSElGVDsKKwlwYWdlcyA9IGttYWxsb2NfYXJyYXkobnVtX3BhZ2Vz LCBzaXplb2Yoc3RydWN0IHBhZ2UgKiksIEdGUF9LRVJORUwpOworCWlmICghcGFnZXMpCisJCXJl dHVybiAtRU5PTUVNOworCisJZm9yIChpID0gMCwgcHRyID0gZ2RybS0+YnVsa19idWY7IGkgPCBu dW1fcGFnZXM7IGkrKywgcHRyICs9IFBBR0VfU0laRSkKKwkJcGFnZXNbaV0gPSB2bWFsbG9jX3Rv X3BhZ2UocHRyKTsKKworCXJldCA9IHNnX2FsbG9jX3RhYmxlX2Zyb21fcGFnZXMoJmdkcm0tPmJ1 bGtfc2d0LCBwYWdlcywgbnVtX3BhZ2VzLAorCQkJCQkwLCBnZHJtLT5idWxrX2xlbiwgR0ZQX0tF Uk5FTCk7CisJa2ZyZWUocGFnZXMpOworCisJcmV0dXJuIHJldDsKK30KKwogc3RhdGljIHZvaWQg Z3VkX2ZyZWVfYnVmZmVyc19hbmRfbXV0ZXgodm9pZCAqZGF0YSkKIHsKIAlzdHJ1Y3QgZ3VkX2Rl dmljZSAqZ2RybSA9IGRhdGE7CiAKIAl2ZnJlZShnZHJtLT5jb21wcmVzc19idWYpOwogCWdkcm0t PmNvbXByZXNzX2J1ZiA9IE5VTEw7Ci0Ja2ZyZWUoZ2RybS0+YnVsa19idWYpOworCXNnX2ZyZWVf dGFibGUoJmdkcm0tPmJ1bGtfc2d0KTsKKwl2ZnJlZShnZHJtLT5idWxrX2J1Zik7CiAJZ2RybS0+ YnVsa19idWYgPSBOVUxMOwogCW11dGV4X2Rlc3Ryb3koJmdkcm0tPmN0cmxfbG9jayk7CiAJbXV0 ZXhfZGVzdHJveSgmZ2RybS0+ZGFtYWdlX2xvY2spOwpAQCAtNTM4LDI0ICs1NjUsMTYgQEAgc3Rh dGljIGludCBndWRfcHJvYmUoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsIGNvbnN0IHN0cnVj dCB1c2JfZGV2aWNlX2lkICppZCkKIAogCWlmIChkZXNjLm1heF9idWZmZXJfc2l6ZSkKIAkJbWF4 X2J1ZmZlcl9zaXplID0gbGUzMl90b19jcHUoZGVzYy5tYXhfYnVmZmVyX3NpemUpOwotcmV0cnk6 Ci0JLyoKLQkgKiBVc2UgcGxhaW4ga21hbGxvYyBoZXJlIHNpbmNlIGRldm1fa21hbGxvYygpIHBs YWNlcyBzdHJ1Y3QgZGV2cmVzIGF0IHRoZSBiZWdpbm5pbmcKLQkgKiBvZiB0aGUgYnVmZmVyIGl0 IGFsbG9jYXRlcy4gVGhpcyB3YXN0ZXMgYSBsb3Qgb2YgbWVtb3J5IHdoZW4gYWxsb2NhdGluZyBi aWcgYnVmZmVycy4KLQkgKiBBc2tpbmcgZm9yIDJNIHdvdWxkIGFjdHVhbGx5IGFsbG9jYXRlIDRN LiBUaGlzIHdvdWxkIGFsc28gcHJldmVudCBnZXR0aW5nIHRoZSBiaWdnZXN0Ci0JICogcG9zc2li bGUgYnVmZmVyIHBvdGVudGlhbGx5IGxlYWRpbmcgdG8gc3BsaXQgdHJhbnNmZXJzLgotCSAqLwot CWdkcm0tPmJ1bGtfYnVmID0ga21hbGxvYyhtYXhfYnVmZmVyX3NpemUsIEdGUF9LRVJORUwgfCBf X0dGUF9OT1dBUk4pOwotCWlmICghZ2RybS0+YnVsa19idWYpIHsKLQkJbWF4X2J1ZmZlcl9zaXpl ID0gcm91bmR1cF9wb3dfb2ZfdHdvKG1heF9idWZmZXJfc2l6ZSkgLyAyOwotCQlpZiAobWF4X2J1 ZmZlcl9zaXplIDwgU1pfNTEySykKLQkJCXJldHVybiAtRU5PTUVNOwotCQlnb3RvIHJldHJ5Owot CX0KKwlpZiAobWF4X2J1ZmZlcl9zaXplID4gU1pfNjRNKQorCQltYXhfYnVmZmVyX3NpemUgPSBT Wl82NE07IC8qIHNhZmVndWFyZCAqLwogCiAJZ2RybS0+YnVsa19waXBlID0gdXNiX3NuZGJ1bGtw aXBlKGludGVyZmFjZV90b191c2JkZXYoaW50ZiksIHVzYl9lbmRwb2ludF9udW0oYnVsa19vdXQp KTsKIAlnZHJtLT5idWxrX2xlbiA9IG1heF9idWZmZXJfc2l6ZTsKIAorCXJldCA9IGd1ZF9hbGxv Y19idWxrX2J1ZmZlcihnZHJtKTsKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0OworCiAJaWYgKGdk cm0tPmNvbXByZXNzaW9uICYgR1VEX0NPTVBSRVNTSU9OX0xaNCkgewogCQlnZHJtLT5sejRfY29t cF9tZW0gPSBkZXZtX2ttYWxsb2MoZGV2LCBMWjRfTUVNX0NPTVBSRVNTLCBHRlBfS0VSTkVMKTsK IAkJaWYgKCFnZHJtLT5sejRfY29tcF9tZW0pCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v Z3VkL2d1ZF9pbnRlcm5hbC5oIGIvZHJpdmVycy9ncHUvZHJtL2d1ZC9ndWRfaW50ZXJuYWwuaApp bmRleCBkZTJmMmQyZGJjNjAuLjFiYjY1YTQ2YzM0NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2d1ZC9ndWRfaW50ZXJuYWwuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vZ3VkL2d1ZF9pbnRl cm5hbC5oCkBAIC01LDYgKzUsNyBAQAogCiAjaW5jbHVkZSA8bGludXgvbGlzdC5oPgogI2luY2x1 ZGUgPGxpbnV4L211dGV4Lmg+CisjaW5jbHVkZSA8bGludXgvc2NhdHRlcmxpc3QuaD4KICNpbmNs dWRlIDxsaW51eC91c2IuaD4KICNpbmNsdWRlIDxsaW51eC93b3JrcXVldWUuaD4KICNpbmNsdWRl IDx1YXBpL2RybS9kcm1fZm91cmNjLmg+CkBAIC0yNiw2ICsyNyw3IEBAIHN0cnVjdCBndWRfZGV2 aWNlIHsKIAl1bnNpZ25lZCBpbnQgYnVsa19waXBlOwogCXZvaWQgKmJ1bGtfYnVmOwogCXNpemVf dCBidWxrX2xlbjsKKwlzdHJ1Y3Qgc2dfdGFibGUgYnVsa19zZ3Q7CiAKIAl1OCBjb21wcmVzc2lv bjsKIAl2b2lkICpsejRfY29tcF9tZW07CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZ3Vk L2d1ZF9waXBlLmMgYi9kcml2ZXJzL2dwdS9kcm0vZ3VkL2d1ZF9waXBlLmMKaW5kZXggMmY4M2Fi NmI4ZTYxLi43ZGQ2M2E4YzdjMmQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ndWQvZ3Vk X3BpcGUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZ3VkL2d1ZF9waXBlLmMKQEAgLTIyMCwxMyAr MjIwLDUxIEBAIHN0YXRpYyBpbnQgZ3VkX3ByZXBfZmx1c2goc3RydWN0IGd1ZF9kZXZpY2UgKmdk cm0sIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLAogCXJldHVybiByZXQ7CiB9CiAKK3N0cnVj dCBndWRfdXNiX2J1bGtfY29udGV4dCB7CisJc3RydWN0IHRpbWVyX2xpc3QgdGltZXI7CisJc3Ry dWN0IHVzYl9zZ19yZXF1ZXN0IHNncjsKK307CisKK3N0YXRpYyB2b2lkIGd1ZF91c2JfYnVsa190 aW1lb3V0KHN0cnVjdCB0aW1lcl9saXN0ICp0KQoreworCXN0cnVjdCBndWRfdXNiX2J1bGtfY29u dGV4dCAqdGltZXIgPSBmcm9tX3RpbWVyKHRpbWVyLCB0LCB0aW1lcik7CisKKwl1c2Jfc2dfY2Fu Y2VsKCZ0aW1lci0+c2dyKTsKK30KKworc3RhdGljIGludCBndWRfdXNiX2J1bGsoc3RydWN0IGd1 ZF9kZXZpY2UgKmdkcm0sIHNpemVfdCBsZW4pCit7CisJc3RydWN0IGd1ZF91c2JfYnVsa19jb250 ZXh0IGN0eDsKKwlpbnQgcmV0OworCisJcmV0ID0gdXNiX3NnX2luaXQoJmN0eC5zZ3IsIGd1ZF90 b191c2JfZGV2aWNlKGdkcm0pLCBnZHJtLT5idWxrX3BpcGUsIDAsCisJCQkgIGdkcm0tPmJ1bGtf c2d0LnNnbCwgZ2RybS0+YnVsa19zZ3QubmVudHMsIGxlbiwgR0ZQX0tFUk5FTCk7CisJaWYgKHJl dCkKKwkJcmV0dXJuIHJldDsKKworCXRpbWVyX3NldHVwX29uX3N0YWNrKCZjdHgudGltZXIsIGd1 ZF91c2JfYnVsa190aW1lb3V0LCAwKTsKKwltb2RfdGltZXIoJmN0eC50aW1lciwgamlmZmllcyAr IG1zZWNzX3RvX2ppZmZpZXMoMzAwMCkpOworCisJdXNiX3NnX3dhaXQoJmN0eC5zZ3IpOworCisJ aWYgKCFkZWxfdGltZXJfc3luYygmY3R4LnRpbWVyKSkKKwkJcmV0ID0gLUVUSU1FRE9VVDsKKwll bHNlIGlmIChjdHguc2dyLnN0YXR1cyA8IDApCisJCXJldCA9IGN0eC5zZ3Iuc3RhdHVzOworCWVs c2UgaWYgKGN0eC5zZ3IuYnl0ZXMgIT0gbGVuKQorCQlyZXQgPSAtRUlPOworCisJZGVzdHJveV90 aW1lcl9vbl9zdGFjaygmY3R4LnRpbWVyKTsKKworCXJldHVybiByZXQ7Cit9CisKIHN0YXRpYyBp bnQgZ3VkX2ZsdXNoX3JlY3Qoc3RydWN0IGd1ZF9kZXZpY2UgKmdkcm0sIHN0cnVjdCBkcm1fZnJh bWVidWZmZXIgKmZiLAogCQkJICBjb25zdCBzdHJ1Y3QgZHJtX2Zvcm1hdF9pbmZvICpmb3JtYXQs IHN0cnVjdCBkcm1fcmVjdCAqcmVjdCkKIHsKLQlzdHJ1Y3QgdXNiX2RldmljZSAqdXNiID0gZ3Vk X3RvX3VzYl9kZXZpY2UoZ2RybSk7CiAJc3RydWN0IGd1ZF9zZXRfYnVmZmVyX3JlcSByZXE7Ci0J aW50IHJldCwgYWN0dWFsX2xlbmd0aDsKIAlzaXplX3QgbGVuLCB0cmxlbjsKKwlpbnQgcmV0Owog CiAJZHJtX2RiZygmZ2RybS0+ZHJtLCAiRmx1c2hpbmcgW0ZCOiVkXSAiIERSTV9SRUNUX0ZNVCAi XG4iLCBmYi0+YmFzZS5pZCwgRFJNX1JFQ1RfQVJHKHJlY3QpKTsKIApAQCAtMjU1LDEwICsyOTMs NyBAQCBzdGF0aWMgaW50IGd1ZF9mbHVzaF9yZWN0KHN0cnVjdCBndWRfZGV2aWNlICpnZHJtLCBz dHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwKIAkJCXJldHVybiByZXQ7CiAJfQogCi0JcmV0ID0g dXNiX2J1bGtfbXNnKHVzYiwgZ2RybS0+YnVsa19waXBlLCBnZHJtLT5idWxrX2J1ZiwgdHJsZW4s Ci0JCQkgICAmYWN0dWFsX2xlbmd0aCwgbXNlY3NfdG9famlmZmllcygzMDAwKSk7Ci0JaWYgKCFy ZXQgJiYgdHJsZW4gIT0gYWN0dWFsX2xlbmd0aCkKLQkJcmV0ID0gLUVJTzsKKwlyZXQgPSBndWRf dXNiX2J1bGsoZ2RybSwgdHJsZW4pOwogCWlmIChyZXQpCiAJCWdkcm0tPnN0YXRzX251bV9lcnJv cnMrKzsKIAotLSAKMi4yMy4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9k cmktZGV2ZWwK