From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan de Oliveira Subject: Re: [PATCH 4/9] drm/i915: Introduce intel_prepare_cursor_plane() Date: Mon, 01 Dec 2014 10:26:35 +0200 Message-ID: <547C263B.6000401@gmail.com> References: <1416858786-25376-1-git-send-email-matthew.d.roper@intel.com> <1416858786-25376-5-git-send-email-matthew.d.roper@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 2DF686E1D6 for ; Mon, 1 Dec 2014 00:26:38 -0800 (PST) In-Reply-To: <1416858786-25376-5-git-send-email-matthew.d.roper@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Matt Roper , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gMTEvMjQvMjAxNCAwOTo1MyBQTSwgTWF0dCBSb3BlciB3cm90ZToKPiBQcmltYXJ5IGFuZCBz cHJpdGUgcGxhbmVzIGhhdmUgYWxyZWFkeSBiZWVuIHJlZmFjdG9yZWQgdG8gaW5jbHVkZSBhCj4g J3ByZXBhcmUnIHN0ZXAgd2hpY2ggaGFuZGxlcyBhbGwgdGhlIGNvbW1pdC10aW1lIG9wZXJhdGlv bnMgdGhhdCBjb3VsZAo+IGZhaWwgKGkuZS4sIHBpbm5pbmcgYnVmZmVycyBhbmQgc3VjaCkuICBS ZWZhY3RvciB0aGUgY3Vyc29yIGNvbW1pdCBpbiBhCj4gc2ltaWxhciBtYW5uZXIuCj4KPiBGb3Ig c2ltcGxpY2l0eSBhbmQgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBwbGFuZSB0eXBlcywgd2UgYWxz byBzd2l0Y2ggdG8KPiB1c2luZyBpbnRlbF9waW5fYW5kX2ZlbmNlX2ZiX29iaigpIHRvIHBlcmZv cm0gb3VyIHBpbm5pbmcgZm9yCj4gbm9uLXBoeXNpY2FsIGN1cnNvcnMuICBUaGlzIHdpbGwgYWxs b3cgdXMgdG8gbW9yZSBlYXNpbHkgbWlncmF0ZSB0aGUKPiBjb2RlIGludG8gdGhlIGF0b21pYyAn YmVnaW4nIGhhbmRsZXIgaW4gYSBwbGFuZS1hZ25vc3RpYyBtYW5uZXIgaW4gYQo+IGZ1dHVyZSBw YXRjaHNldC4KPgo+IFNpZ25lZC1vZmYtYnk6IE1hdHQgUm9wZXIgPG1hdHRoZXcuZC5yb3BlckBp bnRlbC5jb20+Cj4gLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMg fCAxMTQgKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgIDEgZmlsZSBjaGFu Z2VkLCA0NCBpbnNlcnRpb25zKCspLCA3MCBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMKPiBpbmRleCAxNzc4OGY4Li5mZjk0ZTQzIDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IEBAIC0xMTg5OSwxOSArMTE4OTksNTEgQEAgaW50 ZWxfY2hlY2tfY3Vyc29yX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ICAgfQo+Cj4g ICBzdGF0aWMgaW50Cj4gK2ludGVsX3ByZXBhcmVfY3Vyc29yX3BsYW5lKHN0cnVjdCBkcm1fcGxh bmUgKnBsYW5lLAo+ICsJCQkgICBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnN0YXRlKQo+ICt7 Cj4gKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gcGxhbmUtPmRldjsKPiArCXN0cnVjdCBkcm1f ZnJhbWVidWZmZXIgKmZiID0gc3RhdGUtPmZiOwo+ICsJc3RydWN0IGludGVsX2NydGMgKmludGVs X2NydGMgPSB0b19pbnRlbF9jcnRjKHN0YXRlLT5jcnRjKTsKPiArCXN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvYmogPSBpbnRlbF9mYl9vYmooZmIpOwo+ICsJc3RydWN0IGRybV9pOTE1X2dl bV9vYmplY3QgKm9sZF9vYmogPSBpbnRlbF9mYl9vYmoocGxhbmUtPmZiKTsKCkkgZG9uJ3Qgc2Vl IHdoZXJlIHBsYW5lLT5mYiBpcyBiZWluZyB1cGRhdGVkLiBJIHRoaW5rIHRoaXMgbmVlZHMgdG8g YmUgCmRvbmUgaW4gaW50ZWxfY29tbWl0X2N1cnNvcl9wbGFuZSgpLgoKQW5kZXIKCj4gKwllbnVt IHBpcGUgcGlwZSA9IGludGVsX2NydGMtPnBpcGU7Cj4gKwlpbnQgcmV0ID0gMDsKPiArCj4gKwlp ZiAob2xkX29iaiAhPSBvYmopIHsKPiArCQkvKiB3ZSBvbmx5IG5lZWQgdG8gcGluIGluc2lkZSBH VFQgaWYgY3Vyc29yIGlzIG5vbi1waHkgKi8KPiArCQltdXRleF9sb2NrKCZkZXYtPnN0cnVjdF9t dXRleCk7Cj4gKwkJaWYgKCFJTlRFTF9JTkZPKGRldiktPmN1cnNvcl9uZWVkc19waHlzaWNhbCkg ewo+ICsJCQlpZiAob2JqKQo+ICsJCQkJcmV0ID0gaW50ZWxfcGluX2FuZF9mZW5jZV9mYl9vYmoo cGxhbmUsIGZiLCBOVUxMKTsKPiArCQkJaWYgKHJldCA9PSAwKQo+ICsJCQkJaTkxNV9nZW1fdHJh Y2tfZmIoaW50ZWxfY3J0Yy0+Y3Vyc29yX2JvLCBvYmosCj4gKwkJCQkJCSAgSU5URUxfRlJPTlRC VUZGRVJfQ1VSU09SKHBpcGUpKTsKPiArCQl9IGVsc2Ugewo+ICsJCQlpbnQgYWxpZ24gPSBJU19J ODMwKGRldikgPyAxNiAqIDEwMjQgOiAyNTY7Cj4gKwkJCWlmIChvYmopCj4gKwkJCQlyZXQgPSBp OTE1X2dlbV9vYmplY3RfYXR0YWNoX3BoeXMob2JqLCBhbGlnbik7Cj4gKwkJCWlmIChyZXQpCj4g KwkJCQlEUk1fREVCVUdfS01TKCJmYWlsZWQgdG8gYXR0YWNoIHBoeXMgb2JqZWN0XG4iKTsKPiAr CQl9Cj4gKwkJbXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Cj4gKwl9Cj4gKwo+ICsJ cmV0dXJuIHJldDsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQKPiAgIGludGVsX2NvbW1pdF9jdXJz b3JfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gICAJCQkgIHN0cnVjdCBpbnRlbF9w bGFuZV9zdGF0ZSAqc3RhdGUpCj4gICB7Cj4gICAJc3RydWN0IGRybV9jcnRjICpjcnRjID0gc3Rh dGUtPmNydGM7Cj4gICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKPiAtCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gICAJ c3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOwo+ICAg CXN0cnVjdCBpbnRlbF9wbGFuZSAqaW50ZWxfcGxhbmUgPSB0b19pbnRlbF9wbGFuZShwbGFuZSk7 Cj4gICAJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiA9IGludGVsX2ZiX29iaihzdGF0 ZS0+ZmIpOwo+ICAgCWVudW0gcGlwZSBwaXBlID0gaW50ZWxfY3J0Yy0+cGlwZTsKPiAgIAl1bnNp Z25lZCBvbGRfd2lkdGg7Cj4gICAJdWludDMyX3QgYWRkcjsKPiAtCWludCByZXQ7Cj4KPiAgIAlj cnRjLT5jdXJzb3JfeCA9IHN0YXRlLT5vcmlnX2RzdC54MTsKPiAgIAljcnRjLT5jdXJzb3JfeSA9 IHN0YXRlLT5vcmlnX2RzdC55MTsKPiBAQCAtMTE5MjksNzUgKzExOTYxLDE4IEBAIGludGVsX2Nv bW1pdF9jdXJzb3JfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gICAJaWYgKGludGVs X2NydGMtPmN1cnNvcl9ibyA9PSBvYmopCj4gICAJCWdvdG8gdXBkYXRlOwo+Cj4gLQkvKiBpZiB3 ZSB3YW50IHRvIHR1cm4gb2ZmIHRoZSBjdXJzb3IgaWdub3JlIHdpZHRoIGFuZCBoZWlnaHQgKi8K PiAtCWlmICghb2JqKSB7Cj4gLQkJRFJNX0RFQlVHX0tNUygiY3Vyc29yIG9mZlxuIik7Cj4gKwlp ZiAoIW9iaikKPiAgIAkJYWRkciA9IDA7Cj4gLQkJbXV0ZXhfbG9jaygmZGV2LT5zdHJ1Y3RfbXV0 ZXgpOwo+IC0JCWdvdG8gZmluaXNoOwo+IC0JfQo+IC0KPiAtCS8qIHdlIG9ubHkgbmVlZCB0byBw aW4gaW5zaWRlIEdUVCBpZiBjdXJzb3IgaXMgbm9uLXBoeSAqLwo+IC0JbXV0ZXhfbG9jaygmZGV2 LT5zdHJ1Y3RfbXV0ZXgpOwo+IC0JaWYgKCFJTlRFTF9JTkZPKGRldiktPmN1cnNvcl9uZWVkc19w aHlzaWNhbCkgewo+IC0JCXVuc2lnbmVkIGFsaWdubWVudDsKPiAtCj4gLQkJLyoKPiAtCQkgKiBH bG9iYWwgZ3R0IHB0ZSByZWdpc3RlcnMgYXJlIHNwZWNpYWwgcmVnaXN0ZXJzIHdoaWNoIGFjdHVh bGx5Cj4gLQkJICogZm9yd2FyZCB3cml0ZXMgdG8gYSBjaHVuayBvZiBzeXN0ZW0gbWVtb3J5LiBX aGljaCBtZWFucyB0aGF0Cj4gLQkJICogdGhlcmUgaXMgbm8gcmlzayB0aGF0IHRoZSByZWdpc3Rl ciB2YWx1ZXMgZGlzYXBwZWFyIGFzIHNvb24KPiAtCQkgKiBhcyB3ZSBjYWxsIGludGVsX3J1bnRp bWVfcG1fcHV0KCksIHNvIGl0IGlzIGNvcnJlY3QgdG8gd3JhcAo+IC0JCSAqIG9ubHkgdGhlIHBp bi91bnBpbi9mZW5jZSBhbmQgbm90IG1vcmUuCj4gLQkJICovCj4gLQkJaW50ZWxfcnVudGltZV9w bV9nZXQoZGV2X3ByaXYpOwo+IC0KPiAtCQkvKiBOb3RlIHRoYXQgdGhlIHcvYSBhbHNvIHJlcXVp cmVzIDIgUFRFIG9mIHBhZGRpbmcgZm9sbG93aW5nCj4gLQkJICogdGhlIGJvLiBXZSBjdXJyZW50 bHkgZmlsbCBhbGwgdW51c2VkIFBURSB3aXRoIHRoZSBzaGFkb3cKPiAtCQkgKiBwYWdlIGFuZCBz byB3ZSBzaG91bGQgYWx3YXlzIGhhdmUgdmFsaWQgUFRFIGZvbGxvd2luZyB0aGUKPiAtCQkgKiBj dXJzb3IgcHJldmVudGluZyB0aGUgVlQtZCB3YXJuaW5nLgo+IC0JCSAqLwo+IC0JCWFsaWdubWVu dCA9IDA7Cj4gLQkJaWYgKG5lZWRfdnRkX3dhKGRldikpCj4gLQkJCWFsaWdubWVudCA9IDY0KjEw MjQ7Cj4gLQo+IC0JCXJldCA9IGk5MTVfZ2VtX29iamVjdF9waW5fdG9fZGlzcGxheV9wbGFuZShv YmosIGFsaWdubWVudCwgTlVMTCk7Cj4gLQkJaWYgKHJldCkgewo+IC0JCQlEUk1fREVCVUdfS01T KCJmYWlsZWQgdG8gbW92ZSBjdXJzb3IgYm8gaW50byB0aGUgR1RUXG4iKTsKPiAtCQkJaW50ZWxf cnVudGltZV9wbV9wdXQoZGV2X3ByaXYpOwo+IC0JCQlnb3RvIGZhaWxfbG9ja2VkOwo+IC0JCX0K PiAtCj4gLQkJcmV0ID0gaTkxNV9nZW1fb2JqZWN0X3B1dF9mZW5jZShvYmopOwo+IC0JCWlmIChy ZXQpIHsKPiAtCQkJRFJNX0RFQlVHX0tNUygiZmFpbGVkIHRvIHJlbGVhc2UgZmVuY2UgZm9yIGN1 cnNvciIpOwo+IC0JCQlpbnRlbF9ydW50aW1lX3BtX3B1dChkZXZfcHJpdik7Cj4gLQkJCWdvdG8g ZmFpbF91bnBpbjsKPiAtCQl9Cj4gLQo+ICsJZWxzZSBpZiAoIUlOVEVMX0lORk8oZGV2KS0+Y3Vy c29yX25lZWRzX3BoeXNpY2FsKQo+ICAgCQlhZGRyID0gaTkxNV9nZW1fb2JqX2dndHRfb2Zmc2V0 KG9iaik7Cj4gLQo+IC0JCWludGVsX3J1bnRpbWVfcG1fcHV0KGRldl9wcml2KTsKPiAtCj4gLQl9 IGVsc2Ugewo+IC0JCWludCBhbGlnbiA9IElTX0k4MzAoZGV2KSA/IDE2ICogMTAyNCA6IDI1NjsK PiAtCQlyZXQgPSBpOTE1X2dlbV9vYmplY3RfYXR0YWNoX3BoeXMob2JqLCBhbGlnbik7Cj4gLQkJ aWYgKHJldCkgewo+IC0JCQlEUk1fREVCVUdfS01TKCJmYWlsZWQgdG8gYXR0YWNoIHBoeXMgb2Jq ZWN0XG4iKTsKPiAtCQkJZ290byBmYWlsX2xvY2tlZDsKPiAtCQl9Cj4gKwllbHNlCj4gICAJCWFk ZHIgPSBvYmotPnBoeXNfaGFuZGxlLT5idXNhZGRyOwo+IC0JfQo+Cj4gLWZpbmlzaDoKPiAgIAlp ZiAoaW50ZWxfY3J0Yy0+Y3Vyc29yX2JvKSB7Cj4gICAJCWlmICghSU5URUxfSU5GTyhkZXYpLT5j dXJzb3JfbmVlZHNfcGh5c2ljYWwpCj4gICAJCQlpOTE1X2dlbV9vYmplY3RfdW5waW5fZnJvbV9k aXNwbGF5X3BsYW5lKGludGVsX2NydGMtPmN1cnNvcl9ibyk7Cj4gICAJfQo+Cj4gLQlpOTE1X2dl bV90cmFja19mYihpbnRlbF9jcnRjLT5jdXJzb3JfYm8sIG9iaiwKPiAtCQkJICBJTlRFTF9GUk9O VEJVRkZFUl9DVVJTT1IocGlwZSkpOwo+IC0JbXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRl eCk7Cj4gLQo+ICAgCWludGVsX2NydGMtPmN1cnNvcl9hZGRyID0gYWRkcjsKPiAgIAlpbnRlbF9j cnRjLT5jdXJzb3JfYm8gPSBvYmo7Cj4gICB1cGRhdGU6Cj4gQEAgLTEyMDEzLDEzICsxMTk4OCw2 IEBAIHVwZGF0ZToKPgo+ICAgCQlpbnRlbF9mcm9udGJ1ZmZlcl9mbGlwKGRldiwgSU5URUxfRlJP TlRCVUZGRVJfQ1VSU09SKHBpcGUpKTsKPiAgIAl9Cj4gLQo+IC0JcmV0dXJuIDA7Cj4gLWZhaWxf dW5waW46Cj4gLQlpOTE1X2dlbV9vYmplY3RfdW5waW5fZnJvbV9kaXNwbGF5X3BsYW5lKG9iaik7 Cj4gLWZhaWxfbG9ja2VkOgo+IC0JbXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Cj4g LQlyZXR1cm4gcmV0Owo+ICAgfQo+Cj4gICBzdGF0aWMgaW50Cj4gQEAgLTEyMDYwLDcgKzEyMDI4 LDEzIEBAIGludGVsX2N1cnNvcl9wbGFuZV91cGRhdGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUs IHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAgIAlpZiAocmV0KQo+ICAgCQlyZXR1cm4gcmV0Owo+ Cj4gLQlyZXR1cm4gaW50ZWxfY29tbWl0X2N1cnNvcl9wbGFuZShwbGFuZSwgJnN0YXRlKTsKPiAr CXJldCA9IGludGVsX3ByZXBhcmVfY3Vyc29yX3BsYW5lKHBsYW5lLCAmc3RhdGUpOwo+ICsJaWYg KHJldCkKPiArCQlyZXR1cm4gcmV0Owo+ICsKPiArCWludGVsX2NvbW1pdF9jdXJzb3JfcGxhbmUo cGxhbmUsICZzdGF0ZSk7Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gICB9Cj4KPiAgIHN0YXRpYyBjb25z dCBzdHJ1Y3QgZHJtX3BsYW5lX2Z1bmNzIGludGVsX2N1cnNvcl9wbGFuZV9mdW5jcyA9IHsKPgoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK