From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH v3 4/4] drm: Resurrect atomic rmfb code, v3 Date: Wed, 15 Feb 2017 15:56:09 +0200 Message-ID: <87k28rpngm.fsf@intel.com> References: <1481812185-19098-1-git-send-email-maarten.lankhorst@linux.intel.com> <1481812185-19098-5-git-send-email-maarten.lankhorst@linux.intel.com> <20170111161547.lfbt7e6kybimy625@phenom.ffwll.local> <20170124214454.GJ15212@intel.com> <20170125045445.uu2ytrkbupufolbu@phenom.ffwll.local> <66fc3da5-697b-1613-0a67-a5293209f0dc@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <66fc3da5-697b-1613-0a67-a5293209f0dc@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: Maarten Lankhorst , Thomas Hellstrom , Daniel Vetter , Matt Roper Cc: Daniel Vetter , Daniel Vetter , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, Sinclair Yeh List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCAyNSBKYW4gMjAxNywgTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0 QGxpbnV4LmludGVsLmNvbT4gd3JvdGU6Cj4gVGhpcyB3YXMgc29tZWhvdyBsb3N0IGJldHdlZW4g djMgYW5kIHRoZSBtZXJnZWQgdmVyc2lvbiBpbiBNYWFydGVuJ3MKPiBwYXRjaCBtZXJnZWQgYXM6 Cj4KPiBjb21taXQgZjJkNTgwYjlhODE0OTczNWNiYzRiNTljNGE4ZGY2MDE3MzY1ODE0MAo+IEF1 dGhvcjogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNv bT4KPiBEYXRlOiAgIFdlZCBNYXkgNCAxNDozODoyNiAyMDE2ICswMjAwCj4KPiAgICAgZHJtL2Nv cmU6IERvIG5vdCBwcmVzZXJ2ZSBmcmFtZWJ1ZmZlciBvbiBybWZiLCB2NC4KPgo+IFRoaXMgaW50 cm9kdWNlcyBhIHNsaWdodCBiZWhhdmlvcmFsIGNoYW5nZSB0byBybWZiLiBJbnN0ZWFkIG9mCj4g ZGlzYWJsaW5nIGEgY3J0YyB3aGVuIHRoZSBwcmltYXJ5IHBsYW5lIGlzIGRpc2FibGVkLCB3ZSB0 cnkgdG8KPiBwcmVzZXJ2ZSBpdC4KPgo+IEFwYXJ0IGZyb20gb2xkIHZlcnNpb25zIG9mIHRoZSB2 bXdnZnggeG9yZyBkcml2ZXIsIHRoZXJlIGlzCj4gbm90aGluZyBkZXBlbmRpbmcgb24gcm1mYiBk aXNhYmxpbmcgYSBjcnRjLiBTaW5jZSB2bXdnZnggaXMKPiBhIGxlZ2FjeSBkcml2ZXIgd2UgY2Fu IHNhZmVseSBvbmx5IGRpc2FibGUgdGhlIHBsYW5lIHdpdGggYXRvbWljLgo+Cj4gSWYgdGhpcyBj b21taXQgaXMgcmVqZWN0ZWQgYnkgdGhlIGRyaXZlciB0aGVuIHdlIHdpbGwgc3RpbGwgZmFsbAo+ IGJhY2sgdG8gdGhlIG9sZCBiZWhhdmlvciBhbmQgdHVybiBvZmYgdGhlIGNydGMuCj4KPiB2MjoK PiAtIFJlbW92ZSBwbGFuZS0+ZmIgYXNzaWdubWVudCwgZG9uZSBieSBkcm1fYXRvbWljX2NsZWFu X29sZF9mYi4KPiAtIEFkZCBXQVJOX09OIHdoZW4gYXRvbWljX3JlbW92ZV9mYiBmYWlscy4KPiAt IEFsd2F5cyBjYWxsIGRybV9hdG9taWNfc3RhdGVfcHV0Lgo+IHYzOgo+IC0gVXNlIGRybV9kcnZf dXNlc19hdG9taWNfbW9kZXNldAo+IC0gSGFuZGxlIHRoZSBjYXNlIHdoZXJlIHRoZSBmaXJzdCBw bGFuZS1kaXNhYmxlLW9ubHkgY29tbWl0IGZhaWxzCj4gICB3aXRoIC1FSU5WQUwuIFNvbWUgZHJp dmVycyBkbyBub3Qgc3VwcG9ydCB0aGlzLCBmYWxsIGJhY2sgdG8KPiAgIGRpc2FibGluZyBhbGwg Y3J0YydzIGluIHRoaXMgY2FzZS4KPgo+IFNpZ25lZC1vZmYtYnk6IERhbmllbCBWZXR0ZXIgPGRh bmllbC52ZXR0ZXJAaW50ZWwuY29tPgo+IFNpZ25lZC1vZmYtYnk6IERhbmllbCBWZXR0ZXIgPGRh bmllbC52ZXR0ZXJAZmZ3bGwuY2g+Cj4gU2lnbmVkLW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3Qg PG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KClB1c2hlZCB0byBkcm0tbWlzYy1u ZXh0LWZpeGVzLCBhbmQgc2VudCB0aGUgcHVsbCByZXF1ZXN0IHRvIERhdmUuIFRoYW5rcwpmb3Ig dGhlIHBhdGNoLgoKQlIsCkphbmkuCgoKPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9hdG9t aWMuYyAgICAgICAgfCAxMDYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4g IGRyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Y19pbnRlcm5hbC5oIHwgICAxICsKPiAgZHJpdmVycy9n cHUvZHJtL2RybV9mcmFtZWJ1ZmZlci5jICAgfCAgIDcgKysrCj4gIDMgZmlsZXMgY2hhbmdlZCwg MTE0IGluc2VydGlvbnMoKykKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0 b21pYy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+IGluZGV4IDcyMzM5MmZjOThj OC4uYzc5YWI4MDQ4NDM1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWlj LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCj4gQEAgLTIwNTgsNiArMjA1 OCwxMTIgQEAgc3RhdGljIHZvaWQgY29tcGxldGVfY3J0Y19zaWduYWxpbmcoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwKPiAgCWtmcmVlKGZlbmNlX3N0YXRlKTsKPiAgfQo+ICAKPiAraW50IGRybV9h dG9taWNfcmVtb3ZlX2ZiKHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiKQo+ICt7Cj4gKwlzdHJ1 Y3QgZHJtX21vZGVzZXRfYWNxdWlyZV9jdHggY3R4Owo+ICsJc3RydWN0IGRybV9kZXZpY2UgKmRl diA9IGZiLT5kZXY7Cj4gKwlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGU7Cj4gKwlzdHJ1 Y3QgZHJtX3BsYW5lICpwbGFuZTsKPiArCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uOwo+ICsJ c3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGU7Cj4gKwlpbnQgaSwgcmV0ID0g MDsKPiArCXVuc2lnbmVkIHBsYW5lX21hc2ssIGRpc2FibGVfY3J0Y3MgPSBmYWxzZTsKPiArCj4g KwlzdGF0ZSA9IGRybV9hdG9taWNfc3RhdGVfYWxsb2MoZGV2KTsKPiArCWlmICghc3RhdGUpCj4g KwkJcmV0dXJuIC1FTk9NRU07Cj4gKwo+ICsJZHJtX21vZGVzZXRfYWNxdWlyZV9pbml0KCZjdHgs IDApOwo+ICsJc3RhdGUtPmFjcXVpcmVfY3R4ID0gJmN0eDsKPiArCj4gK3JldHJ5Ogo+ICsJcGxh bmVfbWFzayA9IDA7Cj4gKwlyZXQgPSBkcm1fbW9kZXNldF9sb2NrX2FsbF9jdHgoZGV2LCAmY3R4 KTsKPiArCWlmIChyZXQpCj4gKwkJZ290byB1bmxvY2s7Cj4gKwo+ICsJZHJtX2Zvcl9lYWNoX3Bs YW5lKHBsYW5lLCBkZXYpIHsKPiArCQlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0 ZTsKPiArCj4gKwkJaWYgKHBsYW5lLT5zdGF0ZS0+ZmIgIT0gZmIpCj4gKwkJCWNvbnRpbnVlOwo+ ICsKPiArCQlwbGFuZV9zdGF0ZSA9IGRybV9hdG9taWNfZ2V0X3BsYW5lX3N0YXRlKHN0YXRlLCBw bGFuZSk7Cj4gKwkJaWYgKElTX0VSUihwbGFuZV9zdGF0ZSkpIHsKPiArCQkJcmV0ID0gUFRSX0VS UihwbGFuZV9zdGF0ZSk7Cj4gKwkJCWdvdG8gdW5sb2NrOwo+ICsJCX0KPiArCj4gKwkJLyoKPiAr CQkgKiBTb21lIGRyaXZlcnMgZG8gbm90IHN1cHBvcnQga2VlcGluZyBjcnRjIGFjdGl2ZSB3aXRo IHRoZQo+ICsJCSAqIHByaW1hcnkgcGxhbmUgZGlzYWJsZWQuIElmIHdlIGZhaWwgdG8gY29tbWl0 IHdpdGggLUVJTlZBTAo+ICsJCSAqIHRoZW4gd2Ugd2lsbCB0cnkgdG8gcGVyZm9ybSB0aGUgc2Ft ZSBjb21taXQgYnV0IHdpdGggYWxsCj4gKwkJICogY3J0YydzIGRpc2FibGVkIGZvciBwcmltYXJ5 IHBsYW5lcyBhcyB3ZWxsLgo+ICsJCSAqLwo+ICsJCWlmIChkaXNhYmxlX2NydGNzICYmIHBsYW5l X3N0YXRlLT5jcnRjLT5wcmltYXJ5ID09IHBsYW5lKSB7Cj4gKwkJCXN0cnVjdCBkcm1fY3J0Y19z dGF0ZSAqY3J0Y19zdGF0ZTsKPiArCj4gKwkJCWNydGNfc3RhdGUgPSBkcm1fYXRvbWljX2dldF9l eGlzdGluZ19jcnRjX3N0YXRlKHN0YXRlLCBwbGFuZV9zdGF0ZS0+Y3J0Yyk7Cj4gKwo+ICsJCQly ZXQgPSBkcm1fYXRvbWljX2FkZF9hZmZlY3RlZF9jb25uZWN0b3JzKHN0YXRlLCBwbGFuZV9zdGF0 ZS0+Y3J0Yyk7Cj4gKwkJCWlmIChyZXQpCj4gKwkJCQlnb3RvIHVubG9jazsKPiArCj4gKwkJCWNy dGNfc3RhdGUtPmFjdGl2ZSA9IGZhbHNlOwo+ICsJCQlyZXQgPSBkcm1fYXRvbWljX3NldF9tb2Rl X2Zvcl9jcnRjKGNydGNfc3RhdGUsIE5VTEwpOwo+ICsJCQlpZiAocmV0KQo+ICsJCQkJZ290byB1 bmxvY2s7Cj4gKwkJfQo+ICsKPiArCQlkcm1fYXRvbWljX3NldF9mYl9mb3JfcGxhbmUocGxhbmVf c3RhdGUsIE5VTEwpOwo+ICsJCXJldCA9IGRybV9hdG9taWNfc2V0X2NydGNfZm9yX3BsYW5lKHBs YW5lX3N0YXRlLCBOVUxMKTsKPiArCQlpZiAocmV0KQo+ICsJCQlnb3RvIHVubG9jazsKPiArCj4g KwkJcGxhbmVfbWFzayB8PSBCSVQoZHJtX3BsYW5lX2luZGV4KHBsYW5lKSk7Cj4gKwo+ICsJCXBs YW5lLT5vbGRfZmIgPSBwbGFuZS0+ZmI7Cj4gKwl9Cj4gKwo+ICsJLyogVGhpcyBsaXN0IGlzIG9u bHkgbm90IGVtcHR5IHdoZW4gZGlzYWJsZV9jcnRjcyBpcyBzZXQuICovCj4gKwlmb3JfZWFjaF9j b25uZWN0b3JfaW5fc3RhdGUoc3RhdGUsIGNvbm4sIGNvbm5fc3RhdGUsIGkpIHsKPiArCQlyZXQg PSBkcm1fYXRvbWljX3NldF9jcnRjX2Zvcl9jb25uZWN0b3IoY29ubl9zdGF0ZSwgTlVMTCk7Cj4g Kwo+ICsJCWlmIChyZXQpCj4gKwkJCWdvdG8gdW5sb2NrOwo+ICsJfQo+ICsKPiArCWlmIChwbGFu ZV9tYXNrKQo+ICsJCXJldCA9IGRybV9hdG9taWNfY29tbWl0KHN0YXRlKTsKPiArCj4gK3VubG9j azoKPiArCWlmIChwbGFuZV9tYXNrKQo+ICsJCWRybV9hdG9taWNfY2xlYW5fb2xkX2ZiKGRldiwg cGxhbmVfbWFzaywgcmV0KTsKPiArCj4gKwlpZiAocmV0ID09IC1FREVBRExLKSB7Cj4gKwkJZHJt X21vZGVzZXRfYmFja29mZigmY3R4KTsKPiArCQlnb3RvIHJldHJ5Owo+ICsJfQo+ICsKPiArCWRy bV9hdG9taWNfc3RhdGVfcHV0KHN0YXRlKTsKPiArCj4gKwlpZiAocmV0ID09IC1FSU5WQUwgJiYg IWRpc2FibGVfY3J0Y3MpIHsKPiArCQlkaXNhYmxlX2NydGNzID0gdHJ1ZTsKPiArCj4gKwkJc3Rh dGUgPSBkcm1fYXRvbWljX3N0YXRlX2FsbG9jKGRldik7Cj4gKwkJaWYgKHN0YXRlKSB7Cj4gKwkJ CXN0YXRlLT5hY3F1aXJlX2N0eCA9ICZjdHg7Cj4gKwkJCWdvdG8gcmV0cnk7Cj4gKwkJfQo+ICsJ CXJldCA9IC1FTk9NRU07Cj4gKwl9Cj4gKwo+ICsJZHJtX21vZGVzZXRfZHJvcF9sb2NrcygmY3R4 KTsKPiArCWRybV9tb2Rlc2V0X2FjcXVpcmVfZmluaSgmY3R4KTsKPiArCj4gKwlyZXR1cm4gcmV0 Owo+ICt9Cj4gKwo+ICBpbnQgZHJtX21vZGVfYXRvbWljX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsCj4gIAkJCSAgdm9pZCAqZGF0YSwgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpCj4g IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjX2ludGVybmFsLmggYi9k cml2ZXJzL2dwdS9kcm0vZHJtX2NydGNfaW50ZXJuYWwuaAo+IGluZGV4IDcyNGMzMjkxODZkNS4u ZDk4YTY4M2QzMWQwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Y19pbnRl cm5hbC5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjX2ludGVybmFsLmgKPiBAQCAt MTg0LDYgKzE4NCw3IEBAIGludCBkcm1fYXRvbWljX2dldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX21v ZGVfb2JqZWN0ICpvYmosCj4gIAkJCSAgICBzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wZXJ0eSwg dWludDY0X3QgKnZhbCk7Cj4gIGludCBkcm1fbW9kZV9hdG9taWNfaW9jdGwoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwKPiAgCQkJICB2b2lkICpkYXRhLCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJp dik7Cj4gK2ludCBkcm1fYXRvbWljX3JlbW92ZV9mYihzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpm Yik7Cj4gIAo+ICAKPiAgLyogZHJtX3BsYW5lLmMgKi8KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2RybV9mcmFtZWJ1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9mcmFtZWJ1ZmZl ci5jCj4gaW5kZXggNTg4Y2NjM2EyMjE4Li4zNTdiNTIxYmJkYzMgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2RybV9mcmFtZWJ1ZmZlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2Ry bV9mcmFtZWJ1ZmZlci5jCj4gQEAgLTc3Myw2ICs3NzMsMTIgQEAgdm9pZCBkcm1fZnJhbWVidWZm ZXJfcmVtb3ZlKHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiKQo+ICAJICogaW4gdGhpcyBtYW5u ZXIuCj4gIAkgKi8KPiAgCWlmIChkcm1fZnJhbWVidWZmZXJfcmVhZF9yZWZjb3VudChmYikgPiAx KSB7Cj4gKwkJaWYgKGRybV9kcnZfdXNlc19hdG9taWNfbW9kZXNldChkZXYpKSB7Cj4gKwkJCWlu dCByZXQgPSBkcm1fYXRvbWljX3JlbW92ZV9mYihmYik7Cj4gKwkJCVdBUk4ocmV0LCAiYXRvbWlj IHJlbW92ZV9mYiBmYWlsZWQgd2l0aCAlaVxuIiwgcmV0KTsKPiArCQkJZ290byBvdXQ7Cj4gKwkJ fQo+ICsKPiAgCQlkcm1fbW9kZXNldF9sb2NrX2FsbChkZXYpOwo+ICAJCS8qIHJlbW92ZSBmcm9t IGFueSBDUlRDICovCj4gIAkJZHJtX2Zvcl9lYWNoX2NydGMoY3J0YywgZGV2KSB7Cj4gQEAgLTc5 MCw2ICs3OTYsNyBAQCB2b2lkIGRybV9mcmFtZWJ1ZmZlcl9yZW1vdmUoc3RydWN0IGRybV9mcmFt ZWJ1ZmZlciAqZmIpCj4gIAkJZHJtX21vZGVzZXRfdW5sb2NrX2FsbChkZXYpOwo+ICAJfQo+ICAK PiArb3V0Ogo+ICAJZHJtX2ZyYW1lYnVmZmVyX3VucmVmZXJlbmNlKGZiKTsKPiAgfQo+ICBFWFBP UlRfU1lNQk9MKGRybV9mcmFtZWJ1ZmZlcl9yZW1vdmUpOwoKLS0gCkphbmkgTmlrdWxhLCBJbnRl bCBPcGVuIFNvdXJjZSBUZWNobm9sb2d5IENlbnRlcgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZngK