From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Stultz Subject: [PATCH v6 5/5] kselftests: Add dma-heap test Date: Mon, 24 Jun 2019 19:49:08 +0000 Message-ID: <20190624194908.121273-6-john.stultz@linaro.org> References: <20190624194908.121273-1-john.stultz@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pf1-x442.google.com (mail-pf1-x442.google.com [IPv6:2607:f8b0:4864:20::442]) by gabe.freedesktop.org (Postfix) with ESMTPS id AA1D389A14 for ; Mon, 24 Jun 2019 19:49:24 +0000 (UTC) Received: by mail-pf1-x442.google.com with SMTP id 19so8114564pfa.4 for ; Mon, 24 Jun 2019 12:49:24 -0700 (PDT) In-Reply-To: <20190624194908.121273-1-john.stultz@linaro.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: lkml Cc: Yudongbin , Xu YiPing , Vincent Donnefort , "Chenfeng (puck)" , dri-devel@lists.freedesktop.org, Chenbo Feng , Alistair Strachan , Liam Mark , Christoph Hellwig , "Xiaqing (A)" , "Andrew F . Davis" , Sudipto Paul , Pratik Patel , butao List-Id: dri-devel@lists.freedesktop.org QWRkIHZlcnkgdHJpdmlhbCBhbGxvY2F0aW9uIGFuZCBpbXBvcnQgdGVzdCBmb3IgZG1hLWhlYXBz LAp1dGlsaXppbmcgdGhlIHZnZW0gZHJpdmVyIGFzIGEgdGVzdCBpbXBvcnRlci4KCkEgZ29vZCBj aHVuayBvZiB0aGlzIGNvZGUgdGFrZW4gZnJvbToKICB0b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9h bmRyb2lkL2lvbi9pb25tYXBfdGVzdC5jCiAgT3JpZ2luYWxseSBieSBMYXVyYSBBYmJvdHQgPGxh YmJvdHRAcmVkaGF0LmNvbT4KCkNjOiBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25h cmRAbGluYXJvLm9yZz4KQ2M6IFN1bWl0IFNlbXdhbCA8c3VtaXQuc2Vtd2FsQGxpbmFyby5vcmc+ CkNjOiBMaWFtIE1hcmsgPGxtYXJrQGNvZGVhdXJvcmEub3JnPgpDYzogUHJhdGlrIFBhdGVsIDxw cmF0aWtwQGNvZGVhdXJvcmEub3JnPgpDYzogQnJpYW4gU3RhcmtleSA8QnJpYW4uU3RhcmtleUBh cm0uY29tPgpDYzogVmluY2VudCBEb25uZWZvcnQgPFZpbmNlbnQuRG9ubmVmb3J0QGFybS5jb20+ CkNjOiBTdWRpcHRvIFBhdWwgPFN1ZGlwdG8uUGF1bEBhcm0uY29tPgpDYzogQW5kcmV3IEYuIERh dmlzIDxhZmRAdGkuY29tPgpDYzogWHUgWWlQaW5nIDx4dXlpcGluZ0BoaXNpbGljb24uY29tPgpD YzogIkNoZW5mZW5nIChwdWNrKSIgPHB1Y2suY2hlbkBoaXNpbGljb24uY29tPgpDYzogYnV0YW8g PGJ1dGFvQGhpc2lsaWNvbi5jb20+CkNjOiAiWGlhcWluZyAoQSkiIDxzYWJlcmxpbHkueGlhQGhp c2lsaWNvbi5jb20+CkNjOiBZdWRvbmdiaW4gPHl1ZG9uZ2JpbkBoaXNpbGljb24uY29tPgpDYzog Q2hyaXN0b3BoIEhlbGx3aWcgPGhjaEBpbmZyYWRlYWQub3JnPgpDYzogQ2hlbmJvIEZlbmcgPGZl bmdjQGdvb2dsZS5jb20+CkNjOiBBbGlzdGFpciBTdHJhY2hhbiA8YXN0cmFjaGFuQGdvb2dsZS5j b20+CkNjOiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnClJldmlld2VkLWJ5OiBCZW5q YW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KU2lnbmVkLW9mZi1i eTogSm9obiBTdHVsdHogPGpvaG4uc3R1bHR6QGxpbmFyby5vcmc+CkNoYW5nZS1JZDogSWI5ODU2 OWZkZGE2Mzc4ZWIwODZiODA5MmZiNWQ2YmQ0MTliOGQ0MzEKLS0tCnYyOgoqIFN3aXRjaGVkIHRv IHVzZSByZXdvcmtlZCBkbWEtaGVhcCBhcGlzCnYzOgoqIEFkZCBzaW1wbGUgbW1hcAoqIFV0aWxp emUgZG1hLWJ1ZiB0ZXN0ZGV2IHRvIHRlc3QgaW1wb3J0aW5nCnY0OgoqIFJld29yayB0byB1c2Ug dmdlbQoqIFBhc3MgaW4gZmRfZmxhZ3MgdG8gbWF0Y2ggaW50ZXJmYWNlIGNoYW5nZXMKKiBTa2lw IC4gYW5kIC4uIGRpcnMKdjY6CiogTnVtYmVyIG9mIHN0eWxlL2NsZWFudXBzIHN1Z2dlc3RlZCBi eSBCcmlhbgotLS0KIHRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2RtYWJ1Zi1oZWFwcy9NYWtlZmls ZSB8ICAgOSArCiAuLi4vc2VsZnRlc3RzL2RtYWJ1Zi1oZWFwcy9kbWFidWYtaGVhcC5jICAgICAg fCAyMzQgKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDI0MyBpbnNlcnRpb25z KCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvZG1hYnVmLWhl YXBzL01ha2VmaWxlCiBjcmVhdGUgbW9kZSAxMDA2NDQgdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMv ZG1hYnVmLWhlYXBzL2RtYWJ1Zi1oZWFwLmMKCmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3Nl bGZ0ZXN0cy9kbWFidWYtaGVhcHMvTWFrZWZpbGUgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9k bWFidWYtaGVhcHMvTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MDAwLi44YzRjMzZlMjk3MmQKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy90ZXN0aW5nL3NlbGZ0 ZXN0cy9kbWFidWYtaGVhcHMvTWFrZWZpbGUKQEAgLTAsMCArMSw5IEBACisjIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBHUEwtMi4wCitDRkxBR1MgKz0gLXN0YXRpYyAtTzMgLVdsLC1uby1hcy1u ZWVkZWQgLVdhbGwKKyNMRExJQlMgKz0gLWxydCAtbHB0aHJlYWQgLWxtCisKKyMgdGhlc2UgYXJl IGFsbCAic2FmZSIgdGVzdHMgdGhhdCBkb24ndCBtb2RpZnkKKyMgc3lzdGVtIHRpbWUgb3IgcmVx dWlyZSBlc2NhbGF0ZWQgcHJpdmlsZWdlcworVEVTVF9HRU5fUFJPR1MgPSBkbWFidWYtaGVhcAor CitpbmNsdWRlIC4uL2xpYi5tawpkaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMv ZG1hYnVmLWhlYXBzL2RtYWJ1Zi1oZWFwLmMgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9kbWFi dWYtaGVhcHMvZG1hYnVmLWhlYXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMDAuLjFlOTNiNmZiZTQ1OQotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL3Rlc3Rpbmcvc2Vs ZnRlc3RzL2RtYWJ1Zi1oZWFwcy9kbWFidWYtaGVhcC5jCkBAIC0wLDAgKzEsMjM0IEBACisvLyBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAorCisjaW5jbHVkZSA8ZGlyZW50Lmg+Cisj aW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+ CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisjaW5jbHVkZSA8c3Ry aW5nLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CisjaW5j bHVkZSA8c3lzL21tYW4uaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKworI2luY2x1ZGUgPGxp bnV4L2RtYS1idWYuaD4KKyNpbmNsdWRlIDxkcm0vZHJtLmg+CisKKworI2luY2x1ZGUgIi4uLy4u Ly4uLy4uL2luY2x1ZGUvdWFwaS9saW51eC9kbWEtaGVhcC5oIgorCisjZGVmaW5lIERFVlBBVEgg Ii9kZXYvZG1hX2hlYXAiCisKK3N0YXRpYyBpbnQgY2hlY2tfdmdlbShpbnQgZmQpCit7CisJZHJt X3ZlcnNpb25fdCB2ZXJzaW9uID0geyAwIH07CisJY2hhciBuYW1lWzVdOworCWludCByZXQ7CisK Kwl2ZXJzaW9uLm5hbWVfbGVuID0gNDsKKwl2ZXJzaW9uLm5hbWUgPSBuYW1lOworCisJcmV0ID0g aW9jdGwoZmQsIERSTV9JT0NUTF9WRVJTSU9OLCAmdmVyc2lvbik7CisJaWYgKHJldCkKKwkJcmV0 dXJuIDA7CisKKwlyZXR1cm4gIXN0cmNtcChuYW1lLCAidmdlbSIpOworfQorCitzdGF0aWMgaW50 IG9wZW5fdmdlbSh2b2lkKQoreworCWludCBpLCBmZDsKKwljb25zdCBjaGFyICpkcm1zdHIgPSAi L2Rldi9kcmkvY2FyZCI7CisKKwlmZCA9IC0xOworCWZvciAoaSA9IDA7IGkgPCAxNjsgaSsrKSB7 CisJCWNoYXIgbmFtZVs4MF07CisKKwkJc3ByaW50ZihuYW1lLCAiJXMldSIsIGRybXN0ciwgaSk7 CisKKwkJZmQgPSBvcGVuKG5hbWUsIE9fUkRXUik7CisJCWlmIChmZCA8IDApCisJCQljb250aW51 ZTsKKworCQlpZiAoIWNoZWNrX3ZnZW0oZmQpKSB7CisJCQljbG9zZShmZCk7CisJCQljb250aW51 ZTsKKwkJfSBlbHNlIHsKKwkJCWJyZWFrOworCQl9CisKKwl9CisJcmV0dXJuIGZkOworfQorCitz dGF0aWMgaW50IGltcG9ydF92Z2VtX2ZkKGludCB2Z2VtX2ZkLCBpbnQgZG1hX2J1Zl9mZCwgdWlu dDMyX3QgKmhhbmRsZSkKK3sKKwlzdHJ1Y3QgZHJtX3ByaW1lX2hhbmRsZSBpbXBvcnRfaGFuZGxl ID0geworCQkuZmQgPSBkbWFfYnVmX2ZkLAorCQkuZmxhZ3MgPSAwLAorCQkuaGFuZGxlID0gMCwK KwkgfTsKKwlpbnQgcmV0OworCisJcmV0ID0gaW9jdGwodmdlbV9mZCwgRFJNX0lPQ1RMX1BSSU1F X0ZEX1RPX0hBTkRMRSwgJmltcG9ydF9oYW5kbGUpOworCWlmIChyZXQgPT0gMCkKKwkJKmhhbmRs ZSA9IGltcG9ydF9oYW5kbGUuaGFuZGxlOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyB2b2lk IGNsb3NlX2hhbmRsZShpbnQgdmdlbV9mZCwgdWludDMyX3QgaGFuZGxlKQoreworCXN0cnVjdCBk cm1fZ2VtX2Nsb3NlIGNsb3NlID0geworCQkuaGFuZGxlID0gaGFuZGxlLAorCX07CisKKwlpb2N0 bCh2Z2VtX2ZkLCBEUk1fSU9DVExfR0VNX0NMT1NFLCAmY2xvc2UpOworfQorCisKK3N0YXRpYyBp bnQgZG1hYnVmX2hlYXBfb3BlbihjaGFyICpuYW1lKQoreworCWludCByZXQsIGZkOworCWNoYXIg YnVmWzI1Nl07CisKKwlyZXQgPSBzcHJpbnRmKGJ1ZiwgIiVzLyVzIiwgREVWUEFUSCwgbmFtZSk7 CisJaWYgKHJldCA8IDApIHsKKwkJcHJpbnRmKCJzcHJpbnRmIGZhaWxlZCFcbiIpOworCQlyZXR1 cm4gcmV0OworCX0KKworCWZkID0gb3BlbihidWYsIE9fUkRXUik7CisJaWYgKGZkIDwgMCkKKwkJ cHJpbnRmKCJvcGVuICVzIGZhaWxlZCFcbiIsIGJ1Zik7CisJcmV0dXJuIGZkOworfQorCitzdGF0 aWMgaW50IGRtYWJ1Zl9oZWFwX2FsbG9jKGludCBmZCwgc2l6ZV90IGxlbiwgdW5zaWduZWQgaW50 IGZsYWdzLCBpbnQgKmRtYWJ1Zl9mZCkKK3sKKwlzdHJ1Y3QgZG1hX2hlYXBfYWxsb2NhdGlvbl9k YXRhIGRhdGEgPSB7CisJCS5sZW4gPSBsZW4sCisJCS5mZF9mbGFncyA9IE9fUkRXUiB8IE9fQ0xP RVhFQywKKwkJLmhlYXBfZmxhZ3MgPSBmbGFncywKKwl9OworCWludCByZXQ7CisKKwlpZiAoZG1h YnVmX2ZkID09IE5VTEwpCisJCXJldHVybiAtRUlOVkFMOworCisJcmV0ID0gaW9jdGwoZmQsIERN QV9IRUFQX0lPQ19BTExPQywgJmRhdGEpOworCWlmIChyZXQgPCAwKQorCQlyZXR1cm4gcmV0Owor CSpkbWFidWZfZmQgPSAoaW50KWRhdGEuZmQ7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHZv aWQgZG1hYnVmX3N5bmMoaW50IGZkLCBpbnQgc3RhcnRfc3RvcCkKK3sKKwlzdHJ1Y3QgZG1hX2J1 Zl9zeW5jIHN5bmMgPSB7CisJCS5mbGFncyA9IHN0YXJ0X3N0b3AgfCBETUFfQlVGX1NZTkNfUlcs CisJfTsKKwlpbnQgcmV0OworCisJcmV0ID0gaW9jdGwoZmQsIERNQV9CVUZfSU9DVExfU1lOQywg JnN5bmMpOworCWlmIChyZXQpCisJCXByaW50Zigic3luYyBmYWlsZWQgJWRcbiIsIGVycm5vKTsK K30KKworI2RlZmluZSBPTkVfTUVHICgxMDI0KjEwMjQpCisKK3N0YXRpYyB2b2lkIGRvX3Rlc3Qo Y2hhciAqaGVhcF9uYW1lKQoreworCWludCBoZWFwX2ZkID0gLTEsIGRtYWJ1Zl9mZCA9IC0xLCBp bXBvcnRlcl9mZCA9IC0xOworCXVpbnQzMl90IGhhbmRsZSA9IDA7CisJdm9pZCAqcCA9IE5VTEw7 CisJaW50IHJldDsKKworCXByaW50ZigiVGVzdGluZyBoZWFwOiAlc1xuIiwgaGVhcF9uYW1lKTsK KworCWhlYXBfZmQgPSBkbWFidWZfaGVhcF9vcGVuKGhlYXBfbmFtZSk7CisJaWYgKGhlYXBfZmQg PCAwKQorCQlyZXR1cm47CisKKwlwcmludGYoIkFsbG9jYXRpbmcgMSBNRUdcbiIpOworCXJldCA9 IGRtYWJ1Zl9oZWFwX2FsbG9jKGhlYXBfZmQsIE9ORV9NRUcsIDAsICZkbWFidWZfZmQpOworCWlm IChyZXQpIHsKKwkJcHJpbnRmKCJBbGxvY2F0aW9uIEZhaWxlZCFcbiIpOworCQlnb3RvIG91dDsK Kwl9CisJLyogbW1hcCBhbmQgd3JpdGUgYSBzaW1wbGUgcGF0dGVybiAqLworCXAgPSBtbWFwKE5V TEwsCisJCSBPTkVfTUVHLAorCQkgUFJPVF9SRUFEIHwgUFJPVF9XUklURSwKKwkJIE1BUF9TSEFS RUQsCisJCSBkbWFidWZfZmQsCisJCSAwKTsKKwlpZiAocCA9PSBNQVBfRkFJTEVEKSB7CisJCXBy aW50ZigibW1hcCgpIGZhaWxlZDogJW1cbiIpOworCQlnb3RvIG91dDsKKwl9CisJcHJpbnRmKCJt bWFwIHBhc3NlZFxuIik7CisKKworCWRtYWJ1Zl9zeW5jKGRtYWJ1Zl9mZCwgRE1BX0JVRl9TWU5D X1NUQVJUKTsKKworCW1lbXNldChwLCAxLCBPTkVfTUVHIC8gMik7CisJbWVtc2V0KChjaGFyICop cCArIE9ORV9NRUcgLyAyLCAwLCBPTkVfTUVHIC8gMik7CisJZG1hYnVmX3N5bmMoZG1hYnVmX2Zk LCBETUFfQlVGX1NZTkNfRU5EKTsKKworCWltcG9ydGVyX2ZkID0gb3Blbl92Z2VtKCk7CisJaWYg KGltcG9ydGVyX2ZkIDwgMCkgeworCQlyZXQgPSBpbXBvcnRlcl9mZDsKKwkJcHJpbnRmKCJGYWls ZWQgdG8gb3BlbiB2Z2VtXG4iKTsKKwkJZ290byBvdXQ7CisJfQorCisJcmV0ID0gaW1wb3J0X3Zn ZW1fZmQoaW1wb3J0ZXJfZmQsIGRtYWJ1Zl9mZCwgJmhhbmRsZSk7CisJaWYgKHJldCA8IDApIHsK KwkJcHJpbnRmKCJGYWlsZWQgdG8gaW1wb3J0IGJ1ZmZlclxuIik7CisJCWdvdG8gb3V0OworCX0K KwlwcmludGYoImltcG9ydCBwYXNzZWRcbiIpOworCisJZG1hYnVmX3N5bmMoZG1hYnVmX2ZkLCBE TUFfQlVGX1NZTkNfU1RBUlQpOworCW1lbXNldChwLCAweGZmLCBPTkVfTUVHKTsKKwlkbWFidWZf c3luYyhkbWFidWZfZmQsIERNQV9CVUZfU1lOQ19FTkQpOworCXByaW50Zigic3luY3MgcGFzc2Vk XG4iKTsKKworCWNsb3NlX2hhbmRsZShpbXBvcnRlcl9mZCwgaGFuZGxlKTsKKworb3V0OgorCWlm IChwKQorCQltdW5tYXAocCwgT05FX01FRyk7CisJaWYgKGltcG9ydGVyX2ZkID49IDApCisJCWNs b3NlKGltcG9ydGVyX2ZkKTsKKwlpZiAoZG1hYnVmX2ZkID49IDApCisJCWNsb3NlKGRtYWJ1Zl9m ZCk7CisJaWYgKGhlYXBfZmQgPj0gMCkKKwkJY2xvc2UoaGVhcF9mZCk7Cit9CisKKworaW50IG1h aW4odm9pZCkKK3sKKwlESVIgKmQ7CisJc3RydWN0IGRpcmVudCAqZGlyOworCisJZCA9IG9wZW5k aXIoREVWUEFUSCk7CisJaWYgKCFkKSB7CisJCXByaW50ZigiTm8gJXMgZGlyZWN0b3J5P1xuIiwg REVWUEFUSCk7CisJCXJldHVybiAtMTsKKwl9CisKKwl3aGlsZSAoKGRpciA9IHJlYWRkaXIoZCkp ICE9IE5VTEwpIHsKKwkJaWYgKCFzdHJuY21wKGRpci0+ZF9uYW1lLCAiLiIsIDIpKQorCQkJY29u dGludWU7CisJCWlmICghc3RybmNtcChkaXItPmRfbmFtZSwgIi4uIiwgMykpCisJCQljb250aW51 ZTsKKworCQlkb190ZXN0KGRpci0+ZF9uYW1lKTsKKwl9CisJY2xvc2VkaXIoZCk7CisKKwlyZXR1 cm4gMDsKK30KLS0gCjIuMTcuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v ZHJpLWRldmVs