From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [RESEND PATCH v2] drm: Add getfb2 ioctl Date: Wed, 9 Oct 2019 17:50:54 +0200 Message-ID: <20191009155054.GM16989@phenom.ffwll.local> References: <20191003183125.4520-1-juston.li@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-ed1-x542.google.com (mail-ed1-x542.google.com [IPv6:2a00:1450:4864:20::542]) by gabe.freedesktop.org (Postfix) with ESMTPS id A6BC96E9FB for ; Wed, 9 Oct 2019 15:50:58 +0000 (UTC) Received: by mail-ed1-x542.google.com with SMTP id v8so2503606eds.2 for ; Wed, 09 Oct 2019 08:50:58 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20191003183125.4520-1-juston.li@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Juston Li Cc: intel-gfx@lists.freedesktop.org, Daniel Stone , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBPY3QgMDMsIDIwMTkgYXQgMTE6MzE6MjVBTSAtMDcwMCwgSnVzdG9uIExpIHdyb3Rl Ogo+IEZyb206IERhbmllbCBTdG9uZSA8ZGFuaWVsc0Bjb2xsYWJvcmEuY29tPgo+IAo+IGdldGZi MiBhbGxvd3MgdXMgdG8gcGFzcyBtdWx0aXBsZSBwbGFuZXMgYW5kIG1vZGlmaWVycywganVzdCBs aWtlIGFkZGZiMgo+IG92ZXIgYWRkZmIuCj4gCj4gQ2hhbmdlcyBzaW5jZSB2MToKPiAgLSB1bnVz ZWQgbW9kaWZpZXJzIHNldCB0byAwIGluc3RlYWQgb2YgRFJNX0ZPUk1BVF9NT0RfSU5WQUxJRAo+ ICAtIHVwZGF0ZSBpb2N0bCBudW1iZXIKPiAKPiBTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgU3RvbmUg PGRhbmllbHNAY29sbGFib3JhLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBKdXN0b24gTGkgPGp1c3Rv bi5saUBpbnRlbC5jb20+CgpMb29rcyBhbGwgZ29vZCBmcm9tIGEgdmVyeSBxdWljayBnbGFuY2Ug KGtlcm5lbCwgbGliZHJtLCBpZ3QpLCBidXQgd2hlcmUncwp0aGUgdXNlcnNwYWNlPyBMaW5rIHRv IHdlc3Rvbi9kcm1faHdjL3doYXRldmVyIE1SIGdvb2QgZW5vdWdoLgotRGFuaWVsCgo+IC0tLQo+ ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2NydGNfaW50ZXJuYWwuaCB8ICAgMiArCj4gIGRyaXZlcnMv Z3B1L2RybS9kcm1fZnJhbWVidWZmZXIuYyAgIHwgMTEwICsrKysrKysrKysrKysrKysrKysrKysr KysrKysKPiAgZHJpdmVycy9ncHUvZHJtL2RybV9pb2N0bC5jICAgICAgICAgfCAgIDEgKwo+ICBp bmNsdWRlL3VhcGkvZHJtL2RybS5oICAgICAgICAgICAgICB8ICAgMiArCj4gIDQgZmlsZXMgY2hh bmdlZCwgMTE1IGluc2VydGlvbnMoKykKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2RybV9jcnRjX2ludGVybmFsLmggYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGNfaW50ZXJuYWwu aAo+IGluZGV4IGM3ZDVlNGMyMTQyMy4uMTZmMjQxMzQwM2FhIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9kcm1fY3J0Y19pbnRlcm5hbC5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2Ry bV9jcnRjX2ludGVybmFsLmgKPiBAQCAtMjE2LDYgKzIxNiw4IEBAIGludCBkcm1fbW9kZV9ybWZi X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAkJCXZvaWQgKmRhdGEsIHN0cnVjdCBk cm1fZmlsZSAqZmlsZV9wcml2KTsKPiAgaW50IGRybV9tb2RlX2dldGZiKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsCj4gIAkJICAgdm9pZCAqZGF0YSwgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYp Owo+ICtpbnQgZHJtX21vZGVfZ2V0ZmIyX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4g KwkJCSAgdm9pZCAqZGF0YSwgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpOwo+ICBpbnQgZHJt X21vZGVfZGlydHlmYl9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAJCQkgICB2b2lk ICpkYXRhLCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdik7Cj4gIAo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vZHJtX2ZyYW1lYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Zy YW1lYnVmZmVyLmMKPiBpbmRleCA1NzU2NDMxOGNlZWEuLjZkYjU0ZjE3NzQ0MyAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZyYW1lYnVmZmVyLmMKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vZHJtX2ZyYW1lYnVmZmVyLmMKPiBAQCAtMzEsNiArMzEsNyBAQAo+ICAjaW5jbHVkZSA8 ZHJtL2RybV9maWxlLmg+Cj4gICNpbmNsdWRlIDxkcm0vZHJtX2ZvdXJjYy5oPgo+ICAjaW5jbHVk ZSA8ZHJtL2RybV9mcmFtZWJ1ZmZlci5oPgo+ICsjaW5jbHVkZSA8ZHJtL2RybV9nZW0uaD4KPiAg I2luY2x1ZGUgPGRybS9kcm1fcHJpbnQuaD4KPiAgI2luY2x1ZGUgPGRybS9kcm1fdXRpbC5oPgo+ ICAKPiBAQCAtNTQ4LDcgKzU0OSwxMTYgQEAgaW50IGRybV9tb2RlX2dldGZiKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsCj4gIAo+ICBvdXQ6Cj4gIAlkcm1fZnJhbWVidWZmZXJfcHV0KGZiKTsKPiAr CXJldHVybiByZXQ7Cj4gK30KPiArCj4gKy8qKgo+ICsgKiBkcm1fbW9kZV9nZXRmYjIgLSBnZXQg ZXh0ZW5kZWQgRkIgaW5mbwo+ICsgKiBAZGV2OiBkcm0gZGV2aWNlIGZvciB0aGUgaW9jdGwKPiAr ICogQGRhdGE6IGRhdGEgcG9pbnRlciBmb3IgdGhlIGlvY3RsCj4gKyAqIEBmaWxlX3ByaXY6IGRy bSBmaWxlIGZvciB0aGUgaW9jdGwgY2FsbAo+ICsgKgo+ICsgKiBMb29rdXAgdGhlIEZCIGdpdmVu IGl0cyBJRCBhbmQgcmV0dXJuIGluZm8gYWJvdXQgaXQuCj4gKyAqCj4gKyAqIENhbGxlZCBieSB0 aGUgdXNlciB2aWEgaW9jdGwuCj4gKyAqCj4gKyAqIFJldHVybnM6Cj4gKyAqIFplcm8gb24gc3Vj Y2VzcywgbmVnYXRpdmUgZXJybm8gb24gZmFpbHVyZS4KPiArICovCj4gK2ludCBkcm1fbW9kZV9n ZXRmYjJfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiArCQkJICB2b2lkICpkYXRhLCBz dHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdikKPiArewo+ICsJc3RydWN0IGRybV9tb2RlX2ZiX2Nt ZDIgKnIgPSBkYXRhOwo+ICsJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmI7Cj4gKwl1bnNpZ25l ZCBpbnQgaTsKPiArCWludCByZXQ7Cj4gKwo+ICsJaWYgKCFkcm1fY29yZV9jaGVja19mZWF0dXJl KGRldiwgRFJJVkVSX01PREVTRVQpKQo+ICsJCXJldHVybiAtRUlOVkFMOwo+ICsKPiArCWZiID0g ZHJtX2ZyYW1lYnVmZmVyX2xvb2t1cChkZXYsIGZpbGVfcHJpdiwgci0+ZmJfaWQpOwo+ICsJaWYg KCFmYikKPiArCQlyZXR1cm4gLUVOT0VOVDsKPiArCj4gKwkvKiBGb3IgbXVsdGktcGxhbmUgZnJh bWVidWZmZXJzLCB3ZSByZXF1aXJlIHRoZSBkcml2ZXIgdG8gcGxhY2UgdGhlCj4gKwkgKiBHRU0g b2JqZWN0cyBkaXJlY3RseSBpbiB0aGUgZHJtX2ZyYW1lYnVmZmVyLiBGb3Igc2luZ2xlLXBsYW5l Cj4gKwkgKiBmcmFtZWJ1ZmZlcnMsIHdlIGNhbiBmYWxsIGJhY2sgdG8gY3JlYXRlX2hhbmRsZS4K PiArCSAqLwo+ICsJaWYgKCFmYi0+b2JqWzBdICYmCj4gKwkgICAgKGZiLT5mb3JtYXQtPm51bV9w bGFuZXMgPiAxIHx8ICFmYi0+ZnVuY3MtPmNyZWF0ZV9oYW5kbGUpKSB7Cj4gKwkJcmV0ID0gLUVO T0RFVjsKPiArCQlnb3RvIG91dDsKPiArCX0KPiArCj4gKwlyLT5oZWlnaHQgPSBmYi0+aGVpZ2h0 Owo+ICsJci0+d2lkdGggPSBmYi0+d2lkdGg7Cj4gKwlyLT5waXhlbF9mb3JtYXQgPSBmYi0+Zm9y bWF0LT5mb3JtYXQ7Cj4gKwo+ICsJci0+ZmxhZ3MgPSAwOwo+ICsJaWYgKGRldi0+bW9kZV9jb25m aWcuYWxsb3dfZmJfbW9kaWZpZXJzKQo+ICsJCXItPmZsYWdzIHw9IERSTV9NT0RFX0ZCX01PRElG SUVSUzsKPiArCj4gKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShyLT5oYW5kbGVzKTsgaSsr KSB7Cj4gKwkJci0+aGFuZGxlc1tpXSA9IDA7Cj4gKwkJci0+cGl0Y2hlc1tpXSA9IDA7Cj4gKwkJ ci0+b2Zmc2V0c1tpXSA9IDA7Cj4gKwkJci0+bW9kaWZpZXJbaV0gPSAwOwo+ICsJfQo+ICAKPiAr CWZvciAoaSA9IDA7IGkgPCBmYi0+Zm9ybWF0LT5udW1fcGxhbmVzOyBpKyspIHsKPiArCQlpbnQg ajsKPiArCj4gKwkJci0+cGl0Y2hlc1tpXSA9IGZiLT5waXRjaGVzW2ldOwo+ICsJCXItPm9mZnNl dHNbaV0gPSBmYi0+b2Zmc2V0c1tpXTsKPiArCQlpZiAoZGV2LT5tb2RlX2NvbmZpZy5hbGxvd19m Yl9tb2RpZmllcnMpCj4gKwkJCXItPm1vZGlmaWVyW2ldID0gZmItPm1vZGlmaWVyOwo+ICsKPiAr CQkvKiBJZiB3ZSByZXVzZSB0aGUgc2FtZSBvYmplY3QgZm9yIG11bHRpcGxlIHBsYW5lcywgYWxz bwo+ICsJCSAqIHJldHVybiB0aGUgc2FtZSBoYW5kbGUuCj4gKwkJICovCj4gKwkJZm9yIChqID0g MDsgaiA8IGk7IGorKykgewo+ICsJCQlpZiAoZmItPm9ialtpXSA9PSBmYi0+b2JqW2pdKSB7Cj4g KwkJCQlyLT5oYW5kbGVzW2ldID0gci0+aGFuZGxlc1tqXTsKPiArCQkJCWJyZWFrOwo+ICsJCQl9 Cj4gKwkJfQo+ICsKPiArCQlpZiAoci0+aGFuZGxlc1tpXSkKPiArCQkJY29udGludWU7Cj4gKwo+ ICsJCWlmIChmYi0+b2JqW2ldKSB7Cj4gKwkJCXJldCA9IGRybV9nZW1faGFuZGxlX2NyZWF0ZShm aWxlX3ByaXYsIGZiLT5vYmpbaV0sCj4gKwkJCQkJCSAgICAmci0+aGFuZGxlc1tpXSk7Cj4gKwkJ fSBlbHNlIHsKPiArCQkJV0FSTl9PTihpID4gMCk7Cj4gKwkJCXJldCA9IGZiLT5mdW5jcy0+Y3Jl YXRlX2hhbmRsZShmYiwgZmlsZV9wcml2LAo+ICsJCQkJCQkgICAgICAgJnItPmhhbmRsZXNbaV0p Owo+ICsJCX0KPiArCj4gKwkJaWYgKHJldCAhPSAwKQo+ICsJCQlnb3RvIG91dDsKPiArCX0KPiAr Cj4gK291dDoKPiArCWlmIChyZXQgIT0gMCkgewo+ICsJCS8qIERlbGV0ZSBhbnkgcHJldmlvdXNs eS1jcmVhdGVkIGhhbmRsZXMgb24gZmFpbHVyZS4gKi8KPiArCQlmb3IgKGkgPSAwOyBpIDwgQVJS QVlfU0laRShyLT5oYW5kbGVzKTsgaSsrKSB7Cj4gKwkJCWludCBqOwo+ICsKPiArCQkJaWYgKHIt PmhhbmRsZXNbaV0pCj4gKwkJCQlkcm1fZ2VtX2hhbmRsZV9kZWxldGUoZmlsZV9wcml2LCByLT5o YW5kbGVzW2ldKTsKPiArCj4gKwkJCS8qIFplcm8gb3V0IGFueSBoYW5kbGVzIGlkZW50aWNhbCB0 byB0aGUgb25lIHdlIGp1c3QKPiArCQkJICogZGVsZXRlZC4KPiArCQkJICovCj4gKwkJCWZvciAo aiA9IGkgKyAxOyBqIDwgQVJSQVlfU0laRShyLT5oYW5kbGVzKTsgaisrKSB7Cj4gKwkJCQlpZiAo ci0+aGFuZGxlc1tqXSA9PSByLT5oYW5kbGVzW2ldKQo+ICsJCQkJCXItPmhhbmRsZXNbal0gPSAw Owo+ICsJCQl9Cj4gKwkJfQo+ICsJfQo+ICsKPiArCWRybV9mcmFtZWJ1ZmZlcl9wdXQoZmIpOwo+ ICAJcmV0dXJuIHJldDsKPiAgfQo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Ry bV9pb2N0bC5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9pb2N0bC5jCj4gaW5kZXggZmNkNzI4ZDdj ZjcyLi5iMWZhZmNlM2FkOGMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9pb2N0 bC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9pb2N0bC5jCj4gQEAgLTY3MSw2ICs2NzEs NyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9pb2N0bF9kZXNjIGRybV9pb2N0bHNbXSA9IHsK PiAgCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX01PREVfU0VUUFJPUEVSVFksIGRybV9jb25uZWN0 b3JfcHJvcGVydHlfc2V0X2lvY3RsLCBEUk1fTUFTVEVSKSwKPiAgCURSTV9JT0NUTF9ERUYoRFJN X0lPQ1RMX01PREVfR0VUUFJPUEJMT0IsIGRybV9tb2RlX2dldGJsb2JfaW9jdGwsIDApLAo+ICAJ RFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfTU9ERV9HRVRGQiwgZHJtX21vZGVfZ2V0ZmIsIDApLAo+ ICsJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfTU9ERV9HRVRGQjIsIGRybV9tb2RlX2dldGZiMl9p b2N0bCwgMCksCj4gIAlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9NT0RFX0FEREZCLCBkcm1fbW9k ZV9hZGRmYl9pb2N0bCwgMCksCj4gIAlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9NT0RFX0FEREZC MiwgZHJtX21vZGVfYWRkZmIyX2lvY3RsLCAwKSwKPiAgCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RM X01PREVfUk1GQiwgZHJtX21vZGVfcm1mYl9pb2N0bCwgMCksCj4gZGlmZiAtLWdpdCBhL2luY2x1 ZGUvdWFwaS9kcm0vZHJtLmggYi9pbmNsdWRlL3VhcGkvZHJtL2RybS5oCj4gaW5kZXggOGE1YjJm OGY4ZWI5Li4wMjFmMzM2NzViYTIgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS91YXBpL2RybS9kcm0u aAo+ICsrKyBiL2luY2x1ZGUvdWFwaS9kcm0vZHJtLmgKPiBAQCAtOTQ3LDYgKzk0Nyw4IEBAIGV4 dGVybiAiQyIgewo+ICAjZGVmaW5lIERSTV9JT0NUTF9TWU5DT0JKX1RSQU5TRkVSCURSTV9JT1dS KDB4Q0MsIHN0cnVjdCBkcm1fc3luY29ial90cmFuc2ZlcikKPiAgI2RlZmluZSBEUk1fSU9DVExf U1lOQ09CSl9USU1FTElORV9TSUdOQUwJRFJNX0lPV1IoMHhDRCwgc3RydWN0IGRybV9zeW5jb2Jq X3RpbWVsaW5lX2FycmF5KQo+ICAKPiArI2RlZmluZSBEUk1fSU9DVExfTU9ERV9HRVRGQjIJCURS TV9JT1dSKDB4Q0UsIHN0cnVjdCBkcm1fbW9kZV9mYl9jbWQyKQo+ICsKPiAgLyoqCj4gICAqIERl dmljZSBzcGVjaWZpYyBpb2N0bHMgc2hvdWxkIG9ubHkgYmUgaW4gdGhlaXIgcmVzcGVjdGl2ZSBo ZWFkZXJzCj4gICAqIFRoZSBkZXZpY2Ugc3BlY2lmaWMgaW9jdGwgcmFuZ2UgaXMgZnJvbSAweDQw IHRvIDB4OWYuCj4gLS0gCj4gMi4yMS4wCj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KPiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0Cj4gZHJpLWRldmVs QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCgotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2FyZSBFbmdp bmVlciwgSW50ZWwgQ29ycG9yYXRpb24KaHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlz dApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs