From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stanislav Lisovskiy Subject: [PATCH v6 2/3] drm: Introduce epoch counter to drm_connector Date: Fri, 6 Sep 2019 11:26:35 +0300 Message-ID: <20190906082636.3103-3-stanislav.lisovskiy@intel.com> References: <20190906082636.3103-1-stanislav.lisovskiy@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190906082636.3103-1-stanislav.lisovskiy@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: dri-devel@lists.freedesktop.org Cc: daniel.vetter@ffwll.ch, intel-gfx@lists.freedesktop.org, martin.peres@intel.com List-Id: dri-devel@lists.freedesktop.org VGhpcyBjb3VudGVyIHdpbGwgYmUgdXNlZCBieSBkcm1faGVscGVyX3Byb2JlX2RldGVjdCBjYWxs ZXIgdG8gZGV0ZXJtaW5lCmlmIGFueXRoaW5nIGhhZCBjaGFuZ2VkKGluY2x1ZGluZyBlZGlkLCBj b25uZWN0aW9uIHN0YXR1cyBhbmQgZXRjKS4KSGFyZHdhcmUgc3BlY2lmaWMgZHJpdmVyIGRldGVj dCBob29rcyBhcmUgcmVzcG9uc2libGUgZm9yIHVwZGF0aW5nIHRoaXMKY291bnRlciB3aGVuIHNv bWUgY2hhbmdlIGlzIGRldGVjdGVkIHRvIG5vdGlmeSB0aGUgZHJtIHBhcnQsCndoaWNoIGNhbiB0 cmlnZ2VyIGZvciBleGFtcGxlIGhvdHBsdWcgZXZlbnQuCgpBbHNvIG5vdyBjYWxsIGRybV9jb25u ZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkKcmlnaHQgYWZ0ZXIgd2UgZ2V0IGVkaWQgYWx3YXlz IHRvIG1ha2Ugc3VyZSB0aGVyZSBpcyBhCnVuaWZpZWQgd2F5IHRvIGhhbmRsZSBlZGlkIGNoYW5n ZSwgd2l0aG91dCBoYXZpbmcgdG8KY2hhbmdlIHRvbnMgb2Ygc291cmNlIGNvZGUgYXMgY3VycmVu dGx5CmRybV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkgaXMgY2FsbGVkIG9ubHkgaW4K Y2VydGFpbiBjYXNlcyBsaWtlIHJlcHJvYmluZyBhbmQgbm90IHJpZ2h0IGFmdGVyIGVkaWQgaXMK YWN0dWFsbHkgdXBkYXRlZC4KCnYyOiBBZGRlZCBkb2N1bWVudGF0aW9uIGZvciB0aGUgbmV3IGNv dW50ZXIuIFJlbmFtZSBjaGFuZ2VfY291bnRlciB0bwogICAgZXBvY2hfY291bnRlci4KCkJ1Z3pp bGxhOiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU1NDAK U2lnbmVkLW9mZi1ieTogU3RhbmlzbGF2IExpc292c2tpeSA8c3RhbmlzbGF2Lmxpc292c2tpeUBp bnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYyAgICB8IDE2ICsr KysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jICAgICAgICAgfCAgMyArKysK IGRyaXZlcnMvZ3B1L2RybS9kcm1fcHJvYmVfaGVscGVyLmMgfCAzOCArKysrKysrKysrKysrKysr KysrKysrKysrKy0tLS0KIGluY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaCAgICAgICAgfCAgMyAr KysKIDQgZmlsZXMgY2hhbmdlZCwgNTUgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jIGIvZHJpdmVycy9ncHUv ZHJtL2RybV9jb25uZWN0b3IuYwppbmRleCA0Yzc2NjYyNGIyMGQuLjk4ZmQyMzZhY2M1NyAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vZHJtX2Nvbm5lY3Rvci5jCkBAIC0yNDYsNiArMjQ2LDcgQEAgaW50IGRybV9jb25uZWN0 b3JfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCUlOSVRfTElTVF9IRUFEKCZjb25uZWN0 b3ItPm1vZGVzKTsKIAltdXRleF9pbml0KCZjb25uZWN0b3ItPm11dGV4KTsKIAljb25uZWN0b3It PmVkaWRfYmxvYl9wdHIgPSBOVUxMOworCWNvbm5lY3Rvci0+ZXBvY2hfY291bnRlciA9IDA7CiAJ Y29ubmVjdG9yLT50aWxlX2Jsb2JfcHRyID0gTlVMTDsKIAljb25uZWN0b3ItPnN0YXR1cyA9IGNv bm5lY3Rvcl9zdGF0dXNfdW5rbm93bjsKIAljb25uZWN0b3ItPmRpc3BsYXlfaW5mby5wYW5lbF9v cmllbnRhdGlvbiA9CkBAIC0xODY2LDYgKzE4NjcsNyBAQCBpbnQgZHJtX2Nvbm5lY3Rvcl91cGRh dGVfZWRpZF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogCXN0cnVj dCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmRldjsKIAlzaXplX3Qgc2l6ZSA9IDA7CiAJ aW50IHJldDsKKwljb25zdCBzdHJ1Y3QgZWRpZCAqb2xkX2VkaWQ7CiAKIAkvKiBpZ25vcmUgcmVx dWVzdHMgdG8gc2V0IGVkaWQgd2hlbiBvdmVycmlkZGVuICovCiAJaWYgKGNvbm5lY3Rvci0+b3Zl cnJpZGVfZWRpZCkKQEAgLTE4ODcsNiArMTg4OSwyMCBAQCBpbnQgZHJtX2Nvbm5lY3Rvcl91cGRh dGVfZWRpZF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogCWVsc2UK IAkJZHJtX3Jlc2V0X2Rpc3BsYXlfaW5mbyhjb25uZWN0b3IpOwogCisJaWYgKGNvbm5lY3Rvci0+ ZWRpZF9ibG9iX3B0cikgeworCQlvbGRfZWRpZCA9IChjb25zdCBzdHJ1Y3QgZWRpZCAqKWNvbm5l Y3Rvci0+ZWRpZF9ibG9iX3B0ci0+ZGF0YTsKKwkJaWYgKG9sZF9lZGlkKSB7CisJCQlpZiAoIWRy bV9lZGlkX2FyZV9lcXVhbChlZGlkLCBvbGRfZWRpZCkpIHsKKwkJCQlEUk1fREVCVUdfS01TKCJb Q09OTkVDVE9SOiVkOiVzXSBFZGlkIHdhcyBjaGFuZ2VkLlxuIiwKKwkJCQkgICAgY29ubmVjdG9y LT5iYXNlLmlkLCBjb25uZWN0b3ItPm5hbWUpOworCisJCQkJY29ubmVjdG9yLT5lcG9jaF9jb3Vu dGVyICs9IDE7CisJCQkJRFJNX0RFQlVHX0tNUygiVXBkYXRpbmcgY2hhbmdlIGNvdW50ZXIgdG8g JWxsdVxuIiwKKwkJCQkgICAgY29ubmVjdG9yLT5lcG9jaF9jb3VudGVyKTsKKwkJCX0KKwkJfQor CX0KKwogCWRybV9vYmplY3RfcHJvcGVydHlfc2V0X3ZhbHVlKCZjb25uZWN0b3ItPmJhc2UsCiAJ CQkJICAgICAgZGV2LT5tb2RlX2NvbmZpZy5ub25fZGVza3RvcF9wcm9wZXJ0eSwKIAkJCQkgICAg ICBjb25uZWN0b3ItPmRpc3BsYXlfaW5mby5ub25fZGVza3RvcCk7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jCmluZGV4 IDA2MzlkYjlmZDIzZi4uNDhiNzE2YWJjOWVmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v ZHJtX2VkaWQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYwpAQCAtMTgwMyw2ICsx ODAzLDkgQEAgc3RydWN0IGVkaWQgKmRybV9nZXRfZWRpZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq Y29ubmVjdG9yLAogCWVkaWQgPSBkcm1fZG9fZ2V0X2VkaWQoY29ubmVjdG9yLCBkcm1fZG9fcHJv YmVfZGRjX2VkaWQsIGFkYXB0ZXIpOwogCWlmIChlZGlkKQogCQlkcm1fZ2V0X2Rpc3BsYXlpZChj b25uZWN0b3IsIGVkaWQpOworCisJZHJtX2Nvbm5lY3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eShj b25uZWN0b3IsIGVkaWQpOworCiAJcmV0dXJuIGVkaWQ7CiB9CiBFWFBPUlRfU1lNQk9MKGRybV9n ZXRfZWRpZCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX3Byb2JlX2hlbHBlci5j IGIvZHJpdmVycy9ncHUvZHJtL2RybV9wcm9iZV9oZWxwZXIuYwppbmRleCAzNTFjYmM0MGYwZjgu LmIyYjYzODVjZmVkMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9wcm9iZV9oZWxw ZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3Byb2JlX2hlbHBlci5jCkBAIC0yODcsNiAr Mjg3LDkgQEAgZHJtX2hlbHBlcl9wcm9iZV9kZXRlY3RfY3R4KHN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3IsIGJvb2wgZm9yY2UpCiAJaWYgKFdBUk5fT04ocmV0IDwgMCkpCiAJCXJldCA9 IGNvbm5lY3Rvcl9zdGF0dXNfdW5rbm93bjsKIAorCWlmIChyZXQgIT0gY29ubmVjdG9yLT5zdGF0 dXMpCisJCWNvbm5lY3Rvci0+ZXBvY2hfY291bnRlciArPSAxOworCiAJZHJtX21vZGVzZXRfZHJv cF9sb2NrcygmY3R4KTsKIAlkcm1fbW9kZXNldF9hY3F1aXJlX2ZpbmkoJmN0eCk7CiAKQEAgLTMy MCwxMSArMzIzLDE2IEBAIGRybV9oZWxwZXJfcHJvYmVfZGV0ZWN0KHN0cnVjdCBkcm1fY29ubmVj dG9yICpjb25uZWN0b3IsCiAJCXJldHVybiByZXQ7CiAKIAlpZiAoZnVuY3MtPmRldGVjdF9jdHgp Ci0JCXJldHVybiBmdW5jcy0+ZGV0ZWN0X2N0eChjb25uZWN0b3IsIGN0eCwgZm9yY2UpOworCQly ZXQgPSBmdW5jcy0+ZGV0ZWN0X2N0eChjb25uZWN0b3IsIGN0eCwgZm9yY2UpOwogCWVsc2UgaWYg KGNvbm5lY3Rvci0+ZnVuY3MtPmRldGVjdCkKLQkJcmV0dXJuIGNvbm5lY3Rvci0+ZnVuY3MtPmRl dGVjdChjb25uZWN0b3IsIGZvcmNlKTsKKwkJcmV0ID0gY29ubmVjdG9yLT5mdW5jcy0+ZGV0ZWN0 KGNvbm5lY3RvciwgZm9yY2UpOwogCWVsc2UKLQkJcmV0dXJuIGNvbm5lY3Rvcl9zdGF0dXNfY29u bmVjdGVkOworCQlyZXQgPSBjb25uZWN0b3Jfc3RhdHVzX2Nvbm5lY3RlZDsKKworCWlmIChyZXQg IT0gY29ubmVjdG9yLT5zdGF0dXMpCisJCWNvbm5lY3Rvci0+ZXBvY2hfY291bnRlciArPSAxOwor CisJcmV0dXJuIHJldDsKIH0KIEVYUE9SVF9TWU1CT0woZHJtX2hlbHBlcl9wcm9iZV9kZXRlY3Qp OwogCkBAIC03NzcsNiArNzg1LDcgQEAgYm9vbCBkcm1faGVscGVyX2hwZF9pcnFfZXZlbnQoc3Ry dWN0IGRybV9kZXZpY2UgKmRldikKIAlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXIgY29u bl9pdGVyOwogCWVudW0gZHJtX2Nvbm5lY3Rvcl9zdGF0dXMgb2xkX3N0YXR1czsKIAlib29sIGNo YW5nZWQgPSBmYWxzZTsKKwl1aW50NjRfdCBvbGRfZXBvY2hfY291bnRlcjsKIAogCWlmICghZGV2 LT5tb2RlX2NvbmZpZy5wb2xsX2VuYWJsZWQpCiAJCXJldHVybiBmYWxzZTsKQEAgLTc5MCwyMCAr Nzk5LDM5IEBAIGJvb2wgZHJtX2hlbHBlcl9ocGRfaXJxX2V2ZW50KHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYpCiAKIAkJb2xkX3N0YXR1cyA9IGNvbm5lY3Rvci0+c3RhdHVzOwogCisJCW9sZF9lcG9j aF9jb3VudGVyID0gY29ubmVjdG9yLT5lcG9jaF9jb3VudGVyOworCisJCURSTV9ERUJVR19LTVMo IltDT05ORUNUT1I6JWQ6JXNdIE9sZCBlcG9jaCBjb3VudGVyICVsbHVcbiIsIGNvbm5lY3Rvci0+ YmFzZS5pZCwKKwkJCSAgICAgIGNvbm5lY3Rvci0+bmFtZSwKKwkJCSAgICAgIG9sZF9lcG9jaF9j b3VudGVyKTsKKwogCQljb25uZWN0b3ItPnN0YXR1cyA9IGRybV9oZWxwZXJfcHJvYmVfZGV0ZWN0 KGNvbm5lY3RvciwgTlVMTCwgZmFsc2UpOwogCQlEUk1fREVCVUdfS01TKCJbQ09OTkVDVE9SOiVk OiVzXSBzdGF0dXMgdXBkYXRlZCBmcm9tICVzIHRvICVzXG4iLAogCQkJICAgICAgY29ubmVjdG9y LT5iYXNlLmlkLAogCQkJICAgICAgY29ubmVjdG9yLT5uYW1lLAogCQkJICAgICAgZHJtX2dldF9j b25uZWN0b3Jfc3RhdHVzX25hbWUob2xkX3N0YXR1cyksCiAJCQkgICAgICBkcm1fZ2V0X2Nvbm5l Y3Rvcl9zdGF0dXNfbmFtZShjb25uZWN0b3ItPnN0YXR1cykpOwotCQlpZiAob2xkX3N0YXR1cyAh PSBjb25uZWN0b3ItPnN0YXR1cykKKworCQlEUk1fREVCVUdfS01TKCJbQ09OTkVDVE9SOiVkOiVz XSBOZXcgZXBvY2ggY291bnRlciAlbGx1XG4iLAorCQkJICAgICAgY29ubmVjdG9yLT5iYXNlLmlk LAorCQkJICAgICAgY29ubmVjdG9yLT5uYW1lLAorCQkJICAgICAgY29ubmVjdG9yLT5lcG9jaF9j b3VudGVyKTsKKworCQkvKgorCQkgKiBDaGVjayBpZiBlcG9jaCBjb3VudGVyIGhhZCBjaGFuZ2Vk LCBtZWFuaW5nIHRoYXQgd2UgbmVlZAorCQkgKiB0byBzZW5kIGEgdWV2ZW50LgorCQkgKi8KKwkJ aWYgKG9sZF9lcG9jaF9jb3VudGVyICE9IGNvbm5lY3Rvci0+ZXBvY2hfY291bnRlcikgewogCQkJ Y2hhbmdlZCA9IHRydWU7CisJCX0KIAl9CiAJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfZW5kKCZj b25uX2l0ZXIpOwogCW11dGV4X3VubG9jaygmZGV2LT5tb2RlX2NvbmZpZy5tdXRleCk7CiAKLQlp ZiAoY2hhbmdlZCkKKwlpZiAoY2hhbmdlZCkgewogCQlkcm1fa21zX2hlbHBlcl9ob3RwbHVnX2V2 ZW50KGRldik7CisJCURSTV9ERUJVR19LTVMoIlNlbnQgaG90cGx1ZyBldmVudFxuIik7CisJfQog CiAJcmV0dXJuIGNoYW5nZWQ7CiB9CmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fY29ubmVj dG9yLmggYi9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKaW5kZXggNjgxY2I1OTBmOTUyLi5h M2NjN2QwOTI3ZDYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaAorKysg Yi9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKQEAgLTEyODgsNiArMTI4OCw5IEBAIHN0cnVj dCBkcm1fY29ubmVjdG9yIHsKIAkvKiogQG92ZXJyaWRlX2VkaWQ6IGhhcyB0aGUgRURJRCBiZWVu IG92ZXJ3cml0dGVuIHRocm91Z2ggZGVidWdmcyBmb3IgdGVzdGluZz8gKi8KIAlib29sIG92ZXJy aWRlX2VkaWQ7CiAKKwkvKiogQGVwb2NoX2NvdW50ZXI6IHVzZWQgdG8gZGV0ZWN0IGFueSBvdGhl ciBjaGFuZ2VzIGluIGNvbm5lY3RvciwgYmVzaWRlcyBzdGF0dXMgKi8KKwl1aW50NjRfdCBlcG9j aF9jb3VudGVyOworCiAjZGVmaW5lIERSTV9DT05ORUNUT1JfTUFYX0VOQ09ERVIgMwogCS8qKgog CSAqIEBlbmNvZGVyX2lkczogVmFsaWQgZW5jb2RlcnMgZm9yIHRoaXMgY29ubmVjdG9yLiBQbGVh c2Ugb25seSB1c2UKLS0gCjIuMTcuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vaW50ZWwtZ2Z4