From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [PATCH v4 16/38] drm/i915: Added tracking/locking of batch buffer objects Date: Mon, 11 Jan 2016 18:42:45 +0000 Message-ID: <1452537788-32136-17-git-send-email-John.C.Harrison@Intel.com> References: <1448278774-31376-1-git-send-email-John.C.Harrison@Intel.com> <1452537788-32136-1-git-send-email-John.C.Harrison@Intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 9A5C26E3DB for ; Mon, 11 Jan 2016 10:43:26 -0800 (PST) In-Reply-To: <1452537788-32136-1-git-send-email-John.C.Harrison@Intel.com> 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 RnJvbTogSm9obiBIYXJyaXNvbiA8Sm9obi5DLkhhcnJpc29uQEludGVsLmNvbT4KClRoZSBzY2hl ZHVsZXIgbmVlZHMgdG8gdHJhY2sgaW50ZXJkZXBlbmRlbmNpZXMgYmV0d2VlbiBiYXRjaCBidWZm ZXJzLgpUaGVzZSBhcmUgY2FsY3VsYXRlZCBieSBhbmFseXNpbmcgdGhlIG9iamVjdCBsaXN0cyBv ZiB0aGUgYnVmZmVycyBhbmQKbG9va2luZyBmb3IgY29tbW9uYWxpdHkuIFRoZSBzY2hlZHVsZXIg YWxzbyBuZWVkcyB0byBrZWVwIHRob3NlCmJ1ZmZlcnMgbG9ja2VkIGxvbmcgYWZ0ZXIgdGhlIGlu aXRpYWwgSU9DVEwgY2FsbCBoYXMgcmV0dXJuZWQgdG8gdXNlcgpsYW5kLgoKdjM6IFVwZGF0ZWQg dG8gc3VwcG9ydCByZWFkLXJlYWQgb3B0aW1pc2F0aW9uLgoKRm9yOiBWSVotMTU4NwpTaWduZWQt b2ZmLWJ5OiBKb2huIEhhcnJpc29uIDxKb2huLkMuSGFycmlzb25ASW50ZWwuY29tPgotLS0KIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYyB8IDUyICsrKysrKysrKysr KysrKysrKysrKysrKysrKystLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zY2hlZHVsZXIu YyAgICAgIHwgMzMgKysrKysrKysrKysrKysrKystLQogMiBmaWxlcyBjaGFuZ2VkLCA4MCBpbnNl cnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X2V4ZWNidWZmZXIuYwppbmRleCAxM2M2MjE3Li4zYzg0Yjk3IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCkBAIC0xMzg0LDcgKzEzODQsNyBAQCBpOTE1X2dl bV9kb19leGVjYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJc3Ry dWN0IGk5MTVfZXhlY2J1ZmZlcl9wYXJhbXMgKnBhcmFtcyA9ICZxZS5wYXJhbXM7CiAJY29uc3Qg dTMyIGN0eF9pZCA9IGk5MTVfZXhlY2J1ZmZlcjJfZ2V0X2NvbnRleHRfaWQoKmFyZ3MpOwogCXUz MiBkaXNwYXRjaF9mbGFnczsKLQlpbnQgcmV0OworCWludCByZXQsIGk7CiAJYm9vbCBuZWVkX3Jl bG9jczsKIAogCWlmICghaTkxNV9nZW1fY2hlY2tfZXhlY2J1ZmZlcihhcmdzKSkKQEAgLTE0OTcs NiArMTQ5NywxNCBAQCBpOTE1X2dlbV9kb19leGVjYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsIHZvaWQgKmRhdGEsCiAJCWdvdG8gcHJlX211dGV4X2VycjsKIAl9CiAKKwlxZS5zYXZlZF9v YmplY3RzID0ga3phbGxvYygKKwkJCXNpemVvZigqcWUuc2F2ZWRfb2JqZWN0cykgKiBhcmdzLT5i dWZmZXJfY291bnQsCisJCQlHRlBfS0VSTkVMKTsKKwlpZiAoIXFlLnNhdmVkX29iamVjdHMpIHsK KwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBlcnI7CisJfQorCiAJLyogTG9vayB1cCBvYmplY3Qg aGFuZGxlcyAqLwogCXJldCA9IGViX2xvb2t1cF92bWFzKGViLCBleGVjLCBhcmdzLCB2bSwgZmls ZSk7CiAJaWYgKHJldCkKQEAgLTE2MTcsNyArMTYyNSwzMCBAQCBpOTE1X2dlbV9kb19leGVjYnVm ZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJcGFyYW1zLT5hcmdzX0RS MSAgICAgICAgICAgICAgICA9IGFyZ3MtPkRSMTsKIAlwYXJhbXMtPmFyZ3NfRFI0ICAgICAgICAg ICAgICAgID0gYXJncy0+RFI0OwogCXBhcmFtcy0+YmF0Y2hfb2JqICAgICAgICAgICAgICAgPSBi YXRjaF9vYmo7Ci0JcGFyYW1zLT5jdHggICAgICAgICAgICAgICAgICAgICA9IGN0eDsKKworCS8q CisJICogU2F2ZSBhd2F5IHRoZSBsaXN0IG9mIG9iamVjdHMgdXNlZCBieSB0aGlzIGJhdGNoIGJ1 ZmZlciBmb3IgdGhlCisJICogcHVycG9zZSBvZiB0cmFja2luZyBpbnRlci1idWZmZXIgZGVwZW5k ZW5jaWVzLgorCSAqLworCWZvciAoaSA9IDA7IGkgPCBhcmdzLT5idWZmZXJfY291bnQ7IGkrKykg eworCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqOworCisJCS8qCisJCSAqIE5COiAn ZHJtX2dlbV9vYmplY3RfbG9va3VwKCknIGluY3JlbWVudHMgdGhlIG9iamVjdCdzCisJCSAqIHJl ZmVyZW5jZSBjb3VudCBhbmQgc28gbXVzdCBiZSBtYXRjaGVkIGJ5IGEKKwkJICogJ2RybV9nZW1f b2JqZWN0X3VucmVmZXJlbmNlJyBjYWxsLgorCQkgKi8KKwkJb2JqID0gdG9faW50ZWxfYm8oZHJt X2dlbV9vYmplY3RfbG9va3VwKGRldiwgZmlsZSwKKwkJCQkJCQkgIGV4ZWNbaV0uaGFuZGxlKSk7 CisJCXFlLnNhdmVkX29iamVjdHNbaV0ub2JqICAgICAgID0gb2JqOworCQlxZS5zYXZlZF9vYmpl Y3RzW2ldLnJlYWRfb25seSA9IG9iai0+YmFzZS5wZW5kaW5nX3dyaXRlX2RvbWFpbiA9PSAwOwor CisJfQorCXFlLm51bV9vYmpzID0gaTsKKworCS8qIExvY2sgYW5kIHNhdmUgdGhlIGNvbnRleHQg b2JqZWN0IGFzIHdlbGwuICovCisJaTkxNV9nZW1fY29udGV4dF9yZWZlcmVuY2UoY3R4KTsKKwlw YXJhbXMtPmN0eCA9IGN0eDsKIAogCXJldCA9IGRldl9wcml2LT5ndC5leGVjYnVmX3N1Ym1pdChw YXJhbXMsIGFyZ3MsICZlYi0+dm1hcyk7CiAJaWYgKHJldCkKQEAgLTE2NDgsNiArMTY3OSwyMyBA QCBlcnI6CiAJaTkxNV9nZW1fY29udGV4dF91bnJlZmVyZW5jZShjdHgpOwogCWViX2Rlc3Ryb3ko ZWIpOwogCisJaWYgKHFlLnNhdmVkX29iamVjdHMpIHsKKwkJLyogTmVlZCB0byByZWxlYXNlIHRo ZSBvYmplY3RzOiAqLworCQlmb3IgKGkgPSAwOyBpIDwgcWUubnVtX29ianM7IGkrKykgeworCQkJ aWYgKCFxZS5zYXZlZF9vYmplY3RzW2ldLm9iaikKKwkJCQljb250aW51ZTsKKworCQkJZHJtX2dl bV9vYmplY3RfdW5yZWZlcmVuY2UoCisJCQkJCSZxZS5zYXZlZF9vYmplY3RzW2ldLm9iai0+YmFz ZSk7CisJCX0KKworCQlrZnJlZShxZS5zYXZlZF9vYmplY3RzKTsKKworCQkvKiBDb250ZXh0IHRv byAqLworCQlpZiAocGFyYW1zLT5jdHgpCisJCQlpOTE1X2dlbV9jb250ZXh0X3VucmVmZXJlbmNl KHBhcmFtcy0+Y3R4KTsKKwl9CisKIAkvKgogCSAqIElmIHRoZSByZXF1ZXN0IHdhcyBjcmVhdGVk IGJ1dCBub3Qgc3VjY2Vzc2Z1bGx5IHN1Ym1pdHRlZCB0aGVuIGl0CiAJICogbXVzdCBiZSBmcmVl ZCBhZ2Fpbi4gSWYgaXQgd2FzIHN1Ym1pdHRlZCB0aGVuIGl0IGlzIGJlaW5nIHRyYWNrZWQKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc2NoZWR1bGVyLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X3NjaGVkdWxlci5jCmluZGV4IDNjMjgyYzYuLjA2N2VmMzMgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc2NoZWR1bGVyLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zY2hlZHVsZXIuYwpAQCAtMTU4LDcgKzE1OCwyMyBAQCBp bnQgaTkxNV9zY2hlZHVsZXJfcXVldWVfZXhlY2J1ZmZlcihzdHJ1Y3QgaTkxNV9zY2hlZHVsZXJf cXVldWVfZW50cnkgKnFlKQogCQlpZiAocmV0KQogCQkJcmV0dXJuIHJldDsKIAotCQkvKiBGcmVl IGV2ZXJ5dGhpbmcgdGhhdCBpcyBvd25lZCBieSB0aGUgUUUgc3RydWN0dXJlOiAqLworCQkvKiBO ZWVkIHRvIHJlbGVhc2UgdGhlIG9iamVjdHM6ICovCisJCWZvciAoaSA9IDA7IGkgPCBxZS0+bnVt X29ianM7IGkrKykgeworCQkJaWYgKCFxZS0+c2F2ZWRfb2JqZWN0c1tpXS5vYmopCisJCQkJY29u dGludWU7CisKKwkJCWRybV9nZW1fb2JqZWN0X3VucmVmZXJlbmNlKCZxZS0+c2F2ZWRfb2JqZWN0 c1tpXS5vYmotPmJhc2UpOworCQl9CisKKwkJa2ZyZWUocWUtPnNhdmVkX29iamVjdHMpOworCQlx ZS0+c2F2ZWRfb2JqZWN0cyA9IE5VTEw7CisJCXFlLT5udW1fb2JqcyA9IDA7CisKKwkJLyogRnJl ZSB0aGUgY29udGV4dCBvYmplY3QgdG9vOiAqLworCQlpZiAocWUtPnBhcmFtcy5jdHgpCisJCQlp OTE1X2dlbV9jb250ZXh0X3VucmVmZXJlbmNlKHFlLT5wYXJhbXMuY3R4KTsKKworCQkvKiBBbmQg YW55dGhpbmcgZWxzZSBvd25lZCBieSB0aGUgUUUgc3RydWN0dXJlOiAqLwogCQlrZnJlZShxZS0+ cGFyYW1zLmNsaXByZWN0cyk7CiAJCWlmIChxZS0+cGFyYW1zLmRpc3BhdGNoX2ZsYWdzICYgSTkx NV9ESVNQQVRDSF9TRUNVUkUpCiAJCQlpOTE1X2dlbV9leGVjYnVmZl9yZWxlYXNlX2JhdGNoX29i aihxZS0+cGFyYW1zLmJhdGNoX29iaik7CkBAIC00MDcsNyArNDIzLDcgQEAgc3RhdGljIGludCBp OTE1X3NjaGVkdWxlcl9yZW1vdmUoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZykKIAlpbnQg ICAgICAgICAgICAgICAgIGZseWluZyA9IDAsIHF1ZXVlZCA9IDA7CiAJaW50ICAgICAgICAgICAg ICAgICByZXQgPSAwOwogCWJvb2wgICAgICAgICAgICAgICAgZG9fc3VibWl0OwotCXVpbnQzMl90 ICAgICAgICAgICAgbWluX3NlcW5vOworCXVpbnQzMl90ICAgICAgICAgICAgaSwgbWluX3NlcW5v OwogCXN0cnVjdCBsaXN0X2hlYWQgICAgcmVtb3ZlOwogCiAJaWYgKGxpc3RfZW1wdHkoJnNjaGVk dWxlci0+bm9kZV9xdWV1ZVtyaW5nLT5pZF0pKQpAQCAtNTEyLDcgKzUyOCwxOCBAQCBzdGF0aWMg aW50IGk5MTVfc2NoZWR1bGVyX3JlbW92ZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKQog CQlpZiAobm9kZS0+cGFyYW1zLmRpc3BhdGNoX2ZsYWdzICYgSTkxNV9ESVNQQVRDSF9TRUNVUkUp CiAJCQlpOTE1X2dlbV9leGVjYnVmZl9yZWxlYXNlX2JhdGNoX29iaihub2RlLT5wYXJhbXMuYmF0 Y2hfb2JqKTsKIAotCQkvKiBGcmVlIGV2ZXJ5dGhpbmcgdGhhdCBpcyBvd25lZCBieSB0aGUgbm9k ZTogKi8KKwkJLyogUmVsZWFzZSB0aGUgbG9ja2VkIGJ1ZmZlcnM6ICovCisJCWZvciAoaSA9IDA7 IGkgPCBub2RlLT5udW1fb2JqczsgaSsrKSB7CisJCQlkcm1fZ2VtX29iamVjdF91bnJlZmVyZW5j ZSgKKwkJCQkJICAgICZub2RlLT5zYXZlZF9vYmplY3RzW2ldLm9iai0+YmFzZSk7CisJCX0KKwkJ a2ZyZWUobm9kZS0+c2F2ZWRfb2JqZWN0cyk7CisKKwkJLyogQ29udGV4dCB0b286ICovCisJCWlm IChub2RlLT5wYXJhbXMuY3R4KQorCQkJaTkxNV9nZW1fY29udGV4dF91bnJlZmVyZW5jZShub2Rl LT5wYXJhbXMuY3R4KTsKKworCQkvKiBBbmQgYW55dGhpbmcgZWxzZSBvd25lZCBieSB0aGUgbm9k ZTogKi8KIAkJbm9kZS0+cGFyYW1zLnJlcXVlc3QtPnNjaGVkdWxlcl9xZSA9IE5VTEw7CiAJCWk5 MTVfZ2VtX3JlcXVlc3RfdW5yZWZlcmVuY2Uobm9kZS0+cGFyYW1zLnJlcXVlc3QpOwogCQlrZnJl ZShub2RlLT5wYXJhbXMuY2xpcHJlY3RzKTsKLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVs LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=