From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [Intel-gfx] [PATCH v5 1/2] drm: content-type property for HDMI connector Date: Tue, 24 Apr 2018 14:19:38 +0200 Message-ID: <20180424121938.GA31310@phenom.ffwll.local> References: <20180419123854.32356-1-stanislav.lisovskiy@intel.com> <20180419123854.32356-2-stanislav.lisovskiy@intel.com> <20180420075615.GM31310@phenom.ffwll.local> <20180420152712.GS31310@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x243.google.com (mail-wm0-x243.google.com [IPv6:2a00:1450:400c:c09::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id 16C976E3E6 for ; Tue, 24 Apr 2018 12:19:43 +0000 (UTC) Received: by mail-wm0-x243.google.com with SMTP id o78so472240wmg.0 for ; Tue, 24 Apr 2018 05:19:43 -0700 (PDT) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: "Lisovskiy, Stanislav" Cc: "intel-gfx@lists.freedesktop.org" , "dri-devel@lists.freedesktop.org" List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCBBcHIgMjMsIDIwMTggYXQgMDY6NDQ6NTNBTSArMDAwMCwgTGlzb3Zza2l5LCBTdGFu aXNsYXYgd3JvdGU6Cj4gCj4gPiBUaGlzIHRhYmxlIGlzIHNlcmlvdXNseSBkZXByZWNhdGVkLCBi ZWNhdXNlIGl0J3MgdW5yZWFkYWJsZSBhbmQKPiA+IHVubWFpbnRhaW5hYmxlLiBRdW90aW5nIGZy b20gdGhlIGRvY3M6Cj4gCj4gPiAiQmVjYXVzZSB0aGlzIHRhYmxlIGlzIHZlcnkgdW53aWVsZHks IGRvIG5vdCBhZGQgYW55IG5ldyBwcm9wZXJ0aWVzIGhlcmUuCj4gPiBJbnN0ZWFkIGRvY3VtZW50 IHRoZW0gaW4gYSBzZWN0aW9uIGFib3ZlLiIKPiAKPiA+IFdlIGhhdmVuJ3QgeWV0IG1vdmVkIGFs bCB0aGUgZXhpc3RpbmcgcHJvcGVydGllcyBvdmVyIHRvIHRoZSBuZXcgbGF5b3V0Cj4gPiAocGF0 Y2hlcyB2ZXJ5IG11Y2ggd2VsY29tZSwgZXNwZWNpYWxseSBpZiB5b3Ugc3BvdCB0aGF0IGFuIGVu dGlyZSBhcmVhCj4gPiB5b3UncmUgdG91Y2hpbmcgbGlrZSBIRE1JIHByb3BlcnRpZXMgaXNuJ3Qg bW92ZWQgeWV0KS4gQnV0IHRoZSBvbGQgdGFibGUKPiA+IGlzIHZlcnkgbXVjaCBub3QgY29vbCB0 byBhZGQgc3R1ZmYgdG8uCj4gCj4gPiBTb3JyeSB0aGF0IEkgZGlkbid0IG5vdGljZSB0aGlzIGVh cmxpZXIsIG1pc3NlZCBpdCBpbiB0aGUgZGlmZnN0YXQuCj4gCj4gPj4gYXMgb3B0aW9uYWwuCj4g Pj4gSSB0aGluayBpdCBtaWdodCBiZSBhIGJpdCBtaXNsZWFkaW5nLCBpZiBJIGFkZCB0aGF0IG9u ZSB0byBzdGFuZGFyZCBjb25uZWN0b3IgcHJvcGVydGllcywKPiA+PiB0aGVyZSBhcmUgcHJvYmFi bHkgc2hvdWxkIGJlIGNyZWF0ZWQgc29tZSBIRE1JIHNwZWNpZmljIHByb3BlcnR5IGNoYXB0ZXIg dGhlbiwgYXMgdGhlcmUKPiA+PiBhcmUgYWxyZWFkeSBwbGVudHkgb2YgSERNSSBzcGVjaWZpYyBv bmVzKGZvcmNlIGF1ZGlvLCBicm9hZGNhc3QgcmdiLCBhc3BlY3QgcmF0aW8pLgo+ID4+Cj4gPj4g U2hvdWxkbid0IGl0IHRoZW4gZ28gaW4gYSBzZXBhcmF0ZSBwYXRjaCBtYXkgYmU/IEJlY2F1c2Ug dGhpcyB3b3JrIGlzIHN1cmVseSBuZWVkZWQsIGhvd2V2ZXIKPiA+PiBnb2VzIGEgYml0IG91dCBv ZiBzY29wZSBvZiB0aGlzIHBhdGNoLgo+IAo+ID4gRG9uJ3QgbWFrZSBpdCB3b3JzZSBieSBhZGRp bmcgbW9yZSB1bm1haW50YWluYWJsZSBhbmQgdW5yZWFkYWJsZSBlbnRyaWVzCj4gPiB0byB0aGlz IHRhYmxlLiBUaGF0J3MgdGhlIG1pbmltdW0uIE1vdmluZyBhbGwgdGhlIHN0YW5kYXJkIGhkbWkg cHJvcGVydGllcwo+ID4gZmlyc3Qgd291bGQgb2J2aW91c2x5IGJlIGV2ZW4gYmV0dGVyLiBUaGF0 IGFsc28gbWFrZXMgcmV2aWV3aW5nIGVhc2llciwKPiA+IHNpbmNlIGl0J3MgY2xlYXJlciB3aGF0 J3MgdGhlcmUgYWxyZWFkeSwgYW5kIGhvdyB5b3VyIG5ldyB0aGluZyBmaXRzIGluLgo+IAo+IE9r LCB0aGVuIEkgdGhpbmsgSSB3aWxsIGFkZCBhIG5ldyBzZWN0aW9uIGNhbGxlZCBIRE1JIFNwZWNp ZmljIENvbm5lY3RvciBQcm9wZXJ0aWVzIAo+IHVuZGVyIFN0YW5kYXJkIENvbm5lY3RvciBQcm9w ZXJ0aWVzIGFuZCBtb3ZlIGNvbnRlbnQgdHlwZSBkZXNjcmlwdGlvbiB0aGVyZS4gCj4gSSBjYW4g YWRkIGFub3RoZXIgZW50cmllcyB0aGVyZSB0b28sIGhvd2V2ZXIgd291bGQgcHJlZmVyIHRvIGRv IGl0IGluIGEgc2VwYXJhdGUgcGF0Y2gKPiBhcyB0aG9zZSBhcmUgbm90IHN1YmplY3Qgb2YgdGhh dCBjb21taXQuCgpTb3VuZHMgYWxsIGdvb2QuCi1EYW5pZWwKCj4gCj4gPgo+ID4gQmVzdCBSZWdh cmRzLAo+ID4KPiA+IExpc292c2tpeSBTdGFuaXNsYXYKPiA+Cj4gPiA+IC0tLQo+ID4gPiAgRG9j dW1lbnRhdGlvbi9ncHUva21zLXByb3BlcnRpZXMuY3N2IHwgIDEgKwo+ID4gPiAgZHJpdmVycy9n cHUvZHJtL2RybV9hdG9taWMuYyAgICAgICAgIHwgMTcgKysrKysrKysrKwo+ID4gPiAgZHJpdmVy cy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYyAgICAgIHwgNTEgKysrKysrKysrKysrKysrKysrKysr KysrKysrKwo+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMgICAgICAgICAgIHwgIDIg KysKPiA+ID4gIGluY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaCAgICAgICAgICB8IDE4ICsrKysr KysrKysKPiA+ID4gIGluY2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5oICAgICAgICB8ICA1ICsr Kwo+ID4gPiAgaW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5oICAgICAgICAgIHwgIDcgKysrKwo+ ID4gPiAgNyBmaWxlcyBjaGFuZ2VkLCAxMDEgaW5zZXJ0aW9ucygrKQo+ID4gPgo+ID4gPiBkaWZm IC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9ncHUva21zLXByb3BlcnRpZXMuY3N2IGIvRG9jdW1lbnRh dGlvbi9ncHUva21zLXByb3BlcnRpZXMuY3N2Cj4gPiA+IGluZGV4IDZiMjhiMDE0Y2I3ZC4uYTkx YzkyMTFiOGQ2IDEwMDY0NAo+ID4gPiAtLS0gYS9Eb2N1bWVudGF0aW9uL2dwdS9rbXMtcHJvcGVy dGllcy5jc3YKPiA+ID4gKysrIGIvRG9jdW1lbnRhdGlvbi9ncHUva21zLXByb3BlcnRpZXMuY3N2 Cj4gPiA+IEBAIC0xNyw2ICsxNyw3IEBAIE93bmVyIE1vZHVsZS9Ecml2ZXJzLEdyb3VwLFByb3Bl cnR5IE5hbWUsVHlwZSxQcm9wZXJ0eSBWYWx1ZXMsT2JqZWN0IGF0dGFjaGVkLERlCj4gPiA+ICAs VmlydHVhbCBHUFUs4oCcc3VnZ2VzdGVkIFjigJ0sUkFOR0UsIk1pbj0wLCBNYXg9MHhmZmZmZmZm ZiIsQ29ubmVjdG9yLHByb3BlcnR5IHRvIHN1Z2dlc3QgYW4gWCBvZmZzZXQgZm9yIGEgY29ubmVj dG9yCj4gPiA+ICAsLOKAnHN1Z2dlc3RlZCBZ4oCdLFJBTkdFLCJNaW49MCwgTWF4PTB4ZmZmZmZm ZmYiLENvbm5lY3Rvcixwcm9wZXJ0eSB0byBzdWdnZXN0IGFuIFkgb2Zmc2V0IGZvciBhIGNvbm5l Y3Rvcgo+ID4gPiAgLE9wdGlvbmFsLCIiImFzcGVjdCByYXRpbyIiIixFTlVNLCJ7ICIiTm9uZSIi LCAiIjQ6MyIiLCAiIjE2OjkiIiB9IixDb25uZWN0b3IsVERCCj4gPiA+ICssT3B0aW9uYWwsIiIi Y29udGVudCB0eXBlIiIiLEVOVU0sInsgIiJObyBkYXRhIiIsICIiR3JhcGhpY3MiIiwgIiJQaG90 byIiLCAiIkNpbmVtYSIiLCAiIkdhbWUiIiB9IixDb25uZWN0b3IsVEJECj4gPiA+ICBpOTE1LEdl bmVyaWMsIiIiQnJvYWRjYXN0IFJHQiIiIixFTlVNLCJ7ICIiQXV0b21hdGljIiIsICIiRnVsbCIi LCAiIkxpbWl0ZWQgMTY6MjM1IiIgfSIsQ29ubmVjdG9yLCJXaGVuIHRoaXMgcHJvcGVydHkgaXMg c2V0IHRvIExpbWl0ZWQgMTY6MjM1IGFuZCBDVE0gaXMgc2V0LCB0aGUgaGFyZHdhcmUgd2lsbCBi ZSBwcm9ncmFtbWVkIHdpdGggdGhlIHJlc3VsdCBvZiB0aGUgbXVsdGlwbGljYXRpb24gb2YgQ1RN IGJ5IHRoZSBsaW1pdGVkIHJhbmdlIG1hdHJpeCB0byBlbnN1cmUgdGhlIHBpeGVscyBub3JtYWx5 IGluIHRoZSByYW5nZSAwLi4xLjAgYXJlIHJlbWFwcGVkIHRvIHRoZSByYW5nZSAxNi8yNTUuLjIz NS8yNTUuIgo+ID4gPiAgLCzigJxhdWRpb+KAnSxFTlVNLCJ7ICIiZm9yY2UtZHZpIiIsICIib2Zm IiIsICIiYXV0byIiLCAiIm9uIiIgfSIsQ29ubmVjdG9yLFRCRAo+ID4gPiAgLFNEVk8tVFYs4oCc bW9kZeKAnSxFTlVNLCJ7ICIiTlRTQ19NIiIsICIiTlRTQ19KIiIsICIiTlRTQ180NDMiIiwgIiJQ QUxfQiIiIH0gZXRjLiIsQ29ubmVjdG9yLFRCRAo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2RybV9hdG9taWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKPiA+ID4g aW5kZXggN2QyNWM0MmYyMmRiLi40Nzk0OTlmNTg0OGUgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9h dG9taWMuYwo+ID4gPiBAQCAtMTI2Niw2ICsxMjY2LDE1IEBAIHN0YXRpYyBpbnQgZHJtX2F0b21p Y19jb25uZWN0b3Jfc2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3Is Cj4gPiA+ICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS0+bGlua19zdGF0dXMgPSB2YWw7Cj4g PiA+ICAgICAgIH0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT5hc3BlY3RfcmF0aW9fcHJv cGVydHkpIHsKPiA+ID4gICAgICAgICAgICAgICBzdGF0ZS0+cGljdHVyZV9hc3BlY3RfcmF0aW8g PSB2YWw7Cj4gPiA+ICsgICAgIH0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT5jb250ZW50 X3R5cGVfcHJvcGVydHkpIHsKPiA+ID4gKyAgICAgICAgICAgICAvKgo+ID4gPiArICAgICAgICAg ICAgICAqIExvd2VzdCB0d28gYml0cyBvZiBjb250ZW50X3R5cGUgcHJvcGVydHkgY29udHJvbAo+ ID4gPiArICAgICAgICAgICAgICAqIGNvbnRlbnRfdHlwZSwgYml0IDIgY29udHJvbHMgaXRjIGJp dC4KPiA+ID4gKyAgICAgICAgICAgICAgKiBJdCB3YXMgZGVjaWRlZCB0byBoYXZlIGEgc2luZ2xl IHByb3BlcnR5IGNhbGxlZAo+ID4gPiArICAgICAgICAgICAgICAqIGNvbnRlbnRfdHlwZSwgaW5z dGVhZCBvZiBjb250ZW50X3R5cGUgYW5kIGl0Yy4KPiA+ID4gKyAgICAgICAgICAgICAgKi8KPiA+ ID4gKyAgICAgICAgICAgICBzdGF0ZS0+Y29udGVudF90eXBlID0gdmFsICYgMzsKPiA+ID4gKyAg ICAgICAgICAgICBzdGF0ZS0+aXRfY29udGVudCA9IHZhbCA+PiAyOwo+ID4gPiAgICAgICB9IGVs c2UgaWYgKHByb3BlcnR5ID09IGNvbm5lY3Rvci0+c2NhbGluZ19tb2RlX3Byb3BlcnR5KSB7Cj4g PiA+ICAgICAgICAgICAgICAgc3RhdGUtPnNjYWxpbmdfbW9kZSA9IHZhbDsKPiA+ID4gICAgICAg fSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25uZWN0b3ItPmNvbnRlbnRfcHJvdGVjdGlvbl9wcm9w ZXJ0eSkgewo+ID4gPiBAQCAtMTM1MSw2ICsxMzYwLDE0IEBAIGRybV9hdG9taWNfY29ubmVjdG9y X2dldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ID4gPiAgICAg ICAgICAgICAgICp2YWwgPSBzdGF0ZS0+bGlua19zdGF0dXM7Cj4gPiA+ICAgICAgIH0gZWxzZSBp ZiAocHJvcGVydHkgPT0gY29uZmlnLT5hc3BlY3RfcmF0aW9fcHJvcGVydHkpIHsKPiA+ID4gICAg ICAgICAgICAgICAqdmFsID0gc3RhdGUtPnBpY3R1cmVfYXNwZWN0X3JhdGlvOwo+ID4gPiArICAg ICB9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+Y29udGVudF90eXBlX3Byb3BlcnR5KSB7 Cj4gPiA+ICsgICAgICAgICAgICAgLyoKPiA+ID4gKyAgICAgICAgICAgICAgKiBMb3dlc3QgdHdv IGJpdHMgb2YgY29udGVudF90eXBlIHByb3BlcnR5IGNvbnRyb2wKPiA+ID4gKyAgICAgICAgICAg ICAgKiBjb250ZW50X3R5cGUsIGJpdCAyIGNvbnRyb2xzIGl0YyBiaXQuCj4gPiA+ICsgICAgICAg ICAgICAgICogSXQgd2FzIGRlY2lkZWQgdG8gaGF2ZSBhIHNpbmdsZSBwcm9wZXJ0eSBjYWxsZWQK PiA+ID4gKyAgICAgICAgICAgICAgKiBjb250ZW50X3R5cGUsIGluc3RlYWQgb2YgY29udGVudF90 eXBlIGFuZCBpdGMuCj4gPiA+ICsgICAgICAgICAgICAgICovCj4gPiA+ICsgICAgICAgICAgICAg KnZhbCA9IHN0YXRlLT5jb250ZW50X3R5cGUgfCAoc3RhdGUtPml0X2NvbnRlbnQgPDwgMik7Cj4g PiA+ICAgICAgIH0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29ubmVjdG9yLT5zY2FsaW5nX21vZGVf cHJvcGVydHkpIHsKPiA+ID4gICAgICAgICAgICAgICAqdmFsID0gc3RhdGUtPnNjYWxpbmdfbW9k ZTsKPiA+ID4gICAgICAgfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25uZWN0b3ItPmNvbnRlbnRf cHJvdGVjdGlvbl9wcm9wZXJ0eSkgewo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2RybV9jb25uZWN0b3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMKPiA+ID4g aW5kZXggYjNjZGU4OTdjZDgwLi43NTdhMDcxMmY3YzEgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMKPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2Ry bV9jb25uZWN0b3IuYwo+ID4gPiBAQCAtNzIwLDYgKzcyMCwxNCBAQCBzdGF0aWMgY29uc3Qgc3Ry dWN0IGRybV9wcm9wX2VudW1fbGlzdCBkcm1fYXNwZWN0X3JhdGlvX2VudW1fbGlzdFtdID0gewo+ ID4gPiAgICAgICB7IERSTV9NT0RFX1BJQ1RVUkVfQVNQRUNUXzE2XzksICIxNjo5IiB9LAo+ID4g PiAgfTsKPiA+ID4KPiA+ID4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX3Byb3BfZW51bV9saXN0 IGRybV9jb250ZW50X3R5cGVfZW51bV9saXN0W10gPSB7Cj4gPiA+ICsgICAgIHsgRFJNX01PREVf Q09OVEVOVF9UWVBFX05PX0RBVEEsICJObyBkYXRhIiB9LAo+ID4gPiArICAgICB7IERSTV9NT0RF X0NPTlRFTlRfVFlQRV9HUkFQSElDUywgIkdyYXBoaWNzIiB9LAo+ID4gPiArICAgICB7IERSTV9N T0RFX0NPTlRFTlRfVFlQRV9QSE9UTywgIlBob3RvIiB9LAo+ID4gPiArICAgICB7IERSTV9NT0RF X0NPTlRFTlRfVFlQRV9DSU5FTUEsICJDaW5lbWEiIH0sCj4gPiA+ICsgICAgIHsgRFJNX01PREVf Q09OVEVOVF9UWVBFX0dBTUUsICJHYW1lIiB9LAo+ID4gPiArfTsKPiA+ID4gKwo+ID4gPiAgc3Rh dGljIGNvbnN0IHN0cnVjdCBkcm1fcHJvcF9lbnVtX2xpc3QgZHJtX3BhbmVsX29yaWVudGF0aW9u X2VudW1fbGlzdFtdID0gewo+ID4gPiAgICAgICB7IERSTV9NT0RFX1BBTkVMX09SSUVOVEFUSU9O X05PUk1BTCwgICAgIk5vcm1hbCIgICAgICAgIH0sCj4gPiA+ICAgICAgIHsgRFJNX01PREVfUEFO RUxfT1JJRU5UQVRJT05fQk9UVE9NX1VQLCAiVXBzaWRlIERvd24iICAgfSwKPiA+ID4gQEAgLTk5 Niw2ICsxMDA0LDIyIEBAIGludCBkcm1fbW9kZV9jcmVhdGVfZHZpX2lfcHJvcGVydGllcyhzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KQo+ID4gPiAgfQo+ID4gPiAgRVhQT1JUX1NZTUJPTChkcm1fbW9k ZV9jcmVhdGVfZHZpX2lfcHJvcGVydGllcyk7Cj4gPiA+Cj4gPiA+ICsvKioKPiA+ID4gKyAqIGRy bV9jb25uZWN0b3JfYXR0YWNoX2NvbnRlbnRfdHlwZV9wcm9wZXJ0eSAtIGF0dGFjaCBjb250ZW50 LXR5cGUgcHJvcGVydHkKPiA+ID4gKyAqIEBkZXY6IERSTSBkZXZpY2UKPiA+ID4gKyAqCj4gPiA+ ICsgKiBDYWxsZWQgYnkgYSBkcml2ZXIgdGhlIGZpcnN0IHRpbWUgYSBIRE1JIGNvbm5lY3RvciBp cyBtYWRlLgo+ID4gPiArICovCj4gPiA+ICtpbnQgZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfY29udGVu dF90eXBlX3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gPiA+ICt7 Cj4gPiA+ICsgICAgIGlmICghZHJtX21vZGVfY3JlYXRlX2NvbnRlbnRfdHlwZV9wcm9wZXJ0eShj b25uZWN0b3ItPmRldikpCj4gPiA+ICsgICAgICAgICAgICAgZHJtX29iamVjdF9hdHRhY2hfcHJv cGVydHkoJmNvbm5lY3Rvci0+YmFzZSwKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgIGNvbm5l Y3Rvci0+ZGV2LT5tb2RlX2NvbmZpZy5jb250ZW50X3R5cGVfcHJvcGVydHksCj4gPiA+ICsgICAg ICAgICAgICAgICAgICAgICBEUk1fTU9ERV9DT05URU5UX1RZUEVfTk9fREFUQSk7Cj4gPiA+ICsg ICAgIHJldHVybiAwOwo+ID4gPiArfQo+ID4gPiArRVhQT1JUX1NZTUJPTChkcm1fY29ubmVjdG9y X2F0dGFjaF9jb250ZW50X3R5cGVfcHJvcGVydHkpOwo+ID4gPiArCj4gPiA+ICAvKioKPiA+ID4g ICAqIGRybV9jcmVhdGVfdHZfcHJvcGVydGllcyAtIGNyZWF0ZSBUViBzcGVjaWZpYyBjb25uZWN0 b3IgcHJvcGVydGllcwo+ID4gPiAgICogQGRldjogRFJNIGRldmljZQo+ID4gPiBAQCAtMTI2MCw2 ICsxMjg0LDMzIEBAIGludCBkcm1fbW9kZV9jcmVhdGVfYXNwZWN0X3JhdGlvX3Byb3BlcnR5KHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gPiA+ICB9Cj4gPiA+ICBFWFBPUlRfU1lNQk9MKGRybV9t b2RlX2NyZWF0ZV9hc3BlY3RfcmF0aW9fcHJvcGVydHkpOwo+ID4gPgo+ID4gPiArLyoqCj4gPiA+ ICsgKiBkcm1fbW9kZV9jcmVhdGVfY29udGVudF90eXBlX3Byb3BlcnR5IC0gY3JlYXRlIGNvbnRl bnQgdHlwZSBwcm9wZXJ0eQo+ID4gPiArICogQGRldjogRFJNIGRldmljZQo+ID4gPiArICoKPiA+ ID4gKyAqIENhbGxlZCBieSBhIGRyaXZlciB0aGUgZmlyc3QgdGltZSBpdCdzIG5lZWRlZCwgbXVz dCBiZSBhdHRhY2hlZCB0byBkZXNpcmVkCj4gPiA+ICsgKiBjb25uZWN0b3JzLgo+ID4gPiArICoK PiA+ID4gKyAqIFJldHVybnM6Cj4gPiA+ICsgKiBaZXJvIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIGVy cm5vIG9uIGZhaWx1cmUuCj4gPiA+ICsgKi8KPiA+ID4gK2ludCBkcm1fbW9kZV9jcmVhdGVfY29u dGVudF90eXBlX3Byb3BlcnR5KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gPiA+ICt7Cj4gPiA+ ICsgICAgIGlmIChkZXYtPm1vZGVfY29uZmlnLmNvbnRlbnRfdHlwZV9wcm9wZXJ0eSkKPiA+ID4g KyAgICAgICAgICAgICByZXR1cm4gMDsKPiA+ID4gKwo+ID4gPiArICAgICBkZXYtPm1vZGVfY29u ZmlnLmNvbnRlbnRfdHlwZV9wcm9wZXJ0eSA9Cj4gPiA+ICsgICAgICAgICAgICAgZHJtX3Byb3Bl cnR5X2NyZWF0ZV9lbnVtKGRldiwgMCwgImNvbnRlbnQgdHlwZSIsCj4gPiA+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGRybV9jb250ZW50X3R5cGVfZW51bV9saXN0LAo+ID4gPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBBUlJBWV9TSVpFKGRybV9jb250ZW50X3R5cGVfZW51 bV9saXN0KSk7Cj4gPiA+ICsKPiA+ID4gKyAgICAgaWYgKGRldi0+bW9kZV9jb25maWcuY29udGVu dF90eXBlX3Byb3BlcnR5ID09IE5VTEwpCj4gPiA+ICsgICAgICAgICAgICAgcmV0dXJuIC1FTk9N RU07Cj4gPiA+ICsKPiA+ID4gKyAgICAgcmV0dXJuIDA7Cj4gPiA+ICt9Cj4gPiA+ICtFWFBPUlRf U1lNQk9MKGRybV9tb2RlX2NyZWF0ZV9jb250ZW50X3R5cGVfcHJvcGVydHkpOwo+ID4gPiArCj4g PiA+ICAvKioKPiA+ID4gICAqIGRybV9tb2RlX2NyZWF0ZV9zdWdnZXN0ZWRfb2Zmc2V0X3Byb3Bl cnRpZXMgLSBjcmVhdGUgc3VnZ2VzdHMgb2Zmc2V0IHByb3BlcnRpZXMKPiA+ID4gICAqIEBkZXY6 IERSTSBkZXZpY2UKPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5j IGIvZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMKPiA+ID4gaW5kZXggMTM0MDY5ZjM2NDgyLi5i MWI3Zjk2ODNlMzQgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5j Cj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jCj4gPiA+IEBAIC00ODY3LDYg KzQ4NjcsOCBAQCBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKHN0cnVj dCBoZG1pX2F2aV9pbmZvZnJhbWUgKmZyYW1lLAo+ID4gPiAgICAgICB9Cj4gPiA+Cj4gPiA+ICAg ICAgIGZyYW1lLT5waWN0dXJlX2FzcGVjdCA9IEhETUlfUElDVFVSRV9BU1BFQ1RfTk9ORTsKPiA+ ID4gKyAgICAgZnJhbWUtPmNvbnRlbnRfdHlwZSA9IEhETUlfQ09OVEVOVF9UWVBFX0dSQVBISUNT Owo+ID4gPiArICAgICBmcmFtZS0+aXRjID0gMDsKPiA+ID4KPiA+ID4gICAgICAgLyoKPiA+ID4g ICAgICAgICogUG9wdWxhdGUgcGljdHVyZSBhc3BlY3QgcmF0aW8gZnJvbSBlaXRoZXIKPiA+ID4g ZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaCBiL2luY2x1ZGUvZHJtL2Ry bV9jb25uZWN0b3IuaAo+ID4gPiBpbmRleCA2NzVjYzNmOGNmODUuLjFmZWRhYjc1MGYwOSAxMDA2 NDQKPiA+ID4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCj4gPiA+ICsrKyBiL2lu Y2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaAo+ID4gPiBAQCAtNDE4LDYgKzQxOCwyMiBAQCBzdHJ1 Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSB7Cj4gPiA+ICAgICAgICAqLwo+ID4gPiAgICAgICBlbnVt IGhkbWlfcGljdHVyZV9hc3BlY3QgcGljdHVyZV9hc3BlY3RfcmF0aW87Cj4gPiA+Cj4gPiA+ICsg ICAgIC8qKgo+ID4gPiArICAgICAgKiBAY29udGVudF90eXBlOiBDb25uZWN0b3IgcHJvcGVydHkg dG8gY29udHJvbCB0aGUKPiA+ID4gKyAgICAgICogSERNSSBpbmZvZnJhbWUgY29udGVudCB0eXBl IHNldHRpbmcuCj4gPiA+ICsgICAgICAqIFRoZSAlRFJNX01PREVfQ09OVEVOVF9UWVBFX1wqIHZh bHVlcyBsb3dlc3QgMiBiaXRzIG11Y2gKPiA+ID4gKyAgICAgICogbWF0Y2ggdGhlIHZhbHVlcyBm b3IgJmVudW0gaGRtaV9jb250ZW50X3R5cGUKPiA+ID4gKyAgICAgICovCj4gPiA+ICsgICAgIGVu dW0gaGRtaV9jb250ZW50X3R5cGUgY29udGVudF90eXBlOwo+ID4gPiArCj4gPiA+ICsgICAgIC8q Kgo+ID4gPiArICAgICAgKiBAaXRfY29udGVudDogQ29ubmVjdG9yIHByb3BlcnR5IHRvIGNvbnRy b2wgdGhlCj4gPiA+ICsgICAgICAqIEhETUkgaW5mb2ZyYW1lIGl0IGNvbnRlbnQgc2V0dGluZyh1 c2VkIHdpdGggY29udGVudCB0eXBlKS4KPiA+ID4gKyAgICAgICogVGhlICVEUk1fTU9ERV9DT05U RU5UX1RZUEVfXCogdmFsdWVzIGJpdCAyCj4gPiA+ICsgICAgICAqIG1hdGNoIHRoZSB2YWx1ZXMg b2YgaXRfY29udGVudAo+ID4gPiArICAgICAgKi8KPiA+ID4gKyAgICAgYm9vbCBpdF9jb250ZW50 Owo+ID4gPiArCj4gPiA+ICAgICAgIC8qKgo+ID4gPiAgICAgICAgKiBAc2NhbGluZ19tb2RlOiBD b25uZWN0b3IgcHJvcGVydHkgdG8gY29udHJvbCB0aGUKPiA+ID4gICAgICAgICogdXBzY2FsaW5n LCBtb3N0bHkgdXNlZCBmb3IgYnVpbHQtaW4gcGFuZWxzLgo+ID4gPiBAQCAtMTA4OSwxMSArMTEw NSwxMyBAQCBpbnQgZHJtX21vZGVfY3JlYXRlX3R2X3Byb3BlcnRpZXMoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwKPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBp bnQgbnVtX21vZGVzLAo+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IGNoYXIgKiBjb25zdCBtb2Rlc1tdKTsKPiA+ID4gIGludCBkcm1fbW9kZV9jcmVhdGVfc2NhbGlu Z19tb2RlX3Byb3BlcnR5KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+ID4gPiAraW50IGRybV9j b25uZWN0b3JfYXR0YWNoX2NvbnRlbnRfdHlwZV9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3Rv ciAqZGV2KTsKPiA+ID4gIGludCBkcm1fY29ubmVjdG9yX2F0dGFjaF9zY2FsaW5nX21vZGVfcHJv cGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiA+ID4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdTMyIHNjYWxpbmdfbW9kZV9tYXNrKTsK PiA+ID4gIGludCBkcm1fY29ubmVjdG9yX2F0dGFjaF9jb250ZW50X3Byb3RlY3Rpb25fcHJvcGVy dHkoCj4gPiA+ICAgICAgICAgICAgICAgc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rvcik7 Cj4gPiA+ICBpbnQgZHJtX21vZGVfY3JlYXRlX2FzcGVjdF9yYXRpb19wcm9wZXJ0eShzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2KTsKPiA+ID4gK2ludCBkcm1fbW9kZV9jcmVhdGVfY29udGVudF90eXBl X3Byb3BlcnR5KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+ID4gPiAgaW50IGRybV9tb2RlX2Ny ZWF0ZV9zdWdnZXN0ZWRfb2Zmc2V0X3Byb3BlcnRpZXMoc3RydWN0IGRybV9kZXZpY2UgKmRldik7 Cj4gPiA+Cj4gPiA+ICBpbnQgZHJtX21vZGVfY29ubmVjdG9yX3NldF9wYXRoX3Byb3BlcnR5KHN0 cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gPiA+IGRpZmYgLS1naXQgYS9pbmNsdWRl L2RybS9kcm1fbW9kZV9jb25maWcuaCBiL2luY2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5oCj4g PiA+IGluZGV4IDMzYjNhOTZkNjZkMC4uZmI0NTgzOTE3OWRkIDEwMDY0NAo+ID4gPiAtLS0gYS9p bmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcuaAo+ID4gPiArKysgYi9pbmNsdWRlL2RybS9kcm1f bW9kZV9jb25maWcuaAo+ID4gPiBAQCAtNzI2LDYgKzcyNiwxMSBAQCBzdHJ1Y3QgZHJtX21vZGVf Y29uZmlnIHsKPiA+ID4gICAgICAgICogSERNSSBpbmZvZnJhbWUgYXNwZWN0IHJhdGlvIHNldHRp bmcuCj4gPiA+ICAgICAgICAqLwo+ID4gPiAgICAgICBzdHJ1Y3QgZHJtX3Byb3BlcnR5ICphc3Bl Y3RfcmF0aW9fcHJvcGVydHk7Cj4gPiA+ICsgICAgIC8qKgo+ID4gPiArICAgICAgKiBAY29udGVu dF90eXBlX3Byb3BlcnR5OiBPcHRpb25hbCBjb25uZWN0b3IgcHJvcGVydHkgdG8gY29udHJvbCB0 aGUKPiA+ID4gKyAgICAgICogSERNSSBpbmZvZnJhbWUgY29udGVudCB0eXBlIHNldHRpbmcuCj4g PiA+ICsgICAgICAqLwo+ID4gPiArICAgICBzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpjb250ZW50X3R5 cGVfcHJvcGVydHk7Cj4gPiA+ICAgICAgIC8qKgo+ID4gPiAgICAgICAgKiBAZGVnYW1tYV9sdXRf cHJvcGVydHk6IE9wdGlvbmFsIENSVEMgcHJvcGVydHkgdG8gc2V0IHRoZSBMVVQgdXNlZCB0bwo+ ID4gPiAgICAgICAgKiBjb252ZXJ0IHRoZSBmcmFtZWJ1ZmZlcidzIGNvbG9ycyB0byBsaW5lYXIg Z2FtbWEuCj4gPiA+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmggYi9p bmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmgKPiA+ID4gaW5kZXggNTBiY2Y0MjE0ZmY5Li4zYzIz NGJmYTgwYjkgMTAwNjQ0Cj4gPiA+IC0tLSBhL2luY2x1ZGUvdWFwaS9kcm0vZHJtX21vZGUuaAo+ ID4gPiArKysgYi9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmgKPiA+ID4gQEAgLTk0LDYgKzk0 LDEzIEBAIGV4dGVybiAiQyIgewo+ID4gPiAgI2RlZmluZSBEUk1fTU9ERV9QSUNUVVJFX0FTUEVD VF80XzMgICAgICAgICAgMQo+ID4gPiAgI2RlZmluZSBEUk1fTU9ERV9QSUNUVVJFX0FTUEVDVF8x Nl85ICAgICAgICAgMgo+ID4gPgo+ID4gPiArLyogSERNSSBjb250ZW50IHR5cGUgYW5kIGl0YyBi aXQgYm91bmQgdG9nZXRoZXIgZm9yIHNpbXBsaWNpdHkgKi8KPiA+ID4gKyNkZWZpbmUgRFJNX01P REVfQ09OVEVOVF9UWVBFX05PX0RBVEEgICAgICAgICAgICAgICAgMAo+ID4gPiArI2RlZmluZSBE Uk1fTU9ERV9DT05URU5UX1RZUEVfR1JBUEhJQ1MgICAgICAgICAgICAgICA0Cj4gPiA+ICsjZGVm aW5lIERSTV9NT0RFX0NPTlRFTlRfVFlQRV9QSE9UTyAgICAgICAgICA1Cj4gPiA+ICsjZGVmaW5l IERSTV9NT0RFX0NPTlRFTlRfVFlQRV9DSU5FTUEgICAgICAgICA2Cj4gPiA+ICsjZGVmaW5lIERS TV9NT0RFX0NPTlRFTlRfVFlQRV9HQU1FICAgICAgICAgICA3Cj4gPiA+ICsKPiA+ID4gIC8qIEFz cGVjdCByYXRpbyBmbGFnIGJpdG1hc2sgKDQgYml0cyAyMjoxOSkgKi8KPiA+ID4gICNkZWZpbmUg RFJNX01PREVfRkxBR19QSUNfQVJfTUFTSyAgICAgICAgICAgICgweDBGPDwxOSkKPiA+ID4gICNk ZWZpbmUgIERSTV9NT0RFX0ZMQUdfUElDX0FSX05PTkUgXAo+ID4gPiAtLQo+ID4gPiAyLjE3LjAK PiA+ID4KPiA+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KPiA+ID4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+ID4gPiBJbnRlbC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCj4gPiA+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4Cj4gPgo+ID4gLS0KPiA+IERhbmllbCBWZXR0ZXIKPiA+IFNvZnR3 YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgo+ID4gaHR0cDovL2Jsb2cuZmZ3bGwuY2gK PiAKPiAtLQo+IERhbmllbCBWZXR0ZXIKPiBTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9y YXRpb24KPiBodHRwOi8vYmxvZy5mZndsbC5jaAoKLS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUg RW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCmh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5n IGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=