From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [PATCH 17/40] drm/i915: Added tracking/locking of batch buffer objects Date: Fri, 11 Dec 2015 13:19:46 +0000 Message-ID: <1449839986-22460-1-git-send-email-John.C.Harrison@Intel.com> References: <1448278774-31376-17-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 mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id BDFF36EFD2 for ; Fri, 11 Dec 2015 05:19:48 -0800 (PST) In-Reply-To: <1448278774-31376-17-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 dG8gc3VwcG9ydCByZWFkLXJlYWQgb3B0aW1pc2F0aW9uLgoKQ2hhbmdlLUlkOiBJMzFlMzY3N2Vj ZmMyYzliNWE5MDhiZGE2YWNjNDg1MDQzMmQ1NWYxZQpGb3I6IFZJWi0xNTg3ClNpZ25lZC1vZmYt Ynk6IEpvaG4gSGFycmlzb24gPEpvaG4uQy5IYXJyaXNvbkBJbnRlbC5jb20+Ci0tLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jIHwgNTIgKysrKysrKysrKysrKysr KysrKysrKysrKysrKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3NjaGVkdWxlci5jICAg ICAgfCAzMyArKysrKysrKysrKysrKysrKy0tCiAyIGZpbGVzIGNoYW5nZWQsIDgwIGluc2VydGlv bnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fZXhlY2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhl Y2J1ZmZlci5jCmluZGV4IDJjN2EzOTUuLjA5MDg2OTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKQEAgLTE0MTgsNyArMTQxOCw3IEBAIGk5MTVfZ2VtX2Rv X2V4ZWNidWZmZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAlzdHJ1Y3Qg aTkxNV9leGVjYnVmZmVyX3BhcmFtcyAqcGFyYW1zID0gJnFlLnBhcmFtczsKIAljb25zdCB1MzIg Y3R4X2lkID0gaTkxNV9leGVjYnVmZmVyMl9nZXRfY29udGV4dF9pZCgqYXJncyk7CiAJdTMyIGRp c3BhdGNoX2ZsYWdzOwotCWludCByZXQ7CisJaW50IHJldCwgaTsKIAlib29sIG5lZWRfcmVsb2Nz OwogCWludCBmZF9mZW5jZV9jb21wbGV0ZSA9IC0xOwogCWludCBmZF9mZW5jZV93YWl0ID0gbG93 ZXJfMzJfYml0cyhhcmdzLT5yc3ZkMik7CkBAIC0xNTUzLDYgKzE1NTMsMTQgQEAgaTkxNV9nZW1f ZG9fZXhlY2J1ZmZlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCQlnb3Rv IHByZV9tdXRleF9lcnI7CiAJfQogCisJcWUuc2F2ZWRfb2JqZWN0cyA9IGt6YWxsb2MoCisJCQlz aXplb2YoKnFlLnNhdmVkX29iamVjdHMpICogYXJncy0+YnVmZmVyX2NvdW50LAorCQkJR0ZQX0tF Uk5FTCk7CisJaWYgKCFxZS5zYXZlZF9vYmplY3RzKSB7CisJCXJldCA9IC1FTk9NRU07CisJCWdv dG8gZXJyOworCX0KKwogCS8qIExvb2sgdXAgb2JqZWN0IGhhbmRsZXMgKi8KIAlyZXQgPSBlYl9s b29rdXBfdm1hcyhlYiwgZXhlYywgYXJncywgdm0sIGZpbGUpOwogCWlmIChyZXQpCkBAIC0xNjcz LDcgKzE2ODEsMzAgQEAgaTkxNV9nZW1fZG9fZXhlY2J1ZmZlcihzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LCB2b2lkICpkYXRhLAogCXBhcmFtcy0+YXJnc19EUjEgICAgICAgICAgICAgICAgPSBhcmdz LT5EUjE7CiAJcGFyYW1zLT5hcmdzX0RSNCAgICAgICAgICAgICAgICA9IGFyZ3MtPkRSNDsKIAlw YXJhbXMtPmJhdGNoX29iaiAgICAgICAgICAgICAgID0gYmF0Y2hfb2JqOwotCXBhcmFtcy0+Y3R4 ICAgICAgICAgICAgICAgICAgICAgPSBjdHg7CisKKwkvKgorCSAqIFNhdmUgYXdheSB0aGUgbGlz dCBvZiBvYmplY3RzIHVzZWQgYnkgdGhpcyBiYXRjaCBidWZmZXIgZm9yIHRoZQorCSAqIHB1cnBv c2Ugb2YgdHJhY2tpbmcgaW50ZXItYnVmZmVyIGRlcGVuZGVuY2llcy4KKwkgKi8KKwlmb3IgKGkg PSAwOyBpIDwgYXJncy0+YnVmZmVyX2NvdW50OyBpKyspIHsKKwkJc3RydWN0IGRybV9pOTE1X2dl bV9vYmplY3QgKm9iajsKKworCQkvKgorCQkgKiBOQjogJ2RybV9nZW1fb2JqZWN0X2xvb2t1cCgp JyBpbmNyZW1lbnRzIHRoZSBvYmplY3QncworCQkgKiByZWZlcmVuY2UgY291bnQgYW5kIHNvIG11 c3QgYmUgbWF0Y2hlZCBieSBhCisJCSAqICdkcm1fZ2VtX29iamVjdF91bnJlZmVyZW5jZScgY2Fs bC4KKwkJICovCisJCW9iaiA9IHRvX2ludGVsX2JvKGRybV9nZW1fb2JqZWN0X2xvb2t1cChkZXYs IGZpbGUsCisJCQkJCQkJICBleGVjW2ldLmhhbmRsZSkpOworCQlxZS5zYXZlZF9vYmplY3RzW2ld Lm9iaiAgICAgICA9IG9iajsKKwkJcWUuc2F2ZWRfb2JqZWN0c1tpXS5yZWFkX29ubHkgPSBvYmot PmJhc2UucGVuZGluZ193cml0ZV9kb21haW4gPT0gMDsKKworCX0KKwlxZS5udW1fb2JqcyA9IGk7 CisKKwkvKiBMb2NrIGFuZCBzYXZlIHRoZSBjb250ZXh0IG9iamVjdCBhcyB3ZWxsLiAqLworCWk5 MTVfZ2VtX2NvbnRleHRfcmVmZXJlbmNlKGN0eCk7CisJcGFyYW1zLT5jdHggPSBjdHg7CiAKIAlp ZiAoYXJncy0+ZmxhZ3MgJiBJOTE1X0VYRUNfQ1JFQVRFX0ZFTkNFKSB7CiAJCS8qCkBAIC0xNzM4 LDYgKzE3NjksMjMgQEAgZXJyOgogCWk5MTVfZ2VtX2NvbnRleHRfdW5yZWZlcmVuY2UoY3R4KTsK IAllYl9kZXN0cm95KGViKTsKIAorCWlmIChxZS5zYXZlZF9vYmplY3RzKSB7CisJCS8qIE5lZWQg dG8gcmVsZWFzZSB0aGUgb2JqZWN0czogKi8KKwkJZm9yIChpID0gMDsgaSA8IHFlLm51bV9vYmpz OyBpKyspIHsKKwkJCWlmICghcWUuc2F2ZWRfb2JqZWN0c1tpXS5vYmopCisJCQkJY29udGludWU7 CisKKwkJCWRybV9nZW1fb2JqZWN0X3VucmVmZXJlbmNlKAorCQkJCQkmcWUuc2F2ZWRfb2JqZWN0 c1tpXS5vYmotPmJhc2UpOworCQl9CisKKwkJa2ZyZWUocWUuc2F2ZWRfb2JqZWN0cyk7CisKKwkJ LyogQ29udGV4dCB0b28gKi8KKwkJaWYgKHBhcmFtcy0+Y3R4KQorCQkJaTkxNV9nZW1fY29udGV4 dF91bnJlZmVyZW5jZShwYXJhbXMtPmN0eCk7CisJfQorCiAJLyoKIAkgKiBJZiB0aGUgcmVxdWVz dCB3YXMgY3JlYXRlZCBidXQgbm90IHN1Y2Nlc3NmdWxseSBzdWJtaXR0ZWQgdGhlbiBpdAogCSAq IG11c3QgYmUgZnJlZWQgYWdhaW4uIElmIGl0IHdhcyBzdWJtaXR0ZWQgdGhlbiBpdCBpcyBiZWlu ZyB0cmFja2VkCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3NjaGVkdWxl ci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zY2hlZHVsZXIuYwppbmRleCA5ZDE0NzVm Li4zMDBjZDg5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3NjaGVkdWxl ci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc2NoZWR1bGVyLmMKQEAgLTE1OCw3 ICsxNTgsMjMgQEAgaW50IGk5MTVfc2NoZWR1bGVyX3F1ZXVlX2V4ZWNidWZmZXIoc3RydWN0IGk5 MTVfc2NoZWR1bGVyX3F1ZXVlX2VudHJ5ICpxZSkKIAkJaWYgKHJldCkKIAkJCXJldHVybiByZXQ7 CiAKLQkJLyogRnJlZSBldmVyeXRoaW5nIHRoYXQgaXMgb3duZWQgYnkgdGhlIFFFIHN0cnVjdHVy ZTogKi8KKwkJLyogTmVlZCB0byByZWxlYXNlIHRoZSBvYmplY3RzOiAqLworCQlmb3IgKGkgPSAw OyBpIDwgcWUtPm51bV9vYmpzOyBpKyspIHsKKwkJCWlmICghcWUtPnNhdmVkX29iamVjdHNbaV0u b2JqKQorCQkJCWNvbnRpbnVlOworCisJCQlkcm1fZ2VtX29iamVjdF91bnJlZmVyZW5jZSgmcWUt PnNhdmVkX29iamVjdHNbaV0ub2JqLT5iYXNlKTsKKwkJfQorCisJCWtmcmVlKHFlLT5zYXZlZF9v YmplY3RzKTsKKwkJcWUtPnNhdmVkX29iamVjdHMgPSBOVUxMOworCQlxZS0+bnVtX29ianMgPSAw OworCisJCS8qIEZyZWUgdGhlIGNvbnRleHQgb2JqZWN0IHRvbzogKi8KKwkJaWYgKHFlLT5wYXJh bXMuY3R4KQorCQkJaTkxNV9nZW1fY29udGV4dF91bnJlZmVyZW5jZShxZS0+cGFyYW1zLmN0eCk7 CisKKwkJLyogQW5kIGFueXRoaW5nIGVsc2Ugb3duZWQgYnkgdGhlIFFFIHN0cnVjdHVyZTogKi8K IAkJa2ZyZWUocWUtPnBhcmFtcy5jbGlwcmVjdHMpOwogCQlpZiAocWUtPnBhcmFtcy5kaXNwYXRj aF9mbGFncyAmIEk5MTVfRElTUEFUQ0hfU0VDVVJFKQogCQkJaTkxNV9nZW1fZXhlY2J1ZmZfcmVs ZWFzZV9iYXRjaF9vYmoocWUtPnBhcmFtcy5iYXRjaF9vYmopOwpAQCAtMzk5LDcgKzQxNSw3IEBA IHN0YXRpYyBpbnQgaTkxNV9zY2hlZHVsZXJfcmVtb3ZlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mg KnJpbmcpCiAJaW50ICAgICAgICAgICAgICAgICBmbHlpbmcgPSAwLCBxdWV1ZWQgPSAwOwogCWlu dCAgICAgICAgICAgICAgICAgcmV0ID0gMDsKIAlib29sICAgICAgICAgICAgICAgIGRvX3N1Ym1p dDsKLQl1aW50MzJfdCAgICAgICAgICAgIG1pbl9zZXFubzsKKwl1aW50MzJfdCAgICAgICAgICAg IGksIG1pbl9zZXFubzsKIAlzdHJ1Y3QgbGlzdF9oZWFkICAgIHJlbW92ZTsKIAogCWlmIChsaXN0 X2VtcHR5KCZzY2hlZHVsZXItPm5vZGVfcXVldWVbcmluZy0+aWRdKSkKQEAgLTUwMyw3ICs1MTks MTggQEAgc3RhdGljIGludCBpOTE1X3NjaGVkdWxlcl9yZW1vdmUoc3RydWN0IGludGVsX2VuZ2lu ZV9jcyAqcmluZykKIAkJaWYgKG5vZGUtPnBhcmFtcy5kaXNwYXRjaF9mbGFncyAmIEk5MTVfRElT UEFUQ0hfU0VDVVJFKQogCQkJaTkxNV9nZW1fZXhlY2J1ZmZfcmVsZWFzZV9iYXRjaF9vYmoobm9k ZS0+cGFyYW1zLmJhdGNoX29iaik7CiAKLQkJLyogRnJlZSBldmVyeXRoaW5nIHRoYXQgaXMgb3du ZWQgYnkgdGhlIG5vZGU6ICovCisJCS8qIFJlbGVhc2UgdGhlIGxvY2tlZCBidWZmZXJzOiAqLwor CQlmb3IgKGkgPSAwOyBpIDwgbm9kZS0+bnVtX29ianM7IGkrKykgeworCQkJZHJtX2dlbV9vYmpl Y3RfdW5yZWZlcmVuY2UoCisJCQkJCSAgICAmbm9kZS0+c2F2ZWRfb2JqZWN0c1tpXS5vYmotPmJh c2UpOworCQl9CisJCWtmcmVlKG5vZGUtPnNhdmVkX29iamVjdHMpOworCisJCS8qIENvbnRleHQg dG9vOiAqLworCQlpZiAobm9kZS0+cGFyYW1zLmN0eCkKKwkJCWk5MTVfZ2VtX2NvbnRleHRfdW5y ZWZlcmVuY2Uobm9kZS0+cGFyYW1zLmN0eCk7CisKKwkJLyogQW5kIGFueXRoaW5nIGVsc2Ugb3du ZWQgYnkgdGhlIG5vZGU6ICovCiAJCW5vZGUtPnBhcmFtcy5yZXF1ZXN0LT5zY2hlZHVsZXJfcWUg PSBOVUxMOwogCQlpOTE1X2dlbV9yZXF1ZXN0X3VucmVmZXJlbmNlKG5vZGUtPnBhcmFtcy5yZXF1 ZXN0KTsKIAkJa2ZyZWUobm9kZS0+cGFyYW1zLmNsaXByZWN0cyk7Ci0tIAoxLjkuMQoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK