From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 43/46] drm/i915: Add mock exercise for i915_gem_gtt_insert Date: Thu, 2 Feb 2017 09:09:02 +0000 Message-ID: <20170202090905.29028-44-chris@chris-wilson.co.uk> References: <20170202090905.29028-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x243.google.com (mail-wm0-x243.google.com [IPv6:2a00:1450:400c:c09::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id A158D6E953 for ; Thu, 2 Feb 2017 09:09:55 +0000 (UTC) Received: by mail-wm0-x243.google.com with SMTP id r18so11764891wmd.3 for ; Thu, 02 Feb 2017 01:09:55 -0800 (PST) In-Reply-To: <20170202090905.29028-1-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org aTkxNV9nZW1fZ3R0X2luc2VydCBzaG91bGQgYWxsb2NhdGUgZnJvbSB0aGUgYXZhaWxhYmxlIGZy ZWUgc3BhY2UgaW4gdGhlCkdUVCwgZXZpY3RpbmcgYXMgbmVjZXNzYXJ5IHRvIGNyZWF0ZSBzcGFj ZS4KClNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVr PgpSZXZpZXdlZC1ieTogSm9vbmFzIExhaHRpbmVuIDxqb29uYXMubGFodGluZW5AbGludXguaW50 ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9ndHQu YyB8IDIwOCArKysrKysrKysrKysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDIwOCBp bnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3Rz L2k5MTVfZ2VtX2d0dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2Vt X2d0dC5jCmluZGV4IGY0YjYyN2ViNjNmNi4uYzFjN2E4ODM3ZmZkIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fZ3R0LmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX2d0dC5jCkBAIC04NTcsMTAgKzg1NywyMTgg QEAgc3RhdGljIGludCBpZ3RfZ3R0X3Jlc2VydmUodm9pZCAqYXJnKQogCXJldHVybiBlcnI7CiB9 CiAKK3N0YXRpYyBpbnQgaWd0X2d0dF9pbnNlcnQodm9pZCAqYXJnKQoreworCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICppOTE1ID0gYXJnOworCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpv YmosICpvbjsKKwlzdHJ1Y3QgZHJtX21tX25vZGUgdG1wID0ge307CisJY29uc3Qgc3RydWN0IGlu dmFsaWRfaW5zZXJ0IHsKKwkJdTY0IHNpemU7CisJCXU2NCBhbGlnbm1lbnQ7CisJCXU2NCBzdGFy dCwgZW5kOworCX0gaW52YWxpZF9pbnNlcnRbXSA9IHsKKwkJeworCQkJaTkxNS0+Z2d0dC5iYXNl LnRvdGFsICsgSTkxNV9HVFRfUEFHRV9TSVpFLCAwLAorCQkJMCwgaTkxNS0+Z2d0dC5iYXNlLnRv dGFsLAorCQl9LAorCQl7CisJCQkyKkk5MTVfR1RUX1BBR0VfU0laRSwgMCwKKwkJCTAsIEk5MTVf R1RUX1BBR0VfU0laRSwKKwkJfSwKKwkJeworCQkJLSh1NjQpSTkxNV9HVFRfUEFHRV9TSVpFLCAw LAorCQkJMCwgNCpJOTE1X0dUVF9QQUdFX1NJWkUsCisJCX0sCisJCXsKKwkJCS0odTY0KTIqSTkx NV9HVFRfUEFHRV9TSVpFLCAyKkk5MTVfR1RUX1BBR0VfU0laRSwKKwkJCTAsIDQqSTkxNV9HVFRf UEFHRV9TSVpFLAorCQl9LAorCQl7CisJCQlJOTE1X0dUVF9QQUdFX1NJWkUsIEk5MTVfR1RUX01J Tl9BTElHTk1FTlQgPDwgMSwKKwkJCUk5MTVfR1RUX01JTl9BTElHTk1FTlQsIEk5MTVfR1RUX01J Tl9BTElHTk1FTlQgPDwgMSwKKwkJfSwKKwkJe30KKwl9LCAqaWk7CisJTElTVF9IRUFEKG9iamVj dHMpOworCXU2NCB0b3RhbDsKKwlpbnQgZXJyOworCisJLyogaTkxNV9nZW1fZ3R0X2luc2VydCgp IHRyaWVzIHRvIGFsbG9jYXRlIHNvbWUgZnJlZSBzcGFjZSBpbiB0aGUgR1RUCisJICogdG8gdGhl IG5vZGUsIGV2aWN0aW5nIGlmIHJlcXVpcmVkLgorCSAqLworCisJLyogQ2hlY2sgYSBjb3VwbGUg b2Ygb2J2aW91c2x5IGludmFsaWQgcmVxdWVzdHMgKi8KKwlmb3IgKGlpID0gaW52YWxpZF9pbnNl cnQ7IGlpLT5zaXplOyBpaSsrKSB7CisJCWVyciA9IGk5MTVfZ2VtX2d0dF9pbnNlcnQoJmk5MTUt PmdndHQuYmFzZSwgJnRtcCwKKwkJCQkJICBpaS0+c2l6ZSwgaWktPmFsaWdubWVudCwKKwkJCQkJ ICBJOTE1X0NPTE9SX1VORVZJQ1RBQkxFLAorCQkJCQkgIGlpLT5zdGFydCwgaWktPmVuZCwKKwkJ CQkJICAwKTsKKwkJaWYgKGVyciAhPSAtRU5PU1BDKSB7CisJCQlwcl9lcnIoIkludmFsaWQgaTkx NV9nZW1fZ3R0X2luc2VydCguc2l6ZT0lbGx4LCAuYWxpZ25tZW50PSVsbHgsIC5zdGFydD0lbGx4 LCAuZW5kPSVsbHgpIHN1Y2NlZWRlZCAoZXJyPSVkKVxuIiwKKwkJCSAgICAgICBpaS0+c2l6ZSwg aWktPmFsaWdubWVudCwgaWktPnN0YXJ0LCBpaS0+ZW5kLAorCQkJICAgICAgIGVycik7CisJCQly ZXR1cm4gLUVJTlZBTDsKKwkJfQorCX0KKworCS8qIFN0YXJ0IGJ5IGZpbGxpbmcgdGhlIEdHVFQg Ki8KKwlmb3IgKHRvdGFsID0gMDsKKwkgICAgIHRvdGFsICsgSTkxNV9HVFRfUEFHRV9TSVpFIDw9 IGk5MTUtPmdndHQuYmFzZS50b3RhbDsKKwkgICAgIHRvdGFsICs9IEk5MTVfR1RUX1BBR0VfU0la RSkgeworCQlzdHJ1Y3QgaTkxNV92bWEgKnZtYTsKKworCQlvYmogPSBpOTE1X2dlbV9vYmplY3Rf Y3JlYXRlX2ludGVybmFsKGk5MTUsIEk5MTVfR1RUX1BBR0VfU0laRSk7CisJCWlmIChJU19FUlIo b2JqKSkgeworCQkJZXJyID0gUFRSX0VSUihvYmopOworCQkJZ290byBvdXQ7CisJCX0KKworCQll cnIgPSBpOTE1X2dlbV9vYmplY3RfcGluX3BhZ2VzKG9iaik7CisJCWlmIChlcnIpIHsKKwkJCWk5 MTVfZ2VtX29iamVjdF9wdXQob2JqKTsKKwkJCWdvdG8gb3V0OworCQl9CisKKwkJbGlzdF9hZGQo Jm9iai0+YmF0Y2hfcG9vbF9saW5rLCAmb2JqZWN0cyk7CisKKwkJdm1hID0gaTkxNV92bWFfaW5z dGFuY2Uob2JqLCAmaTkxNS0+Z2d0dC5iYXNlLCBOVUxMKTsKKwkJaWYgKElTX0VSUih2bWEpKSB7 CisJCQllcnIgPSBQVFJfRVJSKHZtYSk7CisJCQlnb3RvIG91dDsKKwkJfQorCisJCWVyciA9IGk5 MTVfZ2VtX2d0dF9pbnNlcnQoJmk5MTUtPmdndHQuYmFzZSwgJnZtYS0+bm9kZSwKKwkJCQkJICBv YmotPmJhc2Uuc2l6ZSwgMCwgb2JqLT5jYWNoZV9sZXZlbCwKKwkJCQkJICAwLCBpOTE1LT5nZ3R0 LmJhc2UudG90YWwsCisJCQkJCSAgMCk7CisJCWlmIChlcnIgPT0gLUVOT1NQQykgeworCQkJLyog bWF4ZWQgb3V0IHRoZSBHR1RUIHNwYWNlICovCisJCQlpOTE1X2dlbV9vYmplY3RfcHV0KG9iaik7 CisJCQlicmVhazsKKwkJfQorCQlpZiAoZXJyKSB7CisJCQlwcl9lcnIoImk5MTVfZ2VtX2d0dF9p bnNlcnQgKHBhc3MgMSkgZmFpbGVkIGF0ICVsbHUvJWxsdSB3aXRoIGVycj0lZFxuIiwKKwkJCSAg ICAgICB0b3RhbCwgaTkxNS0+Z2d0dC5iYXNlLnRvdGFsLCBlcnIpOworCQkJZ290byBvdXQ7CisJ CX0KKwkJdHJhY2tfdm1hX2JpbmQodm1hKTsKKwkJX19pOTE1X3ZtYV9waW4odm1hKTsKKworCQlH RU1fQlVHX09OKCFkcm1fbW1fbm9kZV9hbGxvY2F0ZWQoJnZtYS0+bm9kZSkpOworCX0KKworCWxp c3RfZm9yX2VhY2hfZW50cnkob2JqLCAmb2JqZWN0cywgYmF0Y2hfcG9vbF9saW5rKSB7CisJCXN0 cnVjdCBpOTE1X3ZtYSAqdm1hOworCisJCXZtYSA9IGk5MTVfdm1hX2luc3RhbmNlKG9iaiwgJmk5 MTUtPmdndHQuYmFzZSwgTlVMTCk7CisJCWlmIChJU19FUlIodm1hKSkgeworCQkJZXJyID0gUFRS X0VSUih2bWEpOworCQkJZ290byBvdXQ7CisJCX0KKworCQlpZiAoIWRybV9tbV9ub2RlX2FsbG9j YXRlZCgmdm1hLT5ub2RlKSkgeworCQkJcHJfZXJyKCJWTUEgd2FzIHVuZXhwZWN0ZWRseSBldmlj dGVkIVxuIik7CisJCQllcnIgPSAtRUlOVkFMOworCQkJZ290byBvdXQ7CisJCX0KKworCQlfX2k5 MTVfdm1hX3VucGluKHZtYSk7CisJfQorCisJLyogSWYgd2UgdGhlbiByZWluc2VydCwgd2Ugc2hv dWxkIGZpbmQgdGhlIHNhbWUgaG9sZSAqLworCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShvYmos IG9uLCAmb2JqZWN0cywgYmF0Y2hfcG9vbF9saW5rKSB7CisJCXN0cnVjdCBpOTE1X3ZtYSAqdm1h OworCQl1NjQgb2Zmc2V0OworCisJCXZtYSA9IGk5MTVfdm1hX2luc3RhbmNlKG9iaiwgJmk5MTUt PmdndHQuYmFzZSwgTlVMTCk7CisJCWlmIChJU19FUlIodm1hKSkgeworCQkJZXJyID0gUFRSX0VS Uih2bWEpOworCQkJZ290byBvdXQ7CisJCX0KKworCQlHRU1fQlVHX09OKCFkcm1fbW1fbm9kZV9h bGxvY2F0ZWQoJnZtYS0+bm9kZSkpOworCQlvZmZzZXQgPSB2bWEtPm5vZGUuc3RhcnQ7CisKKwkJ ZXJyID0gaTkxNV92bWFfdW5iaW5kKHZtYSk7CisJCWlmIChlcnIpIHsKKwkJCXByX2VycigiaTkx NV92bWFfdW5iaW5kIGZhaWxlZCB3aXRoIGVycj0lZCFcbiIsIGVycik7CisJCQlnb3RvIG91dDsK KwkJfQorCisJCWVyciA9IGk5MTVfZ2VtX2d0dF9pbnNlcnQoJmk5MTUtPmdndHQuYmFzZSwgJnZt YS0+bm9kZSwKKwkJCQkJICBvYmotPmJhc2Uuc2l6ZSwgMCwgb2JqLT5jYWNoZV9sZXZlbCwKKwkJ CQkJICAwLCBpOTE1LT5nZ3R0LmJhc2UudG90YWwsCisJCQkJCSAgMCk7CisJCWlmIChlcnIpIHsK KwkJCXByX2VycigiaTkxNV9nZW1fZ3R0X2luc2VydCAocGFzcyAyKSBmYWlsZWQgYXQgJWxsdS8l bGx1IHdpdGggZXJyPSVkXG4iLAorCQkJICAgICAgIHRvdGFsLCBpOTE1LT5nZ3R0LmJhc2UudG90 YWwsIGVycik7CisJCQlnb3RvIG91dDsKKwkJfQorCQl0cmFja192bWFfYmluZCh2bWEpOworCisJ CUdFTV9CVUdfT04oIWRybV9tbV9ub2RlX2FsbG9jYXRlZCgmdm1hLT5ub2RlKSk7CisJCWlmICh2 bWEtPm5vZGUuc3RhcnQgIT0gb2Zmc2V0KSB7CisJCQlwcl9lcnIoImk5MTVfZ2VtX2d0dF9pbnNl cnQgZGlkIG5vdCByZXR1cm4gbm9kZSB0byBpdHMgcHJldmlvdXMgbG9jYXRpb24gKHRoZSBvbmx5 IGhvbGUpLCBleHBlY3RlZCBhZGRyZXNzICVsbHgsIGZvdW5kICVsbHhcbiIsCisJCQkgICAgICAg b2Zmc2V0LCB2bWEtPm5vZGUuc3RhcnQpOworCQkJZXJyID0gLUVJTlZBTDsKKwkJCWdvdG8gb3V0 OworCQl9CisJfQorCisJLyogQW5kIHRoZW4gZm9yY2UgZXZpY3Rpb25zICovCisJZm9yICh0b3Rh bCA9IDA7CisJICAgICB0b3RhbCArIDIqSTkxNV9HVFRfUEFHRV9TSVpFIDw9IGk5MTUtPmdndHQu YmFzZS50b3RhbDsKKwkgICAgIHRvdGFsICs9IDIqSTkxNV9HVFRfUEFHRV9TSVpFKSB7CisJCXN0 cnVjdCBpOTE1X3ZtYSAqdm1hOworCisJCW9iaiA9IGk5MTVfZ2VtX29iamVjdF9jcmVhdGVfaW50 ZXJuYWwoaTkxNSwgMipJOTE1X0dUVF9QQUdFX1NJWkUpOworCQlpZiAoSVNfRVJSKG9iaikpIHsK KwkJCWVyciA9IFBUUl9FUlIob2JqKTsKKwkJCWdvdG8gb3V0OworCQl9CisKKwkJZXJyID0gaTkx NV9nZW1fb2JqZWN0X3Bpbl9wYWdlcyhvYmopOworCQlpZiAoZXJyKSB7CisJCQlpOTE1X2dlbV9v YmplY3RfcHV0KG9iaik7CisJCQlnb3RvIG91dDsKKwkJfQorCisJCWxpc3RfYWRkKCZvYmotPmJh dGNoX3Bvb2xfbGluaywgJm9iamVjdHMpOworCisJCXZtYSA9IGk5MTVfdm1hX2luc3RhbmNlKG9i aiwgJmk5MTUtPmdndHQuYmFzZSwgTlVMTCk7CisJCWlmIChJU19FUlIodm1hKSkgeworCQkJZXJy ID0gUFRSX0VSUih2bWEpOworCQkJZ290byBvdXQ7CisJCX0KKworCQllcnIgPSBpOTE1X2dlbV9n dHRfaW5zZXJ0KCZpOTE1LT5nZ3R0LmJhc2UsICZ2bWEtPm5vZGUsCisJCQkJCSAgb2JqLT5iYXNl LnNpemUsIDAsIG9iai0+Y2FjaGVfbGV2ZWwsCisJCQkJCSAgMCwgaTkxNS0+Z2d0dC5iYXNlLnRv dGFsLAorCQkJCQkgIDApOworCQlpZiAoZXJyKSB7CisJCQlwcl9lcnIoImk5MTVfZ2VtX2d0dF9p bnNlcnQgKHBhc3MgMykgZmFpbGVkIGF0ICVsbHUvJWxsdSB3aXRoIGVycj0lZFxuIiwKKwkJCSAg ICAgICB0b3RhbCwgaTkxNS0+Z2d0dC5iYXNlLnRvdGFsLCBlcnIpOworCQkJZ290byBvdXQ7CisJ CX0KKwkJdHJhY2tfdm1hX2JpbmQodm1hKTsKKworCQlHRU1fQlVHX09OKCFkcm1fbW1fbm9kZV9h bGxvY2F0ZWQoJnZtYS0+bm9kZSkpOworCX0KKworb3V0OgorCWxpc3RfZm9yX2VhY2hfZW50cnlf c2FmZShvYmosIG9uLCAmb2JqZWN0cywgYmF0Y2hfcG9vbF9saW5rKSB7CisJCWk5MTVfZ2VtX29i amVjdF91bnBpbl9wYWdlcyhvYmopOworCQlpOTE1X2dlbV9vYmplY3RfcHV0KG9iaik7CisJfQor CXJldHVybiBlcnI7Cit9CisKIGludCBpOTE1X2dlbV9ndHRfbW9ja19zZWxmdGVzdHModm9pZCkK IHsKIAlzdGF0aWMgY29uc3Qgc3RydWN0IGk5MTVfc3VidGVzdCB0ZXN0c1tdID0gewogCQlTVUJU RVNUKGlndF9ndHRfcmVzZXJ2ZSksCisJCVNVQlRFU1QoaWd0X2d0dF9pbnNlcnQpLAogCX07CiAJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTU7CiAJaW50IGVycjsKLS0gCjIuMTEuMAoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1h aWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==