From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tiago Vignatti Subject: [PATCH igt v7 3/6] prime_mmap: Add basic tests to write in a bo using CPU Date: Tue, 22 Dec 2015 19:36:51 -0200 Message-ID: <1450820214-12509-9-git-send-email-tiago.vignatti@intel.com> References: <1450820214-12509-1-git-send-email-tiago.vignatti@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 627536E41D for ; Tue, 22 Dec 2015 13:37:27 -0800 (PST) In-Reply-To: <1450820214-12509-1-git-send-email-tiago.vignatti@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: daniel.thompson@linaro.org, marcheu@google.com, daniel.vetter@ffwll.ch, thellstrom@vmware.com, jglisse@redhat.com, reveman@google.com List-Id: dri-devel@lists.freedesktop.org VGhpcyBwYXRjaCBhZGRzIHRlc3RfY29ycmVjdF9jcHVfd3JpdGUsIHdoaWNoIG1hcHMgdGhlIHRl eHR1cmUgYnVmZmVyIHRocm91Z2ggYQpwcmltZSBmZCBhbmQgdGhlbiB3cml0ZXMgZGlyZWN0bHkg dG8gaXQgdXNpbmcgdGhlIENQVS4gSXQgc3RyZXNzZXMgdGhlIGRyaXZlcgp0byBndWFyYW50ZWUg Y2FjaGUgc3luY2hyb25pemF0aW9uIGFtb25nIHRoZSBkaWZmZXJlbnQgZG9tYWlucy4KClRoaXMg dGVzdCBhbHNvIGFkZHMgdGVzdF9mb3JrZWRfY3B1X3dyaXRlLCB3aGljaCBjcmVhdGVzIHRoZSBH RU0gYm8gaW4gb25lCnByb2Nlc3MgYW5kIHBhc3MgdGhlIHByaW1lIGhhbmRsZSBvZiB0aGUgaXQg dG8gYW5vdGhlciBwcm9jZXNzLCB3aGljaCBpbiB0dXJuCnVzZXMgdGhlIGhhbmRsZSBvbmx5IHRv IG1hcCBhbmQgd3JpdGUuIFJvdWdobHkgc3BlYWtpbmcgdGhpcyB0ZXN0IHNpbXVsYXRlcwpDaHJv bWUgT1MgIGFyY2hpdGVjdHVyZSwgd2hlcmUgdGhlIFdlYiBjb250ZW50ICgidW5wcml2aWxlZGdl ZCBwcm9jZXNzIikgbWFwcwphbmQgQ1BVLWRyYXdzIGEgYnVmZmVyLCB3aGljaCB3YXMgcHJldmlv dXNseSBhbGxvY2F0ZWQgaW4gdGhlIEdQVSBwcm9jZXNzCigicHJpdmlsZWRnZWQgcHJvY2VzcyIp LgoKVGhpcyByZXF1aXJlcyBrZXJuZWwgbW9kaWZpY2F0aW9ucyAoRGFuaWVsIFRob21wc29uJ3Mg ImRybTogcHJpbWU6IEhvbm91cgpPX1JEV1IgZHVyaW5nIHByaW1lLWhhbmRsZS10by1mZCIpIGFu ZCB0aGVyZWZvcmUgcHJpbWVfaGFuZGxlX3RvX2ZkX2Zvcl9tbWFwIGlzCmFkZGVkIHRvIGZhaWwg aW4gY2FzZSB0aGVzZSBsYWNrLiBBbHNvLCB1cGNvbWluZyB0ZXN0cyAoZS5nLiBuZXh0IHBhdGNo KSBhcmUKZ29pbmcgdG8gdXNlIGl0IGFzIHdlbGwsIHNvIG1ha2UgaXQgcHVibGljIGFuZCBhdmFp bGFibGUgaW4gdGhlIGxpYi4KCnYyOiBhZGRzIHByaW1lX2hhbmRsZV90b19mZF93aXRoX21tYXAg Zm9yIHNraXBwaW5nIHRlc3QgaW4gb2xkZXIga2VybmVscyBhbmQKdGVzdCBmb3IgaW52YWxpZCBm bGFncy4KClNpZ25lZC1vZmYtYnk6IFRpYWdvIFZpZ25hdHRpIDx0aWFnby52aWduYXR0aUBpbnRl bC5jb20+Ci0tLQogbGliL2lvY3RsX3dyYXBwZXJzLmMgfCAyNSArKysrKysrKysrKysrKysKIGxp Yi9pb2N0bF93cmFwcGVycy5oIHwgIDQgKysrCiB0ZXN0cy9wcmltZV9tbWFwLmMgICB8IDg5ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0KIDMgZmls ZXMgY2hhbmdlZCwgMTEyIGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvbGliL2lvY3RsX3dyYXBwZXJzLmMgYi9saWIvaW9jdGxfd3JhcHBlcnMuYwppbmRleCA2Y2Fk OGEyLi44NmE2MWJhIDEwMDY0NAotLS0gYS9saWIvaW9jdGxfd3JhcHBlcnMuYworKysgYi9saWIv aW9jdGxfd3JhcHBlcnMuYwpAQCAtMTMyOSw2ICsxMzI5LDMxIEBAIGludCBwcmltZV9oYW5kbGVf dG9fZmQoaW50IGZkLCB1aW50MzJfdCBoYW5kbGUpCiB9CiAKIC8qKgorICogcHJpbWVfaGFuZGxl X3RvX2ZkX2Zvcl9tbWFwOgorICogQGZkOiBvcGVuIGk5MTUgZHJtIGZpbGUgZGVzY3JpcHRvcgor ICogQGhhbmRsZTogZmlsZS1wcml2YXRlIGdlbSBidWZmZXIgb2JqZWN0IGhhbmRsZQorICoKKyAq IFNhbWUgYXMgcHJpbWVfaGFuZGxlX3RvX2ZkIGFib3ZlIGJ1dCB3aXRoIERSTV9SRFdSIGNhcGFi aWxpdGllcywgd2hpY2ggY2FuCisgKiBiZSB1c2VmdWwgZm9yIHdyaXRpbmcgaW50byB0aGUgbW1h cCdlZCBkbWEtYnVmIGZpbGUtZGVzY3JpcHRvci4KKyAqCisgKiBSZXR1cm5zOiBUaGUgY3JlYXRl ZCBkbWEtYnVmIGZkIGhhbmRsZSBvciAtMSBpZiB0aGUgaW9jdGwgZmFpbHMuCisgKi8KK2ludCBw cmltZV9oYW5kbGVfdG9fZmRfZm9yX21tYXAoaW50IGZkLCB1aW50MzJfdCBoYW5kbGUpCit7CisJ c3RydWN0IGRybV9wcmltZV9oYW5kbGUgYXJnczsKKworCW1lbXNldCgmYXJncywgMCwgc2l6ZW9m KGFyZ3MpKTsKKwlhcmdzLmhhbmRsZSA9IGhhbmRsZTsKKwlhcmdzLmZsYWdzID0gRFJNX0NMT0VY RUMgfCBEUk1fUkRXUjsKKwlhcmdzLmZkID0gLTE7CisKKwlpZiAoZHJtSW9jdGwoZmQsIERSTV9J T0NUTF9QUklNRV9IQU5ETEVfVE9fRkQsICZhcmdzKSAhPSAwKQorCQlyZXR1cm4gLTE7CisKKwly ZXR1cm4gYXJncy5mZDsKK30KKworLyoqCiAgKiBwcmltZV9mZF90b19oYW5kbGU6CiAgKiBAZmQ6 IG9wZW4gaTkxNSBkcm0gZmlsZSBkZXNjcmlwdG9yCiAgKiBAZG1hX2J1Zl9mZDogZG1hLWJ1ZiBm ZCBoYW5kbGUKZGlmZiAtLWdpdCBhL2xpYi9pb2N0bF93cmFwcGVycy5oIGIvbGliL2lvY3RsX3dy YXBwZXJzLmgKaW5kZXggYmI4YTg1OC4uZDNmZmJhMiAxMDA2NDQKLS0tIGEvbGliL2lvY3RsX3dy YXBwZXJzLmgKKysrIGIvbGliL2lvY3RsX3dyYXBwZXJzLmgKQEAgLTE0OSw2ICsxNDksMTAgQEAg dm9pZCBnZW1fcmVxdWlyZV9yaW5nKGludCBmZCwgaW50IHJpbmdfaWQpOwogCiAvKiBwcmltZSAq LwogaW50IHByaW1lX2hhbmRsZV90b19mZChpbnQgZmQsIHVpbnQzMl90IGhhbmRsZSk7CisjaWZu ZGVmIERSTV9SRFdSCisjZGVmaW5lIERSTV9SRFdSIE9fUkRXUgorI2VuZGlmCitpbnQgcHJpbWVf aGFuZGxlX3RvX2ZkX2Zvcl9tbWFwKGludCBmZCwgdWludDMyX3QgaGFuZGxlKTsKIHVpbnQzMl90 IHByaW1lX2ZkX3RvX2hhbmRsZShpbnQgZmQsIGludCBkbWFfYnVmX2ZkKTsKIG9mZl90IHByaW1l X2dldF9zaXplKGludCBkbWFfYnVmX2ZkKTsKIApkaWZmIC0tZ2l0IGEvdGVzdHMvcHJpbWVfbW1h cC5jIGIvdGVzdHMvcHJpbWVfbW1hcC5jCmluZGV4IDk1MzA0YTkuLjI2OWFkYTYgMTAwNjQ0Ci0t LSBhL3Rlc3RzL3ByaW1lX21tYXAuYworKysgYi90ZXN0cy9wcmltZV9tbWFwLmMKQEAgLTIyLDYg KzIyLDcgQEAKICAqCiAgKiBBdXRob3JzOgogICogICAgUm9iIEJyYWRmb3JkIDxyb2IgYXQgbGlu dXguaW50ZWwuY29tPgorICogICAgVGlhZ28gVmlnbmF0dGkgPHRpYWdvLnZpZ25hdHRpIGF0IGlu dGVsLmNvbT4KICAqCiAgKi8KIApAQCAtNjYsNiArNjcsMTIgQEAgZmlsbF9ibyh1aW50MzJfdCBo YW5kbGUsIHNpemVfdCBzaXplKQogfQogCiBzdGF0aWMgdm9pZAorZmlsbF9ib19jcHUoY2hhciAq cHRyKQoreworCW1lbWNweShwdHIsIHBhdHRlcm4sIHNpemVvZihwYXR0ZXJuKSk7Cit9CisKK3N0 YXRpYyB2b2lkCiB0ZXN0X2NvcnJlY3Qodm9pZCkKIHsKIAlpbnQgZG1hX2J1Zl9mZDsKQEAgLTE4 MCw2ICsxODcsNjUgQEAgdGVzdF9mb3JrZWQodm9pZCkKIAlnZW1fY2xvc2UoZmQsIGhhbmRsZSk7 CiB9CiAKKy8qIHRlc3Qgc2ltcGxlIENQVSB3cml0ZSAqLworc3RhdGljIHZvaWQKK3Rlc3RfY29y cmVjdF9jcHVfd3JpdGUodm9pZCkKK3sKKwlpbnQgZG1hX2J1Zl9mZDsKKwljaGFyICpwdHI7CisJ dWludDMyX3QgaGFuZGxlOworCisJaGFuZGxlID0gZ2VtX2NyZWF0ZShmZCwgQk9fU0laRSk7CisK KwlkbWFfYnVmX2ZkID0gcHJpbWVfaGFuZGxlX3RvX2ZkX2Zvcl9tbWFwKGZkLCBoYW5kbGUpOwor CisJLyogU2tpcCBpZiBEUk1fUkRXUiBpcyBub3Qgc3VwcG9ydGVkICovCisJaWd0X3NraXBfb24o ZXJybm8gPT0gRUlOVkFMKTsKKworCS8qIENoZWNrIGNvcnJlY3RuZXNzIG9mIG1hcCB1c2luZyB3 cml0ZSBwcm90ZWN0aW9uIChQUk9UX1dSSVRFKSAqLworCXB0ciA9IG1tYXAoTlVMTCwgQk9fU0la RSwgUFJPVF9SRUFEIHwgUFJPVF9XUklURSwgTUFQX1NIQVJFRCwgZG1hX2J1Zl9mZCwgMCk7CisJ aWd0X2Fzc2VydChwdHIgIT0gTUFQX0ZBSUxFRCk7CisKKwkvKiBGaWxsIGJvIHVzaW5nIENQVSAq LworCWZpbGxfYm9fY3B1KHB0cik7CisKKwkvKiBDaGVjayBwYXR0ZXJuIGNvcnJlY3RuZXNzICov CisJaWd0X2Fzc2VydChtZW1jbXAocHRyLCBwYXR0ZXJuLCBzaXplb2YocGF0dGVybikpID09IDAp OworCisJbXVubWFwKHB0ciwgQk9fU0laRSk7CisJY2xvc2UoZG1hX2J1Zl9mZCk7CisJZ2VtX2Ns b3NlKGZkLCBoYW5kbGUpOworfQorCisvKiBtYXAgZnJvbSBhbm90aGVyIHByb2Nlc3MgYW5kIHRo ZW4gd3JpdGUgdXNpbmcgQ1BVICovCitzdGF0aWMgdm9pZAordGVzdF9mb3JrZWRfY3B1X3dyaXRl KHZvaWQpCit7CisJaW50IGRtYV9idWZfZmQ7CisJY2hhciAqcHRyOworCXVpbnQzMl90IGhhbmRs ZTsKKworCWhhbmRsZSA9IGdlbV9jcmVhdGUoZmQsIEJPX1NJWkUpOworCisJZG1hX2J1Zl9mZCA9 IHByaW1lX2hhbmRsZV90b19mZF9mb3JfbW1hcChmZCwgaGFuZGxlKTsKKworCS8qIFNraXAgaWYg RFJNX1JEV1IgaXMgbm90IHN1cHBvcnRlZCAqLworCWlndF9za2lwX29uKGVycm5vID09IEVJTlZB TCk7CisKKwlpZ3RfZm9yayhjaGlsZG5vLCAxKSB7CisJCXB0ciA9IG1tYXAoTlVMTCwgQk9fU0la RSwgUFJPVF9SRUFEIHwgUFJPVF9XUklURSAsIE1BUF9TSEFSRUQsIGRtYV9idWZfZmQsIDApOwor CQlpZ3RfYXNzZXJ0KHB0ciAhPSBNQVBfRkFJTEVEKTsKKwkJZmlsbF9ib19jcHUocHRyKTsKKwor CQlpZ3RfYXNzZXJ0KG1lbWNtcChwdHIsIHBhdHRlcm4sIHNpemVvZihwYXR0ZXJuKSkgPT0gMCk7 CisJCW11bm1hcChwdHIsIEJPX1NJWkUpOworCQljbG9zZShkbWFfYnVmX2ZkKTsKKwl9CisJY2xv c2UoZG1hX2J1Zl9mZCk7CisJaWd0X3dhaXRjaGlsZHJlbigpOworCWdlbV9jbG9zZShmZCwgaGFu ZGxlKTsKK30KKwogc3RhdGljIHZvaWQKIHRlc3RfcmVmY291bnRpbmcodm9pZCkKIHsKQEAgLTIy NCwxNSArMjkwLDE0IEBAIHRlc3RfZHVwKHZvaWQpCiAJY2xvc2UgKGRtYV9idWZfZmQpOwogfQog Ci0KIC8qIFVzZWQgZm9yIGVycm9yIGNhc2UgdGVzdGluZyB0byBhdm9pZCB3cmFwcGVyICovCi1z dGF0aWMgaW50IHByaW1lX2hhbmRsZV90b19mZF9ub19hc3NlcnQodWludDMyX3QgaGFuZGxlLCBp bnQgKmZkX291dCkKK3N0YXRpYyBpbnQgcHJpbWVfaGFuZGxlX3RvX2ZkX25vX2Fzc2VydCh1aW50 MzJfdCBoYW5kbGUsIGludCBmbGFncywgaW50ICpmZF9vdXQpCiB7CiAJc3RydWN0IGRybV9wcmlt ZV9oYW5kbGUgYXJnczsKIAlpbnQgcmV0OwogCiAJYXJncy5oYW5kbGUgPSBoYW5kbGU7Ci0JYXJn cy5mbGFncyA9IERSTV9DTE9FWEVDOworCWFyZ3MuZmxhZ3MgPSBmbGFnczsKIAlhcmdzLmZkID0g LTE7CiAKIAlyZXQgPSBkcm1Jb2N0bChmZCwgRFJNX0lPQ1RMX1BSSU1FX0hBTkRMRV9UT19GRCwg JmFyZ3MpOwpAQCAtMjYwLDcgKzMyNSw3IEBAIHRlc3RfdXNlcnB0cih2b2lkKQogCWdlbV91c2Vy cHRyKGZkLCAodWludDMyX3QgKilwdHIsIEJPX1NJWkUsIDAsIDAsICZoYW5kbGUpOwogCiAJLyog ZXhwb3J0IHVzZXJwdHIgKi8KLQlyZXQgPSBwcmltZV9oYW5kbGVfdG9fZmRfbm9fYXNzZXJ0KGhh bmRsZSwgJmRtYV9idWZfZmQpOworCXJldCA9IHByaW1lX2hhbmRsZV90b19mZF9ub19hc3NlcnQo aGFuZGxlLCBEUk1fQ0xPRVhFQywgJmRtYV9idWZfZmQpOwogCWlmIChyZXQpIHsKIAkJaWd0X2Fz c2VydChyZXQgPT0gRUlOVkFMIHx8IHJldCA9PSBFTk9ERVYpOwogCQlnb3RvIGZyZWVfdXNlcnB0 cjsKQEAgLTI4MSwxNSArMzQ2LDI1IEBAIGZyZWVfdXNlcnB0cjoKIHN0YXRpYyB2b2lkCiB0ZXN0 X2Vycm9ycyh2b2lkKQogewotCWludCBkbWFfYnVmX2ZkOworCWludCBpLCBkbWFfYnVmX2ZkOwog CWNoYXIgKnB0cjsKIAl1aW50MzJfdCBoYW5kbGU7CisJaW50IGludmFsaWRfZmxhZ3NbXSA9IHtE Uk1fQ0xPRVhFQyAtIDEsIERSTV9DTE9FWEVDICsgMSwKKwkgICAgICAgICAgICAgICAgICAgICAg IERSTV9SRFdSIC0gMSwgRFJNX1JEV1IgKyAxfTsKKworCS8qIFRlc3QgZm9yIGludmFsaWQgZmxh Z3MgKi8KKwloYW5kbGUgPSBnZW1fY3JlYXRlKGZkLCBCT19TSVpFKTsKKwlmb3IgKGkgPSAwOyBp IDwgc2l6ZW9mKGludmFsaWRfZmxhZ3MpIC8gc2l6ZW9mKGludmFsaWRfZmxhZ3NbMF0pOyBpKysp IHsKKwkJcHJpbWVfaGFuZGxlX3RvX2ZkX25vX2Fzc2VydChoYW5kbGUsIGludmFsaWRfZmxhZ3Nb aV0sICZkbWFfYnVmX2ZkKTsKKwkJaWd0X2Fzc2VydF9lcShlcnJubywgRUlOVkFMKTsKKwkJZXJy bm8gPSAwOworCX0KIAogCS8qIENsb3NlIGdlbSBvYmplY3QgYmVmb3JlIHByaW1pbmcgKi8KIAlo YW5kbGUgPSBnZW1fY3JlYXRlKGZkLCBCT19TSVpFKTsKIAlmaWxsX2JvKGhhbmRsZSwgQk9fU0la RSk7CiAJZ2VtX2Nsb3NlKGZkLCBoYW5kbGUpOwotCXByaW1lX2hhbmRsZV90b19mZF9ub19hc3Nl cnQoaGFuZGxlLCAmZG1hX2J1Zl9mZCk7CisJcHJpbWVfaGFuZGxlX3RvX2ZkX25vX2Fzc2VydCho YW5kbGUsIERSTV9DTE9FWEVDLCAmZG1hX2J1Zl9mZCk7CiAJaWd0X2Fzc2VydChkbWFfYnVmX2Zk ID09IC0xICYmIGVycm5vID09IEVOT0VOVCk7CiAJZXJybm8gPSAwOwogCkBAIC0zOTIsNiArNDY3 LDggQEAgaWd0X21haW4KIAkJeyAidGVzdF9tYXBfdW5tYXAiLCB0ZXN0X21hcF91bm1hcCB9LAog CQl7ICJ0ZXN0X3JlcHJpbWUiLCB0ZXN0X3JlcHJpbWUgfSwKIAkJeyAidGVzdF9mb3JrZWQiLCB0 ZXN0X2ZvcmtlZCB9LAorCQl7ICJ0ZXN0X2NvcnJlY3RfY3B1X3dyaXRlIiwgdGVzdF9jb3JyZWN0 X2NwdV93cml0ZSB9LAorCQl7ICJ0ZXN0X2ZvcmtlZF9jcHVfd3JpdGUiLCB0ZXN0X2ZvcmtlZF9j cHVfd3JpdGUgfSwKIAkJeyAidGVzdF9yZWZjb3VudGluZyIsIHRlc3RfcmVmY291bnRpbmcgfSwK IAkJeyAidGVzdF9kdXAiLCB0ZXN0X2R1cCB9LAogCQl7ICJ0ZXN0X3VzZXJwdHIiLCB0ZXN0X3Vz ZXJwdHIgfSwKLS0gCjIuMS40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Ry aS1kZXZlbAo=