From mboxrd@z Thu Jan 1 00:00:00 1970 From: michael.h.nguyen@intel.com Subject: [PATCH v7 3/5] drm/i915: Use batch length instead of object size in command parser Date: Thu, 11 Dec 2014 12:13:10 -0800 Message-ID: <1418328792-28072-4-git-send-email-michael.h.nguyen@intel.com> References: <1418328792-28072-1-git-send-email-michael.h.nguyen@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 836AB6E29E for ; Thu, 11 Dec 2014 12:15:59 -0800 (PST) In-Reply-To: <1418328792-28072-1-git-send-email-michael.h.nguyen@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 Cc: Brad Volkin List-Id: intel-gfx@lists.freedesktop.org RnJvbTogQnJhZCBWb2xraW4gPGJyYWRsZXkuZC52b2xraW5AaW50ZWwuY29tPgoKUHJldmlvdXNs eSB3ZSBjb3VsZG4ndCB0cnVzdCB0aGUgdXNlci1zdXBwbGllZCBiYXRjaCBsZW5ndGggYmVjYXVz ZQppdCBjYW1lIGRpcmVjdGx5IGZyb20gdXNlcnNwYWNlIChpLmUuIHVudHJ1c3RlZCBjb2RlKS4g SXQgd291bGQgaGF2ZQphZmZlY3RlZCB3aGF0IGNvbW1hbmRzIHNvZnR3YXJlIHBhcnNlZCB3aXRo b3V0IHJlZ2FyZCB0byB3aGF0IGhhcmR3YXJlCndvdWxkIGFjdHVhbGx5IGV4ZWN1dGUsIGxlYXZp bmcgYSBwb3RlbnRpYWwgaG9sZS4KCldpdGggdGhlIHBhcnNlciBub3cgY29weWluZyB0aGUgdXNl ciBzdXBwbGllZCBiYXRjaCBidWZmZXIgYW5kIHdyaXRpbmcKTUlfTk9QIGNvbW1hbmRzIHRvIGFu eSBzcGFjZSBhZnRlciB0aGUgY29waWVkIHJlZ2lvbiwgd2UgY2FuIHNhZmVseSB1c2UKdGhlIGJh dGNoIGxlbmd0aCBpbnB1dC4gVGhpcyBzaG91bGQgYmUgYSBwZXJmb3JtYW5jZSB3aW4gYXMgdGhl IGFjdHVhbApiYXRjaCBsZW5ndGggaXMgZnJlcXVlbnRseSBtdWNoIHNtYWxsZXIgdGhhbiB0aGUg YWxsb2NhdGVkIG9iamVjdCBzaXplLgoKdjI6IEZpeCBoYW5kbGluZyBvZiBub24temVybyBiYXRj aF9zdGFydF9vZmZzZXQKCklzc3VlOiBWSVotNDcxOQpTaWduZWQtb2ZmLWJ5OiBCcmFkIFZvbGtp biA8YnJhZGxleS5kLnZvbGtpbkBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9jbWRfcGFyc2VyLmMgICAgIHwgNDggKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgICAgfCAgMSArCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMgfCAgMSArCiAzIGZpbGVzIGNo YW5nZWQsIDM0IGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfY21kX3BhcnNlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9jbWRfcGFyc2VyLmMKaW5kZXggMmE0Y2NhYy4uYTY5OGI0NyAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9jbWRfcGFyc2VyLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9jbWRfcGFyc2VyLmMKQEAgLTg1MCwxMSArODUwLDE5IEBAIGZpbmlzaDoK IAogLyogUmV0dXJucyBhIHZtYXAnZCBwb2ludGVyIHRvIGRlc3Rfb2JqLCB3aGljaCB0aGUgY2Fs bGVyIG11c3QgdW5tYXAgKi8KIHN0YXRpYyB1MzIgKmNvcHlfYmF0Y2goc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3QgKmRlc3Rfb2JqLAotCQkgICAgICAgc3RydWN0IGRybV9pOTE1X2dlbV9vYmpl Y3QgKnNyY19vYmopCisJCSAgICAgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqc3JjX29i aiwKKwkJICAgICAgIHUzMiBiYXRjaF9zdGFydF9vZmZzZXQsCisJCSAgICAgICB1MzIgYmF0Y2hf bGVuKQogewogCWludCByZXQgPSAwOwogCWludCBuZWVkc19jbGZsdXNoID0gMDsKLQl1MzIgKnNy Y19hZGRyLCAqZGVzdF9hZGRyID0gTlVMTDsKKwl1MzIgKnNyY19iYXNlLCAqZGVzdF9iYXNlID0g TlVMTDsKKwl1MzIgKnNyY19hZGRyLCAqZGVzdF9hZGRyOworCXUzMiBvZmZzZXQgPSBiYXRjaF9z dGFydF9vZmZzZXQgLyBzaXplb2YoKmRlc3RfYWRkcik7CisJdTMyIGVuZCA9IGJhdGNoX3N0YXJ0 X29mZnNldCArIGJhdGNoX2xlbjsKKworCWlmIChlbmQgPiBkZXN0X29iai0+YmFzZS5zaXplIHx8 IGVuZCA+IHNyY19vYmotPmJhc2Uuc2l6ZSkKKwkJcmV0dXJuIEVSUl9QVFIoLUUyQklHKTsKIAog CXJldCA9IGk5MTVfZ2VtX29ial9wcmVwYXJlX3NobWVtX3JlYWQoc3JjX29iaiwgJm5lZWRzX2Ns Zmx1c2gpOwogCWlmIChyZXQpIHsKQEAgLTg2MiwxNSArODcwLDE3IEBAIHN0YXRpYyB1MzIgKmNv cHlfYmF0Y2goc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmRlc3Rfb2JqLAogCQlyZXR1cm4g RVJSX1BUUihyZXQpOwogCX0KIAotCXNyY19hZGRyID0gdm1hcF9iYXRjaChzcmNfb2JqKTsKLQlp ZiAoIXNyY19hZGRyKSB7CisJc3JjX2Jhc2UgPSB2bWFwX2JhdGNoKHNyY19vYmopOworCWlmICgh c3JjX2Jhc2UpIHsKIAkJRFJNX0RFQlVHX0RSSVZFUigiQ01EOiBGYWlsZWQgdG8gdm1hcCBiYXRj aFxuIik7CiAJCXJldCA9IC1FTk9NRU07CiAJCWdvdG8gdW5waW5fc3JjOwogCX0KIAorCXNyY19h ZGRyID0gc3JjX2Jhc2UgKyBvZmZzZXQ7CisKIAlpZiAobmVlZHNfY2xmbHVzaCkKLQkJZHJtX2Ns Zmx1c2hfdmlydF9yYW5nZSgoY2hhciAqKXNyY19hZGRyLCBzcmNfb2JqLT5iYXNlLnNpemUpOwor CQlkcm1fY2xmbHVzaF92aXJ0X3JhbmdlKChjaGFyICopc3JjX2FkZHIsIGJhdGNoX2xlbik7CiAK IAlyZXQgPSBpOTE1X2dlbV9vYmplY3Rfc2V0X3RvX2NwdV9kb21haW4oZGVzdF9vYmosIHRydWUp OwogCWlmIChyZXQpIHsKQEAgLTg3OCwyNCArODg4LDI3IEBAIHN0YXRpYyB1MzIgKmNvcHlfYmF0 Y2goc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmRlc3Rfb2JqLAogCQlnb3RvIHVubWFwX3Ny YzsKIAl9CiAKLQlkZXN0X2FkZHIgPSB2bWFwX2JhdGNoKGRlc3Rfb2JqKTsKLQlpZiAoIWRlc3Rf YWRkcikgeworCWRlc3RfYmFzZSA9IHZtYXBfYmF0Y2goZGVzdF9vYmopOworCWlmICghZGVzdF9i YXNlKSB7CiAJCURSTV9ERUJVR19EUklWRVIoIkNNRDogRmFpbGVkIHRvIHZtYXAgc2hhZG93IGJh dGNoXG4iKTsKIAkJcmV0ID0gLUVOT01FTTsKIAkJZ290byB1bm1hcF9zcmM7CiAJfQogCi0JbWVt Y3B5KGRlc3RfYWRkciwgc3JjX2FkZHIsIHNyY19vYmotPmJhc2Uuc2l6ZSk7Ci0JaWYgKGRlc3Rf b2JqLT5iYXNlLnNpemUgPiBzcmNfb2JqLT5iYXNlLnNpemUpCi0JCW1lbXNldCgodTggKilkZXN0 X2FkZHIgKyBzcmNfb2JqLT5iYXNlLnNpemUsIDAsCi0JCSAgICAgICBkZXN0X29iai0+YmFzZS5z aXplIC0gc3JjX29iai0+YmFzZS5zaXplKTsKKwlkZXN0X2FkZHIgPSBkZXN0X2Jhc2UgKyBvZmZz ZXQ7CisKKwlpZiAoYmF0Y2hfc3RhcnRfb2Zmc2V0ICE9IDApCisJCW1lbXNldCgodTggKilkZXN0 X2Jhc2UsIDAsIGJhdGNoX3N0YXJ0X29mZnNldCk7CisKKwltZW1jcHkoZGVzdF9hZGRyLCBzcmNf YWRkciwgYmF0Y2hfbGVuKTsKKwltZW1zZXQoKHU4ICopZGVzdF9hZGRyICsgYmF0Y2hfbGVuLCAw LCBkZXN0X29iai0+YmFzZS5zaXplIC0gZW5kKTsKIAogdW5tYXBfc3JjOgotCXZ1bm1hcChzcmNf YWRkcik7CisJdnVubWFwKHNyY19iYXNlKTsKIHVucGluX3NyYzoKIAlpOTE1X2dlbV9vYmplY3Rf dW5waW5fcGFnZXMoc3JjX29iaik7CiAKLQlyZXR1cm4gcmV0ID8gRVJSX1BUUihyZXQpIDogZGVz dF9hZGRyOworCXJldHVybiByZXQgPyBFUlJfUFRSKHJldCkgOiBkZXN0X2Jhc2U7CiB9CiAKIC8q KgpAQCAtMTAxNiw2ICsxMDI5LDcgQEAgc3RhdGljIGJvb2wgY2hlY2tfY21kKGNvbnN0IHN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCiAgKiBAYmF0Y2hfb2JqOiB0aGUgYmF0Y2ggYnVmZmVy IGluIHF1ZXN0aW9uCiAgKiBAc2hhZG93X2JhdGNoX29iajogY29weSBvZiB0aGUgYmF0Y2ggYnVm ZmVyIGluIHF1ZXN0aW9uCiAgKiBAYmF0Y2hfc3RhcnRfb2Zmc2V0OiBieXRlIG9mZnNldCBpbiB0 aGUgYmF0Y2ggYXQgd2hpY2ggZXhlY3V0aW9uIHN0YXJ0cworICogQGJhdGNoX2xlbjogbGVuZ3Ro IG9mIHRoZSBjb21tYW5kcyBpbiBiYXRjaF9vYmoKICAqIEBpc19tYXN0ZXI6IGlzIHRoZSBzdWJt aXR0aW5nIHByb2Nlc3MgdGhlIGRybSBtYXN0ZXI/CiAgKgogICogUGFyc2VzIHRoZSBzcGVjaWZp ZWQgYmF0Y2ggYnVmZmVyIGxvb2tpbmcgZm9yIHByaXZpbGVnZSB2aW9sYXRpb25zIGFzCkBAIC0x MDI4LDYgKzEwNDIsNyBAQCBpbnQgaTkxNV9wYXJzZV9jbWRzKHN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgKnJpbmcsCiAJCSAgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqYmF0Y2hfb2JqLAog CQkgICAgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKnNoYWRvd19iYXRjaF9vYmosCiAJCSAg ICB1MzIgYmF0Y2hfc3RhcnRfb2Zmc2V0LAorCQkgICAgdTMyIGJhdGNoX2xlbiwKIAkJICAgIGJv b2wgaXNfbWFzdGVyKQogewogCWludCByZXQgPSAwOwpAQCAtMTAzNSw3ICsxMDUwLDggQEAgaW50 IGk5MTVfcGFyc2VfY21kcyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAogCXN0cnVjdCBk cm1faTkxNV9jbWRfZGVzY3JpcHRvciBkZWZhdWx0X2Rlc2MgPSB7IDAgfTsKIAlib29sIG9hY29u dHJvbF9zZXQgPSBmYWxzZTsgLyogT0FDT05UUk9MIHRyYWNraW5nLiBTZWUgY2hlY2tfY21kKCkg Ki8KIAotCWJhdGNoX2Jhc2UgPSBjb3B5X2JhdGNoKHNoYWRvd19iYXRjaF9vYmosIGJhdGNoX29i aik7CisJYmF0Y2hfYmFzZSA9IGNvcHlfYmF0Y2goc2hhZG93X2JhdGNoX29iaiwgYmF0Y2hfb2Jq LAorCQkJCWJhdGNoX3N0YXJ0X29mZnNldCwgYmF0Y2hfbGVuKTsKIAlpZiAoSVNfRVJSKGJhdGNo X2Jhc2UpKSB7CiAJCURSTV9ERUJVR19EUklWRVIoIkNNRDogRmFpbGVkIHRvIGNvcHkgYmF0Y2hc biIpOwogCQlyZXR1cm4gUFRSX0VSUihiYXRjaF9iYXNlKTsKQEAgLTEwNDQsMTEgKzEwNjAsMTEg QEAgaW50IGk5MTVfcGFyc2VfY21kcyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAogCWNt ZCA9IGJhdGNoX2Jhc2UgKyAoYmF0Y2hfc3RhcnRfb2Zmc2V0IC8gc2l6ZW9mKCpjbWQpKTsKIAog CS8qCi0JICogV2UgdXNlIHRoZSBzb3VyY2Ugb2JqZWN0J3Mgc2l6ZSBiZWNhdXNlIHRoZSBzaGFk b3cgb2JqZWN0IGlzIGFzCisJICogV2UgdXNlIHRoZSBiYXRjaCBsZW5ndGggYXMgc2l6ZSBiZWNh dXNlIHRoZSBzaGFkb3cgb2JqZWN0IGlzIGFzCiAJICogbGFyZ2Ugb3IgbGFyZ2VyIGFuZCBjb3B5 X2JhdGNoKCkgd2lsbCB3cml0ZSBNSV9OT1BzIHRvIHRoZSBleHRyYQogCSAqIHNwYWNlLiBQYXJz aW5nIHNob3VsZCBiZSBmYXN0ZXIgaW4gc29tZSBjYXNlcyB0aGlzIHdheS4KIAkgKi8KLQliYXRj aF9lbmQgPSBjbWQgKyAoYmF0Y2hfb2JqLT5iYXNlLnNpemUgLyBzaXplb2YoKmJhdGNoX2VuZCkp OworCWJhdGNoX2VuZCA9IGNtZCArIChiYXRjaF9sZW4gLyBzaXplb2YoKmJhdGNoX2VuZCkpOwog CiAJd2hpbGUgKGNtZCA8IGJhdGNoX2VuZCkgewogCQljb25zdCBzdHJ1Y3QgZHJtX2k5MTVfY21k X2Rlc2NyaXB0b3IgKmRlc2M7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCA1N2YxNWY5Li4x ODVmNmM2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTI5MTksNiArMjkxOSw3IEBAIGlu dCBpOTE1X3BhcnNlX2NtZHMoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKIAkJICAgIHN0 cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpiYXRjaF9vYmosCiAJCSAgICBzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX29iamVjdCAqc2hhZG93X2JhdGNoX29iaiwKIAkJICAgIHUzMiBiYXRjaF9zdGFydF9v ZmZzZXQsCisJCSAgICB1MzIgYmF0Y2hfbGVuLAogCQkgICAgYm9vbCBpc19tYXN0ZXIpOwogCiAv KiBpOTE1X3N1c3BlbmQuYyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fZXhlY2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1 ZmZlci5jCmluZGV4IGExMDgxODQuLmZjY2ZmZjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9leGVjYnVmZmVyLmMKQEAgLTE0MTgsNiArMTQxOCw3IEBAIGk5MTVfZ2VtX2RvX2V4 ZWNidWZmZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAkJCQkgICAgICBi YXRjaF9vYmosCiAJCQkJICAgICAgc2hhZG93X2JhdGNoX29iaiwKIAkJCQkgICAgICBhcmdzLT5i YXRjaF9zdGFydF9vZmZzZXQsCisJCQkJICAgICAgYXJncy0+YmF0Y2hfbGVuLAogCQkJCSAgICAg IGZpbGUtPmlzX21hc3Rlcik7CiAJCWk5MTVfZ2VtX29iamVjdF9nZ3R0X3VucGluKHNoYWRvd19i YXRjaF9vYmopOwogCi0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZngK