From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH 3/3] drm/atomic: Make disable_all helper fully disable the crtc. Date: Mon, 9 Jan 2017 18:06:58 +0100 Message-ID: <1483981618-10233-4-git-send-email-maarten.lankhorst@linux.intel.com> References: <1483981618-10233-1-git-send-email-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1483981618-10233-1-git-send-email-maarten.lankhorst@linux.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: nouveau@lists.freedesktop.org, intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org SXQgc2VlbXMgdGhhdCBub3V2ZWF1IHJlcXVpcmVzIHRoaXMsIHNvIGJlc3QgdG8gZG8gdGhpcyBp biB0aGUgaGVscGVyLgpUaGlzIGFsbG93cyBub3V2ZWF1IHRvIHVzZSB0aGUgYXRvbWljIHN1c3Bl bmQgaGVscGVyLgoKQ2M6IG5vdXZlYXVAbGlzdHMuZnJlZWRlc2t0b3Aub3JnClNpZ25lZC1vZmYt Ynk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+ Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMgICAgICAgfCAgNTEgKysr KysrKysrKy0tLS0KIGRyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZGlzcGxheS5jIHwg MTEzICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAzOCBp bnNlcnRpb25zKCspLCAxMjYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2RybV9hdG9taWNfaGVscGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxw ZXIuYwppbmRleCAzYThhNDY1MTBjMzYuLmYwMTBhMTE4NzRiOSAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9h dG9taWNfaGVscGVyLmMKQEAgLTI0MzYsOSArMjQzNiwxMyBAQCBpbnQgZHJtX2F0b21pY19oZWxw ZXJfZGlzYWJsZV9hbGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCQkgIHN0cnVjdCBkcm1f bW9kZXNldF9hY3F1aXJlX2N0eCAqY3R4KQogewogCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpz dGF0ZTsKKwlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZTsKIAlzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciAqY29ubjsKLQlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXIgY29u bl9pdGVyOwotCWludCBlcnI7CisJc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGU7 CisJc3RydWN0IGRybV9wbGFuZSAqcGxhbmU7CisJc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRj X3N0YXRlOworCXN0cnVjdCBkcm1fY3J0YyAqY3J0YzsKKwlpbnQgcmV0LCBpOwogCiAJc3RhdGUg PSBkcm1fYXRvbWljX3N0YXRlX2FsbG9jKGRldik7CiAJaWYgKCFzdGF0ZSkKQEAgLTI0NDYsMjkg KzI0NTAsNDggQEAgaW50IGRybV9hdG9taWNfaGVscGVyX2Rpc2FibGVfYWxsKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsCiAKIAlzdGF0ZS0+YWNxdWlyZV9jdHggPSBjdHg7CiAKLQlkcm1fY29ubmVj dG9yX2xpc3RfaXRlcl9nZXQoZGV2LCAmY29ubl9pdGVyKTsKLQlkcm1fZm9yX2VhY2hfY29ubmVj dG9yX2l0ZXIoY29ubiwgJmNvbm5faXRlcikgewotCQlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSBj b25uLT5zdGF0ZS0+Y3J0YzsKLQkJc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlOwot Ci0JCWlmICghY3J0YyB8fCBjb25uLT5kcG1zICE9IERSTV9NT0RFX0RQTVNfT04pCi0JCQljb250 aW51ZTsKLQorCWRybV9mb3JfZWFjaF9jcnRjKGNydGMsIGRldikgewogCQljcnRjX3N0YXRlID0g ZHJtX2F0b21pY19nZXRfY3J0Y19zdGF0ZShzdGF0ZSwgY3J0Yyk7CiAJCWlmIChJU19FUlIoY3J0 Y19zdGF0ZSkpIHsKLQkJCWVyciA9IFBUUl9FUlIoY3J0Y19zdGF0ZSk7CisJCQlyZXQgPSBQVFJf RVJSKGNydGNfc3RhdGUpOwogCQkJZ290byBmcmVlOwogCQl9CiAKIAkJY3J0Y19zdGF0ZS0+YWN0 aXZlID0gZmFsc2U7CisKKwkJcmV0ID0gZHJtX2F0b21pY19zZXRfbW9kZV9wcm9wX2Zvcl9jcnRj KGNydGNfc3RhdGUsIE5VTEwpOworCQlpZiAocmV0IDwgMCkKKwkJCWdvdG8gZnJlZTsKKworCQly ZXQgPSBkcm1fYXRvbWljX2FkZF9hZmZlY3RlZF9wbGFuZXMoc3RhdGUsIGNydGMpOworCQlpZiAo cmV0IDwgMCkKKwkJCWdvdG8gZnJlZTsKKworCQlyZXQgPSBkcm1fYXRvbWljX2FkZF9hZmZlY3Rl ZF9jb25uZWN0b3JzKHN0YXRlLCBjcnRjKTsKKwkJaWYgKHJldCA8IDApCisJCQlnb3RvIGZyZWU7 CiAJfQogCi0JZXJyID0gZHJtX2F0b21pY19jb21taXQoc3RhdGUpOworCWZvcl9lYWNoX2Nvbm5l Y3Rvcl9pbl9zdGF0ZShzdGF0ZSwgY29ubiwgY29ubl9zdGF0ZSwgaSkgeworCQlyZXQgPSBkcm1f YXRvbWljX3NldF9jcnRjX2Zvcl9jb25uZWN0b3IoY29ubl9zdGF0ZSwgTlVMTCk7CisJCWlmIChy ZXQgPCAwKQorCQkJZ290byBmcmVlOworCX0KKworCWZvcl9lYWNoX3BsYW5lX2luX3N0YXRlKHN0 YXRlLCBwbGFuZSwgcGxhbmVfc3RhdGUsIGkpIHsKKwkJcmV0ID0gZHJtX2F0b21pY19zZXRfY3J0 Y19mb3JfcGxhbmUocGxhbmVfc3RhdGUsIE5VTEwpOworCQlpZiAocmV0IDwgMCkKKwkJCWdvdG8g ZnJlZTsKKworCQlkcm1fYXRvbWljX3NldF9mYl9mb3JfcGxhbmUocGxhbmVfc3RhdGUsIE5VTEwp OworCX0KKworCXJldCA9IGRybV9hdG9taWNfY29tbWl0KHN0YXRlKTsKIGZyZWU6Ci0JZHJtX2Nv bm5lY3Rvcl9saXN0X2l0ZXJfcHV0KCZjb25uX2l0ZXIpOwogCWRybV9hdG9taWNfc3RhdGVfcHV0 KHN0YXRlKTsKLQlyZXR1cm4gZXJyOworCXJldHVybiByZXQ7CiB9CisKIEVYUE9SVF9TWU1CT0wo ZHJtX2F0b21pY19oZWxwZXJfZGlzYWJsZV9hbGwpOwogCiAvKioKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL25v dXZlYXUvbm91dmVhdV9kaXNwbGF5LmMKaW5kZXggYWRkMzUzZTIzMGY0Li4wOWYxOTVmODc1NmYg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZGlzcGxheS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZGlzcGxheS5jCkBAIC02MjEsMTE3 ICs2MjEsNiBAQCBub3V2ZWF1X2Rpc3BsYXlfZGVzdHJveShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KQogCWtmcmVlKGRpc3ApOwogfQogCi1zdGF0aWMgaW50Ci1ub3V2ZWF1X2F0b21pY19kaXNhYmxl X2Nvbm5lY3RvcihzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCi0JCQkJIHN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IpCi17Ci0Jc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUg KmNvbm5lY3Rvcl9zdGF0ZTsKLQlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7Ci0Jc3RydWN0IGRybV9j cnRjX3N0YXRlICpjcnRjX3N0YXRlOwotCXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnBsYW5lX3N0 YXRlOwotCXN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lOwotCWludCByZXQ7Ci0KLQlpZiAoIShjcnRj ID0gY29ubmVjdG9yLT5zdGF0ZS0+Y3J0YykpCi0JCXJldHVybiAwOwotCi0JY29ubmVjdG9yX3N0 YXRlID0gZHJtX2F0b21pY19nZXRfY29ubmVjdG9yX3N0YXRlKHN0YXRlLCBjb25uZWN0b3IpOwot CWlmIChJU19FUlIoY29ubmVjdG9yX3N0YXRlKSkKLQkJcmV0dXJuIFBUUl9FUlIoY29ubmVjdG9y X3N0YXRlKTsKLQotCXJldCA9IGRybV9hdG9taWNfc2V0X2NydGNfZm9yX2Nvbm5lY3Rvcihjb25u ZWN0b3Jfc3RhdGUsIE5VTEwpOwotCWlmIChyZXQpCi0JCXJldHVybiByZXQ7Ci0KLQljcnRjX3N0 YXRlID0gZHJtX2F0b21pY19nZXRfY3J0Y19zdGF0ZShzdGF0ZSwgY3J0Yyk7Ci0JaWYgKElTX0VS UihjcnRjX3N0YXRlKSkKLQkJcmV0dXJuIFBUUl9FUlIoY3J0Y19zdGF0ZSk7Ci0KLQlyZXQgPSBk cm1fYXRvbWljX3NldF9tb2RlX2Zvcl9jcnRjKGNydGNfc3RhdGUsIE5VTEwpOwotCWlmIChyZXQp Ci0JCXJldHVybiByZXQ7Ci0KLQljcnRjX3N0YXRlLT5hY3RpdmUgPSBmYWxzZTsKLQotCWRybV9m b3JfZWFjaF9wbGFuZV9tYXNrKHBsYW5lLCBjb25uZWN0b3ItPmRldiwgY3J0Y19zdGF0ZS0+cGxh bmVfbWFzaykgewotCQlwbGFuZV9zdGF0ZSA9IGRybV9hdG9taWNfZ2V0X3BsYW5lX3N0YXRlKHN0 YXRlLCBwbGFuZSk7Ci0JCWlmIChJU19FUlIocGxhbmVfc3RhdGUpKQotCQkJcmV0dXJuIFBUUl9F UlIocGxhbmVfc3RhdGUpOwotCi0JCXJldCA9IGRybV9hdG9taWNfc2V0X2NydGNfZm9yX3BsYW5l KHBsYW5lX3N0YXRlLCBOVUxMKTsKLQkJaWYgKHJldCkKLQkJCXJldHVybiByZXQ7Ci0KLQkJZHJt X2F0b21pY19zZXRfZmJfZm9yX3BsYW5lKHBsYW5lX3N0YXRlLCBOVUxMKTsKLQl9Ci0KLQlyZXR1 cm4gMDsKLX0KLQotc3RhdGljIGludAotbm91dmVhdV9hdG9taWNfZGlzYWJsZShzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LAotCQkgICAgICAgc3RydWN0IGRybV9tb2Rlc2V0X2FjcXVpcmVfY3R4ICpj dHgpCi17Ci0Jc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlOwotCXN0cnVjdCBkcm1fY29u bmVjdG9yICpjb25uZWN0b3I7Ci0JaW50IHJldDsKLQotCXN0YXRlID0gZHJtX2F0b21pY19zdGF0 ZV9hbGxvYyhkZXYpOwotCWlmICghc3RhdGUpCi0JCXJldHVybiAtRU5PTUVNOwotCi0Jc3RhdGUt PmFjcXVpcmVfY3R4ID0gY3R4OwotCi0JZHJtX2Zvcl9lYWNoX2Nvbm5lY3Rvcihjb25uZWN0b3Is IGRldikgewotCQlyZXQgPSBub3V2ZWF1X2F0b21pY19kaXNhYmxlX2Nvbm5lY3RvcihzdGF0ZSwg Y29ubmVjdG9yKTsKLQkJaWYgKHJldCkKLQkJCWJyZWFrOwotCX0KLQotCWlmIChyZXQgPT0gMCkK LQkJcmV0ID0gZHJtX2F0b21pY19jb21taXQoc3RhdGUpOwotCWRybV9hdG9taWNfc3RhdGVfcHV0 KHN0YXRlKTsKLQlyZXR1cm4gcmV0OwotfQotCi1zdGF0aWMgc3RydWN0IGRybV9hdG9taWNfc3Rh dGUgKgotbm91dmVhdV9hdG9taWNfc3VzcGVuZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQotewot CXN0cnVjdCBkcm1fbW9kZXNldF9hY3F1aXJlX2N0eCBjdHg7Ci0Jc3RydWN0IGRybV9hdG9taWNf c3RhdGUgKnN0YXRlOwotCWludCByZXQ7Ci0KLQlkcm1fbW9kZXNldF9hY3F1aXJlX2luaXQoJmN0 eCwgMCk7Ci0KLXJldHJ5OgotCXJldCA9IGRybV9tb2Rlc2V0X2xvY2tfYWxsX2N0eChkZXYsICZj dHgpOwotCWlmIChyZXQgPCAwKSB7Ci0JCXN0YXRlID0gRVJSX1BUUihyZXQpOwotCQlnb3RvIHVu bG9jazsKLQl9Ci0KLQlzdGF0ZSA9IGRybV9hdG9taWNfaGVscGVyX2R1cGxpY2F0ZV9zdGF0ZShk ZXYsICZjdHgpOwotCWlmIChJU19FUlIoc3RhdGUpKQotCQlnb3RvIHVubG9jazsKLQotCXJldCA9 IG5vdXZlYXVfYXRvbWljX2Rpc2FibGUoZGV2LCAmY3R4KTsKLQlpZiAocmV0IDwgMCkgewotCQlk cm1fYXRvbWljX3N0YXRlX3B1dChzdGF0ZSk7Ci0JCXN0YXRlID0gRVJSX1BUUihyZXQpOwotCQln b3RvIHVubG9jazsKLQl9Ci0KLXVubG9jazoKLQlpZiAoUFRSX0VSUihzdGF0ZSkgPT0gLUVERUFE TEspIHsKLQkJZHJtX21vZGVzZXRfYmFja29mZigmY3R4KTsKLQkJZ290byByZXRyeTsKLQl9Ci0K LQlkcm1fbW9kZXNldF9kcm9wX2xvY2tzKCZjdHgpOwotCWRybV9tb2Rlc2V0X2FjcXVpcmVfZmlu aSgmY3R4KTsKLQlyZXR1cm4gc3RhdGU7Ci19Ci0KIGludAogbm91dmVhdV9kaXNwbGF5X3N1c3Bl bmQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgYm9vbCBydW50aW1lKQogewpAQCAtNzQwLDcgKzYy OSw3IEBAIG5vdXZlYXVfZGlzcGxheV9zdXNwZW5kKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGJv b2wgcnVudGltZSkKIAogCWlmIChkcm1fZHJ2X3VzZXNfYXRvbWljX21vZGVzZXQoZGV2KSkgewog CQlpZiAoIXJ1bnRpbWUpIHsKLQkJCWRpc3AtPnN1c3BlbmQgPSBub3V2ZWF1X2F0b21pY19zdXNw ZW5kKGRldik7CisJCQlkaXNwLT5zdXNwZW5kID0gZHJtX2F0b21pY19oZWxwZXJfc3VzcGVuZChk ZXYpOwogCQkJaWYgKElTX0VSUihkaXNwLT5zdXNwZW5kKSkgewogCQkJCWludCByZXQgPSBQVFJf RVJSKGRpc3AtPnN1c3BlbmQpOwogCQkJCWRpc3AtPnN1c3BlbmQgPSBOVUxMOwotLSAKMi43LjQK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdm eCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=