From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Brezillon Subject: [PATCH v2 1/3] drm/atomic: Add a generic infrastructure to track underrun errors Date: Thu, 25 Oct 2018 14:45:44 +0200 Message-ID: <20181025124546.22145-2-boris.brezillon@bootlin.com> References: <20181025124546.22145-1-boris.brezillon@bootlin.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail.bootlin.com (mail.bootlin.com [62.4.15.54]) by gabe.freedesktop.org (Postfix) with ESMTP id 3684A6E0DE for ; Thu, 25 Oct 2018 12:46:20 +0000 (UTC) In-Reply-To: <20181025124546.22145-1-boris.brezillon@bootlin.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Eric Anholt , Daniel Vetter Cc: Boris Brezillon , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org RGlzcGxheSBjb250cm9sbGVycyB1c3VhbGx5IHByb3ZpZGUgYSBsb3QgZmVhdHVyZXMgbGlrZSBv dmVybGF5IHBsYW5lcywKaGFyZHdhcmUgc2NhbGVycywgaGFyZHdhcmUgcm90YXRpb25zLCAuLi4K TW9zdCBvZiB0aGUgdGltZSB0aG9zZSBmZWF0dXJlcyB3b3JrIGp1c3QgZmluZSB3aGVuIGVuYWJs ZWQKaW5kZXBlbmRlbnRseSwgYnV0IGFjdGl2YXRpbmcgYWxsIG9mIHRoZW0gYXQgdGhlIHNhbWUg dGltZSB0ZW5kIHRvCnNob3cgb3RoZXIgbGltaXRhdGlvbnMgbGlrZSB0aGUgbGltaXRlZCBtZW1v cnkgYnVzIG9yIHNjYWxlcgpiYW5kd2lkdGguCgpUaGlzIHNvcnQgb2YgYmFuZHdpZHRoIGVzdGlt YXRpb24gaXMgaGFyZCB0byBnZXQgcmlnaHQsIGFuZCB3ZQpzb21ldGltZXMgZmFpbCB0byBwcmVk aWN0IHRoYXQgYSBzcGVjaWZpYyB3b3JrbG9hZCB3aWxsIG5vdCBwYXNzLAp3aGljaCB3aWxsIG1v c3QgbGlrZWx5IHJlc3VsdCBpbiB1bmRlcnJ1biBlcnJvcnMgc29tZXdoZXJlIGluIHRoZQpkaXNw bGF5IHBpcGVsaW5lIChtb3N0IG9mIHRoZSB0aW1lIGF0IHRoZSBDUlRDIGxldmVsKS4KClRoaXMg cGF0aCBhaW1zIGF0IG1ha2luZyB1bmRlcnJ1biBlcnJvciB0cmFja2luZyBnZW5lcmljIGFuZCBl eHBvc2luZwp1bmRlcnJ1biBlcnJvcnMgdG8gdXNlcnNwYWNlIHRocm91Z2ggYSBkZWJ1Z2ZzIGZp bGUuCgpUaGlzIHdheSwgQ0kgdG9vbHMgbGlrZSBJR1QsIGNhbiB0cnkgdG8gZW5hYmxlIGEgYnVu Y2ggb2YgZmVhdHVyZXMgYW5kCmlmIHN1Y2ggdW5kZXJydW4gZXJyb3JzIGFyZSByZXBvcnRlZCBh ZnRlciB0aGUgc2V0dGluZ3MgaGF2ZSBiZWVuCmFjY2VwdGVkIGFuZCBhcHBsaWVkIGJ5IHRoZSBL TVMgaW5mcmFzdHJ1Y3R1cmUuIFdoZW4gdGhhdCBoYXBwZW5zIGl0Cm1lYW5zIHRoZSBsb2FkIHRy YWNraW5nIGFsZ29yaXRobSBuZWVkcyBzb21lIHR3ZWFraW5nL2ZpeGluZy4KClNpZ25lZC1vZmYt Ynk6IEJvcmlzIEJyZXppbGxvbiA8Ym9yaXMuYnJlemlsbG9uQGJvb3RsaW4uY29tPgotLS0KQ2hh bmdlcyBpbiB2MjoKLSBOZXcgcGF0Y2gKLS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5j ICAgICAgICB8IDEyICsrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5j IHwgIDQgKysrCiBpbmNsdWRlL2RybS9kcm1fYXRvbWljX2hlbHBlci5oICAgICB8IDUzICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrCiBpbmNsdWRlL2RybS9kcm1fZGV2aWNlLmggICAgICAg ICAgICB8IDE1ICsrKysrKysrCiBpbmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcuaCAgICAgICB8 IDI2ICsrKysrKysrKysrKysrCiA1IGZpbGVzIGNoYW5nZWQsIDExMCBpbnNlcnRpb25zKCspCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fYXRvbWljLmMKaW5kZXggMGUyN2Q0NWZlYmE5Li4zNTAzNDg5NjFhYjMgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2Ry bV9hdG9taWMuYwpAQCAtMTE3OSw5ICsxMTc5LDIxIEBAIHN0YXRpYyBpbnQgZHJtX3N0YXRlX2lu Zm8oc3RydWN0IHNlcV9maWxlICptLCB2b2lkICpkYXRhKQogCXJldHVybiAwOwogfQogCitzdGF0 aWMgaW50IGRybV91bmRlcnJ1bl9pbmZvKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqZGF0YSkK K3sKKwlzdHJ1Y3QgZHJtX2luZm9fbm9kZSAqbm9kZSA9IG0tPnByaXZhdGU7CisJc3RydWN0IGRy bV9kZXZpY2UgKmRldiA9IG5vZGUtPm1pbm9yLT5kZXY7CisJc3RydWN0IGRybV9wcmludGVyIHAg PSBkcm1fc2VxX2ZpbGVfcHJpbnRlcihtKTsKKworCWRybV9wcmludGYoJnAsICIlY1xuIiwgYXRv bWljX3JlYWQoJmRldi0+dW5kZXJydW4pID8gJ1knIDogJ04nKTsKKworCXJldHVybiAwOworfQor CiAvKiBhbnkgdXNlIGluIGRlYnVnZnMgZmlsZXMgdG8gZHVtcCBpbmRpdmlkdWFsIHBsYW5lcy9j cnRjL2V0Yz8gKi8KIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2luZm9fbGlzdCBkcm1fYXRvbWlj X2RlYnVnZnNfbGlzdFtdID0gewogCXsic3RhdGUiLCBkcm1fc3RhdGVfaW5mbywgMH0sCisJeyJ1 bmRlcnJ1biIsIGRybV91bmRlcnJ1bl9pbmZvLCAwIH0sCiB9OwogCiBpbnQgZHJtX2F0b21pY19k ZWJ1Z2ZzX2luaXQoc3RydWN0IGRybV9taW5vciAqbWlub3IpCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWlj X2hlbHBlci5jCmluZGV4IDZmNjY3NzdkY2E0Yi4uOTk1NmMyOTI4YzViIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v ZHJtX2F0b21pY19oZWxwZXIuYwpAQCAtMTQ1Niw2ICsxNDU2LDggQEAgdm9pZCBkcm1fYXRvbWlj X2hlbHBlcl9jb21taXRfdGFpbChzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqb2xkX3N0YXRlKQog ewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBvbGRfc3RhdGUtPmRldjsKIAorCWRybV9hdG9t aWNfaGVscGVyX3VuZGVycnVuX3N0b3AoZGV2KTsKKwogCWRybV9hdG9taWNfaGVscGVyX2NvbW1p dF9tb2Rlc2V0X2Rpc2FibGVzKGRldiwgb2xkX3N0YXRlKTsKIAogCWRybV9hdG9taWNfaGVscGVy X2NvbW1pdF9wbGFuZXMoZGV2LCBvbGRfc3RhdGUsIDApOwpAQCAtMTQ2Niw2ICsxNDY4LDggQEAg dm9pZCBkcm1fYXRvbWljX2hlbHBlcl9jb21taXRfdGFpbChzdHJ1Y3QgZHJtX2F0b21pY19zdGF0 ZSAqb2xkX3N0YXRlKQogCiAJZHJtX2F0b21pY19oZWxwZXJfY29tbWl0X2h3X2RvbmUob2xkX3N0 YXRlKTsKIAorCWRybV9hdG9taWNfaGVscGVyX3VuZGVycnVuX3N0YXJ0KGRldik7CisKIAlkcm1f YXRvbWljX2hlbHBlcl93YWl0X2Zvcl92YmxhbmtzKGRldiwgb2xkX3N0YXRlKTsKIAogCWRybV9h dG9taWNfaGVscGVyX2NsZWFudXBfcGxhbmVzKGRldiwgb2xkX3N0YXRlKTsKZGlmZiAtLWdpdCBh L2luY2x1ZGUvZHJtL2RybV9hdG9taWNfaGVscGVyLmggYi9pbmNsdWRlL2RybS9kcm1fYXRvbWlj X2hlbHBlci5oCmluZGV4IDI1Y2EwMDk3NTYzZS4uZjcxMjE0NGRkMjZkIDEwMDY0NAotLS0gYS9p bmNsdWRlL2RybS9kcm1fYXRvbWljX2hlbHBlci5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9hdG9t aWNfaGVscGVyLmgKQEAgLTIyMSw0ICsyMjEsNTcgQEAgZHJtX2F0b21pY19wbGFuZV9kaXNhYmxp bmcoc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqb2xkX3BsYW5lX3N0YXRlLAogCXJldHVybiBvbGRf cGxhbmVfc3RhdGUtPmNydGMgJiYgIW5ld19wbGFuZV9zdGF0ZS0+Y3J0YzsKIH0KIAorLyoqCisg KiBkcm1fYXRvbWljX2hlbHBlcl91bmRlcnJ1bl9zZXQoKSAtIFNldCB0aGUgdW5kZXJydW4gYml0 CisgKiBAZGV2OiBkZXZpY2UgdGhlIHVuZGVycnVuIGhhcHBlbmVkIG9uCisgKgorICogVGhpcyBm dW5jdGlvbiBzaG91bGQgYmUgY2FsbGVkIHdoZW4gYW4gdW5kZXJydW4gaGFwcGVucyBhZnRlciBh biB1cGRhdGUKKyAqIGhhcyBiZWVuIGNvbW1pdHRlZCB0byB0aGUgZGV2aWNlLgorICogVW5kZXJy dW4gaW50ZXJydXB0cyBhcmUgbWFza2VkIHRvIGF2b2lkIGZsb29kaW5nIHRoZSBDUFUgd2l0aCB1 c2VsZXNzCisgKiBpbnRlcnJ1cHRzLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgZHJtX2F0b21p Y19oZWxwZXJfdW5kZXJydW5fc2V0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCit7CisJYXRvbWlj X3NldCgmZGV2LT51bmRlcnJ1biwgMSk7CisKKwlpZiAoZGV2LT5tb2RlX2NvbmZpZy5mdW5jcy0+ YXRvbWljX21hc2tfdW5kZXJydW4pCisJCWRldi0+bW9kZV9jb25maWcuZnVuY3MtPmF0b21pY19t YXNrX3VuZGVycnVuKGRldik7Cit9CisKKy8qKgorICogZHJtX2F0b21pY19oZWxwZXJfdW5kZXJy dW5fc3RvcCgpIC0gU3RvcCBnZW5lcmF0aW5nIHVuZGVycnVuIGV2ZW50cworICogQGRldjogZGV2 aWNlIHdlIHdhbnQgdG8gc3RvcCB1bmRlcnJ1biBvbgorICoKKyAqIFRoaXMgZnVuY3Rpb24gc2hv dWxkIGJlIGNhbGxlZCBpbiB0aGUgYXRvbWljIGNvbW1pdCBwYXRoLCBqdXN0IGJlZm9yZQorICog Y29tbWl0dGluZyBjaGFuZ2VzIHRvIHRoZSBoYXJkd2FyZS4KKyAqIFRoZSB1bmRlcnJ1biBpbnRl cnJ1cHQgaXMgc2ltcGx5IG1hc2tlZCBwcmlvciB0byBnZXR0aW5nIHVuZGVycnVuIGV2ZW50cwor ICogd2hpbGUgd2UgYXJlIGFwcGx5aW5nIHRoZSBuZXcgY29uZmlnLgorICovCitzdGF0aWMgaW5s aW5lIHZvaWQgZHJtX2F0b21pY19oZWxwZXJfdW5kZXJydW5fc3RvcChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2KQoreworCWlmIChkZXYtPm1vZGVfY29uZmlnLmZ1bmNzLT5hdG9taWNfbWFza191bmRl cnJ1bikKKwkJZGV2LT5tb2RlX2NvbmZpZy5mdW5jcy0+YXRvbWljX21hc2tfdW5kZXJydW4oZGV2 KTsKK30KKworLyoqCisgKiBkcm1fYXRvbWljX2hlbHBlcl91bmRlcnJ1bl9zdGFydCgpIC0gU3Rh cnQgbGlzdGVuaW5nIHRvIHVuZGVycnVuIGV2ZW50cworICogQGRldjogZGV2aWNlIHdlIHdhbnQg dG8gc3RhcnQgdW5kZXJydW4gb24KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHNob3VsZCBiZSBjYWxs ZWQgaW4gdGhlIGF0b21pYyBjb21taXQgcGF0aCwganVzdCBhZnRlcgorICogdGhlIGNoYW5nZXMg aGF2ZSBiZWVuIGNvbW1pdHRlZCB0byB0aGUgaGFyZHdhcmUuCisgKiBBbnkgcGVuZGluZyB1bmRl cnJ1biBldmVudHMgYXJlIGNsZWFyZWQgYmVmb3JlIHVubWFza2luZyB0aGUgaW50ZXJydXB0IHRv CisgKiBndWFyYW50ZWUgdGhhdCBmdXJ0aGVyIHVuZGVycnVuIGV2ZW50cyBhcmUgcmVhbGx5IGNh dXNlZCBieSB0aGUgbmV3CisgKiBjb25maWd1cmF0aW9uLgorICovCitzdGF0aWMgaW5saW5lIHZv aWQgZHJtX2F0b21pY19oZWxwZXJfdW5kZXJydW5fc3RhcnQoc3RydWN0IGRybV9kZXZpY2UgKmRl dikKK3sKKwlhdG9taWNfc2V0KCZkZXYtPnVuZGVycnVuLCAwKTsKKworCWlmIChkZXYtPm1vZGVf Y29uZmlnLmZ1bmNzLT5hdG9taWNfY2xlYXJfdW5kZXJydW4pCisJCWRldi0+bW9kZV9jb25maWcu ZnVuY3MtPmF0b21pY19jbGVhcl91bmRlcnJ1bihkZXYpOworCisJaWYgKGRldi0+bW9kZV9jb25m aWcuZnVuY3MtPmF0b21pY191bm1hc2tfdW5kZXJydW4pCisJCWRldi0+bW9kZV9jb25maWcuZnVu Y3MtPmF0b21pY191bm1hc2tfdW5kZXJydW4oZGV2KTsKK30KKwogI2VuZGlmIC8qIERSTV9BVE9N SUNfSEVMUEVSX0hfICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fZGV2aWNlLmggYi9p bmNsdWRlL2RybS9kcm1fZGV2aWNlLmgKaW5kZXggNDI0MTFiM2VhMGM4Li41OWM2M2UwM2E3NzYg MTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9kZXZpY2UuaAorKysgYi9pbmNsdWRlL2RybS9k cm1fZGV2aWNlLmgKQEAgLTIzMSw2ICsyMzEsMjEgQEAgc3RydWN0IGRybV9kZXZpY2UgewogCSAq IFNldCBieSBkcm1fZmJfaGVscGVyX2luaXQoKSBhbmQgY2xlYXJlZCBieSBkcm1fZmJfaGVscGVy X2ZpbmkoKS4KIAkgKi8KIAlzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyOworCisJLyoq CisJICogQHVuZGVycnVuOgorCSAqCisJICogU2V0IHRvIDEgd2hlbiBhbiB1bmRlcnJ1biBlcnJv ciBoYXBwZW5lZCBzaW5jZSB0aGUgbGFzdCBhdG9taWMKKwkgKiBjb21taXQsIDAgb3RoZXJ3aXNl LgorCSAqIFRoaXMgaXMgcGFydGljdWxhcmx5IHVzZWZ1bCB0byBkZXRlY3Qgd2hlbiBhIHNwZWNp ZmljIG1vZGVzZXQgaXMgdG9vCisJICogZGVtYW5kaW5nIGluIHRlcm0gb2YgbWVtb3J5IGJhbmR3 aWR0aCBvciBvdGhlciBraW5kIGxpbWl0YXRpb25zIHRoYXQKKwkgKiBhcmUgaGFyZCB0byBndWVz cyBhdCBhdG9taWMgY2hlY2sgdGltZS4KKwkgKiBEcml2ZXJzIHNob3VsZCBvbmx5IHNldCB1bmRl cnJ1biB0byAxICh1c2luZworCSAqIGRybV9hdG9taWNfaGVscGVyX3VuZGVycnVuX3NldCgpKSB3 aGVuIGFuIHVuZGVycnVuIGludGVycnVwdCBvY2N1cnMKKwkgKiBhbmQgY2xlYXIgaWYgZnJvbSB0 aGVpciBhdG9taWMgY29tbWl0IGhvb2sgKHVzaW5nCisJICogZHJtX2F0b21pY19oZWxwZXJfdW5k ZXJydW5fe3N0b3Asc3RhcnR9KCkpLgorCSAqLworCWF0b21pY190IHVuZGVycnVuOwogfTsKIAog I2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcuaCBiL2luY2x1 ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5oCmluZGV4IDhkNTQwY2RhZTU3ZC4uMjhiODNlMjk1ZmQy IDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcuaAorKysgYi9pbmNsdWRl L2RybS9kcm1fbW9kZV9jb25maWcuaApAQCAtMzI1LDYgKzMyNSwzMiBAQCBzdHJ1Y3QgZHJtX21v ZGVfY29uZmlnX2Z1bmNzIHsKIAkgKiAmZHJtX3ByaXZhdGVfc3RhdGUgYW5kICZkcm1fcHJpdmF0 ZV9vYmouCiAJICovCiAJdm9pZCAoKmF0b21pY19zdGF0ZV9mcmVlKShzdHJ1Y3QgZHJtX2F0b21p Y19zdGF0ZSAqc3RhdGUpOworCisJLyoqCisJICogQGF0b21pY19tYXNrX3VuZGVycnVuOgorCSAq CisJICogVGhpcyBpcyBhbiBvcHRpb25hbCBob29rIGNhbGxlZCB3aGVuIHRoZSBjb3JlIG5lZWRz IHRvIGRpc2FibGUvbWFzaworCSAqIHRoZSB1bmRlcnJ1biBpbnRlcnJ1cHQuIEl0J3MgdXNlZCBi eSBkcm1fYXRvbWljX2hlbHBlcl91bmRlcnJ1bl9zZXQoKQorCSAqIGFuZCBkcm1fYXRvbWljX2hl bHBlcl91bmRlcnJ1bl9zdG9wKCkuCisJICovCisJdm9pZCAoKmF0b21pY19tYXNrX3VuZGVycnVu KShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKKworCS8qKgorCSAqIEBhdG9taWNfY2xlYXJfdW5k ZXJydW46CisJICoKKwkgKiBUaGlzIGlzIGFuIG9wdGlvbmFsIGhvb2sgY2FsbGVkIHdoZW4gdGhl IGNvcmUgbmVlZHMgdG8gY2xlYXIgcGVuZGluZworCSAqIHVuZGVycnVuIGV2ZW50cy4gSXQncyB1 c2VkIGJ5IGRybV9hdG9taWNfaGVscGVyX3VuZGVycnVuX3N0YXJ0KCkgdG8KKwkgKiBiZWZvcmUg dW5tYXNrIHRoZSB1bmRlcnJ1biBpbnRlcnJ1cHQuCisJICovCisJdm9pZCAoKmF0b21pY19jbGVh cl91bmRlcnJ1bikoc3RydWN0IGRybV9kZXZpY2UgKmRldik7CisKKwkvKioKKwkgKiBAYXRvbWlj X3VubWFza191bmRlcnJ1bjoKKwkgKgorCSAqIFRoaXMgaXMgYW4gb3B0aW9uYWwgaG9vayBjYWxs ZWQgd2hlbiB0aGUgY29yZSBuZWVkcyB0byB1bm1hc2sKKwkgKiB1bmRlcnJ1biBpbnRlcnJ1cHRz LiBJdCdzIHVzZWQgYnkgZHJtX2F0b21pY19oZWxwZXJfdW5kZXJydW5fc3RhcnQoKS4KKwkgKi8K Kwl2b2lkICgqYXRvbWljX3VubWFza191bmRlcnJ1bikoc3RydWN0IGRybV9kZXZpY2UgKmRldik7 CiB9OwogCiAvKioKLS0gCjIuMTcuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vZHJpLWRldmVsCg==