From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: [PATCH 1/4] drm: Add a new connector atomic property for link status Date: Mon, 5 Dec 2016 16:27:35 -0800 Message-ID: <1480984058-552-2-git-send-email-manasi.d.navare@intel.com> References: <1480984058-552-1-git-send-email-manasi.d.navare@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1480984058-552-1-git-send-email-manasi.d.navare@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Cc: Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org QXQgdGhlIHRpbWUgdXNlcnNwYWNlIGRvZXMgc2V0Y3J0Yywgd2UndmUgYWxyZWFkeSBwcm9taXNl ZCB0aGUgbW9kZQp3b3VsZCB3b3JrLiBUaGUgcHJvbWlzZSBpcyBiYXNlZCBvbiB0aGUgdGhlb3Jl dGljYWwgY2FwYWJpbGl0aWVzIG9mCnRoZSBsaW5rLCBidXQgaXQncyBwb3NzaWJsZSB3ZSBjYW4n dCByZWFjaCB0aGlzIGluIHByYWN0aWNlLiBUaGUgRFAKc3BlYyBkZXNjcmliZXMgaG93IHRoZSBs aW5rIHNob3VsZCBiZSByZWR1Y2VkLCBidXQgd2UgY2FuJ3QgcmVkdWNlCnRoZSBsaW5rIGJlbG93 IHRoZSByZXF1aXJlbWVudHMgb2YgdGhlIG1vZGUuIEJsYWNrIHNjcmVlbiBmb2xsb3dzLgoKT25l IGlkZWEgd291bGQgYmUgdG8gaGF2ZSBzZXRjcnRjIHJldHVybiBhIGZhaWx1cmUuIEhvd2V2ZXIs IGl0CmFscmVhZHkgc2hvdWxkIG5vdCBmYWlsIGFzIHRoZSBhdG9taWMgY2hlY2tzIGhhdmUgcGFz c2VkLiBJdCB3b3VsZAphbHNvIGNvbmZsaWN0IHdpdGggdGhlIGlkZWEgb2YgbWFraW5nIHNldGNy dGMgYXN5bmNocm9ub3VzIGluIHRoZQpmdXR1cmUsIHJldHVybmluZyBiZWZvcmUgdGhlIGFjdHVh bCBtb2RlIHNldHRpbmcgYW5kIGxpbmsgdHJhaW5pbmcuCgpBbm90aGVyIGlkZWEgaXMgdG8gdHJh aW4gdGhlIGxpbmsgInVwZnJvbnQiIGF0IGhvdHBsdWcgdGltZSwgYmVmb3JlCnBydW5pbmcgdGhl IG1vZGUgbGlzdCwgc28gdGhhdCB3ZSBjYW4gZG8gdGhlIHBydW5pbmcgYmFzZWQgb24KcHJhY3Rp Y2FsIG5vdCB0aGVvcmV0aWNhbCBjYXBhYmlsaXRpZXMuIEhvd2V2ZXIsIHRoZSBjaGFuZ2VzIGZv ciBsaW5rCnRyYWluaW5nIGFyZSBwcmV0dHkgZHJhc3RpYywgYWxsIGZvciB0aGUgc2FrZSBvZiBl cnJvciBoYW5kbGluZyBhbmQKRFAgY29tcGxpYW5jZSwgd2hlbiB0aGUgbW9zdCBjb21tb24gaGFw cHkgZGF5IHNjZW5hcmlvIGlzIHRoZSBjdXJyZW50CmFwcHJvYWNoIG9mIGxpbmsgdHJhaW5pbmcg YXQgbW9kZSBzZXR0aW5nIHRpbWUsIHVzaW5nIHRoZSBvcHRpbWFsCnBhcmFtZXRlcnMgZm9yIHRo ZSBtb2RlLiBJdCBpcyBhbHNvIG5vdCBjZXJ0YWluIGFsbCBoYXJkd2FyZSBjb3VsZCBkbwp0aGlz IHdpdGhvdXQgdGhlIHBpcGUgb247IG5vdCBldmVuIGFsbCBvdXIgaGFyZHdhcmUgY2FuIGRvIHRo aXMuIFNvbWUKb2YgdGhpcyBjYW4gYmUgc29sdmVkLCBidXQgbm90IHRyaXZpYWxseS4KCkJvdGgg b2YgdGhlIGFib3ZlIGlkZWFzIGFsc28gZmFpbCB0byBhZGRyZXNzIGxpbmsgZGVncmFkYXRpb24g KmR1cmluZyoKb3BlcmF0aW9uLgoKVGhlIHNvbHV0aW9uIGlzIHRvIGFkZCBhIG5ldyAibGluay1z dGF0dXMiIGNvbm5lY3RvciBwcm9wZXJ0eSBpbiBvcmRlcgp0byBhZGRyZXNzIGxpbmsgdHJhaW5p bmcgZmFpbHVyZSBpbiBhIHdheSB0aGF0OgphKSBjaGFuZ2VzIHRoZSBjdXJyZW50IGhhcHB5IGRh eSBzY2VuYXJpbyBhcyBsaXR0bGUgYXMgcG9zc2libGUsIHRvCmF2b2lkIHJlZ3Jlc3Npb25zLCBi KSBjYW4gYmUgaW1wbGVtZW50ZWQgdGhlIHNhbWUgd2F5IGJ5IGFsbCBkcm0KZHJpdmVycywgYykg aXMgc3RpbGwgb3B0LWluIGZvciB0aGUgZHJpdmVycyBhbmQgdXNlcnNwYWNlLCBhbmQgb3B0aW5n Cm91dCBkb2Vzbid0IHJlZ3Jlc3MgdGhlIHVzZXIgZXhwZXJpZW5jZSwgZCkgZG9lc24ndCBwcmV2 ZW50IGRyaXZlcnMKZnJvbSBpbXBsZW1lbnRpbmcgYmV0dGVyIG9yIGFsdGVybmF0ZSBhcHByb2Fj aGVzLCBwb3NzaWJseSB3aXRob3V0CnVzZXJzcGFjZSBpbnZvbHZlbWVudC4gQW5kLCBvZiBjb3Vy c2UsIGhhbmRsZXMgYWxsIHRoZSBpc3N1ZXMgcHJlc2VudGVkLgpJbiB0aGUgdXN1YWwgaGFwcHkg ZGF5IHNjZW5hcmlvLCB0aGlzIGlzIGFsd2F5cyAiZ29vZCIuIElmIHNvbWV0aGluZwpmYWlscyBk dXJpbmcgb3IgYWZ0ZXIgYSBtb2RlIHNldCwgdGhlIGtlcm5lbCBkcml2ZXIgY2FuIHNldCB0aGUg bGluawpzdGF0dXMgdG8gImJhZCIgYW5kIGlzc3VlIGEgaG90cGx1ZyB1ZXZlbnQgZm9yIHVzZXJz cGFjZSB0byBoYXZlIGl0CnJlLWNoZWNrIHRoZSB2YWxpZCBtb2RlcyB0aHJvdWdoIEdFVF9DT05O RUNUT1IgSU9DVEwsIGFuZCB0cnkgbW9kZXNldAphZ2Fpbi4gSWYgdGhlIHRoZW9yZXRpY2FsIGNh cGFiaWxpdGllcyBvZiB0aGUgbGluayBjYW4ndCBiZSByZWFjaGVkLAp0aGUgbW9kZSBsaXN0IGlz IHRyaW1tZWQgYmFzZWQgb24gdGhhdC4KCnY0OgoqIEFkZCBjb21tZW50cyBpbiBrZXJuZWwtZG9j IGZvcm1hdCAoRGFuaWVsIFZldHRlcikKKiBVcGRhdGUgdGhlIGtlcm5lbC1kb2MgZm9yIGxpbmst c3RhdHVzIChTZWFuIFBhdWwpCnYzOgoqIEZpeGVkIGEgYnVpbGQgZXJyb3IgKEphbmkgU2Fhcmlu ZW4pCnYyOgoqIFJlbW92ZWQgY29ubmVjdG9yLT5saW5rX3N0YXR1cyAoRGFuaWVsIFZldHRlcikK KiBTZXQgY29ubmVjdG9yLT5zdGF0ZS0+bGlua19zdGF0dXMgaW4gZHJtX21vZGVfY29ubmVjdG9y X3NldF9saW5rX3N0YXR1c19wcm9wZXJ0eQooRGFuaWVsIFZldHRlcikKKiBTZXQgdGhlIGNvbm5l Y3Rvcl9jaGFuZ2VkIGZsYWcgdG8gdHJ1ZSBpZiBjb25uZWN0b3ItPnN0YXRlLT5saW5rX3N0YXR1 cyBjaGFuZ2VkLgoqIFJlc2V0IGxpbmtfc3RhdHVzIHRvIEdPT0QgaW4gdXBkYXRlX291dHB1dF9z dGF0ZSAoRGFuaWVsIFZldHRlcikKKiBOZXZlciBhbGxvdyB1c2Vyc3BhY2UgdG8gc2V0IGxpbmsg c3RhdHVzIGZyb20gR29vZCBUbyBCYWQgKERhbmllbCBWZXR0ZXIpCgpBY2tlZC1ieTogVG9ueSBD aGVuZyA8dG9ueS5jaGVuZ0BhbWQuY29tPgpBY2tlZC1ieTogSGFycnkgV2VudGxhbmQgPGhhcnJ5 LndlbnRsYW5kQGFtZC5jb20+CkNjOiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAbGludXguaW50 ZWwuY29tPgpDYzogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBpbnRlbC5jb20+CkNjOiBW aWxsZSBTeXJqYWxhIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KQ2M6IENocmlzIFdp bHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpDYzogU2VhbiBQYXVsIDxzZWFucGF1bEBj aHJvbWl1bS5vcmc+ClNpZ25lZC1vZmYtYnk6IE1hbmFzaSBOYXZhcmUgPG1hbmFzaS5kLm5hdmFy ZUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyAgICAgICAgfCAx MCArKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYyB8IDE1ICsrKysr KysrKysrCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jICAgICB8IDUzICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGluY2x1ZGUvZHJtL2RybV9jb25uZWN0b3Iu aCAgICAgICAgIHwgMTkgKysrKysrKysrKysrKwogaW5jbHVkZS9kcm0vZHJtX21vZGVfY29uZmln LmggICAgICAgfCAgNSArKysrCiBpbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmggICAgICAgICB8 ICA0ICsrKwogNiBmaWxlcyBjaGFuZ2VkLCAxMDYgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21p Yy5jCmluZGV4IDE5ZDdiY2IuLjcwYTUxNTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9k cm1fYXRvbWljLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwpAQCAtMTA4Nyw2 ICsxMDg3LDE0IEBAIGludCBkcm1fYXRvbWljX2Nvbm5lY3Rvcl9zZXRfcHJvcGVydHkoc3RydWN0 IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAkJICogbm93PykgYXRvbWljIHdyaXRlcyB0byBE UE1TIHByb3BlcnR5OgogCQkgKi8KIAkJcmV0dXJuIC1FSU5WQUw7CisJfSBlbHNlIGlmIChwcm9w ZXJ0eSA9PSBjb25maWctPmxpbmtfc3RhdHVzX3Byb3BlcnR5KSB7CisJCS8qIE5ldmVyIGRvd25n cmFkZSBmcm9tIEdPT0QgdG8gQkFEIG9uIHVzZXJzcGFjZSdzIHJlcXVlc3QgaGVyZSwKKwkJICog b25seSBodyBpc3N1ZXMgY2FuIGRvIHRoYXQuCisJCSAqLworCQlpZiAoc3RhdGUtPmxpbmtfc3Rh dHVzID09IERSTV9MSU5LX1NUQVRVU19HT09EKQorCQkJcmV0dXJuIDA7CisJCXN0YXRlLT5saW5r X3N0YXR1cyA9IHZhbDsKKwkJcmV0dXJuIDA7CiAJfSBlbHNlIGlmIChjb25uZWN0b3ItPmZ1bmNz LT5hdG9taWNfc2V0X3Byb3BlcnR5KSB7CiAJCXJldHVybiBjb25uZWN0b3ItPmZ1bmNzLT5hdG9t aWNfc2V0X3Byb3BlcnR5KGNvbm5lY3RvciwKIAkJCQlzdGF0ZSwgcHJvcGVydHksIHZhbCk7CkBA IC0xMTM1LDYgKzExNDMsOCBAQCBzdGF0aWMgdm9pZCBkcm1fYXRvbWljX2Nvbm5lY3Rvcl9wcmlu dF9zdGF0ZShzdHJ1Y3QgZHJtX3ByaW50ZXIgKnAsCiAJCSp2YWwgPSAoc3RhdGUtPmNydGMpID8g c3RhdGUtPmNydGMtPmJhc2UuaWQgOiAwOwogCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmln LT5kcG1zX3Byb3BlcnR5KSB7CiAJCSp2YWwgPSBjb25uZWN0b3ItPmRwbXM7CisJfSBlbHNlIGlm IChwcm9wZXJ0eSA9PSBjb25maWctPmxpbmtfc3RhdHVzX3Byb3BlcnR5KSB7CisJCSp2YWwgPSBz dGF0ZS0+bGlua19zdGF0dXM7CiAJfSBlbHNlIGlmIChjb25uZWN0b3ItPmZ1bmNzLT5hdG9taWNf Z2V0X3Byb3BlcnR5KSB7CiAJCXJldHVybiBjb25uZWN0b3ItPmZ1bmNzLT5hdG9taWNfZ2V0X3By b3BlcnR5KGNvbm5lY3RvciwKIAkJCQlzdGF0ZSwgcHJvcGVydHksIHZhbCk7CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9k cm1fYXRvbWljX2hlbHBlci5jCmluZGV4IDQ5NDY4MGMuLjNkNmMxY2UgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9k cm1fYXRvbWljX2hlbHBlci5jCkBAIC01MTksNiArNTE5LDEzIEBAIHN0YXRpYyBpbnQgaGFuZGxl X2NvbmZsaWN0aW5nX2VuY29kZXJzKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKIAkJ CQkJICAgICAgIGNvbm5lY3Rvcl9zdGF0ZSk7CiAJCWlmIChyZXQpCiAJCQlyZXR1cm4gcmV0Owor CQlpZiAoY29ubmVjdG9yLT5zdGF0ZS0+Y3J0YykgeworCQkJY3J0Y19zdGF0ZSA9IGRybV9hdG9t aWNfZ2V0X2V4aXN0aW5nX2NydGNfc3RhdGUoc3RhdGUsCisJCQkJCQkJCQljb25uZWN0b3ItPnN0 YXRlLT5jcnRjKTsKKwkJCWlmIChjb25uZWN0b3ItPnN0YXRlLT5saW5rX3N0YXR1cyAhPQorCQkJ ICAgIGNvbm5lY3Rvcl9zdGF0ZS0+bGlua19zdGF0dXMpCisJCQkJY3J0Y19zdGF0ZS0+Y29ubmVj dG9yc19jaGFuZ2VkID0gdHJ1ZTsKKwkJfQogCX0KIAogCS8qCkBAIC0yMjU4LDYgKzIyNjUsOCBA QCBzdGF0aWMgaW50IHVwZGF0ZV9vdXRwdXRfc3RhdGUoc3RydWN0IGRybV9hdG9taWNfc3RhdGUg KnN0YXRlLAogCQkJCQkJCQlOVUxMKTsKIAkJCWlmIChyZXQpCiAJCQkJcmV0dXJuIHJldDsKKwkJ CS8qIE1ha2Ugc3VyZSBsZWdhY3kgc2V0Q3J0YyBhbHdheXMgcmUtdHJhaW5zICovCisJCQljb25u X3N0YXRlLT5saW5rX3N0YXR1cyA9IERSTV9MSU5LX1NUQVRVU19HT09EOwogCQl9CiAJfQogCkBA IC0yMzAxLDYgKzIzMTAsMTIgQEAgc3RhdGljIGludCB1cGRhdGVfb3V0cHV0X3N0YXRlKHN0cnVj dCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKICAqCiAgKiBQcm92aWRlcyBhIGRlZmF1bHQgY3J0 YyBzZXRfY29uZmlnIGhhbmRsZXIgdXNpbmcgdGhlIGF0b21pYyBkcml2ZXIgaW50ZXJmYWNlLgog ICoKKyAqIE5PVEU6IEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB3aXRoIG9sZCB1c2Vyc3Bh Y2UgdGhpcyBhdXRvbWF0aWNhbGx5CisgKiByZXNldHMgdGhlICJsaW5rLXN0YXR1cyIgcHJvcGVy dHkgdG8gR09PRCwgdG8gZm9yY2UgYW55IGxpbmsKKyAqIHJlLXRyYWluaW5nLiBUaGUgU0VUQ1JU QyBpb2N0bCBkb2VzIG5vdCBkZWZpbmUgd2hldGhlciBhbiB1cGRhdGUgZG9lcworICogbmVlZCBh IGZ1bGwgbW9kZXNldCBvciBqdXN0IGEgcGxhbmUgdXBkYXRlLCBoZW5jZSB3ZSdyZSBhbGxvd2Vk IHRvIGRvCisgKiB0aGF0LiBTZWUgYWxzbyBkcm1fbW9kZV9jb25uZWN0b3Jfc2V0X2xpbmtfc3Rh dHVzX3Byb3BlcnR5KCkuCisgKgogICogUmV0dXJuczoKICAqIFJldHVybnMgMCBvbiBzdWNjZXNz LCBuZWdhdGl2ZSBlcnJubyBudW1iZXJzIG9uIGZhaWx1cmUuCiAgKi8KZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5l Y3Rvci5jCmluZGV4IDVhNDUyNjIuLmVlZTAzOGEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fY29ubmVjdG9yLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYwpA QCAtMjQzLDYgKzI0MywxMCBAQCBpbnQgZHJtX2Nvbm5lY3Rvcl9pbml0KHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsCiAJZHJtX29iamVjdF9hdHRhY2hfcHJvcGVydHkoJmNvbm5lY3Rvci0+YmFzZSwK IAkJCQkgICAgICBjb25maWctPmRwbXNfcHJvcGVydHksIDApOwogCisJZHJtX29iamVjdF9hdHRh Y2hfcHJvcGVydHkoJmNvbm5lY3Rvci0+YmFzZSwKKwkJCQkgICBjb25maWctPmxpbmtfc3RhdHVz X3Byb3BlcnR5LAorCQkJCSAgIDApOworCiAJaWYgKGRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2 LCBEUklWRVJfQVRPTUlDKSkgewogCQlkcm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0eSgmY29ubmVj dG9yLT5iYXNlLCBjb25maWctPnByb3BfY3J0Y19pZCwgMCk7CiAJfQpAQCAtNTA2LDYgKzUxMCwx MiBAQCBjb25zdCBjaGFyICpkcm1fZ2V0X3N1YnBpeGVsX29yZGVyX25hbWUoZW51bSBzdWJwaXhl bF9vcmRlciBvcmRlcikKIH07CiBEUk1fRU5VTV9OQU1FX0ZOKGRybV9nZXRfZHBtc19uYW1lLCBk cm1fZHBtc19lbnVtX2xpc3QpCiAKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX3Byb3BfZW51bV9s aXN0IGRybV9saW5rX3N0YXR1c19lbnVtX2xpc3RbXSA9IHsKKwl7IERSTV9NT0RFX0xJTktfU1RB VFVTX0dPT0QsICJHb29kIiB9LAorCXsgRFJNX01PREVfTElOS19TVEFUVVNfQkFELCAiQmFkIiB9 LAorfTsKK0RSTV9FTlVNX05BTUVfRk4oZHJtX2dldF9saW5rX3N0YXR1c19uYW1lLCBkcm1fbGlu a19zdGF0dXNfZW51bV9saXN0KQorCiAvKioKICAqIGRybV9kaXNwbGF5X2luZm9fc2V0X2J1c19m b3JtYXRzIC0gc2V0IHRoZSBzdXBwb3J0ZWQgYnVzIGZvcm1hdHMKICAqIEBpbmZvOiBkaXNwbGF5 IGluZm8gdG8gc3RvcmUgYnVzIGZvcm1hdHMgaW4KQEAgLTYyNSw2ICs2MzUsMTEgQEAgaW50IGRy bV9kaXNwbGF5X2luZm9fc2V0X2J1c19mb3JtYXRzKHN0cnVjdCBkcm1fZGlzcGxheV9pbmZvICpp bmZvLAogICogCXRpbGluZyBhbmQgdmlydHVhbGl6ZSBib3RoICZkcm1fY3J0YyBhbmQgJmRybV9w bGFuZSBpZiBuZWVkZWQuIERyaXZlcnMKICAqIAlzaG91bGQgdXBkYXRlIHRoaXMgdmFsdWUgdXNp bmcgZHJtX21vZGVfY29ubmVjdG9yX3NldF90aWxlX3Byb3BlcnR5KCkuCiAgKiAJVXNlcnNwYWNl IGNhbm5vdCBjaGFuZ2UgdGhpcyBwcm9wZXJ0eS4KKyAqIGxpbmstc3RhdHVzOgorICogICAgICBD b25uZWN0b3IgbGluay1zdGF0dXMgcHJvcGVydHkgdG8gaW5kaWNhdGUgdGhlIHN0YXR1cyBvZiBs aW5rLiBUaGUgZGVmYXVsdAorICogICAgICB2YWx1ZSBvZiBsaW5rLXN0YXR1cyBpcyAiR09PRCIu IElmIHNvbWV0aGluZyBmYWlscyBkdXJpbmcgb3IgYWZ0ZXIgbW9kZXNldCwKKyAqICAgICAgdGhl IGtlcm5lbCBkcml2ZXIgbWF5IHNldCB0aGlzIHRvICJCQUQiIGFuZCBpc3N1ZSBhIGhvdHBsdWcg dWV2ZW50LiBEcml2ZXJzCisgKiAgICAgIHNob3VsZCB1cGRhdGUgdGhpcyB2YWx1ZSB1c2luZyBk cm1fbW9kZV9jb25uZWN0b3Jfc2V0X2xpbmtfc3RhdHVzX3Byb3BlcnR5KCkuCiAgKgogICogQ29u bmVjdG9ycyBhbHNvIGhhdmUgb25lIHN0YW5kYXJkaXplZCBhdG9taWMgcHJvcGVydHk6CiAgKgpA QCAtNjY2LDYgKzY4MSwxMyBAQCBpbnQgZHJtX2Nvbm5lY3Rvcl9jcmVhdGVfc3RhbmRhcmRfcHJv cGVydGllcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCQlyZXR1cm4gLUVOT01FTTsKIAlkZXYt Pm1vZGVfY29uZmlnLnRpbGVfcHJvcGVydHkgPSBwcm9wOwogCisJcHJvcCA9IGRybV9wcm9wZXJ0 eV9jcmVhdGVfZW51bShkZXYsIDAsICJsaW5rLXN0YXR1cyIsCisJCQkJCWRybV9saW5rX3N0YXR1 c19lbnVtX2xpc3QsCisJCQkJCUFSUkFZX1NJWkUoZHJtX2xpbmtfc3RhdHVzX2VudW1fbGlzdCkp OworCWlmICghcHJvcCkKKwkJcmV0dXJuIC1FTk9NRU07CisJZGV2LT5tb2RlX2NvbmZpZy5saW5r X3N0YXR1c19wcm9wZXJ0eSA9IHByb3A7CisKIAlyZXR1cm4gMDsKIH0KIApAQCAtOTk1LDYgKzEw MTcsMzcgQEAgaW50IGRybV9tb2RlX2Nvbm5lY3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eShzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogfQogRVhQT1JUX1NZTUJPTChkcm1fbW9kZV9j b25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkpOwogCisvKioKKyAqIGRybV9tb2RlX2Nvbm5l Y3Rvcl9zZXRfbGlua19zdGF0dXNfcHJvcGVydHkgLSBTZXQgbGluayBzdGF0dXMgcHJvcGVydHkg b2YgYSBjb25uZWN0b3IKKyAqIEBjb25uZWN0b3I6IGRybSBjb25uZWN0b3IKKyAqIEBsaW5rX3N0 YXR1czogbmV3IHZhbHVlIG9mIGxpbmsgc3RhdHVzIHByb3BlcnR5ICgwOiBHb29kLCAxOiBCYWQp CisgKgorICogSW4gdXN1YWwgd29ya2luZyBzY2VuYXJpbywgdGhpcyBsaW5rIHN0YXR1cyBwcm9w ZXJ0eSB3aWxsIGFsd2F5cyBiZSBzZXQgdG8KKyAqICJHT09EIi4gSWYgc29tZXRoaW5nIGZhaWxz IGR1cmluZyBvciBhZnRlciBhIG1vZGUgc2V0LCB0aGUga2VybmVsIGRyaXZlcgorICogbWF5IHNl dCB0aGlzIGxpbmsgc3RhdHVzIHByb3BlcnR5IHRvICJCQUQiLiBUaGUgY2FsbGVyIHRoZW4gbmVl ZHMgdG8gc2VuZCBhCisgKiBob3RwbHVnIHVldmVudCBmb3IgdXNlcnNwYWNlIHRvIHJlLWNoZWNr IHRoZSB2YWxpZCBtb2RlcyB0aHJvdWdoCisgKiBHRVRfQ09OTkVDVE9SX0lPQ1RMIGFuZCByZXRy eSBtb2Rlc2V0LgorICoKKyAqIE5vdGU6IERyaXZlcnMgY2Fubm90IHJlbHkgb24gdXNlcnNwYWNl IHRvIHN1cHBvcnQgdGhpcyBwcm9wZXJ0eSBhbmQKKyAqIGlzc3VlIGEgbW9kZXNldC4gQXMgc3Vj aCwgdGhleSBtYXkgY2hvb3NlIHRvIGhhbmRsZSBpc3N1ZXMgKGxpa2UKKyAqIHJlLXRyYWluaW5n IGEgbGluaykgd2l0aG91dCB1c2Vyc3BhY2UncyBpbnRlcnZlbnRpb24uCisgKgorICogVGhlIHJl YXNvbiBmb3IgYWRkaW5nIHRoaXMgcHJvcGVydHkgaXMgdG8gaGFuZGxlIGxpbmsgdHJhaW5pbmcg ZmFpbHVyZXMsIGJ1dAorICogaXQgaXMgbm90IGxpbWl0ZWQgdG8gRFAgb3IgbGluayB0cmFpbmlu Zy4gRm9yIGV4YW1wbGUsIGlmIHdlIGltcGxlbWVudAorICogYXN5bmNocm9ub3VzIHNldGNydGMs IHRoaXMgcHJvcGVydHkgY2FuIGJlIHVzZWQgdG8gcmVwb3J0IGFueSBmYWlsdXJlcyBpbiB0aGF0 LgorICovCit2b2lkIGRybV9tb2RlX2Nvbm5lY3Rvcl9zZXRfbGlua19zdGF0dXNfcHJvcGVydHko c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKKwkJCQkJCSB1aW50NjRfdCBsaW5rX3N0 YXR1cykKK3sKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY29ubmVjdG9yLT5kZXY7CisKKwlk cm1fbW9kZXNldF9sb2NrKCZkZXYtPm1vZGVfY29uZmlnLmNvbm5lY3Rpb25fbXV0ZXgsIE5VTEwp OworCWNvbm5lY3Rvci0+c3RhdGUtPmxpbmtfc3RhdHVzID0gbGlua19zdGF0dXM7CisJZHJtX21v ZGVzZXRfdW5sb2NrKCZkZXYtPm1vZGVfY29uZmlnLmNvbm5lY3Rpb25fbXV0ZXgpOworCit9CitF WFBPUlRfU1lNQk9MKGRybV9tb2RlX2Nvbm5lY3Rvcl9zZXRfbGlua19zdGF0dXNfcHJvcGVydHkp OworCiBpbnQgZHJtX21vZGVfY29ubmVjdG9yX3NldF9vYmpfcHJvcChzdHJ1Y3QgZHJtX21vZGVf b2JqZWN0ICpvYmosCiAJCQkJICAgIHN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3BlcnR5LAogCQkJ CSAgICB1aW50NjRfdCB2YWx1ZSkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0 b3IuaCBiL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaAppbmRleCAxMjE4YTBjLi42NGUwN2M1 IDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKKysrIGIvaW5jbHVkZS9k cm0vZHJtX2Nvbm5lY3Rvci5oCkBAIC05MCw2ICs5MCwxNyBAQCBlbnVtIHN1YnBpeGVsX29yZGVy IHsKIH07CiAKIC8qKgorICogZW51bSBkcm1fbGlua19zdGF0dXMgLSBjb25uZWN0b3IncyBsaW5r X3N0YXR1cyBwcm9wZXJ0eSB2YWx1ZQorICoKKyAqIFRoaXMgZW51bSBpcyB1c2VkIGFzIHRoZSBj b25uZWN0b3IncyBsaW5rIHN0YXR1cyBwcm9wZXJ0eSB2YWx1ZS4KKyAqIEl0IGlzIHNldCB0byB0 aGUgdmFsdWVzIGRlZmluZWQgaW4gdWFwaS4KKyAqLworZW51bSBkcm1fbGlua19zdGF0dXMgewor CURSTV9MSU5LX1NUQVRVU19HT09EID0gRFJNX01PREVfTElOS19TVEFUVVNfR09PRCwKKwlEUk1f TElOS19TVEFUVVNfQkFEID0gRFJNX01PREVfTElOS19TVEFUVVNfQkFELAorfTsKKworLyoqCiAg KiBzdHJ1Y3QgZHJtX2Rpc3BsYXlfaW5mbyAtIHJ1bnRpbWUgZGF0YSBhYm91dCB0aGUgY29ubmVj dGVkIHNpbmsKICAqCiAgKiBEZXNjcmliZXMgYSBnaXZlbiBkaXNwbGF5IChlLmcuIENSVCBvciBm bGF0IHBhbmVsKSBhbmQgaXRzIGxpbWl0YXRpb25zLiBGb3IKQEAgLTIxMyw2ICsyMjQsMTIgQEAg c3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgewogCiAJc3RydWN0IGRybV9lbmNvZGVyICpiZXN0 X2VuY29kZXI7CiAKKwkvKioKKwkgKiBAbGlua19zdGF0dXM6IENvbm5lY3RvciBsaW5rX3N0YXR1 cyB0byBrZWVwIHRyYWNrIG9mIHdoZXRoZXIgbGluayBpcworCSAqIEdPT0Qgb3IgQkFEIHRvIG5v dGlmeSB1c2Vyc3BhY2UgaWYgcmV0cmFpbmluZyBpcyBuZWNlc3NhcnkuCisJICovCisJZW51bSBk cm1fbGlua19zdGF0dXMgbGlua19zdGF0dXM7CisKIAlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAq c3RhdGU7CiB9OwogCkBAIC03NzYsNiArNzkzLDggQEAgaW50IGRybV9tb2RlX2Nvbm5lY3Rvcl9z ZXRfcGF0aF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogaW50IGRy bV9tb2RlX2Nvbm5lY3Rvcl9zZXRfdGlsZV9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq Y29ubmVjdG9yKTsKIGludCBkcm1fbW9kZV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHko c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAkJCQkJICAgIGNvbnN0IHN0cnVjdCBl ZGlkICplZGlkKTsKK3ZvaWQgZHJtX21vZGVfY29ubmVjdG9yX3NldF9saW5rX3N0YXR1c19wcm9w ZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAorCQkJCQkJIHVpbnQ2NF90IGxp bmtfc3RhdHVzKTsKIAogLyoqCiAgKiBzdHJ1Y3QgZHJtX3RpbGVfZ3JvdXAgLSBUaWxlIGdyb3Vw IG1ldGFkYXRhCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcuaCBiL2lu Y2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5oCmluZGV4IGJmOTk5MWIuLjg2ZmFlZTQgMTAwNjQ0 Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5oCisrKyBiL2luY2x1ZGUvZHJtL2Ry bV9tb2RlX2NvbmZpZy5oCkBAIC00MzEsNiArNDMxLDExIEBAIHN0cnVjdCBkcm1fbW9kZV9jb25m aWcgewogCSAqLwogCXN0cnVjdCBkcm1fcHJvcGVydHkgKnRpbGVfcHJvcGVydHk7CiAJLyoqCisJ ICogQGxpbmtfc3RhdHVzX3Byb3BlcnR5OiBEZWZhdWx0IGNvbm5lY3RvciBwcm9wZXJ0eSBmb3Ig bGluayBzdGF0dXMKKwkgKiBvZiBhIGNvbm5lY3RvcgorCSAqLworCXN0cnVjdCBkcm1fcHJvcGVy dHkgKmxpbmtfc3RhdHVzX3Byb3BlcnR5OworCS8qKgogCSAqIEBwbGFuZV90eXBlX3Byb3BlcnR5 OiBEZWZhdWx0IHBsYW5lIHByb3BlcnR5IHRvIGRpZmZlcmVudGlhdGUKIAkgKiBDVVJTT1IsIFBS SU1BUlkgYW5kIE9WRVJMQVkgbGVnYWN5IHVzZXMgb2YgcGxhbmVzLgogCSAqLwpkaWZmIC0tZ2l0 IGEvaW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5oIGIvaW5jbHVkZS91YXBpL2RybS9kcm1fbW9k ZS5oCmluZGV4IDcyODc5MGIuLjMwOWM0NzggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvdWFwaS9kcm0v ZHJtX21vZGUuaAorKysgYi9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmgKQEAgLTEyMyw2ICsx MjMsMTAgQEAKICNkZWZpbmUgRFJNX01PREVfRElSVFlfT04gICAgICAgMQogI2RlZmluZSBEUk1f TU9ERV9ESVJUWV9BTk5PVEFURSAyCiAKKy8qIExpbmsgU3RhdHVzIG9wdGlvbnMgKi8KKyNkZWZp bmUgRFJNX01PREVfTElOS19TVEFUVVNfR09PRAkwCisjZGVmaW5lIERSTV9NT0RFX0xJTktfU1RB VFVTX0JBRAkxCisKIHN0cnVjdCBkcm1fbW9kZV9tb2RlaW5mbyB7CiAJX191MzIgY2xvY2s7CiAJ X191MTYgaGRpc3BsYXk7Ci0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vaW50ZWwtZ2Z4Cg==