From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH] drm/udl: Refactor edid retreiving in UDL driver Date: Wed, 13 Mar 2019 11:27:57 +0200 Message-ID: <87sgvri0o2.fsf@intel.com> References: <20190313010428.116678-1-tutankhamen@chromium.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0609B6E07A for ; Wed, 13 Mar 2019 09:26:07 +0000 (UTC) In-Reply-To: <20190313010428.116678-1-tutankhamen@chromium.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: airlied@redhat.com Cc: Robert Tarasov , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCAxMiBNYXIgMjAxOSwgUm9iZXJ0IFRhcmFzb3YgPHR1dGFua2hhbWVuQGNocm9taXVt Lm9yZz4gd3JvdGU6Cj4gTm93IGRybS91ZGwgZHJpdmVyIHVzZXMgZHJtX2RvX2dldF9lZGlkKCkg ZnVuY3Rpb24gdG8gcmV0cmVpdmUgYW5kCj4gdmFsaWRhdGUgYWxsIGJsb2NrcyBvZiBFRElEIGRh dGEuIE9sZCBhcHByb2FjaCBoYWQgaW5zdWZmaWNpZW50Cj4gdmFsaWRhdGlvbiByb3V0aW5lIGFu ZCBoYWQgcHJvYmxlbXMgd2l0aCByZXRyZWl2aW5nIG9mIGV4dHJhIGJsb2NrcwoKWW91J2xsIGFs c28gZ2V0IHN1cHBvcnQgZm9yIGRlYnVnZnMgYW5kIGZpcm13YXJlIGxvYWRlciBFRElEIG92ZXJy aWRlCm1lY2hhbmlzbXMgZm9yIGZyZWUuCgpGaXhlczogNzVjNjVlZTIwYWRlICgiZHJtL3VkbDog UmVhZGluZyBhbGwgZWRpZCBibG9ja3MgaW4gRFJNL1VETCBkcml2ZXIiKQoKU2lnbmVkLW9mZi1i eSBtaXNzaW5nIQoKPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL3VkbC91ZGxfY29ubmVjdG9yLmMg fCA3MiArKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ICAxIGZpbGUgY2hhbmdlZCwgMTEg aW5zZXJ0aW9ucygrKSwgNjEgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL3VkbC91ZGxfY29ubmVjdG9yLmMgYi9kcml2ZXJzL2dwdS9kcm0vdWRsL3VkbF9jb25u ZWN0b3IuYwo+IGluZGV4IGMzZGMxZmQyMGNiNC4uYzdmOGFjMmNkYmU1IDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS91ZGwvdWRsX2Nvbm5lY3Rvci5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL3VkbC91ZGxfY29ubmVjdG9yLmMKPiBAQCAtMTcsMTggKzE3LDE5IEBACj4gICNpbmNsdWRl ICJ1ZGxfY29ubmVjdG9yLmgiCj4gICNpbmNsdWRlICJ1ZGxfZHJ2LmgiCj4gIAo+IC1zdGF0aWMg Ym9vbCB1ZGxfZ2V0X2VkaWRfYmxvY2soc3RydWN0IHVkbF9kZXZpY2UgKnVkbCwgaW50IGJsb2Nr X2lkeCwKPiAtCQkJCQkJCSAgIHU4ICpidWZmKQo+ICtzdGF0aWMgaW50IHVkbF9nZXRfZWRpZF9i bG9jayh2b2lkICpkYXRhLCB1OCAqYnVmLCB1bnNpZ25lZCBpbnQgYmxvY2ssCj4gKwkJCQlzaXpl X3QgbGVuKQo+ICB7Cj4gIAlpbnQgcmV0LCBpOwo+ICAJdTggKnJlYWRfYnVmZjsKPiArCXN0cnVj dCB1ZGxfZGV2aWNlICp1ZGwgPSBkYXRhOwo+ICAKPiAgCXJlYWRfYnVmZiA9IGttYWxsb2MoMiwg R0ZQX0tFUk5FTCk7CgpBIGZvbGxvdy11cCBjbGVhbnVwIG1pZ2h0IGJlIHRvIHN3aXRjaCB0byB1 c2luZyAidTggcmVhZF9idWZmWzJdOyIKaW5zdGVhZCBvZiBrbWFsbG9jaW5nIGl0LgoKSSBkb24n dCBjbGFpbSB0byB1bmRlcnN0YW5kIGhvdyB0aGUgdXNiIHN0dWZmIHdvcmtzLCBidXQgb3RoZXJ3 aXNlIHRoZQpwYXRjaCBsb29rcyBnb29kIHRvIG1lLiBOaWNlIHJlZmFjdG9yaW5nIQoKUmV2aWV3 ZWQtYnk6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRlbC5jb20+Cgo+ICAJaWYgKCFyZWFk X2J1ZmYpCj4gLQkJcmV0dXJuIGZhbHNlOwo+ICsJCXJldHVybiAtMTsKPiAgCj4gLQlmb3IgKGkg PSAwOyBpIDwgRURJRF9MRU5HVEg7IGkrKykgewo+IC0JCWludCBidmFsID0gKGkgKyBibG9ja19p ZHggKiBFRElEX0xFTkdUSCkgPDwgODsKPiArCWZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykgewo+ ICsJCWludCBidmFsID0gKGkgKyBibG9jayAqIEVESURfTEVOR1RIKSA8PCA4Owo+ICAJCXJldCA9 IHVzYl9jb250cm9sX21zZyh1ZGwtPnVkZXYsCj4gIAkJCQkgICAgICB1c2JfcmN2Y3RybHBpcGUo dWRsLT51ZGV2LCAwKSwKPiAgCQkJCQkgICgweDAyKSwgKDB4ODAgfCAoMHgwMiA8PCA1KSksIGJ2 YWwsCj4gQEAgLTM2LDYwICszNywxMyBAQCBzdGF0aWMgYm9vbCB1ZGxfZ2V0X2VkaWRfYmxvY2so c3RydWN0IHVkbF9kZXZpY2UgKnVkbCwgaW50IGJsb2NrX2lkeCwKPiAgCQlpZiAocmV0IDwgMSkg ewo+ICAJCQlEUk1fRVJST1IoIlJlYWQgRURJRCBieXRlICVkIGZhaWxlZCBlcnIgJXhcbiIsIGks IHJldCk7Cj4gIAkJCWtmcmVlKHJlYWRfYnVmZik7Cj4gLQkJCXJldHVybiBmYWxzZTsKPiArCQkJ cmV0dXJuIC0xOwo+ICAJCX0KPiAtCQlidWZmW2ldID0gcmVhZF9idWZmWzFdOwo+ICsJCWJ1Zltp XSA9IHJlYWRfYnVmZlsxXTsKPiAgCX0KPiAgCj4gIAlrZnJlZShyZWFkX2J1ZmYpOwo+IC0JcmV0 dXJuIHRydWU7Cj4gLX0KPiAtCj4gLXN0YXRpYyBib29sIHVkbF9nZXRfZWRpZChzdHJ1Y3QgdWRs X2RldmljZSAqdWRsLCB1OCAqKnJlc3VsdF9idWZmLAo+IC0JCQkgaW50ICpyZXN1bHRfYnVmZl9z aXplKQo+IC17Cj4gLQlpbnQgaSwgZXh0ZW5zaW9uczsKPiAtCXU4ICpibG9ja19idWZmID0gTlVM TCwgKmJ1ZmZfcHRyOwo+IC0KPiAtCWJsb2NrX2J1ZmYgPSBrbWFsbG9jKEVESURfTEVOR1RILCBH RlBfS0VSTkVMKTsKPiAtCWlmIChibG9ja19idWZmID09IE5VTEwpCj4gLQkJcmV0dXJuIGZhbHNl Owo+IC0KPiAtCWlmICh1ZGxfZ2V0X2VkaWRfYmxvY2sodWRsLCAwLCBibG9ja19idWZmKSAmJgo+ IC0JICAgIG1lbWNocl9pbnYoYmxvY2tfYnVmZiwgMCwgRURJRF9MRU5HVEgpKSB7Cj4gLQkJZXh0 ZW5zaW9ucyA9ICgoc3RydWN0IGVkaWQgKilibG9ja19idWZmKS0+ZXh0ZW5zaW9uczsKPiAtCQlp ZiAoZXh0ZW5zaW9ucyA+IDApIHsKPiAtCQkJLyogd2UgaGF2ZSB0byByZWFkIGFsbCBleHRlbnNp b25zIG9uZSBieSBvbmUgKi8KPiAtCQkJKnJlc3VsdF9idWZmX3NpemUgPSBFRElEX0xFTkdUSCAq IChleHRlbnNpb25zICsgMSk7Cj4gLQkJCSpyZXN1bHRfYnVmZiA9IGttYWxsb2MoKnJlc3VsdF9i dWZmX3NpemUsIEdGUF9LRVJORUwpOwo+IC0JCQlidWZmX3B0ciA9ICpyZXN1bHRfYnVmZjsKPiAt CQkJaWYgKGJ1ZmZfcHRyID09IE5VTEwpIHsKPiAtCQkJCWtmcmVlKGJsb2NrX2J1ZmYpOwo+IC0J CQkJcmV0dXJuIGZhbHNlOwo+IC0JCQl9Cj4gLQkJCW1lbWNweShidWZmX3B0ciwgYmxvY2tfYnVm ZiwgRURJRF9MRU5HVEgpOwo+IC0JCQlrZnJlZShibG9ja19idWZmKTsKPiAtCQkJYnVmZl9wdHIg Kz0gRURJRF9MRU5HVEg7Cj4gLQkJCWZvciAoaSA9IDE7IGkgPCBleHRlbnNpb25zOyArK2kpIHsK PiAtCQkJCWlmICh1ZGxfZ2V0X2VkaWRfYmxvY2sodWRsLCBpLCBidWZmX3B0cikpIHsKPiAtCQkJ CQlidWZmX3B0ciArPSBFRElEX0xFTkdUSDsKPiAtCQkJCX0gZWxzZSB7Cj4gLQkJCQkJa2ZyZWUo KnJlc3VsdF9idWZmKTsKPiAtCQkJCQkqcmVzdWx0X2J1ZmYgPSBOVUxMOwo+IC0JCQkJCXJldHVy biBmYWxzZTsKPiAtCQkJCX0KPiAtCQkJfQo+IC0JCQlyZXR1cm4gdHJ1ZTsKPiAtCQl9Cj4gLQkJ Lyogd2UgaGF2ZSBvbmx5IGJhc2UgZWRpZCBibG9jayAqLwo+IC0JCSpyZXN1bHRfYnVmZiA9IGJs b2NrX2J1ZmY7Cj4gLQkJKnJlc3VsdF9idWZmX3NpemUgPSBFRElEX0xFTkdUSDsKPiAtCQlyZXR1 cm4gdHJ1ZTsKPiAtCX0KPiAtCj4gLQlrZnJlZShibG9ja19idWZmKTsKPiAtCj4gLQlyZXR1cm4g ZmFsc2U7Cj4gKwlyZXR1cm4gMDsKPiAgfQo+ICAKPiAgc3RhdGljIGludCB1ZGxfZ2V0X21vZGVz KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gQEAgLTEyMSw4ICs3NSw2IEBAIHN0 YXRpYyBpbnQgdWRsX21vZGVfdmFsaWQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwK PiAgc3RhdGljIGVudW0gZHJtX2Nvbm5lY3Rvcl9zdGF0dXMKPiAgdWRsX2RldGVjdChzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBib29sIGZvcmNlKQo+ICB7Cj4gLQl1OCAqZWRpZF9i dWZmID0gTlVMTDsKPiAtCWludCBlZGlkX2J1ZmZfc2l6ZSA9IDA7Cj4gIAlzdHJ1Y3QgdWRsX2Rl dmljZSAqdWRsID0gY29ubmVjdG9yLT5kZXYtPmRldl9wcml2YXRlOwo+ICAJc3RydWN0IHVkbF9k cm1fY29ubmVjdG9yICp1ZGxfY29ubmVjdG9yID0KPiAgCQkJCQljb250YWluZXJfb2YoY29ubmVj dG9yLAo+IEBAIC0xMzUsMTIgKzg3LDEwIEBAIHVkbF9kZXRlY3Qoc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvciwgYm9vbCBmb3JjZSkKPiAgCQl1ZGxfY29ubmVjdG9yLT5lZGlkID0gTlVM TDsKPiAgCX0KPiAgCj4gLQo+IC0JaWYgKCF1ZGxfZ2V0X2VkaWQodWRsLCAmZWRpZF9idWZmLCAm ZWRpZF9idWZmX3NpemUpKQo+ICsJdWRsX2Nvbm5lY3Rvci0+ZWRpZCA9IGRybV9kb19nZXRfZWRp ZChjb25uZWN0b3IsIHVkbF9nZXRfZWRpZF9ibG9jaywgdWRsKTsKPiArCWlmICghdWRsX2Nvbm5l Y3Rvci0+ZWRpZCkKPiAgCQlyZXR1cm4gY29ubmVjdG9yX3N0YXR1c19kaXNjb25uZWN0ZWQ7Cj4g IAo+IC0JdWRsX2Nvbm5lY3Rvci0+ZWRpZCA9IChzdHJ1Y3QgZWRpZCAqKWVkaWRfYnVmZjsKPiAt CQo+ICAJcmV0dXJuIGNvbm5lY3Rvcl9zdGF0dXNfY29ubmVjdGVkOwo+ICB9CgotLSAKSmFuaSBO aWt1bGEsIEludGVsIE9wZW4gU291cmNlIEdyYXBoaWNzIENlbnRlcgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRy aS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw=