From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kenny Ho Subject: [PATCH RFC v4 04/16] drm, cgroup: Add total GEM buffer allocation stats Date: Thu, 29 Aug 2019 02:05:21 -0400 Message-ID: <20190829060533.32315-5-Kenny.Ho@amd.com> References: <20190829060533.32315-1-Kenny.Ho@amd.com> Mime-Version: 1.0 Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190829060533.32315-1-Kenny.Ho-5C7GfCeVMHo@public.gmane.org> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" Content-Type: text/plain; charset="us-ascii" To: y2kenny-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, alexander.deucher-5C7GfCeVMHo@public.gmane.org, christian.koenig-5C7GfCeVMHo@public.gmane.org, felix.kuehling-5C7GfCeVMHo@public.gmane.org, joseph.greathouse-5C7GfCeVMHo@public.gmane.org, jsparks-WVYJKLFxKCc@public.gmane.org, lkaplan-WVYJKLFxKCc@public.gmane.org, daniel-/w4YWyX8dFk@public.gmane.org Cc: Kenny Ho VGhlIGRybSByZXNvdXJjZSBiZWluZyBtZWFzdXJlZCBoZXJlIGlzIHRoZSBHRU0gYnVmZmVyIG9i amVjdHMuICBVc2VyCmFwcGxpY2F0aW9ucyBhbGxvY2F0ZSBhbmQgZnJlZSB0aGVzZSBidWZmZXJz LiAgSW4gYWRkaXRpb24sIGEgcHJvY2VzcwpjYW4gYWxsb2NhdGUgYSBidWZmZXIgYW5kIHNoYXJl IGl0IHdpdGggYW5vdGhlciBwcm9jZXNzLiAgVGhlIGNvbnN1bWVyCm9mIGEgc2hhcmVkIGJ1ZmZl ciBjYW4gYWxzbyBvdXRsaXZlIHRoZSBhbGxvY2F0b3Igb2YgdGhlIGJ1ZmZlci4KCkZvciB0aGUg cHVycG9zZSBvZiBjZ3JvdXAgYWNjb3VudGluZyBhbmQgbGltaXRpbmcsIG93bmVyc2hpcCBvZiB0 aGUKYnVmZmVyIGlzIGRlZW1lZCB0byBiZSB0aGUgY2dyb3VwIGZvciB3aGljaCB0aGUgYWxsb2Nh dGluZyBwcm9jZXNzCmJlbG9uZ3MgdG8uICBUaGVyZSBpcyBvbmUgY2dyb3VwIHN0YXRzIHBlciBk cm0gZGV2aWNlLiAgRWFjaCBhbGxvY2F0aW9uCmlzIGNoYXJnZWQgdG8gdGhlIG93bmluZyBjZ3Jv dXAgYXMgd2VsbCBhcyBhbGwgaXRzIGFuY2VzdG9ycy4KClNpbWlsYXIgdG8gdGhlIG1lbW9yeSBj Z3JvdXAsIG1pZ3JhdGluZyBhIHByb2Nlc3MgdG8gYSBkaWZmZXJlbnQgY2dyb3VwCmRvZXMgbm90 IG1vdmUgdGhlIEdFTSBidWZmZXIgdXNhZ2VzIHRoYXQgdGhlIHByb2Nlc3Mgc3RhcnRlZCB3aGls ZSBpbgpwcmV2aW91cyBjZ3JvdXAsIHRvIHRoZSBuZXcgY2dyb3VwLgoKVGhlIGZvbGxvd2luZyBp cyBhbiBleGFtcGxlIHRvIGlsbHVzdHJhdGUgc29tZSBvZiB0aGUgb3BlcmF0aW9ucy4gIEdpdmVu CnRoZSBmb2xsb3dpbmcgY2dyb3VwIGhpZXJhcmNoeSAoVGhlIGxldHRlcnMgYXJlIGNncm91cCBu YW1lcyB3aXRoIFIKYmVpbmcgdGhlIHJvb3QgY2dyb3VwLiAgVGhlIG51bWJlcnMgaW4gYnJhY2tl dHMgYXJlIHByb2Nlc3Nlcy4gIFRoZQpwcm9jZXNzZXMgYXJlIHBsYWNlZCB3aXRoIGNncm91cCdz ICdObyBJbnRlcm5hbCBQcm9jZXNzIENvbnN0cmFpbnQnIGluCm1pbmQsIHNvIG5vIHByb2Nlc3Mg aXMgcGxhY2VkIGluIGNncm91cCBCLikKClIgKDQsIDUpIC0tLS0tLSBBICg2KQogXAogIEIgLS0t LSBDICg3LDgpCiAgIFwKICAgIEQgKDkpCgpIZXJlIGlzIGEgbGlzdCBvZiBvcGVyYXRpb24gYW5k IHRoZSBhc3NvY2lhdGVkIGVmZmVjdCBvbiB0aGUgc2l6ZQp0cmFjayBieSB0aGUgY2dyb3VwcyAo Zm9yIHNpbXBsaWNpdHksIGVhY2ggYnVmZmVyIGlzIDEgdW5pdCBpbiBzaXplLikKCj09ICA9PSAg PT0gID09ICA9PSAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09ClIgICBBICAgQiAgIEMgICBEICAgT3BzCj09ICA9PSAgPT0gID09ICA9PSAgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CjEgICAwICAgMCAg IDAgICAwICAgNCBhbGxvY2F0ZWQgYSBidWZmZXIKMSAgIDAgICAwICAgMCAgIDAgICA0IHNoYXJl ZCBhIGJ1ZmZlciB3aXRoIDUKMSAgIDAgICAwICAgMCAgIDAgICA0IHNoYXJlZCBhIGJ1ZmZlciB3 aXRoIDkKMiAgIDAgICAxICAgMCAgIDEgICA5IGFsbG9jYXRlZCBhIGJ1ZmZlcgozICAgMCAgIDIg ICAxICAgMSAgIDcgYWxsb2NhdGVkIGEgYnVmZmVyCjMgICAwICAgMiAgIDEgICAxICAgNyBzaGFy ZWQgYSBidWZmZXIgd2l0aCA4CjMgICAwICAgMiAgIDEgICAxICAgNyBzaGFyaW5nIHdpdGggOQoz ICAgMCAgIDIgICAxICAgMSAgIDcgcmVsZWFzZSBhIGJ1ZmZlcgozICAgMCAgIDIgICAxICAgMSAg IDcgbWlncmF0ZSB0byBjZ3JvdXAgRAozICAgMCAgIDIgICAxICAgMSAgIDkgcmVsZWFzZSBhIGJ1 ZmZlciBmcm9tIDcKMiAgIDAgICAxICAgMCAgIDEgICA4IHJlbGVhc2UgYSBidWZmZXIgZnJvbSA3 IChsYXN0IHJlZiB0byBzaGFyZWQgYnVmKQo9PSAgPT0gID09ICA9PSAgPT0gID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKZHJtLmJ1ZmZlci5zdGF0 cwogICAgICAgIEEgcmVhZC1vbmx5IGZsYXQta2V5ZWQgZmlsZSB3aGljaCBleGlzdHMgb24gYWxs IGNncm91cHMuICBFYWNoCiAgICAgICAgZW50cnkgaXMga2V5ZWQgYnkgdGhlIGRybSBkZXZpY2Un cyBtYWpvcjptaW5vci4KCiAgICAgICAgVG90YWwgR0VNIGJ1ZmZlciBhbGxvY2F0aW9uIGluIGJ5 dGVzLgoKQ2hhbmdlLUlkOiBJOWQ2NjJlYzUwZDY0YmI0MGEzN2RiZjQ3ZjAxOGIyZjNhMWMwMzNh ZApTaWduZWQtb2ZmLWJ5OiBLZW5ueSBIbyA8S2VubnkuSG9AYW1kLmNvbT4KLS0tCiBEb2N1bWVu dGF0aW9uL2FkbWluLWd1aWRlL2Nncm91cC12Mi5yc3QgfCAgNTAgKysrKysrKysrLQogZHJpdmVy cy9ncHUvZHJtL2RybV9nZW0uYyAgICAgICAgICAgICAgIHwgICA5ICsrCiBpbmNsdWRlL2RybS9k cm1fY2dyb3VwLmggICAgICAgICAgICAgICAgfCAgMTYgKysrCiBpbmNsdWRlL2RybS9kcm1fZ2Vt LmggICAgICAgICAgICAgICAgICAgfCAgMTEgKysrCiBpbmNsdWRlL2xpbnV4L2Nncm91cF9kcm0u aCAgICAgICAgICAgICAgfCAgIDYgKysKIGtlcm5lbC9jZ3JvdXAvZHJtLmMgICAgICAgICAgICAg ICAgICAgICB8IDEyNiArKysrKysrKysrKysrKysrKysrKysrKysKIDYgZmlsZXMgY2hhbmdlZCwg MjE3IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0 aW9uL2FkbWluLWd1aWRlL2Nncm91cC12Mi5yc3QgYi9Eb2N1bWVudGF0aW9uL2FkbWluLWd1aWRl L2Nncm91cC12Mi5yc3QKaW5kZXggMjkzNjQyM2EzZmQ1Li4wZTI5ZDEzNmUyZjkgMTAwNjQ0Ci0t LSBhL0RvY3VtZW50YXRpb24vYWRtaW4tZ3VpZGUvY2dyb3VwLXYyLnJzdAorKysgYi9Eb2N1bWVu dGF0aW9uL2FkbWluLWd1aWRlL2Nncm91cC12Mi5yc3QKQEAgLTYzLDYgKzYzLDcgQEAgdjEgaXMg YXZhaWxhYmxlIHVuZGVyIERvY3VtZW50YXRpb24vY2dyb3VwLXYxLy4KICAgICAgICA1LTctMS4g UkRNQSBJbnRlcmZhY2UgRmlsZXMKICAgICAgNS04LiBEUk0KICAgICAgICA1LTgtMS4gRFJNIElu dGVyZmFjZSBGaWxlcworICAgICAgIDUtOC0yLiBHRU0gQnVmZmVyIE93bmVyc2hpcAogICAgICA1 LTkuIE1pc2MKICAgICAgICA1LTktMS4gcGVyZl9ldmVudAogICAgICA1LU4uIE5vbi1ub3JtYXRp dmUgaW5mb3JtYXRpb24KQEAgLTE5MDAsNyArMTkwMSw1NCBAQCBvZiBEUk0gKERpcmVjdCBSZW5k ZXJpbmcgTWFuYWdlcikgYW5kIEdQVS1yZWxhdGVkIHJlc291cmNlcy4KIERSTSBJbnRlcmZhY2Ug RmlsZXMKIH5+fn5+fn5+fn5+fn5+fn5+fn5+CiAKLVRPRE8KKyAgZHJtLmJ1ZmZlci5zdGF0cwor CUEgcmVhZC1vbmx5IGZsYXQta2V5ZWQgZmlsZSB3aGljaCBleGlzdHMgb24gYWxsIGNncm91cHMu ICBFYWNoCisJZW50cnkgaXMga2V5ZWQgYnkgdGhlIGRybSBkZXZpY2UncyBtYWpvcjptaW5vci4K KworCVRvdGFsIEdFTSBidWZmZXIgYWxsb2NhdGlvbiBpbiBieXRlcy4KKworR0VNIEJ1ZmZlciBP d25lcnNoaXAKK35+fn5+fn5+fn5+fn5+fn5+fn5+CisKK0ZvciB0aGUgcHVycG9zZSBvZiBjZ3Jv dXAgYWNjb3VudGluZyBhbmQgbGltaXRpbmcsIG93bmVyc2hpcCBvZiB0aGUKK2J1ZmZlciBpcyBk ZWVtZWQgdG8gYmUgdGhlIGNncm91cCBmb3Igd2hpY2ggdGhlIGFsbG9jYXRpbmcgcHJvY2Vzcwor YmVsb25ncyB0by4gIFRoZXJlIGlzIG9uZSBjZ3JvdXAgc3RhdHMgcGVyIGRybSBkZXZpY2UuICBF YWNoIGFsbG9jYXRpb24KK2lzIGNoYXJnZWQgdG8gdGhlIG93bmluZyBjZ3JvdXAgYXMgd2VsbCBh cyBhbGwgaXRzIGFuY2VzdG9ycy4KKworU2ltaWxhciB0byB0aGUgbWVtb3J5IGNncm91cCwgbWln cmF0aW5nIGEgcHJvY2VzcyB0byBhIGRpZmZlcmVudCBjZ3JvdXAKK2RvZXMgbm90IG1vdmUgdGhl IEdFTSBidWZmZXIgdXNhZ2VzIHRoYXQgdGhlIHByb2Nlc3Mgc3RhcnRlZCB3aGlsZSBpbgorcHJl dmlvdXMgY2dyb3VwLCB0byB0aGUgbmV3IGNncm91cC4KKworVGhlIGZvbGxvd2luZyBpcyBhbiBl eGFtcGxlIHRvIGlsbHVzdHJhdGUgc29tZSBvZiB0aGUgb3BlcmF0aW9ucy4gIEdpdmVuCit0aGUg Zm9sbG93aW5nIGNncm91cCBoaWVyYXJjaHkgKFRoZSBsZXR0ZXJzIGFyZSBjZ3JvdXAgbmFtZXMg d2l0aCBSCitiZWluZyB0aGUgcm9vdCBjZ3JvdXAuICBUaGUgbnVtYmVycyBpbiBicmFja2V0cyBh cmUgcHJvY2Vzc2VzLiAgVGhlCitwcm9jZXNzZXMgYXJlIHBsYWNlZCB3aXRoIGNncm91cCdzICdO byBJbnRlcm5hbCBQcm9jZXNzIENvbnN0cmFpbnQnIGluCittaW5kLCBzbyBubyBwcm9jZXNzIGlz IHBsYWNlZCBpbiBjZ3JvdXAgQi4pCisKK1IgKDQsIDUpIC0tLS0tLSBBICg2KQorIFwKKyAgQiAt LS0tIEMgKDcsOCkKKyAgIFwKKyAgICBEICg5KQorCitIZXJlIGlzIGEgbGlzdCBvZiBvcGVyYXRp b24gYW5kIHRoZSBhc3NvY2lhdGVkIGVmZmVjdCBvbiB0aGUgc2l6ZQordHJhY2sgYnkgdGhlIGNn cm91cHMgKGZvciBzaW1wbGljaXR5LCBlYWNoIGJ1ZmZlciBpcyAxIHVuaXQgaW4gc2l6ZS4pCisK Kz09ICA9PSAgPT0gID09ICA9PSAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09CitSICAgQSAgIEIgICBDICAgRCAgIE9wcworPT0gID09ICA9PSAgPT0g ID09ICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K KzEgICAwICAgMCAgIDAgICAwICAgNCBhbGxvY2F0ZWQgYSBidWZmZXIKKzEgICAwICAgMCAgIDAg ICAwICAgNCBzaGFyZWQgYSBidWZmZXIgd2l0aCA1CisxICAgMCAgIDAgICAwICAgMCAgIDQgc2hh cmVkIGEgYnVmZmVyIHdpdGggOQorMiAgIDAgICAxICAgMCAgIDEgICA5IGFsbG9jYXRlZCBhIGJ1 ZmZlcgorMyAgIDAgICAyICAgMSAgIDEgICA3IGFsbG9jYXRlZCBhIGJ1ZmZlcgorMyAgIDAgICAy ICAgMSAgIDEgICA3IHNoYXJlZCBhIGJ1ZmZlciB3aXRoIDgKKzMgICAwICAgMiAgIDEgICAxICAg NyBzaGFyaW5nIHdpdGggOQorMyAgIDAgICAyICAgMSAgIDEgICA3IHJlbGVhc2UgYSBidWZmZXIK KzMgICAwICAgMiAgIDEgICAxICAgNyBtaWdyYXRlIHRvIGNncm91cCBECiszICAgMCAgIDIgICAx ICAgMSAgIDkgcmVsZWFzZSBhIGJ1ZmZlciBmcm9tIDcKKzIgICAwICAgMSAgIDAgICAxICAgOCBy ZWxlYXNlIGEgYnVmZmVyIGZyb20gNyAobGFzdCByZWYgdG8gc2hhcmVkIGJ1ZikKKz09ICA9PSAg PT0gID09ICA9PSAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09CiAKIAogTWlzYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9nZW0uYyBi L2RyaXZlcnMvZ3B1L2RybS9kcm1fZ2VtLmMKaW5kZXggNTBkZTEzOGM4OWUwLi41MTdiNzFhNmY0 ZDQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZ2VtLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2RybV9nZW0uYwpAQCAtMzgsMTAgKzM4LDEyIEBACiAjaW5jbHVkZSA8bGludXgvZG1h LWJ1Zi5oPgogI2luY2x1ZGUgPGxpbnV4L21lbV9lbmNyeXB0Lmg+CiAjaW5jbHVkZSA8bGludXgv cGFnZXZlYy5oPgorI2luY2x1ZGUgPGxpbnV4L2Nncm91cF9kcm0uaD4KICNpbmNsdWRlIDxkcm0v ZHJtUC5oPgogI2luY2x1ZGUgPGRybS9kcm1fdm1hX21hbmFnZXIuaD4KICNpbmNsdWRlIDxkcm0v ZHJtX2dlbS5oPgogI2luY2x1ZGUgPGRybS9kcm1fcHJpbnQuaD4KKyNpbmNsdWRlIDxkcm0vZHJt X2Nncm91cC5oPgogI2luY2x1ZGUgImRybV9pbnRlcm5hbC5oIgogCiAvKiogQGZpbGUgZHJtX2dl bS5jCkBAIC0xNTksNiArMTYxLDkgQEAgdm9pZCBkcm1fZ2VtX3ByaXZhdGVfb2JqZWN0X2luaXQo c3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJb2JqLT5yZXN2ID0gJm9iai0+X3Jlc3Y7CiAKIAlk cm1fdm1hX25vZGVfcmVzZXQoJm9iai0+dm1hX25vZGUpOworCisJb2JqLT5kcm1jZyA9IGRybWNn X2dldChjdXJyZW50KTsKKwlkcm1jZ19jaGdfYm9fYWxsb2Mob2JqLT5kcm1jZywgZGV2LCBzaXpl KTsKIH0KIEVYUE9SVF9TWU1CT0woZHJtX2dlbV9wcml2YXRlX29iamVjdF9pbml0KTsKIApAQCAt OTUwLDYgKzk1NSwxMCBAQCBkcm1fZ2VtX29iamVjdF9yZWxlYXNlKHN0cnVjdCBkcm1fZ2VtX29i amVjdCAqb2JqKQogCQlmcHV0KG9iai0+ZmlscCk7CiAKIAlyZXNlcnZhdGlvbl9vYmplY3RfZmlu aSgmb2JqLT5fcmVzdik7CisKKwlkcm1jZ191bmNoZ19ib19hbGxvYyhvYmotPmRybWNnLCBvYmot PmRldiwgb2JqLT5zaXplKTsKKwlkcm1jZ19wdXQob2JqLT5kcm1jZyk7CisKIAlkcm1fZ2VtX2Zy ZWVfbW1hcF9vZmZzZXQob2JqKTsKIH0KIEVYUE9SVF9TWU1CT0woZHJtX2dlbV9vYmplY3RfcmVs ZWFzZSk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fY2dyb3VwLmggYi9pbmNsdWRlL2Ry bS9kcm1fY2dyb3VwLmgKaW5kZXggYmVmOWY5MjQ1OTI0Li4xZmEzN2QxYWQ0NGMgMTAwNjQ0Ci0t LSBhL2luY2x1ZGUvZHJtL2RybV9jZ3JvdXAuaAorKysgYi9pbmNsdWRlL2RybS9kcm1fY2dyb3Vw LmgKQEAgLTQsNiArNCw4IEBACiAjaWZuZGVmIF9fRFJNX0NHUk9VUF9IX18KICNkZWZpbmUgX19E Uk1fQ0dST1VQX0hfXwogCisjaW5jbHVkZSA8bGludXgvY2dyb3VwX2RybS5oPgorCiAvKioKICAq IFBlciBEUk0gZGV2aWNlIHByb3BlcnRpZXMgZm9yIERSTSBjZ3JvdXAgY29udHJvbGxlciBmb3Ig dGhlIHB1cnBvc2UKICAqIG9mIHN0b3JpbmcgcGVyIGRldmljZSBkZWZhdWx0cwpAQCAtMTUsNiAr MTcsMTAgQEAgc3RydWN0IGRybWNnX3Byb3BzIHsKIAogdm9pZCBkcm1jZ19kZXZpY2VfdXBkYXRl KHN0cnVjdCBkcm1fZGV2aWNlICpkZXZpY2UpOwogdm9pZCBkcm1jZ19kZXZpY2VfZWFybHlfaW5p dChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2aWNlKTsKK3ZvaWQgZHJtY2dfY2hnX2JvX2FsbG9jKHN0 cnVjdCBkcm1jZyAqZHJtY2csIHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCisJCXNpemVfdCBzaXpl KTsKK3ZvaWQgZHJtY2dfdW5jaGdfYm9fYWxsb2Moc3RydWN0IGRybWNnICpkcm1jZywgc3RydWN0 IGRybV9kZXZpY2UgKmRldiwKKwkJc2l6ZV90IHNpemUpOwogI2Vsc2UKIHN0YXRpYyBpbmxpbmUg dm9pZCBkcm1jZ19kZXZpY2VfdXBkYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXZpY2UpCiB7CkBA IC0yMyw1ICsyOSwxNSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgZHJtY2dfZGV2aWNlX3VwZGF0ZShz dHJ1Y3QgZHJtX2RldmljZSAqZGV2aWNlKQogc3RhdGljIGlubGluZSB2b2lkIGRybWNnX2Rldmlj ZV9lYXJseV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXZpY2UpCiB7CiB9CisKK3N0YXRpYyBp bmxpbmUgdm9pZCBkcm1jZ19jaGdfYm9fYWxsb2Moc3RydWN0IGRybWNnICpkcm1jZywKKwkJc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwJc2l6ZV90IHNpemUpCit7Cit9CisKK3N0YXRpYyBpbmxpbmUg dm9pZCBkcm1jZ191bmNoZ19ib19hbGxvYyhzdHJ1Y3QgZHJtY2cgKmRybWNnLAorCQlzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LAlzaXplX3Qgc2l6ZSkKK3sKK30KICNlbmRpZiAvKiBDT05GSUdfQ0dS T1VQX0RSTSAqLwogI2VuZGlmIC8qIF9fRFJNX0NHUk9VUF9IX18gKi8KZGlmZiAtLWdpdCBhL2lu Y2x1ZGUvZHJtL2RybV9nZW0uaCBiL2luY2x1ZGUvZHJtL2RybV9nZW0uaAppbmRleCA1MDQ3Yzdl ZTI1ZjUuLjYwNDc5NjhiZGQxNyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2dlbS5oCisr KyBiL2luY2x1ZGUvZHJtL2RybV9nZW0uaApAQCAtMjkxLDYgKzI5MSwxNyBAQCBzdHJ1Y3QgZHJt X2dlbV9vYmplY3QgewogCSAqCiAJICovCiAJY29uc3Qgc3RydWN0IGRybV9nZW1fb2JqZWN0X2Z1 bmNzICpmdW5jczsKKworCS8qKgorCSAqIEBkcm1jZzoKKwkgKgorCSAqIERSTSBjZ3JvdXAgdGhp cyBHRU0gb2JqZWN0IGJlbG9uZ3MgdG8uCisJICoKKwkgKiBUaGlzIGlzIHVzZWQgdG8gdHJhY2sg YW5kIGxpbWl0IHRoZSBhbW91bnQgb2YgR0VNIG9iamVjdHMgYSB1c2VyCisJICogY2FuIGFsbG9j YXRlLiAgU2luY2UgR0VNIG9iamVjdHMgY2FuIGJlIHNoYXJlZCwgdGhpcyBpcyBhbHNvIHVzZWQK KwkgKiB0byBlbnN1cmUgR0VNIG9iamVjdHMgYXJlIG9ubHkgc2hhcmVkIHdpdGhpbiB0aGUgc2Ft ZSBjZ3JvdXAuCisJICovCisJc3RydWN0IGRybWNnICpkcm1jZzsKIH07CiAKIC8qKgpkaWZmIC0t Z2l0IGEvaW5jbHVkZS9saW51eC9jZ3JvdXBfZHJtLmggYi9pbmNsdWRlL2xpbnV4L2Nncm91cF9k cm0uaAppbmRleCA0ZWNkNDRmMmFjMjcuLjFkOGE3ZjJjZGI0ZSAxMDA2NDQKLS0tIGEvaW5jbHVk ZS9saW51eC9jZ3JvdXBfZHJtLmgKKysrIGIvaW5jbHVkZS9saW51eC9jZ3JvdXBfZHJtLmgKQEAg LTEzLDExICsxMywxNyBAQAogLyogbGltaXQgZGVmaW5lZCBwZXIgdGhlIHdheSBkcm1fbWlub3Jf YWxsb2Mgb3BlcmF0ZXMgKi8KICNkZWZpbmUgTUFYX0RSTV9ERVYgKDY0ICogRFJNX01JTk9SX1JF TkRFUikKIAorZW51bSBkcm1jZ19yZXNfdHlwZSB7CisJRFJNQ0dfVFlQRV9CT19UT1RBTCwKKwlf X0RSTUNHX1RZUEVfTEFTVCwKK307CisKIC8qKgogICogUGVyIERSTSBjZ3JvdXAsIHBlciBkZXZp Y2UgcmVzb3VyY2VzIChzdWNoIGFzIHN0YXRpc3RpY3MgYW5kIGxpbWl0cykKICAqLwogc3RydWN0 IGRybWNnX2RldmljZV9yZXNvdXJjZSB7CiAJLyogZm9yIHBlciBkZXZpY2Ugc3RhdHMgKi8KKwlz NjQJCQlib19zdGF0c190b3RhbF9hbGxvY2F0ZWQ7CiB9OwogCiAvKioKZGlmZiAtLWdpdCBhL2tl cm5lbC9jZ3JvdXAvZHJtLmMgYi9rZXJuZWwvY2dyb3VwL2RybS5jCmluZGV4IDEzNWZkY2RjNGI1 MS4uODdhZTkxNjRkOGQ4IDEwMDY0NAotLS0gYS9rZXJuZWwvY2dyb3VwL2RybS5jCisrKyBiL2tl cm5lbC9jZ3JvdXAvZHJtLmMKQEAgLTExLDExICsxMSwyNCBAQAogI2luY2x1ZGUgPGRybS9kcm1f ZmlsZS5oPgogI2luY2x1ZGUgPGRybS9kcm1fZHJ2Lmg+CiAjaW5jbHVkZSA8ZHJtL2RybV9kZXZp Y2UuaD4KKyNpbmNsdWRlIDxkcm0vZHJtX2lvY3RsLmg+CiAjaW5jbHVkZSA8ZHJtL2RybV9jZ3Jv dXAuaD4KIAogLyogZ2xvYmFsIG11dGV4IGZvciBkcm1jZyBhY3Jvc3MgYWxsIGRldmljZXMgKi8K IHN0YXRpYyBERUZJTkVfTVVURVgoZHJtY2dfbXV0ZXgpOwogCisjZGVmaW5lIERSTUNHX0NURl9Q UklWX1NJWkUgMworI2RlZmluZSBEUk1DR19DVEZfUFJJVl9NQVNLIEdFTk1BU0soKERSTUNHX0NU Rl9QUklWX1NJWkUgLSAxKSwgMCkKKyNkZWZpbmUgRFJNQ0dfQ1RGX1BSSVYocmVzX3R5cGUsIGZf dHlwZSkgICgocmVzX3R5cGUpIDw8XAorCQlEUk1DR19DVEZfUFJJVl9TSVpFIHwgKGZfdHlwZSkp CisjZGVmaW5lIERSTUNHX0NURl9QUklWMlJFU1RZUEUocHJpdikgKChwcml2KSA+PiBEUk1DR19D VEZfUFJJVl9TSVpFKQorI2RlZmluZSBEUk1DR19DVEZfUFJJVjJGVFlQRShwcml2KSAoKHByaXYp ICYgRFJNQ0dfQ1RGX1BSSVZfTUFTSykKKworCitlbnVtIGRybWNnX2ZpbGVfdHlwZSB7CisJRFJN Q0dfRlRZUEVfU1RBVFMsCit9OworCiBzdGF0aWMgc3RydWN0IGRybWNnICpyb290X2RybWNnIF9f cmVhZF9tb3N0bHk7CiAKIHN0YXRpYyBpbnQgZHJtY2dfY3NzX2ZyZWVfZm4oaW50IGlkLCB2b2lk ICpwdHIsIHZvaWQgKmRhdGEpCkBAIC0xMDQsNyArMTE3LDY2IEBAIGRybWNnX2Nzc19hbGxvYyhz dHJ1Y3QgY2dyb3VwX3N1YnN5c19zdGF0ZSAqcGFyZW50X2NzcykKIAlyZXR1cm4gJmRybWNnLT5j c3M7CiB9CiAKK3N0YXRpYyB2b2lkIGRybWNnX3ByaW50X3N0YXRzKHN0cnVjdCBkcm1jZ19kZXZp Y2VfcmVzb3VyY2UgKmRkciwKKwkJc3RydWN0IHNlcV9maWxlICpzZiwgZW51bSBkcm1jZ19yZXNf dHlwZSB0eXBlKQoreworCWlmIChkZHIgPT0gTlVMTCkgeworCQlzZXFfcHV0cyhzZiwgIlxuIik7 CisJCXJldHVybjsKKwl9CisKKwlzd2l0Y2ggKHR5cGUpIHsKKwljYXNlIERSTUNHX1RZUEVfQk9f VE9UQUw6CisJCXNlcV9wcmludGYoc2YsICIlbGxkXG4iLCBkZHItPmJvX3N0YXRzX3RvdGFsX2Fs bG9jYXRlZCk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXNlcV9wdXRzKHNmLCAiXG4iKTsKKwkJ YnJlYWs7CisJfQorfQorCitzdGF0aWMgaW50IGRybWNnX3NlcV9zaG93X2ZuKGludCBpZCwgdm9p ZCAqcHRyLCB2b2lkICpkYXRhKQoreworCXN0cnVjdCBkcm1fbWlub3IgKm1pbm9yID0gcHRyOwor CXN0cnVjdCBzZXFfZmlsZSAqc2YgPSBkYXRhOworCXN0cnVjdCBkcm1jZyAqZHJtY2cgPSBjc3Nf dG9fZHJtY2coc2VxX2NzcyhzZikpOworCWVudW0gZHJtY2dfZmlsZV90eXBlIGZfdHlwZSA9CisJ CURSTUNHX0NURl9QUklWMkZUWVBFKHNlcV9jZnQoc2YpLT5wcml2YXRlKTsKKwllbnVtIGRybWNn X3Jlc190eXBlIHR5cGUgPQorCQlEUk1DR19DVEZfUFJJVjJSRVNUWVBFKHNlcV9jZnQoc2YpLT5w cml2YXRlKTsKKwlzdHJ1Y3QgZHJtY2dfZGV2aWNlX3Jlc291cmNlICpkZHI7CisKKwlpZiAobWlu b3ItPnR5cGUgIT0gRFJNX01JTk9SX1BSSU1BUlkpCisJCXJldHVybiAwOworCisJZGRyID0gZHJt Y2ctPmRldl9yZXNvdXJjZXNbbWlub3ItPmluZGV4XTsKKworCXNlcV9wcmludGYoc2YsICIlZDol ZCAiLCBEUk1fTUFKT1IsIG1pbm9yLT5pbmRleCk7CisKKwlzd2l0Y2ggKGZfdHlwZSkgeworCWNh c2UgRFJNQ0dfRlRZUEVfU1RBVFM6CisJCWRybWNnX3ByaW50X3N0YXRzKGRkciwgc2YsIHR5cGUp OworCQlicmVhazsKKwlkZWZhdWx0OgorCQlzZXFfcHV0cyhzZiwgIlxuIik7CisJCWJyZWFrOwor CX0KKworCXJldHVybiAwOworfQorCitpbnQgZHJtY2dfc2VxX3Nob3coc3RydWN0IHNlcV9maWxl ICpzZiwgdm9pZCAqdikKK3sKKwlyZXR1cm4gZHJtX21pbm9yX2Zvcl9lYWNoKCZkcm1jZ19zZXFf c2hvd19mbiwgc2YpOworfQorCiBzdHJ1Y3QgY2Z0eXBlIGZpbGVzW10gPSB7CisJeworCQkubmFt ZSA9ICJidWZmZXIudG90YWwuc3RhdHMiLAorCQkuc2VxX3Nob3cgPSBkcm1jZ19zZXFfc2hvdywK KwkJLnByaXZhdGUgPSBEUk1DR19DVEZfUFJJVihEUk1DR19UWVBFX0JPX1RPVEFMLAorCQkJCQkJ RFJNQ0dfRlRZUEVfU1RBVFMpLAorCX0sCiAJeyB9CS8qIHRlcm1pbmF0ZSAqLwogfTsKIApAQCAt MTYzLDMgKzIzNSw1NyBAQCB2b2lkIGRybWNnX2RldmljZV9lYXJseV9pbml0KHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYpCiAJZHJtY2dfdXBkYXRlX2NnX3RyZWUoZGV2KTsKIH0KIEVYUE9SVF9TWU1C T0woZHJtY2dfZGV2aWNlX2Vhcmx5X2luaXQpOworCisvKioKKyAqIGRybWNnX2NoZ19ib19hbGxv YyAtIGNoYXJnZSBHRU0gYnVmZmVyIHVzYWdlIGZvciBhIGRldmljZSBhbmQgY2dyb3VwCisgKiBA ZHJtY2c6IHRoZSBEUk0gY2dyb3VwIHRvIGJlIGNoYXJnZWQgdG8KKyAqIEBkZXY6IHRoZSBkZXZp Y2UgdGhlIHVzYWdlIHNob3VsZCBiZSBjaGFyZ2VkIHRvCisgKiBAc2l6ZTogc2l6ZSBvZiB0aGUg R0VNIGJ1ZmZlciB0byBiZSBhY2NvdW50ZWQgZm9yCisgKgorICogVGhpcyBmdW5jdGlvbiBzaG91 bGQgYmUgY2FsbGVkIHdoZW4gYSBuZXcgR0VNIGJ1ZmZlciBpcyBhbGxvY2F0ZWQgdG8gYWNjb3Vu dAorICogZm9yIHRoZSB1dGlsaXphdGlvbi4gIFRoaXMgc2hvdWxkIG5vdCBiZSBjYWxsZWQgd2hl biB0aGUgYnVmZmVyIGlzIHNoYXJlZCAoCisgKiB0aGUgR0VNIGJ1ZmZlcidzIHJlZmVyZW5jZSBj b3VudCBiZWluZyBpbmNyZW1lbnRlZC4pCisgKi8KK3ZvaWQgZHJtY2dfY2hnX2JvX2FsbG9jKHN0 cnVjdCBkcm1jZyAqZHJtY2csIHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCisJCXNpemVfdCBzaXpl KQoreworCXN0cnVjdCBkcm1jZ19kZXZpY2VfcmVzb3VyY2UgKmRkcjsKKwlpbnQgZGV2SWR4ID0g ZGV2LT5wcmltYXJ5LT5pbmRleDsKKworCWlmIChkcm1jZyA9PSBOVUxMKQorCQlyZXR1cm47CisK KwltdXRleF9sb2NrKCZkZXYtPmRybWNnX211dGV4KTsKKwlmb3IgKCA7IGRybWNnICE9IE5VTEw7 IGRybWNnID0gZHJtY2dfcGFyZW50KGRybWNnKSkgeworCQlkZHIgPSBkcm1jZy0+ZGV2X3Jlc291 cmNlc1tkZXZJZHhdOworCisJCWRkci0+Ym9fc3RhdHNfdG90YWxfYWxsb2NhdGVkICs9IChzNjQp c2l6ZTsKKwl9CisJbXV0ZXhfdW5sb2NrKCZkZXYtPmRybWNnX211dGV4KTsKK30KK0VYUE9SVF9T WU1CT0woZHJtY2dfY2hnX2JvX2FsbG9jKTsKKworLyoqCisgKiBkcm1jZ191bmNoZ19ib19hbGxv YyAtCisgKiBAZHJtY2c6IHRoZSBEUk0gY2dyb3VwIHRvIHVuY2hhcmdlIGZyb20KKyAqIEBkZXY6 IHRoZSBkZXZpY2UgdGhlIHVzYWdlIHNob3VsZCBiZSByZW1vdmVkIGZyb20KKyAqIEBzaXplOiBz aXplIG9mIHRoZSBHRU0gYnVmZmVyIHRvIGJlIGFjY291bnRlZCBmb3IKKyAqCisgKiBUaGlzIGZ1 bmN0aW9uIHNob3VsZCBiZSBjYWxsZWQgd2hlbiB0aGUgR0VNIGJ1ZmZlciBpcyBhYm91dCB0byBi ZSBmcmVlZCAoCisgKiBub3Qgc2ltcGx5IHdoZW4gdGhlIEdFTSBidWZmZXIncyByZWZlcmVuY2Ug Y291bnQgaXMgYmVpbmcgZGVjcmVtZW50ZWQuKQorICovCit2b2lkIGRybWNnX3VuY2hnX2JvX2Fs bG9jKHN0cnVjdCBkcm1jZyAqZHJtY2csIHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCisJCXNpemVf dCBzaXplKQoreworCWludCBkZXZJZHggPSBkZXYtPnByaW1hcnktPmluZGV4OworCisJaWYgKGRy bWNnID09IE5VTEwpCisJCXJldHVybjsKKworCW11dGV4X2xvY2soJmRldi0+ZHJtY2dfbXV0ZXgp OworCWZvciAoIDsgZHJtY2cgIT0gTlVMTDsgZHJtY2cgPSBkcm1jZ19wYXJlbnQoZHJtY2cpKQor CQlkcm1jZy0+ZGV2X3Jlc291cmNlc1tkZXZJZHhdLT5ib19zdGF0c190b3RhbF9hbGxvY2F0ZWQK KwkJCS09IChzNjQpc2l6ZTsKKwltdXRleF91bmxvY2soJmRldi0+ZHJtY2dfbXV0ZXgpOworfQor RVhQT1JUX1NZTUJPTChkcm1jZ191bmNoZ19ib19hbGxvYyk7Ci0tIAoyLjIyLjAKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBs aXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeA==