From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sinclair Yeh Subject: Re: [RFC 2/3] drm: Add helper iterator functions to iterate over plane damage. Date: Thu, 5 Apr 2018 10:55:11 -0700 Message-ID: <20180405175510.GA10092@vmware.com> References: <1522885748-67122-1-git-send-email-drawat@vmware.com> <1522885748-67122-3-git-send-email-drawat@vmware.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-sn1nam01on0064.outbound.protection.outlook.com [104.47.32.64]) by gabe.freedesktop.org (Postfix) with ESMTPS id BA0206E89C for ; Thu, 5 Apr 2018 17:58:49 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1522885748-67122-3-git-send-email-drawat@vmware.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Deepak Rawat Cc: thellstrom@vmware.com, airlied@linux.ie, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-graphics-maintainer@vmware.com, lukasz.spintzyk@displaylink.com List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCBBcHIgMDQsIDIwMTggYXQgMDQ6NDk6MDdQTSAtMDcwMCwgRGVlcGFrIFJhd2F0IHdy b3RlOgo+IFdpdGggZGFtYWdlIHByb3BlcnR5IGluIGRybV9wbGFuZV9zdGF0ZSwgdGhpcyBwYXRj aCBhZGRzIGhlbHBlciBpdGVyYXRvcgo+IHRvIHRyYXZlcnNlIHRoZSBkYW1hZ2UgY2xpcHMuIEl0 ZXJhdG9yIHdpbGwgcmV0dXJuIHRoZSBkYW1hZ2UgcmVjdGFuZ2xlcwo+IGluIGZyYW1lYnVmZmVy LCBwbGFuZSBvciBjcnRjIGNvb3JkaW5hdGVzIGFzIG5lZWQgYnkgZHJpdmVyCj4gaW1wbGVtZW50 YXRpb24uCj4gCj4gU2lnbmVkLW9mZi1ieTogRGVlcGFrIFJhd2F0IDxkcmF3YXRAdm13YXJlLmNv bT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMgfCAxMjIgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gIGluY2x1ZGUvZHJtL2RybV9hdG9t aWNfaGVscGVyLmggICAgIHwgIDM5ICsrKysrKysrKysrKwo+ICAyIGZpbGVzIGNoYW5nZWQsIDE2 MSBpbnNlcnRpb25zKCspCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRv bWljX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKPiBpbmRl eCA1NWI0NGUzLi4zNTViNTE0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRv bWljX2hlbHBlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMK PiBAQCAtMzg2NSwzICszODY1LDEyNSBAQCB2b2lkIF9fZHJtX2F0b21pY19oZWxwZXJfcHJpdmF0 ZV9vYmpfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fcHJpdmF0ZV9vYmogKm9iago+ICAJbWVt Y3B5KHN0YXRlLCBvYmotPnN0YXRlLCBzaXplb2YoKnN0YXRlKSk7Cj4gIH0KPiAgRVhQT1JUX1NZ TUJPTChfX2RybV9hdG9taWNfaGVscGVyX3ByaXZhdGVfb2JqX2R1cGxpY2F0ZV9zdGF0ZSk7Cj4g Kwo+ICsvKioKPiArICogZHJtX2F0b21pY19oZWxwZXJfZGFtYWdlX2l0ZXJfaW5pdCAtIGluaXRp YWxpemUgdGhlIGRhbWFnZSBpdGVyYXRvcgo+ICsgKiBAaXRlcjogVGhlIGl0ZXJhdG9yIHRvIGlu aXRpYWxpemUuCj4gKyAqIEB0eXBlOiBDb29yZGluYXRlIHR5cGUgY2FsbGVyIGlzIGludGVyZXN0 ZWQgaW4uCj4gKyAqIEBzdGF0ZTogcGxhbmVfc3RhdGUgZnJvbSB3aGljaCB0byBpdGVyYXRlIHRo ZSBkYW1hZ2UgY2xpcHMuCj4gKyAqIEBoZGlzcGxheTogV2lkdGggb2YgY3J0YyBvbiB3aGljaCBw bGFuZSBpcyBzY2FubmVkIG91dC4KPiArICogQHZkaXNwbGF5OiBIZWlnaHQgb2YgY3J0YyBvbiB3 aGljaCBwbGFuZSBpcyBzY2FubmVkIG91dC4KPiArICoKPiArICogSW5pdGlhbGl6ZSBhbiBpdGVy YXRvciB0aGF0IGlzIHVzZWQgdG8gdHJhbnNsYXRlIGFuZCBjbGlwIGEgc2V0IG9mIGRhbWFnZQo+ ICsgKiByZWN0YW5nbGVzIGluIGZyYW1lYnVmZmVyIGNvb3JkaW5hdGVzIHRvIHBsYW5lIGFuZCBj cnRjIGNvb3JkaW5hdGVzLiBUaGUgdHlwZQo+ICsgKiBhcmd1bWVudCBzcGVjaWZ5IHdoaWNoIHR5 cGUgb2YgY29vcmRpbmF0ZSB0byBpdGVyYXRlIGluLgo+ICsgKgo+ICsgKiBSZXR1cm5zOiAwIG9u IHN1Y2Nlc3MgYW5kIG5lZ2F0aXZlIGVycm9yIGNvZGUgb24gZXJyb3IuIElmIGFuIGVycm9yIGNv ZGUgaXMKPiArICogcmV0dXJuZWQgdGhlbiBpdCBtZWFucyB0aGUgcGxhbmUgc3RhdGUgc2hvdWxk IG5vdCB1cGRhdGUuCj4gKyAqLwo+ICtpbnQKPiArZHJtX2F0b21pY19oZWxwZXJfZGFtYWdlX2l0 ZXJfaW5pdChzdHJ1Y3QgZHJtX2F0b21pY19oZWxwZXJfZGFtYWdlX2l0ZXIgKml0ZXIsCj4gKwkJ CQkgICBlbnVtIGRybV9hdG9taWNfaGVscGVyX2RhbWFnZV9jbGlwX3R5cGUgdHlwZSwKPiArCQkJ CSAgIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnN0YXRlLAo+ICsJCQkJICAgdWludDMy X3QgaGRpc3BsYXksIHVpbnQzMl90IHZkaXNwbGF5KQo+ICt7Cj4gKwlpZiAoIXN0YXRlIHx8ICFz dGF0ZS0+Y3J0YyB8fCAhc3RhdGUtPmZiKQo+ICsJCXJldHVybiAtRUlOVkFMOwo+ICsKPiArCW1l bXNldChpdGVyLCAwLCBzaXplb2YoKml0ZXIpKTsKPiArCWl0ZXItPmNsaXBzID0gKHN0cnVjdCBk cm1fcmVjdCAqKXN0YXRlLT5kYW1hZ2VfY2xpcHMtPmRhdGE7Cj4gKwlpdGVyLT5udW1fY2xpcHMg PSBzdGF0ZS0+bnVtX2NsaXBzOwo+ICsJaXRlci0+dHlwZSA9IHR5cGU7Cj4gKwo+ICsJLyoKPiAr CSAqIEZ1bGwgdXBkYXRlIGluIGNhc2Ugb2Ygc2NhbGluZyBvciByb3RhdGlvbi4gSW4gZnV0dXJl IHN1cHBvcnQgZm9yCj4gKwkgKiBzY2FsaW5nL3JvdGF0aW5nIGRhbWFnZSBjbGlwcyBjYW4gYmUg YWRkZWQKPiArCSAqLwo+ICsJaWYgKHN0YXRlLT5jcnRjX3cgIT0gKHN0YXRlLT5zcmNfdyA+PiAx NikgfHwKPiArCSAgICBzdGF0ZS0+Y3J0Y19oICE9IHN0YXRlLT5zcmNfaCA+PiAxNiB8fCBzdGF0 ZS0+cm90YXRpb24gIT0gMCkgewo+ICsJCWl0ZXItPmN1cnJfY2xpcCA9IGl0ZXItPm51bV9jbGlw czsKPiArCQlyZXR1cm4gMDsKPiArCX0KPiArCj4gKwlpdGVyLT5mYl9zcmMueDEgPSAwOwo+ICsJ aXRlci0+ZmJfc3JjLnkxID0gMDsKPiArCWl0ZXItPmZiX3NyYy54MiA9IHN0YXRlLT5mYi0+d2lk dGg7Cj4gKwlpdGVyLT5mYl9zcmMueTIgPSBzdGF0ZS0+ZmItPmhlaWdodDsKPiArCj4gKwlpdGVy LT5wbGFuZV9zcmMueDEgPSBzdGF0ZS0+c3JjX3ggPj4gMTY7Cj4gKwlpdGVyLT5wbGFuZV9zcmMu eTEgPSBzdGF0ZS0+c3JjX3kgPj4gMTY7Cj4gKwlpdGVyLT5wbGFuZV9zcmMueDIgPSBpdGVyLT5w bGFuZV9zcmMueDEgKyAoc3RhdGUtPnNyY193ID4+IDE2KTsKPiArCWl0ZXItPnBsYW5lX3NyYy55 MiA9IGl0ZXItPnBsYW5lX3NyYy55MSArIChzdGF0ZS0+c3JjX2ggPj4gMTYpOwo+ICsJaXRlci0+ dHJhbnNsYXRlX3BsYW5lX3ggPSAtaXRlci0+cGxhbmVfc3JjLngxOwo+ICsJaXRlci0+dHJhbnNs YXRlX3BsYW5lX3kgPSAtaXRlci0+cGxhbmVfc3JjLnkxOwo+ICsKPiArCS8qIENsaXAgcGxhbmUg c3JjIHJlY3QgdG8gZmIgZGltZW5zaW9ucyAqLwo+ICsJZHJtX3JlY3RfaW50ZXJzZWN0KCZpdGVy LT5wbGFuZV9zcmMsICZpdGVyLT5mYl9zcmMpOwo+ICsKPiArCWl0ZXItPmNydGNfc3JjLngxID0g MDsKPiArCWl0ZXItPmNydGNfc3JjLnkxID0gMDsKPiArCWl0ZXItPmNydGNfc3JjLngyID0gaGRp c3BsYXk7Cj4gKwlpdGVyLT5jcnRjX3NyYy55MiA9IHZkaXNwbGF5Owo+ICsJaXRlci0+dHJhbnNs YXRlX2NydGNfeCA9IC0oaXRlci0+cGxhbmVfc3JjLngxIC0gc3RhdGUtPmNydGNfeCk7Cj4gKwlp dGVyLT50cmFuc2xhdGVfY3J0Y194ID0gLShpdGVyLT5wbGFuZV9zcmMueTEgLSBzdGF0ZS0+Y3J0 Y195KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpJIGJlbGlldmUgeW91IG1lYW4gdHJh bnNsYXRlX2NydGNfeSBoZXJlCgoKPiArCj4gKwkvKiBDbGlwIGNydGMgc3JjIHJlY3QgdG8gcGxh bmUgZGltZW5zaW9ucyAqLwo+ICsJZHJtX3JlY3RfdHJhbnNsYXRlKCZpdGVyLT5jcnRjX3NyYywg LWl0ZXItPnRyYW5zbGF0ZV9jcnRjX3gsCj4gKwkJCSAgIC1pdGVyLT50cmFuc2xhdGVfY3J0Y194 KTsKQWxzbyBoZXJlICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0 CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK