From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [RFC 1/3] drm/msm/mdp5: Add global state as a private atomic object Date: Thu, 21 Dec 2017 10:56:08 +0100 Message-ID: <20171221095608.GS26573@phenom.ffwll.local> References: <20171221061425.5511-1-architt@codeaurora.org> <20171221061425.5511-2-architt@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20171221061425.5511-2-architt@codeaurora.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Archit Taneja Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, dhinakaran.pandiyan@intel.com List-Id: linux-arm-msm@vger.kernel.org T24gVGh1LCBEZWMgMjEsIDIwMTcgYXQgMTE6NDQ6MjNBTSArMDUzMCwgQXJjaGl0IFRhbmVqYSB3 cm90ZToKPiBHbG9iYWwgc2hhcmVkIHJlc291cmNlcyAoaHdwaXBlcywgaHdtaXhlcnMgYW5kIFNN UCkgZm9yIE1EUDUgYXJlCj4gaW1wbGVtZW50ZWQgYXMgYSBwYXJ0IG9mIGF0b21pYyBzdGF0ZSBi eSBzdWJjbGFzc2luZyBkcm1fYXRvbWljX3N0YXRlLgo+IAo+IFRoZSBwcmVmZXJyZWQgYXBwcm9h Y2ggaXMgdG8gdXNlIHRoZSBkcm1fcHJpdmF0ZV9vYmogaW5mcmFzdHJ1Y3R1cmUKPiBhdmFpbGFi bGUgaW4gdGhlIGF0b21pYyBjb3JlLgo+IAo+IG1kcDVfZ2xvYmFsX3N0YXRlIGlzIGludHJvZHVj ZWQgYXMgYSBkcm0gYXRvbWljIHByaXZhdGUgb2JqZWN0LiBUaGUgdHdvCj4gZnVuY3MgbWRwNV9n ZXRfZ2xvYmFsX3N0YXRlKCkgYW5kIG1kcDVfZ2V0X2V4aXN0aW5nX2dsb2JhbF9zdGF0ZSgpIGFy ZQo+IHRoZSB0d28gdmFyaWFudHMgdGhhdCB3aWxsIGJlIHVzZWQgdG8gYWNjZXNzIG1kcDVfZ2xv YmFsX3N0YXRlLgo+IAo+IFRoaXMgd2lsbCByZXBsYWNlIHRoZSBleGlzdGluZyBtZHA1X3N0YXRl IHN0cnVjdCAod2hpY2ggc3ViY2xhc3Nlcwo+IGRybV9hdG9taWNfc3RhdGUpIGFuZCB0aGUgZnVu Y3MgYXJvdW5kIGl0LiBUaGVzZSB3aWxsIGJlIHJlbW92ZWQgbGF0ZXIKPiBvbmNlIHdlIG1kcDVf Z2xvYmFsX3N0YXRlIGlzIHB1dCB0byB1c2UgZXZlcnl3aGVyZS4KPiAKPiBTaWduZWQtb2ZmLWJ5 OiBBcmNoaXQgVGFuZWphIDxhcmNoaXR0QGNvZGVhdXJvcmEub3JnPgo+IC0tLQo+ICBkcml2ZXJz L2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfa21zLmMgfCA4NiArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysKPiAgZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2ttcy5o IHwgMjcgKysrKysrKysrKysKPiAgMiBmaWxlcyBjaGFuZ2VkLCAxMTMgaW5zZXJ0aW9ucygrKQo+ IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfa21zLmMg Yi9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfa21zLmMKPiBpbmRleCBmN2MwNjk4 ZmVjNDAuLmRmYzRkODExMjRkNSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21k cC9tZHA1L21kcDVfa21zLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21k cDVfa21zLmMKPiBAQCAtMTA2LDYgKzEwNiw4NiBAQCBzdGF0aWMgdm9pZCBtZHA1X3N3YXBfc3Rh dGUoc3RydWN0IG1zbV9rbXMgKmttcywgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ ICAJc3dhcCh0b19rbXNfc3RhdGUoc3RhdGUpLT5zdGF0ZSwgbWRwNV9rbXMtPnN0YXRlKTsKPiAg fQo+ICAKPiArLyogR2xvYmFsL3NoYXJlZCBvYmplY3Qgc3RhdGUgZnVuY3MgKi8KPiArCj4gKy8q Cj4gKyAqIFRoaXMgaXMgYSBoZWxwZXIgdGhhdCByZXR1cm5zIHRoZSBwcml2YXRlIHN0YXRlIGN1 cnJlbnRseSBpbiBvcGVyYXRpb24uCj4gKyAqIE5vdGUgdGhhdCB0aGlzIHdvdWxkIHJldHVybiB0 aGUgIm9sZF9zdGF0ZSIgaWYgY2FsbGVkIGluIHRoZSBhdG9taWMgY2hlY2sKPiArICogcGF0aCwg YW5kIHRoZSAibmV3X3N0YXRlIiBhZnRlciB0aGUgYXRvbWljIHN3YXAgaGFzIGJlZW4gZG9uZS4K PiArICovCj4gK3N0cnVjdCBtZHA1X2dsb2JhbF9zdGF0ZSAqCj4gK21kcDVfZ2V0X2V4aXN0aW5n X2dsb2JhbF9zdGF0ZShzdHJ1Y3QgbWRwNV9rbXMgKm1kcDVfa21zKQo+ICt7Cj4gKwlyZXR1cm4g dG9fbWRwNV9nbG9iYWxfc3RhdGUobWRwNV9rbXMtPmdsb2JfYmFzZS5zdGF0ZSk7CgpUaGlzIGRv ZXNuJ3QgbWF0Y2ggdGhlIGV4aXN0aW5nIHN0YXRlIHN0dWZmIGZvciBldmVyeXRoaW5nIGVsc2Uu IEhlcmUgeW91Cmxvb2sgYXQgdGhlIGdsb2JhbCBzdGF0ZSwgYnV0IG5vdCBhdCB0aGUgb25lIGhh bmdpbmcgb2ZmIGRybV9hdG9taWNfc3RhdGUuCgpNYXliZSB3ZSBzaG91bGQgYWRkIGEgZHJtX2F0 b21pY19nZXRfZXhpc3RpbmdfcHJpdmF0ZV9vYmpfc3RhdGUgZnVuY3Rpb24KdG8gbWFrZSB0aGlz IGVhc2llcj8KCkknbSBhbHNvIG5vdCAxMDAlIHN1cmUgb24gd2hhdCBzZW1hbnRpY3MgeW91IHdh bnQgcHJlY2lzZWx5LgoKCj4gK30KPiArCj4gKy8qCj4gKyAqIFRoaXMgYWNxdWlyZXMgdGhlIG1v ZGVzZXQgbG9jayBzZXQgYXNpZGUgZm9yIGdsb2JhbCBzdGF0ZSwgY3JlYXRlcwo+ICsgKiBhIG5l dyBkdXBsaWNhdGVkIHByaXZhdGUgb2JqZWN0IHN0YXRlLgo+ICsgKi8KPiArc3RydWN0IG1kcDVf Z2xvYmFsX3N0YXRlICptZHA1X2dldF9nbG9iYWxfc3RhdGUoc3RydWN0IGRybV9hdG9taWNfc3Rh dGUgKnMpCj4gK3sKPiArCXN0cnVjdCBtc21fZHJtX3ByaXZhdGUgKnByaXYgPSBzLT5kZXYtPmRl dl9wcml2YXRlOwo+ICsJc3RydWN0IG1kcDVfa21zICptZHA1X2ttcyA9IHRvX21kcDVfa21zKHRv X21kcF9rbXMocHJpdi0+a21zKSk7Cj4gKwlzdHJ1Y3QgZHJtX3ByaXZhdGVfc3RhdGUgKnByaXZf c3RhdGU7Cj4gKwlpbnQgcmV0Owo+ICsKPiArCXJldCA9IGRybV9tb2Rlc2V0X2xvY2soJm1kcDVf a21zLT5nbG9iX3N0YXRlX2xvY2ssIHMtPmFjcXVpcmVfY3R4KTsKPiArCWlmIChyZXQpCj4gKwkJ cmV0dXJuIEVSUl9QVFIocmV0KTsKPiArCj4gKwlwcml2X3N0YXRlID0gZHJtX2F0b21pY19nZXRf cHJpdmF0ZV9vYmpfc3RhdGUocywgJm1kcDVfa21zLT5nbG9iX2Jhc2UpOwo+ICsJaWYgKElTX0VS Uihwcml2X3N0YXRlKSkKPiArCQlyZXR1cm4gRVJSX0NBU1QocHJpdl9zdGF0ZSk7Cj4gKwo+ICsJ cmV0dXJuIHRvX21kcDVfZ2xvYmFsX3N0YXRlKHByaXZfc3RhdGUpOwo+ICt9Cj4gKwo+ICtzdGF0 aWMgc3RydWN0IGRybV9wcml2YXRlX3N0YXRlICoKPiArbWRwNV9nbG9iYWxfZHVwbGljYXRlX3N0 YXRlKHN0cnVjdCBkcm1fcHJpdmF0ZV9vYmogKm9iaikKPiArewo+ICsJc3RydWN0IG1kcDVfZ2xv YmFsX3N0YXRlICpzdGF0ZTsKPiArCj4gKwlzdGF0ZSA9IGttZW1kdXAob2JqLT5zdGF0ZSwgc2l6 ZW9mKCpzdGF0ZSksIEdGUF9LRVJORUwpOwo+ICsJaWYgKCFzdGF0ZSkKPiArCQlyZXR1cm4gTlVM TDsKPiArCj4gKwlfX2RybV9hdG9taWNfaGVscGVyX3ByaXZhdGVfb2JqX2R1cGxpY2F0ZV9zdGF0 ZShvYmosICZzdGF0ZS0+YmFzZSk7Cj4gKwo+ICsJcmV0dXJuICZzdGF0ZS0+YmFzZTsKPiArfQo+ ICsKPiArc3RhdGljIHZvaWQgbWRwNV9nbG9iYWxfZGVzdHJveV9zdGF0ZShzdHJ1Y3QgZHJtX3By aXZhdGVfb2JqICpvYmosCj4gKwkJCQkgICAgICBzdHJ1Y3QgZHJtX3ByaXZhdGVfc3RhdGUgKnN0 YXRlKQo+ICt7Cj4gKwlzdHJ1Y3QgbWRwNV9nbG9iYWxfc3RhdGUgKm1kcDVfc3RhdGUgPSB0b19t ZHA1X2dsb2JhbF9zdGF0ZShzdGF0ZSk7Cj4gKwo+ICsJa2ZyZWUobWRwNV9zdGF0ZSk7Cj4gK30K PiArCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX3ByaXZhdGVfc3RhdGVfZnVuY3MgbWRwNV9n bG9iYWxfc3RhdGVfZnVuY3MgPSB7Cj4gKwkuYXRvbWljX2R1cGxpY2F0ZV9zdGF0ZSA9IG1kcDVf Z2xvYmFsX2R1cGxpY2F0ZV9zdGF0ZSwKPiArCS5hdG9taWNfZGVzdHJveV9zdGF0ZSA9IG1kcDVf Z2xvYmFsX2Rlc3Ryb3lfc3RhdGUsCj4gK307Cj4gKwo+ICtzdGF0aWMgaW50IG1kcDVfZ2xvYmFs X29ial9pbml0KHN0cnVjdCBtZHA1X2ttcyAqbWRwNV9rbXMpCj4gK3sKPiArCXN0cnVjdCBtZHA1 X2dsb2JhbF9zdGF0ZSAqc3RhdGU7Cj4gKwo+ICsJc3RhdGUgPSBremFsbG9jKHNpemVvZigqc3Rh dGUpLCBHRlBfS0VSTkVMKTsKPiArCWlmICghc3RhdGUpCj4gKwkJcmV0dXJuIC1FTk9NRU07Cj4g Kwo+ICsJZHJtX21vZGVzZXRfbG9ja19pbml0KCZtZHA1X2ttcy0+Z2xvYl9zdGF0ZV9sb2NrKTsK CkkgdGhvdWdodCBhIGJpdCB0aGUgbGFzdCBmZXcgZGF5cyBhYm91dCBob3cgdG8gaW50ZWdyYXRl IG1vZGVzZXQgbG9ja2luZwppbnRvIGRyaXZlciBwcml2YXRlIHN0YXRlIG9iamVjdHMuIEkgdGhp bmsgdGhlIHNpbXBsZXN0IHNvbHV0aW9uIHdvdWxkIGJlCmlmIHdlIGp1c3QgYWRkIGEgZHJtX21v ZGVzZXRfbG9jayB0byBkcm1fcHJpdmF0ZV9vYmosIGFuZCBwdXNoIHRoZSBsb2NraW5nCihib3Ro IGhlcmUgYW5kIGluIHRoZSBtc3QgaGVscGVyKSBpbnRvIHRoZSBjb3JlIHByaXZhdGUgb2JqIGNv ZGUuCgpQZXItb2JqZWN0IGxvY2tpbmcgbWlnaHQgYmUgYSBiaXQgb3ZlcmtpbGwgKGl0J3MgZGVm aW5pdGVseSBvdmVya2lsbCBmb3IKbXN0KSwgYnV0IGl0J3MgYWxzbyBlYXNpZXIgdG8gYXZvaWQg c3BlY2lhbCBjYXNlcy4KClRoYXQgd291bGQgcmVkdWNlIHRoZSBib2lsZXJwbGF0ZSBoZXJlIGEg Yml0IG1vcmUsIGVzc2VudGlhbGx5IGNvbnZlcnRpbmcKdGhlIHdyYXBwZXJzIGludG8gdHlwZSBj YXN0aW5nIGZ1bmN0aW9ucy4KLURhbmllbAoKPiArCj4gKwlzdGF0ZS0+bWRwNV9rbXMgPSBtZHA1 X2ttczsKPiArCj4gKwlkcm1fYXRvbWljX3ByaXZhdGVfb2JqX2luaXQoJm1kcDVfa21zLT5nbG9i X2Jhc2UsCj4gKwkJCQkgICAgJnN0YXRlLT5iYXNlLAo+ICsJCQkJICAgICZtZHA1X2dsb2JhbF9z dGF0ZV9mdW5jcyk7Cj4gKwlyZXR1cm4gMDsKPiArfQo+ICsKPiAgc3RhdGljIHZvaWQgbWRwNV9w cmVwYXJlX2NvbW1pdChzdHJ1Y3QgbXNtX2ttcyAqa21zLCBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0 ZSAqc3RhdGUpCj4gIHsKPiAgCXN0cnVjdCBtZHA1X2ttcyAqbWRwNV9rbXMgPSB0b19tZHA1X2tt cyh0b19tZHBfa21zKGttcykpOwo+IEBAIC03MjcsNiArODA3LDggQEAgc3RhdGljIHZvaWQgbWRw NV9kZXN0cm95KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gIAlpZiAobWRwNV9rbXMt PnJwbV9lbmFibGVkKQo+ICAJCXBtX3J1bnRpbWVfZGlzYWJsZSgmcGRldi0+ZGV2KTsKPiAgCj4g Kwlkcm1fYXRvbWljX3ByaXZhdGVfb2JqX2ZpbmkoJm1kcDVfa21zLT5nbG9iX2Jhc2UpOwo+ICsK PiAgCWtmcmVlKG1kcDVfa21zLT5zdGF0ZSk7Cj4gIH0KPiAgCj4gQEAgLTg4Nyw2ICs5NjksMTAg QEAgc3RhdGljIGludCBtZHA1X2luaXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwgc3Ry dWN0IGRybV9kZXZpY2UgKmRldikKPiAgCQlnb3RvIGZhaWw7Cj4gIAl9Cj4gIAo+ICsJcmV0ID0g bWRwNV9nbG9iYWxfb2JqX2luaXQobWRwNV9rbXMpOwo+ICsJaWYgKHJldCkKPiArCQlnb3RvIGZh aWw7Cj4gKwo+ICAJbWRwNV9rbXMtPm1taW8gPSBtc21faW9yZW1hcChwZGV2LCAibWRwX3BoeXMi LCAiTURQNSIpOwo+ICAJaWYgKElTX0VSUihtZHA1X2ttcy0+bW1pbykpIHsKPiAgCQlyZXQgPSBQ VFJfRVJSKG1kcDVfa21zLT5tbWlvKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21z bS9tZHAvbWRwNS9tZHA1X2ttcy5oIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1 X2ttcy5oCj4gaW5kZXggOWIzZmUwMTA4OWQxLi41MjJkZGI4MzU1OTMgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2ttcy5oCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2ttcy5oCj4gQEAgLTU1LDYgKzU1LDEzIEBAIHN0cnVj dCBtZHA1X2ttcyB7Cj4gIAlzdHJ1Y3QgbWRwNV9zdGF0ZSAqc3RhdGU7Cj4gIAlzdHJ1Y3QgZHJt X21vZGVzZXRfbG9jayBzdGF0ZV9sb2NrOwo+ICAKPiArCS8qCj4gKwkgKiBHbG9iYWwgcHJpdmF0 ZSBvYmplY3Qgc3RhdGUsIERvIG5vdCBhY2Nlc3MgZGlyZWN0bHksIHVzZQo+ICsJICogbWRwNV9n bG9iYWxfZ2V0X3N0YXRlKCkKPiArCSAqLwo+ICsJc3RydWN0IGRybV9wcml2YXRlX29iaiBnbG9i X2Jhc2U7Cj4gKwlzdHJ1Y3QgZHJtX21vZGVzZXRfbG9jayBnbG9iX3N0YXRlX2xvY2s7Cj4gKwo+ ICAJc3RydWN0IG1kcDVfc21wICpzbXA7Cj4gIAlzdHJ1Y3QgbWRwNV9jdGxfbWFuYWdlciAqY3Rs bTsKPiAgCj4gQEAgLTk1LDYgKzEwMiwyNiBAQCBzdHJ1Y3QgbWRwNV9zdGF0ZSB7Cj4gIHN0cnVj dCBtZHA1X3N0YXRlICpfX211c3RfY2hlY2sKPiAgbWRwNV9nZXRfc3RhdGUoc3RydWN0IGRybV9h dG9taWNfc3RhdGUgKnMpOwo+ICAKPiArLyogR2xvYmFsIHByaXZhdGUgb2JqZWN0IHN0YXRlIGZv ciB0cmFja2luZyByZXNvdXJjZXMgdGhhdCBhcmUgc2hhcmVkIGFjcm9zcwo+ICsgKiBtdWx0aXBs ZSBrbXMgb2JqZWN0cyAocGxhbmVzL2NydGNzL2V0YykuCj4gKyAqLwo+ICsjZGVmaW5lIHRvX21k cDVfZ2xvYmFsX3N0YXRlKHgpIGNvbnRhaW5lcl9vZih4LCBzdHJ1Y3QgbWRwNV9nbG9iYWxfc3Rh dGUsIGJhc2UpCj4gK3N0cnVjdCBtZHA1X2dsb2JhbF9zdGF0ZSB7Cj4gKwlzdHJ1Y3QgZHJtX3By aXZhdGVfc3RhdGUgYmFzZTsKPiArCj4gKwlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGU7 Cj4gKwlzdHJ1Y3QgbWRwNV9rbXMgKm1kcDVfa21zOwo+ICsKPiArCXN0cnVjdCBtZHA1X2h3X3Bp cGVfc3RhdGUgaHdwaXBlOwo+ICsJc3RydWN0IG1kcDVfaHdfbWl4ZXJfc3RhdGUgaHdtaXhlcjsK PiArCXN0cnVjdCBtZHA1X3NtcF9zdGF0ZSBzbXA7Cj4gK307Cj4gKwo+ICtzdHJ1Y3QgbWRwNV9n bG9iYWxfc3RhdGUgKgo+ICttZHA1X2dldF9leGlzdGluZ19nbG9iYWxfc3RhdGUoc3RydWN0IG1k cDVfa21zICptZHA1X2ttcyk7Cj4gK3N0cnVjdCBtZHA1X2dsb2JhbF9zdGF0ZSAqX19tdXN0X2No ZWNrCj4gK21kcDVfZ2V0X2dsb2JhbF9zdGF0ZShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqcyk7 Cj4gKwo+ICAvKiBBdG9taWMgcGxhbmUgc3RhdGUuICBTdWJjbGFzc2VzIHRoZSBiYXNlIGRybV9w bGFuZV9zdGF0ZSBpbiBvcmRlciB0bwo+ICAgKiB0cmFjayBhc3NpZ25lZCBod3BpcGUgYW5kIGh3 IHNwZWNpZmljIHN0YXRlLgo+ICAgKi8KPiAtLSAKPiBUaGUgUXVhbGNvbW0gSW5ub3ZhdGlvbiBD ZW50ZXIsIEluYy4gaXMgYSBtZW1iZXIgb2YgdGhlIENvZGUgQXVyb3JhIEZvcnVtLAo+IGhvc3Rl ZCBieSBUaGUgTGludXggRm91bmRhdGlvbgo+IAoKLS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUg RW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCmh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5n IGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=