From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH 4/4] drm: Resurrect atomic rmfb code, v2 Date: Thu, 15 Dec 2016 15:29:45 +0100 Message-ID: <1481812185-19098-5-git-send-email-maarten.lankhorst@linux.intel.com> References: <1481812185-19098-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: <1481812185-19098-1-git-send-email-maarten.lankhorst@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: Daniel Vetter , intel-gfx@lists.freedesktop.org, Daniel Vetter List-Id: dri-devel@lists.freedesktop.org RnJvbTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KClRoaXMgd2FzIHNv bWVob3cgbG9zdCBiZXR3ZWVuIHYzIGFuZCB0aGUgbWVyZ2VkIHZlcnNpb24gaW4gTWFhcnRlbidz CnBhdGNoIG1lcmdlZCBhczoKCmNvbW1pdCBmMmQ1ODBiOWE4MTQ5NzM1Y2JjNGI1OWM0YThkZjYw MTczNjU4MTQwCkF1dGhvcjogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxp bnV4LmludGVsLmNvbT4KRGF0ZTogICBXZWQgTWF5IDQgMTQ6Mzg6MjYgMjAxNiArMDIwMAoKICAg IGRybS9jb3JlOiBEbyBub3QgcHJlc2VydmUgZnJhbWVidWZmZXIgb24gcm1mYiwgdjQuCgpBY3R1 YWwgY29kZSBjb3BpZWQgZnJvbSBNYWFydGVuJ3MgcGF0Y2gsIGJ1dCB3aXRoIHRoZSBzbGlnaHQg Y2hhbmdlIHRvCmp1c3QgdXNlIGRldi0+bW9kZV9jb25maWcuZnVuY3MtPmF0b21pY19jb21taXQg dG8gZGVjaWRlIHdoZXRoZXIgdG8KdXNlIHRoZSBhdG9taWMgcGF0aCBvciBub3QuCgp2MjoKLSBS ZW1vdmUgcGxhbmUtPmZiIGFzc2lnbm1lbnQsIGRvbmUgYnkgZHJtX2F0b21pY19jbGVhbl9vbGRf ZmIuCi0gQWRkIFdBUk5fT04gd2hlbiBhdG9taWNfcmVtb3ZlX2ZiIGZhaWxzLgotIEFsd2F5cyBj YWxsIGRybV9hdG9taWNfc3RhdGVfcHV0LgoKU2lnbmVkLW9mZi1ieTogRGFuaWVsIFZldHRlciA8 ZGFuaWVsLnZldHRlckBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhbmllbCBWZXR0ZXIgPGRh bmllbC52ZXR0ZXJAZmZ3bGwuY2g+ClNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxt YWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2Ry bV9hdG9taWMuYyAgICAgICAgfCA2NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2NydGNfaW50ZXJuYWwuaCB8ICAxICsKIGRyaXZlcnMv Z3B1L2RybS9kcm1fZnJhbWVidWZmZXIuYyAgIHwgIDcgKysrKwogMyBmaWxlcyBjaGFuZ2VkLCA3 MiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMu YyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKaW5kZXggZDFkMjUyMjYxYmYxLi4yM2Ez ODQ1NTQyZTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwpAQCAtMjA1OSw2ICsyMDU5LDcwIEBAIHN0YXRp YyB2b2lkIGNvbXBsZXRlX2NydGNfc2lnbmFsaW5nKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJ a2ZyZWUoZmVuY2Vfc3RhdGUpOwogfQogCitpbnQgZHJtX2F0b21pY19yZW1vdmVfZmIoc3RydWN0 IGRybV9mcmFtZWJ1ZmZlciAqZmIpCit7CisJc3RydWN0IGRybV9tb2Rlc2V0X2FjcXVpcmVfY3R4 IGN0eDsKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZmItPmRldjsKKwlzdHJ1Y3QgZHJtX2F0 b21pY19zdGF0ZSAqc3RhdGU7CisJc3RydWN0IGRybV9wbGFuZSAqcGxhbmU7CisJaW50IHJldCA9 IDA7CisJdW5zaWduZWQgcGxhbmVfbWFzazsKKworCXN0YXRlID0gZHJtX2F0b21pY19zdGF0ZV9h bGxvYyhkZXYpOworCWlmICghc3RhdGUpCisJCXJldHVybiAtRU5PTUVNOworCisJZHJtX21vZGVz ZXRfYWNxdWlyZV9pbml0KCZjdHgsIDApOworCXN0YXRlLT5hY3F1aXJlX2N0eCA9ICZjdHg7CisK K3JldHJ5OgorCXBsYW5lX21hc2sgPSAwOworCXJldCA9IGRybV9tb2Rlc2V0X2xvY2tfYWxsX2N0 eChkZXYsICZjdHgpOworCWlmIChyZXQpCisJCWdvdG8gdW5sb2NrOworCisJZHJtX2Zvcl9lYWNo X3BsYW5lKHBsYW5lLCBkZXYpIHsKKwkJc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqcGxhbmVfc3Rh dGU7CisKKwkJaWYgKHBsYW5lLT5zdGF0ZS0+ZmIgIT0gZmIpCisJCQljb250aW51ZTsKKworCQlw bGFuZV9zdGF0ZSA9IGRybV9hdG9taWNfZ2V0X3BsYW5lX3N0YXRlKHN0YXRlLCBwbGFuZSk7CisJ CWlmIChJU19FUlIocGxhbmVfc3RhdGUpKSB7CisJCQlyZXQgPSBQVFJfRVJSKHBsYW5lX3N0YXRl KTsKKwkJCWdvdG8gdW5sb2NrOworCQl9CisKKwkJZHJtX2F0b21pY19zZXRfZmJfZm9yX3BsYW5l KHBsYW5lX3N0YXRlLCBOVUxMKTsKKwkJcmV0ID0gZHJtX2F0b21pY19zZXRfY3J0Y19mb3JfcGxh bmUocGxhbmVfc3RhdGUsIE5VTEwpOworCQlpZiAocmV0KQorCQkJZ290byB1bmxvY2s7CisKKwkJ cGxhbmVfbWFzayB8PSBCSVQoZHJtX3BsYW5lX2luZGV4KHBsYW5lKSk7CisKKwkJcGxhbmUtPm9s ZF9mYiA9IHBsYW5lLT5mYjsKKwl9CisKKwlpZiAocGxhbmVfbWFzaykKKwkJcmV0ID0gZHJtX2F0 b21pY19jb21taXQoc3RhdGUpOworCit1bmxvY2s6CisJaWYgKHBsYW5lX21hc2spCisJCWRybV9h dG9taWNfY2xlYW5fb2xkX2ZiKGRldiwgcGxhbmVfbWFzaywgcmV0KTsKKworCWlmIChyZXQgPT0g LUVERUFETEspIHsKKwkJZHJtX21vZGVzZXRfYmFja29mZigmY3R4KTsKKwkJZ290byByZXRyeTsK Kwl9CisKKwlkcm1fYXRvbWljX3N0YXRlX3B1dChzdGF0ZSk7CisKKwlkcm1fbW9kZXNldF9kcm9w X2xvY2tzKCZjdHgpOworCWRybV9tb2Rlc2V0X2FjcXVpcmVfZmluaSgmY3R4KTsKKworCXJldHVy biByZXQ7Cit9CisKIGludCBkcm1fbW9kZV9hdG9taWNfaW9jdGwoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwKIAkJCSAgdm9pZCAqZGF0YSwgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpCiB7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGNfaW50ZXJuYWwuaCBiL2RyaXZlcnMv Z3B1L2RybS9kcm1fY3J0Y19pbnRlcm5hbC5oCmluZGV4IGNkZjY4NjBjOWQyMi4uMTIxZTI1MDg1 M2QyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGNfaW50ZXJuYWwuaAorKysg Yi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGNfaW50ZXJuYWwuaApAQCAtMTc4LDYgKzE3OCw3IEBA IGludCBkcm1fYXRvbWljX2dldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX21vZGVfb2JqZWN0ICpvYmos CiAJCQkgICAgc3RydWN0IGRybV9wcm9wZXJ0eSAqcHJvcGVydHksIHVpbnQ2NF90ICp2YWwpOwog aW50IGRybV9tb2RlX2F0b21pY19pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQkJICB2 b2lkICpkYXRhLCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdik7CitpbnQgZHJtX2F0b21pY19y ZW1vdmVfZmIoc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIpOwogCiAKIC8qIGRybV9wbGFuZS5j ICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZyYW1lYnVmZmVyLmMgYi9kcml2 ZXJzL2dwdS9kcm0vZHJtX2ZyYW1lYnVmZmVyLmMKaW5kZXggY2JmMGM4OTNmNDI2Li5jMzU4YmY4 MjgwYTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZnJhbWVidWZmZXIuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZyYW1lYnVmZmVyLmMKQEAgLTc3MCw2ICs3NzAsMTIgQEAg dm9pZCBkcm1fZnJhbWVidWZmZXJfcmVtb3ZlKHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiKQog CSAqIGluIHRoaXMgbWFubmVyLgogCSAqLwogCWlmIChkcm1fZnJhbWVidWZmZXJfcmVhZF9yZWZj b3VudChmYikgPiAxKSB7CisJCWlmIChkZXYtPm1vZGVfY29uZmlnLmZ1bmNzLT5hdG9taWNfY29t bWl0KSB7CisJCQlpbnQgcmV0ID0gZHJtX2F0b21pY19yZW1vdmVfZmIoZmIpOworCQkJV0FSTihy ZXQsICJhdG9taWMgcmVtb3ZlX2ZiIGZhaWxlZCB3aXRoICVpXG4iLCByZXQpOworCQkJZ290byBv dXQ7CisJCX0KKwogCQlkcm1fbW9kZXNldF9sb2NrX2FsbChkZXYpOwogCQkvKiByZW1vdmUgZnJv bSBhbnkgQ1JUQyAqLwogCQlkcm1fZm9yX2VhY2hfY3J0YyhjcnRjLCBkZXYpIHsKQEAgLTc4Nyw2 ICs3OTMsNyBAQCB2b2lkIGRybV9mcmFtZWJ1ZmZlcl9yZW1vdmUoc3RydWN0IGRybV9mcmFtZWJ1 ZmZlciAqZmIpCiAJCWRybV9tb2Rlc2V0X3VubG9ja19hbGwoZGV2KTsKIAl9CiAKK291dDoKIAlk cm1fZnJhbWVidWZmZXJfdW5yZWZlcmVuY2UoZmIpOwogfQogRVhQT1JUX1NZTUJPTChkcm1fZnJh bWVidWZmZXJfcmVtb3ZlKTsKLS0gCjIuNy40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9kcmktZGV2ZWwK