From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Gordon Subject: [PATCH 1/2] drm/i915: Track & check calls to intel(_logical)_ring_{begin, advance} Date: Wed, 10 Dec 2014 15:07:08 +0000 Message-ID: <1418224029-20055-2-git-send-email-david.s.gordon@intel.com> References: <1418224029-20055-1-git-send-email-david.s.gordon@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 E21056E1D0 for ; Wed, 10 Dec 2014 07:07:50 -0800 (PST) In-Reply-To: <1418224029-20055-1-git-send-email-david.s.gordon@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 V2hlbiBhZGRpbmcgaW5zdHJ1Y3Rpb25zIHRvIGEgbGVnYWN5IG9yIExSQyByaW5nYnVmZmVyLCB0 aGUgc2VxdWVuY2Ugb2YKZW1pdCgpIGNhbGxzIG11c3QgYmUgcHJlY2VkZWQgYnkgYSBjYWxsIHRv IGludGVsKF9sb2dpY2FsKV9yaW5nX2JlZ2luKCkKdG8gcmVzZXJ2ZSB0aGUgcmVxdWlyZWQgYW1v dW50IG9mIHNwYWNlLCBhbmQgZm9sbG93ZWQgYnkgYSBtYXRjaGluZyBjYWxsCnRvIGludGVsKF9s b2dpY2FsKV9yaW5nX2FkdmFuY2UoKSAobm90ZSB0aGF0IHRoaXMgdXNlZCB0byB0cmlnZ2VyCmlt bWVkaWF0ZSBzdWJtaXNzaW9uIHRvIHRoZSBoL3csIGJ1dCBub3cgYWN0dWFsIHN1Ym1pc3Npb24g aXMgZGVmZXJyZWQKdW50aWwgYWxsIHRoZSBpbnN0cnVjdGlvbnMgZm9yIGEgc2luZ2xlIGJhdGNo IHN1Ym1pc3Npb24gaGF2ZSBiZWVuCmFzc2VtYmxlZCkuIEhpc3RvcmljYWxseSBzb21lIChkaXNw bGF5KSBjb2RlIGRpZG4ndCB1c2UgYmVnaW4vYWR2YW5jZSwKYnV0IGp1c3QgaW5zZXJ0ZWQgaW5z dHJ1Y3Rpb25zIGFkIGhvYywgd2hpY2ggd291bGQgdGhlbiBiZSBzZW50IHRvIHRoZQpoYXJkd2Fy ZSBhbG9uZyB3aXRoIHRoZSBjdXJyZW50IG9yIG5leHQgYmF0Y2gsIGJ1dCB0aGlzIGlzIG5vdCBz dXBwb3J0ZWQKYW5kIGlzIG5vdyByZWdhcmRlZCBhcyBpbmNvcnJlY3QuCgpUaGlzIGNvbW1pdCB0 aGVyZWZvcmUgYWRkcyBiZWdpbi9hZHZhbmNlIHRyYWNraW5nLCB3aXRoIFdBUk5pbmdzIHdoZXJl CnZhcmlvdXMgZm9ybXMgb2YgbWlzdXNlIGFyZSBkZXRlY3RlZC4gVGhlc2UgaW5jbHVkZToKKiBh ZHZhbmNlIHdpdGhvdXQgYmVnaW4KKiBiZWdpbiB3aXRob3V0IGFkdmFuY2UgYmVmb3JlIHN1Ym1p c3Npb24gdG8gaC93CiogbXVsdGlwbGUgYmVnaW5zIHdpdGhvdXQgYW4gYWR2YW5jZSBiZXR3ZWVu CiogZXhjZWVkaW5nIHRoZSBzcGFjZSByZXNlcnZlZCBieSBiZWdpbgoqIGxlYXZpbmcgdGhlIHJp bmcgbWlzYWxpZ25lZAoqIHJpbmcgYnVmZmVyIG92ZXJydW4gKG5lZ2F0aXZlIGZyZWVzcGFjZSkK ClNpZ25lZC1vZmYtYnk6IERhdmUgR29yZG9uIDxkYXZpZC5zLmdvcmRvbkBpbnRlbC5jb20+Ci0t LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgICAgICAgIHwgICAgNCArKy0KIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5oICAgICAgICB8ICAgMTEgKysrKysrLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jIHwgICAxMCArKysrLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaCB8ICAgNTUgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrLQogNCBmaWxlcyBjaGFuZ2VkLCA3NSBpbnNlcnRpb25zKCspLCA1IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKaW5kZXggYTgyMDIwZS4uNTZlMzYz NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKQEAgLTgyNSw2ICs4MjUsNyBAQCB2b2lkIGlu dGVsX2xvZ2ljYWxfcmluZ19hZHZhbmNlX2FuZF9zdWJtaXQoc3RydWN0IGludGVsX3JpbmdidWZm ZXIgKnJpbmdidWYpCiAJc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCA9IHJpbmdidWYtPkZJWE1F X2xyY19jdHg7CiAKIAlpbnRlbF9sb2dpY2FsX3JpbmdfYWR2YW5jZShyaW5nYnVmKTsKKwlXQVJO X09OKHJpbmdidWYtPnJzdl9sZXZlbCAhPSAwKTsKIAogCWlmIChpbnRlbF9yaW5nX3N0b3BwZWQo cmluZykpCiAJCXJldHVybjsKQEAgLTEwODQsNyArMTA4NSw4IEBAIGludCBpbnRlbF9sb2dpY2Fs X3JpbmdfYmVnaW4oc3RydWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdidWYsIGludCBudW1fZHdv cmRzKQogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKLQlyaW5nYnVmLT5zcGFjZSAtPSBudW1f ZHdvcmRzICogc2l6ZW9mKHVpbnQzMl90KTsKKwlfX2ludGVsX3JpbmdidWZmZXJfYmVnaW4ocmlu Z2J1ZiwgbnVtX2R3b3Jkcyk7CisKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9s cmMuaAppbmRleCAxNGIyMTZiLi45YTA0NTdlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9scmMuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuaApA QCAtNDgsOCArNDgsMTcgQEAgdm9pZCBpbnRlbF9sb2dpY2FsX3JpbmdfYWR2YW5jZV9hbmRfc3Vi bWl0KHN0cnVjdCBpbnRlbF9yaW5nYnVmZmVyICpyaW5nYnVmKTsKICAqLwogc3RhdGljIGlubGlu ZSB2b2lkIGludGVsX2xvZ2ljYWxfcmluZ19hZHZhbmNlKHN0cnVjdCBpbnRlbF9yaW5nYnVmZmVy ICpyaW5nYnVmKQogewotCXJpbmdidWYtPnRhaWwgJj0gcmluZ2J1Zi0+c2l6ZSAtIDE7CisJX19p bnRlbF9yaW5nYnVmZmVyX2NoZWNrKHJpbmdidWYpOworCisJLyoKKwkgKiBUYWlsID09IGVmZmVj aXZlX3NpemUgaXMgbGVnaXRpbWF0ZSAoYnVmZmVyIGV4YWN0bHkgZnVsbCkuCisJICogVGFpbCA+ IGVmZmVjdGl2ZV9zaXplIGlzIG5vdCwgYW5kIHNob3VsZCBnaXZlIGEgd2FybmluZywKKwkgKiBi dXQgd2UnbGwgcmVzZXQgdGFpbCBpbiBib3RoIGNhc2VzIHRvIHByZXZlbnQgZnVydGhlciBjaGFv cworCSAqLworCWlmIChyaW5nYnVmLT50YWlsID49IHJpbmdidWYtPmVmZmVjdGl2ZV9zaXplKQor CQlyaW5nYnVmLT50YWlsIC09IHJpbmdidWYtPmVmZmVjdGl2ZV9zaXplOwogfQorCiAvKioKICAq IGludGVsX2xvZ2ljYWxfcmluZ19lbWl0KCkgLSB3cml0ZSBhIERXT1JEIHRvIHRoZSByaW5nYnVm ZmVyLgogICogQHJpbmdidWY6IFJpbmdidWZmZXIgdG8gd3JpdGUgdG8uCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKaW5kZXggODNhY2NiNy4uNTg3NGVhYiAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYwpAQCAtNTUsNiArNTUsNyBAQCBpbnQgX19p bnRlbF9yaW5nX3NwYWNlKGludCBoZWFkLCBpbnQgdGFpbCwgaW50IHNpemUpCiAJaW50IHNwYWNl ID0gaGVhZCAtIHRhaWw7CiAJaWYgKHNwYWNlIDw9IDApCiAJCXNwYWNlICs9IHNpemU7CisJV0FS Tl9PTihzcGFjZSA8IEk5MTVfUklOR19GUkVFX1NQQUNFKTsKIAlyZXR1cm4gc3BhY2UgLSBJOTE1 X1JJTkdfRlJFRV9TUEFDRTsKIH0KIApAQCAtODQsNyArODUsMTAgQEAgYm9vbCBpbnRlbF9yaW5n X3N0b3BwZWQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZykKIHZvaWQgX19pbnRlbF9yaW5n X2FkdmFuY2Uoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZykKIHsKIAlzdHJ1Y3QgaW50ZWxf cmluZ2J1ZmZlciAqcmluZ2J1ZiA9IHJpbmctPmJ1ZmZlcjsKLQlyaW5nYnVmLT50YWlsICY9IHJp bmdidWYtPnNpemUgLSAxOworCisJaW50ZWxfcmluZ19hZHZhbmNlKHJpbmcpOworCVdBUk5fT04o cmluZ2J1Zi0+cnN2X2xldmVsICE9IDApOworCiAJaWYgKGludGVsX3Jpbmdfc3RvcHBlZChyaW5n KSkKIAkJcmV0dXJuOwogCXJpbmctPndyaXRlX3RhaWwocmluZywgcmluZ2J1Zi0+dGFpbCk7CkBA IC0xOTExLDYgKzE5MTUsNyBAQCBzdGF0aWMgaW50IGludGVsX3Jpbmdfd2FpdF9yZXF1ZXN0KHN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsIGludCBuKQogCQlyZXR1cm4gMDsKIAogCWxpc3Rf Zm9yX2VhY2hfZW50cnkocmVxdWVzdCwgJnJpbmctPnJlcXVlc3RfbGlzdCwgbGlzdCkgeworCQkv KiBXb3VsZCBjb21wbGV0aW9uIG9mIHRoaXMgcmVxdWVzdCBmcmVlIGVub3VnaCBzcGFjZT8gKi8K IAkJaWYgKF9faW50ZWxfcmluZ19zcGFjZShyZXF1ZXN0LT50YWlsLCByaW5nYnVmLT50YWlsLAog CQkJCSAgICAgICByaW5nYnVmLT5zaXplKSA+PSBuKSB7CiAJCQlicmVhazsKQEAgLTIwOTYsNyAr MjEwMSw4IEBAIGludCBpbnRlbF9yaW5nX2JlZ2luKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJp bmcsCiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIAotCXJpbmctPmJ1ZmZlci0+c3BhY2UgLT0g bnVtX2R3b3JkcyAqIHNpemVvZih1aW50MzJfdCk7CisJX19pbnRlbF9yaW5nYnVmZmVyX2JlZ2lu KHJpbmctPmJ1ZmZlciwgbnVtX2R3b3Jkcyk7CisKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCmluZGV4IDZkYmI2ZjQuLmExMGQyNzEgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAorKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKQEAgLTExMiw2ICsxMTIsMTEgQEAg c3RydWN0IGludGVsX3JpbmdidWZmZXIgewogCWludCBzaXplOwogCWludCBlZmZlY3RpdmVfc2l6 ZTsKIAorCS8qIHRoZXNlIGxldCBhZHZhbmNlKCkgY2hlY2sgZm9yIG1pc3VzZSAqLworCWludCBy c3ZfbGV2ZWw7CS8qIHJlc2VydmF0aW9uIG5lc3RpbmcgbGV2ZWwgKi8KKwlpbnQgcnN2X3NpemU7 CS8qIHNpemUgcGFzc2VkIHRvIGJlZ2luKCkgKi8KKwlpbnQgcnN2X3N0YXJ0OwkvKiB0YWlsIHdo ZW4gYmVnaW4oKSBsYXN0IHJldHVybmVkICovCisKIAkvKiogV2UgdHJhY2sgdGhlIHBvc2l0aW9u IG9mIHRoZSByZXF1ZXN0cyBpbiB0aGUgcmluZyBidWZmZXIsIGFuZAogCSAqIHdoZW4gZWFjaCBp cyByZXRpcmVkIHdlIGluY3JlbWVudCBsYXN0X3JldGlyZWRfaGVhZCBhcyB0aGUgR1BVCiAJICog bXVzdCBoYXZlIGZpbmlzaGVkIHByb2Nlc3NpbmcgdGhlIHJlcXVlc3QgYW5kIHNvIHdlIGtub3cg d2UKQEAgLTQwMSwxMSArNDA2LDU5IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBpbnRlbF9yaW5nX2Vt aXQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKIAlpb3dyaXRlMzIoZGF0YSwgcmluZ2J1 Zi0+dmlydHVhbF9zdGFydCArIHJpbmdidWYtPnRhaWwpOwogCXJpbmdidWYtPnRhaWwgKz0gNDsK IH0KKworc3RhdGljIGlubGluZSB2b2lkIF9faW50ZWxfcmluZ2J1ZmZlcl9iZWdpbihzdHJ1Y3Qg aW50ZWxfcmluZ2J1ZmZlciAqcmluZ2J1ZiwKKwkJCQkJICAgIGludCBudW1fZHdvcmRzKQorewor CWludCBuYnl0ZXMgPSBudW1fZHdvcmRzICogc2l6ZW9mKHVpbnQzMl90KTsKKyNpZgkxCS8qIERF QlVHIENPREUgKi8KKwlXQVJOX09OKG51bV9kd29yZHMgJiAxKTsKKwlXQVJOX09OKG5ieXRlcyA8 PSAwKTsKKworCWlmIChyaW5nYnVmLT5yc3ZfbGV2ZWwrKykgeworCQkvKiBiZWdpbigpIGNhbGxl ZCB0d2ljZSBvciBtb3JlIHdpdGhvdXQgYWR2YW5jZSgpICovCisJCVdBUk5fT04oMSk7CisJfSBl bHNlIHsKKwkJLyoKKwkJICogQSBuZXcgcmVzZXJ2YXRpb247IHZhbGlkYXRlIGFuZCByZWNvcmQg dGhlIHN0YXJ0IGFuZAorCQkgKiBzaXplLCB0aGVuIGRlZHVjdCB0aGUgc2l6ZSBmcm9tIHRoZSBy ZW1haW5pbmcgc3BhY2UKKwkJICovCisJCVdBUk5fT04ocmluZ2J1Zi0+dGFpbCAmIDcpOworCQlX QVJOX09OKHJpbmdidWYtPnRhaWwgPiByaW5nYnVmLT5lZmZlY3RpdmVfc2l6ZS04KTsKKwkJV0FS Tl9PTihyaW5nYnVmLT50YWlsICsgbmJ5dGVzID4gcmluZ2J1Zi0+ZWZmZWN0aXZlX3NpemUpOwor CQlXQVJOX09OKHJpbmdidWYtPnNwYWNlIDwgbmJ5dGVzKTsKKwl9CisjZW5kaWYKKwlyaW5nYnVm LT5yc3Zfc3RhcnQgPSByaW5nYnVmLT50YWlsOworCXJpbmdidWYtPnJzdl9zaXplID0gbmJ5dGVz OworCXJpbmdidWYtPnNwYWNlIC09IG5ieXRlczsKK30KKworc3RhdGljIGlubGluZSB2b2lkIF9f aW50ZWxfcmluZ2J1ZmZlcl9jaGVjayhzdHJ1Y3QgaW50ZWxfcmluZ2J1ZmZlciAqcmluZ2J1ZikK K3sKKyNpZgkxCisJV0FSTl9PTihyaW5nYnVmLT5yc3ZfbGV2ZWwtLSAhPSAxKTsKKwlXQVJOX09O KHJpbmdidWYtPnJzdl9zdGFydCA8IDAgfHwgcmluZ2J1Zi0+cnN2X3NpemUgPCAwKTsKKwlXQVJO X09OKHJpbmdidWYtPnRhaWwgJiA3KTsKKwlXQVJOX09OKHJpbmdidWYtPnRhaWwgPiByaW5nYnVm LT5yc3Zfc3RhcnQgKyByaW5nYnVmLT5yc3Zfc2l6ZSk7CisJV0FSTl9PTihyaW5nYnVmLT50YWls ID4gcmluZ2J1Zi0+ZWZmZWN0aXZlX3NpemUpOworI2VuZGlmCit9CiBzdGF0aWMgaW5saW5lIHZv aWQgaW50ZWxfcmluZ19hZHZhbmNlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCiB7CiAJ c3RydWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdidWYgPSByaW5nLT5idWZmZXI7Ci0JcmluZ2J1 Zi0+dGFpbCAmPSByaW5nYnVmLT5zaXplIC0gMTsKKworCV9faW50ZWxfcmluZ2J1ZmZlcl9jaGVj ayhyaW5nYnVmKTsKKworCS8qCisJICogVGFpbCA9PSBlZmZlY2l2ZV9zaXplIGlzIGxlZ2l0aW1h dGUgKGJ1ZmZlciBleGFjdGx5IGZ1bGwpLgorCSAqIFRhaWwgPiBlZmZlY3RpdmVfc2l6ZSBpcyBu b3QsIGFuZCBzaG91bGQgZ2l2ZSBhIHdhcm5pbmcsCisJICogYnV0IHdlJ2xsIHJlc2V0IHRhaWwg aW4gYm90aCBjYXNlcyB0byBwcmV2ZW50IGZ1cnRoZXIgY2hhb3MKKwkgKi8KKwlpZiAocmluZ2J1 Zi0+dGFpbCA+PSByaW5nYnVmLT5lZmZlY3RpdmVfc2l6ZSkKKwkJcmluZ2J1Zi0+dGFpbCAtPSBy aW5nYnVmLT5lZmZlY3RpdmVfc2l6ZTsKIH0KKwogaW50IF9faW50ZWxfcmluZ19zcGFjZShpbnQg aGVhZCwgaW50IHRhaWwsIGludCBzaXplKTsKIHZvaWQgaW50ZWxfcmluZ191cGRhdGVfc3BhY2Uo c3RydWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdidWYpOwogaW50IGludGVsX3Jpbmdfc3BhY2Uo c3RydWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdidWYpOwotLSAKMS43LjkuNQoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK