From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thierry Reding Subject: [PATCH 1/3] lib/scatterlist: Add contiguous DMA chunks helpers Date: Tue, 3 Dec 2019 17:32:01 +0100 Message-ID: <20191203163203.1486837-1-thierry.reding@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Thierry Reding Cc: linux-tegra@vger.kernel.org, dri-devel@lists.freedesktop.org List-Id: linux-tegra@vger.kernel.org RnJvbTogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4KCkFkZCBhIGZldyBoZWxw ZXJzIHRvIGNvdW50IHRoZSBudW1iZXIgb2YgY29udGlndW91cyBETUEgY2h1bmtzIGZvdW5kIGlu CmFuIFNHIHRhYmxlLiBUaGlzIGlzIHVzZWZ1bCB0byBkZXRlcm1pbmUgd2hldGhlciBvciBub3Qg YSBtYXBwaW5nIGNhbiBiZQp1c2VkIGJ5IGRyaXZlcnMgd2hvc2UgZGV2aWNlcyBuZWVkIGNvbnRp Z3VvdXMgbWVtb3J5LgoKU2lnbmVkLW9mZi1ieTogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZp ZGlhLmNvbT4KLS0tCiBpbmNsdWRlL2xpbnV4L3NjYXR0ZXJsaXN0LmggfCAxMSArKysrKysrKysr KwogbGliL3NjYXR0ZXJsaXN0LmMgICAgICAgICAgIHwgMjkgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgNDAgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBh L2luY2x1ZGUvbGludXgvc2NhdHRlcmxpc3QuaCBiL2luY2x1ZGUvbGludXgvc2NhdHRlcmxpc3Qu aAppbmRleCA2ZWVjNTBmYjM2YzguLjUxYTg0MTY2MjNhOSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9s aW51eC9zY2F0dGVybGlzdC5oCisrKyBiL2luY2x1ZGUvbGludXgvc2NhdHRlcmxpc3QuaApAQCAt MjYyLDYgKzI2Miw3IEBAIGludCBzZ19zcGxpdChzdHJ1Y3Qgc2NhdHRlcmxpc3QgKmluLCBjb25z dCBpbnQgaW5fbWFwcGVkX25lbnRzLAogCSAgICAgY29uc3Qgc2l6ZV90ICpzcGxpdF9zaXplcywK IAkgICAgIHN0cnVjdCBzY2F0dGVybGlzdCAqKm91dCwgaW50ICpvdXRfbWFwcGVkX25lbnRzLAog CSAgICAgZ2ZwX3QgZ2ZwX21hc2spOwordW5zaWduZWQgaW50IHNnX2RtYV9jb3VudF9jaHVua3Mo c3RydWN0IHNjYXR0ZXJsaXN0ICpzZ2wsIHVuc2lnbmVkIGludCBuZW50cyk7CiAKIHR5cGVkZWYg c3RydWN0IHNjYXR0ZXJsaXN0ICooc2dfYWxsb2NfZm4pKHVuc2lnbmVkIGludCwgZ2ZwX3QpOwog dHlwZWRlZiB2b2lkIChzZ19mcmVlX2ZuKShzdHJ1Y3Qgc2NhdHRlcmxpc3QgKiwgdW5zaWduZWQg aW50KTsKQEAgLTMwNiw2ICszMDcsMTYgQEAgc2l6ZV90IHNnX3Bjb3B5X3RvX2J1ZmZlcihzdHJ1 Y3Qgc2NhdHRlcmxpc3QgKnNnbCwgdW5zaWduZWQgaW50IG5lbnRzLAogc2l6ZV90IHNnX3plcm9f YnVmZmVyKHN0cnVjdCBzY2F0dGVybGlzdCAqc2dsLCB1bnNpZ25lZCBpbnQgbmVudHMsCiAJCSAg ICAgICBzaXplX3QgYnVmbGVuLCBvZmZfdCBza2lwKTsKIAorc3RhdGljIGlubGluZSB1bnNpZ25l ZCBpbnQgc2d0X2RtYV9jb3VudF9jaHVua3Moc3RydWN0IHNnX3RhYmxlICpzZ3QpCit7CisJcmV0 dXJuIHNnX2RtYV9jb3VudF9jaHVua3Moc2d0LT5zZ2wsIHNndC0+bmVudHMpOworfQorCitzdGF0 aWMgaW5saW5lIGJvb2wgc2d0X2RtYV9jb250aWd1b3VzKHN0cnVjdCBzZ190YWJsZSAqc2d0KQor eworCXJldHVybiBzZ3RfZG1hX2NvdW50X2NodW5rcyhzZ3QpID09IDE7Cit9CisKIC8qCiAgKiBN YXhpbXVtIG51bWJlciBvZiBlbnRyaWVzIHRoYXQgd2lsbCBiZSBhbGxvY2F0ZWQgaW4gb25lIHBp ZWNlLCBpZgogICogYSBsaXN0IGxhcmdlciB0aGFuIHRoaXMgaXMgcmVxdWlyZWQgdGhlbiBjaGFp bmluZyB3aWxsIGJlIHV0aWxpemVkLgpkaWZmIC0tZ2l0IGEvbGliL3NjYXR0ZXJsaXN0LmMgYi9s aWIvc2NhdHRlcmxpc3QuYwppbmRleCBjMmNmMmMzMTFiN2QuLjRjMGQxMTk2OGY4ZCAxMDA2NDQK LS0tIGEvbGliL3NjYXR0ZXJsaXN0LmMKKysrIGIvbGliL3NjYXR0ZXJsaXN0LmMKQEAgLTE0Miw2 ICsxNDIsMzUgQEAgdm9pZCBzZ19pbml0X29uZShzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnLCBjb25z dCB2b2lkICpidWYsIHVuc2lnbmVkIGludCBidWZsZW4pCiB9CiBFWFBPUlRfU1lNQk9MKHNnX2lu aXRfb25lKTsKIAorLyoqCisgKiBzZ19kbWFfY291bnRfY2h1bmtzIC0gcmV0dXJuIG51bWJlciBv ZiBjb250aWd1b3VzIERNQSBjaHVua3MgaW4gc2NhdHRlcmxpc3QKKyAqIEBzZ2w6IFNHIHRhYmxl CisgKiBAbmVudHM6IG51bWJlciBvZiBlbnRyaWVzIGluIFNHIHRhYmxlCisgKi8KK3Vuc2lnbmVk IGludCBzZ19kbWFfY291bnRfY2h1bmtzKHN0cnVjdCBzY2F0dGVybGlzdCAqc2dsLCB1bnNpZ25l ZCBpbnQgbmVudHMpCit7CisJZG1hX2FkZHJfdCBuZXh0ID0gfihkbWFfYWRkcl90KTA7CisJdW5z aWduZWQgaW50IGNvdW50ID0gMCwgaTsKKwlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnM7CisKKwlmb3Jf ZWFjaF9zZyhzZ2wsIHMsIG5lbnRzLCBpKSB7CisJCS8qCisJCSAqIHNnX2RtYV9hZGRyZXNzKHMp IGlzIG9ubHkgdmFsaWQgZm9yIGVudHJpZXMgdGhhdCBoYXZlCisJCSAqIHNnX2RtYV9sZW4ocykg IT0gMC4KKwkJICovCisJCWlmICghc2dfZG1hX2xlbihzKSkKKwkJCWNvbnRpbnVlOworCisJCWlm IChzZ19kbWFfYWRkcmVzcyhzKSAhPSBuZXh0KSB7CisJCQluZXh0ID0gc2dfZG1hX2FkZHJlc3Mo cykgKyBzZ19kbWFfbGVuKHMpOworCQkJY291bnQrKzsKKwkJfQorCX0KKworCXJldHVybiBjb3Vu dDsKK30KK0VYUE9SVF9TWU1CT0woc2dfZG1hX2NvdW50X2NodW5rcyk7CisKIC8qCiAgKiBUaGUg ZGVmYXVsdCBiZWhhdmlvdXIgb2Ygc2dfYWxsb2NfdGFibGUoKSBpcyB0byB1c2UgdGhlc2Uga21h bGxvYy9rZnJlZQogICogaGVscGVycy4KLS0gCjIuMjMuMAoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2 ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vZHJpLWRldmVs