From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 4/9] drm/i915: Introduce intel_prepare_cursor_plane() Date: Fri, 28 Nov 2014 19:10:35 +0100 Message-ID: <20141128181035.GK32117@phenom.ffwll.local> References: <1416858786-25376-1-git-send-email-matthew.d.roper@intel.com> <1416858786-25376-5-git-send-email-matthew.d.roper@intel.com> <5478674C.8040305@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wi0-f169.google.com (mail-wi0-f169.google.com [209.85.212.169]) by gabe.freedesktop.org (Postfix) with ESMTP id D3A376EF39 for ; Fri, 28 Nov 2014 10:10:08 -0800 (PST) Received: by mail-wi0-f169.google.com with SMTP id r20so21803916wiv.0 for ; Fri, 28 Nov 2014 10:10:08 -0800 (PST) Content-Disposition: inline In-Reply-To: <5478674C.8040305@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ander Conselvan de Oliveira Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBOb3YgMjgsIDIwMTQgYXQgMDI6MTU6MDhQTSArMDIwMCwgQW5kZXIgQ29uc2VsdmFu IGRlIE9saXZlaXJhIHdyb3RlOgo+IE9uIDExLzI0LzIwMTQgMDk6NTMgUE0sIE1hdHQgUm9wZXIg d3JvdGU6Cj4gPlByaW1hcnkgYW5kIHNwcml0ZSBwbGFuZXMgaGF2ZSBhbHJlYWR5IGJlZW4gcmVm YWN0b3JlZCB0byBpbmNsdWRlIGEKPiA+J3ByZXBhcmUnIHN0ZXAgd2hpY2ggaGFuZGxlcyBhbGwg dGhlIGNvbW1pdC10aW1lIG9wZXJhdGlvbnMgdGhhdCBjb3VsZAo+ID5mYWlsIChpLmUuLCBwaW5u aW5nIGJ1ZmZlcnMgYW5kIHN1Y2gpLiAgUmVmYWN0b3IgdGhlIGN1cnNvciBjb21taXQgaW4gYQo+ ID5zaW1pbGFyIG1hbm5lci4KPiA+Cj4gPkZvciBzaW1wbGljaXR5IGFuZCBjb25zaXN0ZW5jeSB3 aXRoIG90aGVyIHBsYW5lIHR5cGVzLCB3ZSBhbHNvIHN3aXRjaCB0bwo+ID51c2luZyBpbnRlbF9w aW5fYW5kX2ZlbmNlX2ZiX29iaigpIHRvIHBlcmZvcm0gb3VyIHBpbm5pbmcgZm9yCj4gPm5vbi1w aHlzaWNhbCBjdXJzb3JzLiAgVGhpcyB3aWxsIGFsbG93IHVzIHRvIG1vcmUgZWFzaWx5IG1pZ3Jh dGUgdGhlCj4gPmNvZGUgaW50byB0aGUgYXRvbWljICdiZWdpbicgaGFuZGxlciBpbiBhIHBsYW5l LWFnbm9zdGljIG1hbm5lciBpbiBhCj4gPmZ1dHVyZSBwYXRjaHNldC4KPiA+Cj4gPlNpZ25lZC1v ZmYtYnk6IE1hdHQgUm9wZXIgPG1hdHRoZXcuZC5yb3BlckBpbnRlbC5jb20+Cj4gPi0tLQo+ID4g IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDExNCArKysrKysrKysrKysr Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ID4gIDEgZmlsZSBjaGFuZ2VkLCA0NCBpbnNlcnRpb25z KCspLCA3MCBkZWxldGlvbnMoLSkKPiA+Cj4gPmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5 LmMKPiA+aW5kZXggMTc3ODhmOC4uZmY5NGU0MyAxMDA2NDQKPiA+LS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gPisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rpc3BsYXkuYwo+ID5AQCAtMTE4OTksMTkgKzExODk5LDUxIEBAIGludGVsX2NoZWNrX2N1 cnNvcl9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiA+ICB9Cj4gPgo+ID4gIHN0YXRp YyBpbnQKPiA+K2ludGVsX3ByZXBhcmVfY3Vyc29yX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBs YW5lLAo+ID4rCQkJICAgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpzdGF0ZSkKPiA+K3sKPiA+ KwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gcGxhbmUtPmRldjsKPiA+KwlzdHJ1Y3QgZHJtX2Zy YW1lYnVmZmVyICpmYiA9IHN0YXRlLT5mYjsKPiA+KwlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxf Y3J0YyA9IHRvX2ludGVsX2NydGMoc3RhdGUtPmNydGMpOwo+ID4rCXN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvYmogPSBpbnRlbF9mYl9vYmooZmIpOwo+ID4rCXN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvbGRfb2JqID0gaW50ZWxfZmJfb2JqKHBsYW5lLT5mYik7Cj4gPisJZW51bSBw aXBlIHBpcGUgPSBpbnRlbF9jcnRjLT5waXBlOwo+ID4rCWludCByZXQgPSAwOwo+ID4rCj4gPisJ aWYgKG9sZF9vYmogIT0gb2JqKSB7Cj4gPisJCS8qIHdlIG9ubHkgbmVlZCB0byBwaW4gaW5zaWRl IEdUVCBpZiBjdXJzb3IgaXMgbm9uLXBoeSAqLwo+ID4rCQltdXRleF9sb2NrKCZkZXYtPnN0cnVj dF9tdXRleCk7Cj4gPisJCWlmICghSU5URUxfSU5GTyhkZXYpLT5jdXJzb3JfbmVlZHNfcGh5c2lj YWwpIHsKPiA+KwkJCWlmIChvYmopCj4gPisJCQkJcmV0ID0gaW50ZWxfcGluX2FuZF9mZW5jZV9m Yl9vYmoocGxhbmUsIGZiLCBOVUxMKTsKPiA+KwkJCWlmIChyZXQgPT0gMCkKPiA+KwkJCQlpOTE1 X2dlbV90cmFja19mYihpbnRlbF9jcnRjLT5jdXJzb3JfYm8sIG9iaiwKPiA+KwkJCQkJCSAgSU5U RUxfRlJPTlRCVUZGRVJfQ1VSU09SKHBpcGUpKTsKPiAKPiBTaG91bGRuJ3QgdGhlIGZyb250YnVm ZmVyIGJpdHMgYmUgdXBkYXRlZCBpbiB0aGUgZWxzZSBjYXNlIHRvbz8gQXQgbGVhc3QKPiB0aGV5 IHdlcmUsIHByaW9yIHRvIHRoaXMgcGF0Y2guCgpnZW1fdHJhY2tfZmIgbXVzdCBiZSBjYWxsZWQg YWx3YXlzIHdoZW4geW91IGV4Y2hhbmdlIHBsYW5lIGJ1ZmZlciAoZXZlbgp3aGVuIHRoZSBwbGFu ZSBpcyBkaXNhYmxlZCkuIEl0IHdvbid0IGh1cnQgdG9vIGJhZGx5IHNpbmNlIHRoZSBhZmZlY3Rl ZApwbGF0Zm9ybXMgZG9uJ3Qgc3VwcG9ydCBmYmMvcHNyIG9yIGFueXRoaW5nIHdoaWNoIG5lZWRz IGZyb250YnVmZmVyCnRyYWNraW5nLiBXZWxsIG1vcmUgY29ycmVjdGx5IHRoZSBodyBjYW4gZG8g ZmJjLCBidXQgSSBkb24ndCB0aGluayB3ZSdsbApldmVyIGVuYWJsZSBpdC4gQnV0IHRoYXQncyBh c2lkZSwgc3RpbGwgYSBidWcuCgo+ID4rCQl9IGVsc2Ugewo+ID4rCQkJaW50IGFsaWduID0gSVNf STgzMChkZXYpID8gMTYgKiAxMDI0IDogMjU2Owo+ID4rCQkJaWYgKG9iaikKPiA+KwkJCQlyZXQg PSBpOTE1X2dlbV9vYmplY3RfYXR0YWNoX3BoeXMob2JqLCBhbGlnbik7Cj4gPisJCQlpZiAocmV0 KQo+ID4rCQkJCURSTV9ERUJVR19LTVMoImZhaWxlZCB0byBhdHRhY2ggcGh5cyBvYmplY3RcbiIp Owo+ID4rCQl9Cj4gPisJCW11dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwo+ID4rCX0K PiA+Kwo+ID4rCXJldHVybiByZXQ7Cj4gPit9Cj4gPisKPiA+K3N0YXRpYyB2b2lkCj4gPiAgaW50 ZWxfY29tbWl0X2N1cnNvcl9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiA+ICAJCQkg IHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqc3RhdGUpCj4gPiAgewo+ID4gIAlzdHJ1Y3QgZHJt X2NydGMgKmNydGMgPSBzdGF0ZS0+Y3J0YzsKPiA+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9 IGNydGMtPmRldjsKPiA+LQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYt PmRldl9wcml2YXRlOwo+ID4gIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2lu dGVsX2NydGMoY3J0Yyk7Cj4gPiAgCXN0cnVjdCBpbnRlbF9wbGFuZSAqaW50ZWxfcGxhbmUgPSB0 b19pbnRlbF9wbGFuZShwbGFuZSk7Cj4gPiAgCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpv YmogPSBpbnRlbF9mYl9vYmooc3RhdGUtPmZiKTsKPiA+ICAJZW51bSBwaXBlIHBpcGUgPSBpbnRl bF9jcnRjLT5waXBlOwo+ID4gIAl1bnNpZ25lZCBvbGRfd2lkdGg7Cj4gPiAgCXVpbnQzMl90IGFk ZHI7Cj4gPi0JaW50IHJldDsKPiA+Cj4gPiAgCWNydGMtPmN1cnNvcl94ID0gc3RhdGUtPm9yaWdf ZHN0LngxOwo+ID4gIAljcnRjLT5jdXJzb3JfeSA9IHN0YXRlLT5vcmlnX2RzdC55MTsKPiA+QEAg LTExOTI5LDc1ICsxMTk2MSwxOCBAQCBpbnRlbF9jb21taXRfY3Vyc29yX3BsYW5lKHN0cnVjdCBk cm1fcGxhbmUgKnBsYW5lLAo+ID4gIAlpZiAoaW50ZWxfY3J0Yy0+Y3Vyc29yX2JvID09IG9iaikK PiA+ICAJCWdvdG8gdXBkYXRlOwo+ID4KPiA+LQkvKiBpZiB3ZSB3YW50IHRvIHR1cm4gb2ZmIHRo ZSBjdXJzb3IgaWdub3JlIHdpZHRoIGFuZCBoZWlnaHQgKi8KPiA+LQlpZiAoIW9iaikgewo+ID4t CQlEUk1fREVCVUdfS01TKCJjdXJzb3Igb2ZmXG4iKTsKPiA+KwlpZiAoIW9iaikKPiA+ICAJCWFk ZHIgPSAwOwo+ID4tCQltdXRleF9sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Cj4gPi0JCWdvdG8g ZmluaXNoOwo+ID4tCX0KPiA+LQo+ID4tCS8qIHdlIG9ubHkgbmVlZCB0byBwaW4gaW5zaWRlIEdU VCBpZiBjdXJzb3IgaXMgbm9uLXBoeSAqLwo+ID4tCW11dGV4X2xvY2soJmRldi0+c3RydWN0X211 dGV4KTsKPiA+LQlpZiAoIUlOVEVMX0lORk8oZGV2KS0+Y3Vyc29yX25lZWRzX3BoeXNpY2FsKSB7 Cj4gPi0JCXVuc2lnbmVkIGFsaWdubWVudDsKPiA+LQo+ID4tCQkvKgo+ID4tCQkgKiBHbG9iYWwg Z3R0IHB0ZSByZWdpc3RlcnMgYXJlIHNwZWNpYWwgcmVnaXN0ZXJzIHdoaWNoIGFjdHVhbGx5Cj4g Pi0JCSAqIGZvcndhcmQgd3JpdGVzIHRvIGEgY2h1bmsgb2Ygc3lzdGVtIG1lbW9yeS4gV2hpY2gg bWVhbnMgdGhhdAo+ID4tCQkgKiB0aGVyZSBpcyBubyByaXNrIHRoYXQgdGhlIHJlZ2lzdGVyIHZh bHVlcyBkaXNhcHBlYXIgYXMgc29vbgo+ID4tCQkgKiBhcyB3ZSBjYWxsIGludGVsX3J1bnRpbWVf cG1fcHV0KCksIHNvIGl0IGlzIGNvcnJlY3QgdG8gd3JhcAo+ID4tCQkgKiBvbmx5IHRoZSBwaW4v dW5waW4vZmVuY2UgYW5kIG5vdCBtb3JlLgo+ID4tCQkgKi8KPiA+LQkJaW50ZWxfcnVudGltZV9w bV9nZXQoZGV2X3ByaXYpOwo+ID4tCj4gPi0JCS8qIE5vdGUgdGhhdCB0aGUgdy9hIGFsc28gcmVx dWlyZXMgMiBQVEUgb2YgcGFkZGluZyBmb2xsb3dpbmcKPiA+LQkJICogdGhlIGJvLiBXZSBjdXJy ZW50bHkgZmlsbCBhbGwgdW51c2VkIFBURSB3aXRoIHRoZSBzaGFkb3cKPiA+LQkJICogcGFnZSBh bmQgc28gd2Ugc2hvdWxkIGFsd2F5cyBoYXZlIHZhbGlkIFBURSBmb2xsb3dpbmcgdGhlCj4gPi0J CSAqIGN1cnNvciBwcmV2ZW50aW5nIHRoZSBWVC1kIHdhcm5pbmcuCj4gPi0JCSAqLwo+ID4tCQlh bGlnbm1lbnQgPSAwOwo+ID4tCQlpZiAobmVlZF92dGRfd2EoZGV2KSkKPiA+LQkJCWFsaWdubWVu dCA9IDY0KjEwMjQ7Cj4gPi0KPiA+LQkJcmV0ID0gaTkxNV9nZW1fb2JqZWN0X3Bpbl90b19kaXNw bGF5X3BsYW5lKG9iaiwgYWxpZ25tZW50LCBOVUxMKTsKPiA+LQkJaWYgKHJldCkgewo+ID4tCQkJ RFJNX0RFQlVHX0tNUygiZmFpbGVkIHRvIG1vdmUgY3Vyc29yIGJvIGludG8gdGhlIEdUVFxuIik7 Cj4gPi0JCQlpbnRlbF9ydW50aW1lX3BtX3B1dChkZXZfcHJpdik7Cj4gPi0JCQlnb3RvIGZhaWxf bG9ja2VkOwo+ID4tCQl9Cj4gPi0KPiA+LQkJcmV0ID0gaTkxNV9nZW1fb2JqZWN0X3B1dF9mZW5j ZShvYmopOwo+ID4tCQlpZiAocmV0KSB7Cj4gPi0JCQlEUk1fREVCVUdfS01TKCJmYWlsZWQgdG8g cmVsZWFzZSBmZW5jZSBmb3IgY3Vyc29yIik7Cj4gPi0JCQlpbnRlbF9ydW50aW1lX3BtX3B1dChk ZXZfcHJpdik7Cj4gPi0JCQlnb3RvIGZhaWxfdW5waW47Cj4gPi0JCX0KPiA+LQo+ID4rCWVsc2Ug aWYgKCFJTlRFTF9JTkZPKGRldiktPmN1cnNvcl9uZWVkc19waHlzaWNhbCkKPiA+ICAJCWFkZHIg PSBpOTE1X2dlbV9vYmpfZ2d0dF9vZmZzZXQob2JqKTsKPiA+LQo+ID4tCQlpbnRlbF9ydW50aW1l X3BtX3B1dChkZXZfcHJpdik7Cj4gPi0KPiA+LQl9IGVsc2Ugewo+ID4tCQlpbnQgYWxpZ24gPSBJ U19JODMwKGRldikgPyAxNiAqIDEwMjQgOiAyNTY7Cj4gPi0JCXJldCA9IGk5MTVfZ2VtX29iamVj dF9hdHRhY2hfcGh5cyhvYmosIGFsaWduKTsKPiA+LQkJaWYgKHJldCkgewo+ID4tCQkJRFJNX0RF QlVHX0tNUygiZmFpbGVkIHRvIGF0dGFjaCBwaHlzIG9iamVjdFxuIik7Cj4gPi0JCQlnb3RvIGZh aWxfbG9ja2VkOwo+ID4tCQl9Cj4gPisJZWxzZQo+ID4gIAkJYWRkciA9IG9iai0+cGh5c19oYW5k bGUtPmJ1c2FkZHI7Cj4gPi0JfQo+ID4KPiA+LWZpbmlzaDoKPiA+ICAJaWYgKGludGVsX2NydGMt PmN1cnNvcl9ibykgewo+ID4gIAkJaWYgKCFJTlRFTF9JTkZPKGRldiktPmN1cnNvcl9uZWVkc19w aHlzaWNhbCkKPiA+ICAJCQlpOTE1X2dlbV9vYmplY3RfdW5waW5fZnJvbV9kaXNwbGF5X3BsYW5l KGludGVsX2NydGMtPmN1cnNvcl9ibyk7Cj4gCj4gVGhpcyBpcyBub3cgYmVpbmcgY2FsbGVkIHdp dGhvdXQgaG9sZGluZyBkZXYtPnN0cnVjdF9tdXRleC4gSSBkb24ndCBrbm93IGlmCj4gdGhhdCBp cyBuZWNlc3Nhcnkgb3Igbm90LgoKdW5waW4gcmVxdWlyZXMgZGV2LT5zdHJ1Y3RfbXV0ZXguIFNh bWUgZm9yIGdlbV90cmFja19mYiBhY3R1YWxseS4KLURhbmllbAoKPiAKPiAKPiBBbmRlcgo+IAo+ ID4gIAl9Cj4gPgo+ID4tCWk5MTVfZ2VtX3RyYWNrX2ZiKGludGVsX2NydGMtPmN1cnNvcl9ibywg b2JqLAo+ID4tCQkJICBJTlRFTF9GUk9OVEJVRkZFUl9DVVJTT1IocGlwZSkpOwo+ID4tCW11dGV4 X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwo+ID4tCj4gPiAgCWludGVsX2NydGMtPmN1cnNv cl9hZGRyID0gYWRkcjsKPiA+ICAJaW50ZWxfY3J0Yy0+Y3Vyc29yX2JvID0gb2JqOwo+ID4gIHVw ZGF0ZToKPiA+QEAgLTEyMDEzLDEzICsxMTk4OCw2IEBAIHVwZGF0ZToKPiA+Cj4gPiAgCQlpbnRl bF9mcm9udGJ1ZmZlcl9mbGlwKGRldiwgSU5URUxfRlJPTlRCVUZGRVJfQ1VSU09SKHBpcGUpKTsK PiA+ICAJfQo+ID4tCj4gPi0JcmV0dXJuIDA7Cj4gPi1mYWlsX3VucGluOgo+ID4tCWk5MTVfZ2Vt X29iamVjdF91bnBpbl9mcm9tX2Rpc3BsYXlfcGxhbmUob2JqKTsKPiA+LWZhaWxfbG9ja2VkOgo+ ID4tCW11dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwo+ID4tCXJldHVybiByZXQ7Cj4g PiAgfQo+ID4KPiA+ICBzdGF0aWMgaW50Cj4gPkBAIC0xMjA2MCw3ICsxMjAyOCwxMyBAQCBpbnRl bF9jdXJzb3JfcGxhbmVfdXBkYXRlKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLCBzdHJ1Y3QgZHJt X2NydGMgKmNydGMsCj4gPiAgCWlmIChyZXQpCj4gPiAgCQlyZXR1cm4gcmV0Owo+ID4KPiA+LQly ZXR1cm4gaW50ZWxfY29tbWl0X2N1cnNvcl9wbGFuZShwbGFuZSwgJnN0YXRlKTsKPiA+KwlyZXQg PSBpbnRlbF9wcmVwYXJlX2N1cnNvcl9wbGFuZShwbGFuZSwgJnN0YXRlKTsKPiA+KwlpZiAocmV0 KQo+ID4rCQlyZXR1cm4gcmV0Owo+ID4rCj4gPisJaW50ZWxfY29tbWl0X2N1cnNvcl9wbGFuZShw bGFuZSwgJnN0YXRlKTsKPiA+Kwo+ID4rCXJldHVybiAwOwo+ID4gIH0KPiA+Cj4gPiAgc3RhdGlj IGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfZnVuY3MgaW50ZWxfY3Vyc29yX3BsYW5lX2Z1bmNzID0g ewo+ID4KPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Xwo+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCj4gaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeAoKLS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0 aW9uCis0MSAoMCkgNzkgMzY1IDU3IDQ4IC0gaHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK