From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kenny Ho Subject: [PATCH RFC v4 09/16] drm, cgroup: Add TTM buffer allocation stats Date: Thu, 29 Aug 2019 02:05:26 -0400 Message-ID: <20190829060533.32315-10-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 VGhlIGRybSByZXNvdXJjZSBiZWluZyBtZWFzdXJlZCBpcyB0aGUgVFRNIChUcmFuc2xhdGlvbiBU YWJsZSBNYW5hZ2VyKQpidWZmZXJzLiAgVFRNIG1hbmFnZXMgZGlmZmVyZW50IHR5cGVzIG9mIG1l bW9yeSB0aGF0IGEgR1BVIG1pZ2h0IGFjY2Vzcy4KVGhlc2UgbWVtb3J5IHR5cGVzIGluY2x1ZGUg ZGVkaWNhdGVkIFZpZGVvIFJBTSAoVlJBTSkgYW5kIGhvc3Qvc3lzdGVtCm1lbW9yeSBhY2Nlc3Np YmxlIHRocm91Z2ggSU9NTVUgKEdBUlQvR1RUKS4gIFRUTSBpcyBjdXJyZW50bHkgdXNlZCBieQpt dWx0aXBsZSBkcm0gZHJpdmVycyAoYW1kLCBhc3QsIGJvY2hzLCBjaXJydXMsIGhpc2lsaWNvbiwg bWFnYTIwMCwKbm91dmVhdSwgcXhsLCB2aXJ0aW8sIHZtd2dmeC4pCgpkcm0ubWVtb3J5LnN0YXRz CiAgICAgICAgQSByZWFkLW9ubHkgbmVzdGVkLWtleWVkIGZpbGUgd2hpY2ggZXhpc3RzIG9uIGFs bCBjZ3JvdXBzLgogICAgICAgIEVhY2ggZW50cnkgaXMga2V5ZWQgYnkgdGhlIGRybSBkZXZpY2Un cyBtYWpvcjptaW5vci4gIFRoZQogICAgICAgIGZvbGxvd2luZyBuZXN0ZWQga2V5cyBhcmUgZGVm aW5lZC4KCiAgICAgICAgICA9PT09PT0gICAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgIHN5c3RlbSAgICAgICAgIEhvc3Qvc3lzdGVt IG1lbW9yeQogICAgICAgICAgdHQgICAgICAgICAgICAgSG9zdCBtZW1vcnkgdXNlZCBieSB0aGUg ZHJtIGRldmljZSAoR1RUL0dBUlQpCiAgICAgICAgICB2cmFtICAgICAgICAgICBWaWRlbyBSQU0g dXNlZCBieSB0aGUgZHJtIGRldmljZQogICAgICAgICAgcHJpdiAgICAgICAgICAgT3RoZXIgZHJt IGRldmljZSwgdmVuZG9yIHNwZWNpZmljIG1lbW9yeQogICAgICAgICAgPT09PT09ICAgICAgICAg PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgIFJl YWRpbmcgcmV0dXJucyB0aGUgZm9sbG93aW5nOjoKCiAgICAgICAgMjI2OjAgc3lzdGVtPTAgdHQ9 MCB2cmFtPTAgcHJpdj0wCiAgICAgICAgMjI2OjEgc3lzdGVtPTAgdHQ9OTAzNTc3NiB2cmFtPTE3 NzY4NDQ4IHByaXY9MTY4MDk5ODQKICAgICAgICAyMjY6MiBzeXN0ZW09MCB0dD05MDM1Nzc2IHZy YW09MTc3Njg0NDggcHJpdj0xNjgwOTk4NAoKZHJtLm1lbW9yeS5ldmljdC5zdGF0cwogICAgICAg IEEgcmVhZC1vbmx5IGZsYXQta2V5ZWQgZmlsZSB3aGljaCBleGlzdHMgb24gYWxsIGNncm91cHMu ICBFYWNoCiAgICAgICAgZW50cnkgaXMga2V5ZWQgYnkgdGhlIGRybSBkZXZpY2UncyBtYWpvcjpt aW5vci4KCiAgICAgICAgVG90YWwgbnVtYmVyIG9mIGV2aWN0aW9ucy4KCkNoYW5nZS1JZDogSWNl MmM0Y2M4NDUwNTEyMjk1NDliZWJlYjZhYTJkN2Q2MTUzYmRmNmEKU2lnbmVkLW9mZi1ieTogS2Vu bnkgSG8gPEtlbm55LkhvQGFtZC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X3R0bS5jIHwgICAzICstCiBkcml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9iby5jICAgICAg ICAgICAgfCAgMzAgKysrKysrKwogZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fYm9fdXRpbC5jICAg ICAgIHwgICA0ICsKIGluY2x1ZGUvZHJtL2RybV9jZ3JvdXAuaCAgICAgICAgICAgICAgICB8ICAx OSArKysrKwogaW5jbHVkZS9kcm0vdHRtL3R0bV9ib19hcGkuaCAgICAgICAgICAgIHwgICAyICsK IGluY2x1ZGUvZHJtL3R0bS90dG1fYm9fZHJpdmVyLmggICAgICAgICB8ICAgOCArKwogaW5jbHVk ZS9saW51eC9jZ3JvdXBfZHJtLmggICAgICAgICAgICAgIHwgICA2ICsrCiBrZXJuZWwvY2dyb3Vw L2RybS5jICAgICAgICAgICAgICAgICAgICAgfCAxMDggKysrKysrKysrKysrKysrKysrKysrKysr CiA4IGZpbGVzIGNoYW5nZWQsIDE3OSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3R0bS5jIGIvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3R0bS5jCmluZGV4IGNmY2JiZGMzOTY1Ni4uNDYz ZTAxNWU4Njk0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf dHRtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3R0bS5jCkBAIC0x NzIwLDggKzE3MjAsOSBAQCBpbnQgYW1kZ3B1X3R0bV9pbml0KHN0cnVjdCBhbWRncHVfZGV2aWNl ICphZGV2KQogCW11dGV4X2luaXQoJmFkZXYtPm1tYW4uZ3R0X3dpbmRvd19sb2NrKTsKIAogCS8q IE5vIG90aGVycyB1c2VyIG9mIGFkZHJlc3Mgc3BhY2Ugc28gc2V0IGl0IHRvIDAgKi8KLQlyID0g dHRtX2JvX2RldmljZV9pbml0KCZhZGV2LT5tbWFuLmJkZXYsCisJciA9IHR0bV9ib19kZXZpY2Vf aW5pdF90bXAoJmFkZXYtPm1tYW4uYmRldiwKIAkJCSAgICAgICAmYW1kZ3B1X2JvX2RyaXZlciwK KwkJCSAgICAgICBhZGV2LT5kZGV2LAogCQkJICAgICAgIGFkZXYtPmRkZXYtPmFub25faW5vZGUt PmlfbWFwcGluZywKIAkJCSAgICAgICBhZGV2LT5uZWVkX2RtYTMyKTsKIAlpZiAocikgewpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fYm8uYyBiL2RyaXZlcnMvZ3B1L2RybS90 dG0vdHRtX2JvLmMKaW5kZXggNThjNDAzZWRhMDRlLi5hMGU5Y2U0NmJhZjMgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS90dG0vdHRtX2JvLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3R0bS90 dG1fYm8uYwpAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgPGRybS90dG0vdHRtX21vZHVsZS5o PgogI2luY2x1ZGUgPGRybS90dG0vdHRtX2JvX2RyaXZlci5oPgogI2luY2x1ZGUgPGRybS90dG0v dHRtX3BsYWNlbWVudC5oPgorI2luY2x1ZGUgPGRybS9kcm1fY2dyb3VwLmg+CiAjaW5jbHVkZSA8 bGludXgvamlmZmllcy5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KICNpbmNsdWRlIDxsaW51 eC9zY2hlZC5oPgpAQCAtNDIsNiArNDMsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgog I2luY2x1ZGUgPGxpbnV4L2F0b21pYy5oPgogI2luY2x1ZGUgPGxpbnV4L3Jlc2VydmF0aW9uLmg+ CisjaW5jbHVkZSA8bGludXgvY2dyb3VwX2RybS5oPgogCiBzdGF0aWMgdm9pZCB0dG1fYm9fZ2xv YmFsX2tvYmpfcmVsZWFzZShzdHJ1Y3Qga29iamVjdCAqa29iaik7CiAKQEAgLTE1MSw2ICsxNTMs MTAgQEAgc3RhdGljIHZvaWQgdHRtX2JvX3JlbGVhc2VfbGlzdChzdHJ1Y3Qga3JlZiAqbGlzdF9r cmVmKQogCXN0cnVjdCB0dG1fYm9fZGV2aWNlICpiZGV2ID0gYm8tPmJkZXY7CiAJc2l6ZV90IGFj Y19zaXplID0gYm8tPmFjY19zaXplOwogCisJaWYgKGJvLT5iZGV2LT5kZGV2ICE9IE5VTEwpIC8v IFRPRE86IHJlbW92ZSBhZnRlciBkZGV2IGluaXRpYXpsaWVkIGZvciBhbGwKKwkJZHJtY2dfdW5j aGdfbWVtKGJvKTsKKwlkcm1jZ19wdXQoYm8tPmRybWNnKTsKKwogCUJVR19PTihrcmVmX3JlYWQo JmJvLT5saXN0X2tyZWYpKTsKIAlCVUdfT04oa3JlZl9yZWFkKCZiby0+a3JlZikpOwogCUJVR19P TihhdG9taWNfcmVhZCgmYm8tPmNwdV93cml0ZXJzKSk7CkBAIC0zNjAsNiArMzY2LDggQEAgc3Rh dGljIGludCB0dG1fYm9faGFuZGxlX21vdmVfbWVtKHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAq Ym8sCiAJCWlmIChiby0+bWVtLm1lbV90eXBlID09IFRUTV9QTF9TWVNURU0pIHsKIAkJCWlmIChi ZGV2LT5kcml2ZXItPm1vdmVfbm90aWZ5KQogCQkJCWJkZXYtPmRyaXZlci0+bW92ZV9ub3RpZnko Ym8sIGV2aWN0LCBtZW0pOworCQkJaWYgKGJvLT5iZGV2LT5kZGV2ICE9IE5VTEwpIC8vIFRPRE86 IHJlbW92ZSBhZnRlciBkZGV2IGluaXRpYXpsaWVkIGZvciBhbGwKKwkJCQlkcm1jZ19tZW1fdHJh Y2tfbW92ZShibywgZXZpY3QsIG1lbSk7CiAJCQliby0+bWVtID0gKm1lbTsKIAkJCW1lbS0+bW1f bm9kZSA9IE5VTEw7CiAJCQlnb3RvIG1vdmVkOwpAQCAtMzY4LDYgKzM3Niw4IEBAIHN0YXRpYyBp bnQgdHRtX2JvX2hhbmRsZV9tb3ZlX21lbShzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvLAog CiAJaWYgKGJkZXYtPmRyaXZlci0+bW92ZV9ub3RpZnkpCiAJCWJkZXYtPmRyaXZlci0+bW92ZV9u b3RpZnkoYm8sIGV2aWN0LCBtZW0pOworCWlmIChiby0+YmRldi0+ZGRldiAhPSBOVUxMKSAvLyBU T0RPOiByZW1vdmUgYWZ0ZXIgZGRldiBpbml0aWF6bGllZCBmb3IgYWxsCisJCWRybWNnX21lbV90 cmFja19tb3ZlKGJvLCBldmljdCwgbWVtKTsKIAogCWlmICghKG9sZF9tYW4tPmZsYWdzICYgVFRN X01FTVRZUEVfRkxBR19GSVhFRCkgJiYKIAkgICAgIShuZXdfbWFuLT5mbGFncyAmIFRUTV9NRU1U WVBFX0ZMQUdfRklYRUQpKQpAQCAtMzgxLDYgKzM5MSw4IEBAIHN0YXRpYyBpbnQgdHRtX2JvX2hh bmRsZV9tb3ZlX21lbShzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvLAogCQlpZiAoYmRldi0+ ZHJpdmVyLT5tb3ZlX25vdGlmeSkgewogCQkJc3dhcCgqbWVtLCBiby0+bWVtKTsKIAkJCWJkZXYt PmRyaXZlci0+bW92ZV9ub3RpZnkoYm8sIGZhbHNlLCBtZW0pOworCQkJaWYgKGJvLT5iZGV2LT5k ZGV2ICE9IE5VTEwpIC8vIFRPRE86IHJlbW92ZSBhZnRlciBkZGV2IGluaXRpYXpsaWVkIGZvciBh bGwKKwkJCQlkcm1jZ19tZW1fdHJhY2tfbW92ZShibywgZXZpY3QsIG1lbSk7CiAJCQlzd2FwKCpt ZW0sIGJvLT5tZW0pOwogCQl9CiAKQEAgLTEzNTUsNiArMTM2NywxMCBAQCBpbnQgdHRtX2JvX2lu aXRfcmVzZXJ2ZWQoc3RydWN0IHR0bV9ib19kZXZpY2UgKmJkZXYsCiAJCVdBUk5fT04oIWxvY2tl ZCk7CiAJfQogCisJYm8tPmRybWNnID0gZHJtY2dfZ2V0KGN1cnJlbnQpOworCWlmIChiby0+YmRl di0+ZGRldiAhPSBOVUxMKSAvLyBUT0RPOiByZW1vdmUgYWZ0ZXIgZGRldiBpbml0aWF6bGllZCBm b3IgYWxsCisJCWRybWNnX2NoZ19tZW0oYm8pOworCiAJaWYgKGxpa2VseSghcmV0KSkKIAkJcmV0 ID0gdHRtX2JvX3ZhbGlkYXRlKGJvLCBwbGFjZW1lbnQsIGN0eCk7CiAKQEAgLTE3NDcsNiArMTc2 MywyMCBAQCBpbnQgdHRtX2JvX2RldmljZV9pbml0KHN0cnVjdCB0dG1fYm9fZGV2aWNlICpiZGV2 LAogfQogRVhQT1JUX1NZTUJPTCh0dG1fYm9fZGV2aWNlX2luaXQpOwogCisvKiBUT0RPIG1lcmdl IHdpdGggb2ZmaWNpYWwgZnVuY3Rpb24gd2hlbiBpbXBsZW1lbnRhdGlvbiBmaW5hbGl6ZWQqLwor aW50IHR0bV9ib19kZXZpY2VfaW5pdF90bXAoc3RydWN0IHR0bV9ib19kZXZpY2UgKmJkZXYsCisJ CXN0cnVjdCB0dG1fYm9fZHJpdmVyICpkcml2ZXIsCisJCXN0cnVjdCBkcm1fZGV2aWNlICpkZGV2 LAorCQlzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywKKwkJYm9vbCBuZWVkX2RtYTMyKQor eworCWludCByZXQgPSB0dG1fYm9fZGV2aWNlX2luaXQoYmRldiwgZHJpdmVyLCBtYXBwaW5nLCBu ZWVkX2RtYTMyKTsKKworCWJkZXYtPmRkZXYgPSBkZGV2OworCXJldHVybiByZXQ7Cit9CitFWFBP UlRfU1lNQk9MKHR0bV9ib19kZXZpY2VfaW5pdF90bXApOworCiAvKgogICogYnVmZmVyIG9iamVj dCB2bSBmdW5jdGlvbnMuCiAgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90dG0vdHRt X2JvX3V0aWwuYyBiL2RyaXZlcnMvZ3B1L2RybS90dG0vdHRtX2JvX3V0aWwuYwppbmRleCA4OTVk NzdkNzk5ZTQuLjE1YWNkMmMwNzIwZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3R0bS90 dG1fYm9fdXRpbC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS90dG0vdHRtX2JvX3V0aWwuYwpAQCAt MzIsNiArMzIsNyBAQAogI2luY2x1ZGUgPGRybS90dG0vdHRtX2JvX2RyaXZlci5oPgogI2luY2x1 ZGUgPGRybS90dG0vdHRtX3BsYWNlbWVudC5oPgogI2luY2x1ZGUgPGRybS9kcm1fdm1hX21hbmFn ZXIuaD4KKyNpbmNsdWRlIDxkcm0vZHJtX2Nncm91cC5oPgogI2luY2x1ZGUgPGxpbnV4L2lvLmg+ CiAjaW5jbHVkZSA8bGludXgvaGlnaG1lbS5oPgogI2luY2x1ZGUgPGxpbnV4L3dhaXQuaD4KQEAg LTUyMiw2ICs1MjMsOSBAQCBzdGF0aWMgaW50IHR0bV9idWZmZXJfb2JqZWN0X3RyYW5zZmVyKHN0 cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm8sCiAJcmV0ID0gcmVzZXJ2YXRpb25fb2JqZWN0X3Ry eWxvY2soZmJvLT5iYXNlLnJlc3YpOwogCVdBUk5fT04oIXJldCk7CiAKKwlpZiAoYm8tPmJkZXYt PmRkZXYgIT0gTlVMTCkgLy8gVE9ETzogcmVtb3ZlIGFmdGVyIGRkZXYgaW5pdGlhemxpZWQgZm9y IGFsbAorCQlkcm1jZ19jaGdfbWVtKGJvKTsKKwogCSpuZXdfb2JqID0gJmZiby0+YmFzZTsKIAly ZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9jZ3JvdXAuaCBiL2luY2x1 ZGUvZHJtL2RybV9jZ3JvdXAuaAppbmRleCBkNjFiOTBiZWRlZDUuLjdkNjNmNzNhNTM3NSAxMDA2 NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2Nncm91cC5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9j Z3JvdXAuaApAQCAtNSw2ICs1LDcgQEAKICNkZWZpbmUgX19EUk1fQ0dST1VQX0hfXwogCiAjaW5j bHVkZSA8bGludXgvY2dyb3VwX2RybS5oPgorI2luY2x1ZGUgPGRybS90dG0vdHRtX2JvX2FwaS5o PgogCiAvKioKICAqIFBlciBEUk0gZGV2aWNlIHByb3BlcnRpZXMgZm9yIERSTSBjZ3JvdXAgY29u dHJvbGxlciBmb3IgdGhlIHB1cnBvc2UKQEAgLTI1LDYgKzI2LDExIEBAIGJvb2wgZHJtY2dfdHJ5 X2NoZ19ib19hbGxvYyhzdHJ1Y3QgZHJtY2cgKmRybWNnLCBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LAogCQlzaXplX3Qgc2l6ZSk7CiB2b2lkIGRybWNnX3VuY2hnX2JvX2FsbG9jKHN0cnVjdCBkcm1j ZyAqZHJtY2csIHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCXNpemVfdCBzaXplKTsKK3ZvaWQg ZHJtY2dfY2hnX21lbShzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKnRibyk7Cit2b2lkIGRybWNn X3VuY2hnX21lbShzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKnRibyk7Cit2b2lkIGRybWNnX21l bV90cmFja19tb3ZlKHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqb2xkX2JvLCBib29sIGV2aWN0 LAorCQlzdHJ1Y3QgdHRtX21lbV9yZWcgKm5ld19tZW0pOworCiAjZWxzZQogc3RhdGljIGlubGlu ZSB2b2lkIGRybWNnX2RldmljZV91cGRhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldmljZSkKIHsK QEAgLTQzLDUgKzQ5LDE4IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBkcm1jZ191bmNoZ19ib19hbGxv YyhzdHJ1Y3QgZHJtY2cgKmRybWNnLAogCQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAlzaXplX3Qg c2l6ZSkKIHsKIH0KKworc3RhdGljIGlubGluZSB2b2lkIGRybWNnX2NoZ19tZW0oc3RydWN0IHR0 bV9idWZmZXJfb2JqZWN0ICp0Ym8pCit7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBkcm1jZ191 bmNoZ19tZW0oc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICp0Ym8pCit7Cit9CisKK3N0YXRpYyBp bmxpbmUgdm9pZCBkcm1jZ19tZW1fdHJhY2tfbW92ZShzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3Qg Km9sZF9ibywKKwkJYm9vbCBldmljdCwgc3RydWN0IHR0bV9tZW1fcmVnICpuZXdfbWVtKQorewor fQogI2VuZGlmIC8qIENPTkZJR19DR1JPVVBfRFJNICovCiAjZW5kaWYgLyogX19EUk1fQ0dST1VQ X0hfXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vdHRtL3R0bV9ib19hcGkuaCBiL2luY2x1 ZGUvZHJtL3R0bS90dG1fYm9fYXBpLmgKaW5kZXggNDlkOWNkZmM1OGYyLi44Mzk5MzZhYjM1OGMg MTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL3R0bS90dG1fYm9fYXBpLmgKKysrIGIvaW5jbHVkZS9k cm0vdHRtL3R0bV9ib19hcGkuaApAQCAtMTI4LDYgKzEyOCw3IEBAIHN0cnVjdCB0dG1fdHQ7CiAg KiBzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QKICAqCiAgKiBAYmRldjogUG9pbnRlciB0byB0aGUg YnVmZmVyIG9iamVjdCBkZXZpY2Ugc3RydWN0dXJlLgorICogQGRybWNnOiBEUk0gY2dyb3VwIHRo aXMgb2JqZWN0IGJlbG9uZ3MgdG8uCiAgKiBAdHlwZTogVGhlIGJvIHR5cGUuCiAgKiBAZGVzdHJv eTogRGVzdHJ1Y3Rpb24gZnVuY3Rpb24uIElmIE5VTEwsIGtmcmVlIGlzIHVzZWQuCiAgKiBAbnVt X3BhZ2VzOiBBY3R1YWwgbnVtYmVyIG9mIHBhZ2VzLgpAQCAtMTc0LDYgKzE3NSw3IEBAIHN0cnVj dCB0dG1fYnVmZmVyX29iamVjdCB7CiAJICovCiAKIAlzdHJ1Y3QgdHRtX2JvX2RldmljZSAqYmRl djsKKwlzdHJ1Y3QgZHJtY2cgKmRybWNnOwogCWVudW0gdHRtX2JvX3R5cGUgdHlwZTsKIAl2b2lk ICgqZGVzdHJveSkgKHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqKTsKIAl1bnNpZ25lZCBsb25n IG51bV9wYWdlczsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL3R0bS90dG1fYm9fZHJpdmVyLmgg Yi9pbmNsdWRlL2RybS90dG0vdHRtX2JvX2RyaXZlci5oCmluZGV4IGM5YjhiYTQ5MmYyNC4uZTFh ODA1ZDY1YjgzIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS90dG0vdHRtX2JvX2RyaXZlci5oCisr KyBiL2luY2x1ZGUvZHJtL3R0bS90dG1fYm9fZHJpdmVyLmgKQEAgLTMwLDYgKzMwLDcgQEAKICNp Zm5kZWYgX1RUTV9CT19EUklWRVJfSF8KICNkZWZpbmUgX1RUTV9CT19EUklWRVJfSF8KIAorI2lu Y2x1ZGUgPGRybS9kcm1fZGV2aWNlLmg+CiAjaW5jbHVkZSA8ZHJtL2RybV9tbS5oPgogI2luY2x1 ZGUgPGRybS9kcm1fdm1hX21hbmFnZXIuaD4KICNpbmNsdWRlIDxsaW51eC93b3JrcXVldWUuaD4K QEAgLTQ0Miw2ICs0NDMsNyBAQCBleHRlcm4gc3RydWN0IHR0bV9ib19nbG9iYWwgewogICogQGRy aXZlcjogUG9pbnRlciB0byBhIHN0cnVjdCB0dG1fYm9fZHJpdmVyIHN0cnVjdCBzZXR1cCBieSB0 aGUgZHJpdmVyLgogICogQG1hbjogQW4gYXJyYXkgb2YgbWVtX3R5cGVfbWFuYWdlcnMuCiAgKiBA dm1hX21hbmFnZXI6IEFkZHJlc3Mgc3BhY2UgbWFuYWdlcgorICogQGRkZXY6IFBvaW50ZXIgdG8g c3RydWN0IGRybV9kZXZpY2UgdGhhdCB0aGlzIHR0bV9ib19kZXZpY2UgYmVsb25ncyB0bwogICog bHJ1X2xvY2s6IFNwaW5sb2NrIHRoYXQgcHJvdGVjdHMgdGhlIGJ1ZmZlcitkZXZpY2UgbHJ1IGxp c3RzIGFuZAogICogZGRlc3Ryb3kgbGlzdHMuCiAgKiBAZGV2X21hcHBpbmc6IEEgcG9pbnRlciB0 byB0aGUgc3RydWN0IGFkZHJlc3Nfc3BhY2UgcmVwcmVzZW50aW5nIHRoZQpAQCAtNDYwLDYgKzQ2 Miw3IEBAIHN0cnVjdCB0dG1fYm9fZGV2aWNlIHsKIAlzdHJ1Y3QgdHRtX2JvX2dsb2JhbCAqZ2xv YjsKIAlzdHJ1Y3QgdHRtX2JvX2RyaXZlciAqZHJpdmVyOwogCXN0cnVjdCB0dG1fbWVtX3R5cGVf bWFuYWdlciBtYW5bVFRNX05VTV9NRU1fVFlQRVNdOworCXN0cnVjdCBkcm1fZGV2aWNlICpkZGV2 OwogCiAJLyoKIAkgKiBQcm90ZWN0ZWQgYnkgaW50ZXJuYWwgbG9ja3MuCkBAIC01OTgsNiArNjAx LDExIEBAIGludCB0dG1fYm9fZGV2aWNlX2luaXQoc3RydWN0IHR0bV9ib19kZXZpY2UgKmJkZXYs CiAJCSAgICAgICBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywKIAkJICAgICAgIGJvb2wg bmVlZF9kbWEzMik7CiAKK2ludCB0dG1fYm9fZGV2aWNlX2luaXRfdG1wKHN0cnVjdCB0dG1fYm9f ZGV2aWNlICpiZGV2LAorCQkgICAgICAgc3RydWN0IHR0bV9ib19kcml2ZXIgKmRyaXZlciwKKwkJ ICAgICAgIHN0cnVjdCBkcm1fZGV2aWNlICpkZGV2LAorCQkgICAgICAgc3RydWN0IGFkZHJlc3Nf c3BhY2UgKm1hcHBpbmcsCisJCSAgICAgICBib29sIG5lZWRfZG1hMzIpOwogLyoqCiAgKiB0dG1f Ym9fdW5tYXBfdmlydHVhbAogICoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvY2dyb3VwX2Ry bS5oIGIvaW5jbHVkZS9saW51eC9jZ3JvdXBfZHJtLmgKaW5kZXggODdhMjU2NmM5ZmRkLi40YzI3 OTRjOTMzM2QgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvY2dyb3VwX2RybS5oCisrKyBiL2lu Y2x1ZGUvbGludXgvY2dyb3VwX2RybS5oCkBAIC05LDYgKzksNyBAQAogI2luY2x1ZGUgPGxpbnV4 L211dGV4Lmg+CiAjaW5jbHVkZSA8bGludXgvY2dyb3VwLmg+CiAjaW5jbHVkZSA8ZHJtL2RybV9m aWxlLmg+CisjaW5jbHVkZSA8ZHJtL3R0bS90dG1fcGxhY2VtZW50Lmg+CiAKIC8qIGxpbWl0IGRl ZmluZWQgcGVyIHRoZSB3YXkgZHJtX21pbm9yX2FsbG9jIG9wZXJhdGVzICovCiAjZGVmaW5lIE1B WF9EUk1fREVWICg2NCAqIERSTV9NSU5PUl9SRU5ERVIpCkBAIC0xNyw2ICsxOCw4IEBAIGVudW0g ZHJtY2dfcmVzX3R5cGUgewogCURSTUNHX1RZUEVfQk9fVE9UQUwsCiAJRFJNQ0dfVFlQRV9CT19Q RUFLLAogCURSTUNHX1RZUEVfQk9fQ09VTlQsCisJRFJNQ0dfVFlQRV9NRU0sCisJRFJNQ0dfVFlQ RV9NRU1fRVZJQ1QsCiAJX19EUk1DR19UWVBFX0xBU1QsCiB9OwogCkBAIC0zMiw2ICszNSw5IEBA IHN0cnVjdCBkcm1jZ19kZXZpY2VfcmVzb3VyY2UgewogCXM2NAkJCWJvX2xpbWl0c19wZWFrX2Fs bG9jYXRlZDsKIAogCXM2NAkJCWJvX3N0YXRzX2NvdW50X2FsbG9jYXRlZDsKKworCXM2NAkJCW1l bV9zdGF0c1tUVE1fUExfUFJJVisxXTsKKwlzNjQJCQltZW1fc3RhdHNfZXZpY3Q7CiB9OwogCiAv KioKZGlmZiAtLWdpdCBhL2tlcm5lbC9jZ3JvdXAvZHJtLmMgYi9rZXJuZWwvY2dyb3VwL2RybS5j CmluZGV4IDJmNTRiZmYyOTFlNS4uNDk2MGE4ZDFlOGY0IDEwMDY0NAotLS0gYS9rZXJuZWwvY2dy b3VwL2RybS5jCisrKyBiL2tlcm5lbC9jZ3JvdXAvZHJtLmMKQEAgLTEwLDYgKzEwLDggQEAKICNp bmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxkcm0vZHJtX2ZpbGUuaD4KICNpbmNs dWRlIDxkcm0vZHJtX2Rydi5oPgorI2luY2x1ZGUgPGRybS90dG0vdHRtX2JvX2FwaS5oPgorI2lu Y2x1ZGUgPGRybS90dG0vdHRtX2JvX2RyaXZlci5oPgogI2luY2x1ZGUgPGRybS9kcm1fZGV2aWNl Lmg+CiAjaW5jbHVkZSA8ZHJtL2RybV9pb2N0bC5oPgogI2luY2x1ZGUgPGRybS9kcm1fY2dyb3Vw Lmg+CkBAIC0zMSw2ICszMywxMyBAQCBlbnVtIGRybWNnX2ZpbGVfdHlwZSB7CiAJRFJNQ0dfRlRZ UEVfREVGQVVMVCwKIH07CiAKK3N0YXRpYyBjaGFyIGNvbnN0ICp0dG1fcGxhY2VtZW50X25hbWVz W10gPSB7CisJW1RUTV9QTF9TWVNURU1dID0gInN5c3RlbSIsCisJW1RUTV9QTF9UVF0gICAgID0g InR0IiwKKwlbVFRNX1BMX1ZSQU1dICAgPSAidnJhbSIsCisJW1RUTV9QTF9QUklWXSAgID0gInBy aXYiLAorfTsKKwogc3RhdGljIHN0cnVjdCBkcm1jZyAqcm9vdF9kcm1jZyBfX3JlYWRfbW9zdGx5 OwogCiBzdGF0aWMgaW50IGRybWNnX2Nzc19mcmVlX2ZuKGludCBpZCwgdm9pZCAqcHRyLCB2b2lk ICpkYXRhKQpAQCAtMTI3LDYgKzEzNiw3IEBAIGRybWNnX2Nzc19hbGxvYyhzdHJ1Y3QgY2dyb3Vw X3N1YnN5c19zdGF0ZSAqcGFyZW50X2NzcykKIHN0YXRpYyB2b2lkIGRybWNnX3ByaW50X3N0YXRz KHN0cnVjdCBkcm1jZ19kZXZpY2VfcmVzb3VyY2UgKmRkciwKIAkJc3RydWN0IHNlcV9maWxlICpz ZiwgZW51bSBkcm1jZ19yZXNfdHlwZSB0eXBlKQogeworCWludCBpOwogCWlmIChkZHIgPT0gTlVM TCkgewogCQlzZXFfcHV0cyhzZiwgIlxuIik7CiAJCXJldHVybjsKQEAgLTE0Miw2ICsxNTIsMTYg QEAgc3RhdGljIHZvaWQgZHJtY2dfcHJpbnRfc3RhdHMoc3RydWN0IGRybWNnX2RldmljZV9yZXNv dXJjZSAqZGRyLAogCWNhc2UgRFJNQ0dfVFlQRV9CT19DT1VOVDoKIAkJc2VxX3ByaW50ZihzZiwg IiVsbGRcbiIsIGRkci0+Ym9fc3RhdHNfY291bnRfYWxsb2NhdGVkKTsKIAkJYnJlYWs7CisJY2Fz ZSBEUk1DR19UWVBFX01FTToKKwkJZm9yIChpID0gMDsgaSA8PSBUVE1fUExfUFJJVjsgaSsrKSB7 CisJCQlzZXFfcHJpbnRmKHNmLCAiJXM9JWxsZCAiLCB0dG1fcGxhY2VtZW50X25hbWVzW2ldLAor CQkJCQlkZHItPm1lbV9zdGF0c1tpXSk7CisJCX0KKwkJc2VxX3B1dHMoc2YsICJcbiIpOworCQli cmVhazsKKwljYXNlIERSTUNHX1RZUEVfTUVNX0VWSUNUOgorCQlzZXFfcHJpbnRmKHNmLCAiJWxs ZFxuIiwgZGRyLT5tZW1fc3RhdHNfZXZpY3QpOworCQlicmVhazsKIAlkZWZhdWx0OgogCQlzZXFf cHV0cyhzZiwgIlxuIik7CiAJCWJyZWFrOwpAQCAtNDExLDYgKzQzMSwxOCBAQCBzdHJ1Y3QgY2Z0 eXBlIGZpbGVzW10gPSB7CiAJCS5wcml2YXRlID0gRFJNQ0dfQ1RGX1BSSVYoRFJNQ0dfVFlQRV9C T19DT1VOVCwKIAkJCQkJCURSTUNHX0ZUWVBFX1NUQVRTKSwKIAl9LAorCXsKKwkJLm5hbWUgPSAi bWVtb3J5LnN0YXRzIiwKKwkJLnNlcV9zaG93ID0gZHJtY2dfc2VxX3Nob3csCisJCS5wcml2YXRl ID0gRFJNQ0dfQ1RGX1BSSVYoRFJNQ0dfVFlQRV9NRU0sCisJCQkJCQlEUk1DR19GVFlQRV9TVEFU UyksCisJfSwKKwl7CisJCS5uYW1lID0gIm1lbW9yeS5ldmljdC5zdGF0cyIsCisJCS5zZXFfc2hv dyA9IGRybWNnX3NlcV9zaG93LAorCQkucHJpdmF0ZSA9IERSTUNHX0NURl9QUklWKERSTUNHX1RZ UEVfTUVNX0VWSUNULAorCQkJCQkJRFJNQ0dfRlRZUEVfU1RBVFMpLAorCX0sCiAJeyB9CS8qIHRl cm1pbmF0ZSAqLwogfTsKIApAQCAtNTY2LDMgKzU5OCw3OSBAQCB2b2lkIGRybWNnX3VuY2hnX2Jv X2FsbG9jKHN0cnVjdCBkcm1jZyAqZHJtY2csIHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJbXV0 ZXhfdW5sb2NrKCZkZXYtPmRybWNnX211dGV4KTsKIH0KIEVYUE9SVF9TWU1CT0woZHJtY2dfdW5j aGdfYm9fYWxsb2MpOworCit2b2lkIGRybWNnX2NoZ19tZW0oc3RydWN0IHR0bV9idWZmZXJfb2Jq ZWN0ICp0Ym8pCit7CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHRiby0+YmRldi0+ZGRldjsK KwlzdHJ1Y3QgZHJtY2cgKmRybWNnID0gdGJvLT5kcm1jZzsKKwlpbnQgZGV2SWR4ID0gZGV2LT5w cmltYXJ5LT5pbmRleDsKKwlzNjQgc2l6ZSA9IChzNjQpKHRiby0+bWVtLnNpemUpOworCWludCBt ZW1fdHlwZSA9IHRiby0+bWVtLm1lbV90eXBlOworCXN0cnVjdCBkcm1jZ19kZXZpY2VfcmVzb3Vy Y2UgKmRkcjsKKworCWlmIChkcm1jZyA9PSBOVUxMKQorCQlyZXR1cm47CisKKwltZW1fdHlwZSA9 IG1lbV90eXBlID4gVFRNX1BMX1BSSVYgPyBUVE1fUExfUFJJViA6IG1lbV90eXBlOworCisJbXV0 ZXhfbG9jaygmZGV2LT5kcm1jZ19tdXRleCk7CisJZm9yICggOyBkcm1jZyAhPSBOVUxMOyBkcm1j ZyA9IGRybWNnX3BhcmVudChkcm1jZykpIHsKKwkJZGRyID0gZHJtY2ctPmRldl9yZXNvdXJjZXNb ZGV2SWR4XTsKKwkJZGRyLT5tZW1fc3RhdHNbbWVtX3R5cGVdICs9IHNpemU7CisJfQorCW11dGV4 X3VubG9jaygmZGV2LT5kcm1jZ19tdXRleCk7Cit9CitFWFBPUlRfU1lNQk9MKGRybWNnX2NoZ19t ZW0pOworCit2b2lkIGRybWNnX3VuY2hnX21lbShzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKnRi bykKK3sKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gdGJvLT5iZGV2LT5kZGV2OworCXN0cnVj dCBkcm1jZyAqZHJtY2cgPSB0Ym8tPmRybWNnOworCWludCBkZXZJZHggPSBkZXYtPnByaW1hcnkt PmluZGV4OworCXM2NCBzaXplID0gKHM2NCkodGJvLT5tZW0uc2l6ZSk7CisJaW50IG1lbV90eXBl ID0gdGJvLT5tZW0ubWVtX3R5cGU7CisJc3RydWN0IGRybWNnX2RldmljZV9yZXNvdXJjZSAqZGRy OworCisJaWYgKGRybWNnID09IE5VTEwpCisJCXJldHVybjsKKworCW1lbV90eXBlID0gbWVtX3R5 cGUgPiBUVE1fUExfUFJJViA/IFRUTV9QTF9QUklWIDogbWVtX3R5cGU7CisKKwltdXRleF9sb2Nr KCZkZXYtPmRybWNnX211dGV4KTsKKwlmb3IgKCA7IGRybWNnICE9IE5VTEw7IGRybWNnID0gZHJt Y2dfcGFyZW50KGRybWNnKSkgeworCQlkZHIgPSBkcm1jZy0+ZGV2X3Jlc291cmNlc1tkZXZJZHhd OworCQlkZHItPm1lbV9zdGF0c1ttZW1fdHlwZV0gLT0gc2l6ZTsKKwl9CisJbXV0ZXhfdW5sb2Nr KCZkZXYtPmRybWNnX211dGV4KTsKK30KK0VYUE9SVF9TWU1CT0woZHJtY2dfdW5jaGdfbWVtKTsK Kwordm9pZCBkcm1jZ19tZW1fdHJhY2tfbW92ZShzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKm9s ZF9ibywgYm9vbCBldmljdCwKKwkJc3RydWN0IHR0bV9tZW1fcmVnICpuZXdfbWVtKQoreworCXN0 cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBvbGRfYm8tPmJkZXYtPmRkZXY7CisJc3RydWN0IGRybWNn ICpkcm1jZyA9IG9sZF9iby0+ZHJtY2c7CisJczY0IG1vdmVfaW5fYnl0ZXMgPSAoczY0KShvbGRf Ym8tPm1lbS5zaXplKTsKKwlpbnQgZGV2SWR4ID0gZGV2LT5wcmltYXJ5LT5pbmRleDsKKwlpbnQg b2xkX21lbV90eXBlID0gb2xkX2JvLT5tZW0ubWVtX3R5cGU7CisJaW50IG5ld19tZW1fdHlwZSA9 IG5ld19tZW0tPm1lbV90eXBlOworCXN0cnVjdCBkcm1jZ19kZXZpY2VfcmVzb3VyY2UgKmRkcjsK KworCWlmIChkcm1jZyA9PSBOVUxMKQorCQlyZXR1cm47CisKKwlvbGRfbWVtX3R5cGUgPSBvbGRf bWVtX3R5cGUgPiBUVE1fUExfUFJJViA/IFRUTV9QTF9QUklWIDogb2xkX21lbV90eXBlOworCW5l d19tZW1fdHlwZSA9IG5ld19tZW1fdHlwZSA+IFRUTV9QTF9QUklWID8gVFRNX1BMX1BSSVYgOiBu ZXdfbWVtX3R5cGU7CisKKwltdXRleF9sb2NrKCZkZXYtPmRybWNnX211dGV4KTsKKwlmb3IgKCA7 IGRybWNnICE9IE5VTEw7IGRybWNnID0gZHJtY2dfcGFyZW50KGRybWNnKSkgeworCQlkZHIgPSBk cm1jZy0+ZGV2X3Jlc291cmNlc1tkZXZJZHhdOworCQlkZHItPm1lbV9zdGF0c1tvbGRfbWVtX3R5 cGVdIC09IG1vdmVfaW5fYnl0ZXM7CisJCWRkci0+bWVtX3N0YXRzW25ld19tZW1fdHlwZV0gKz0g bW92ZV9pbl9ieXRlczsKKworCQlpZiAoZXZpY3QpCisJCQlkZHItPm1lbV9zdGF0c19ldmljdCsr OworCX0KKwltdXRleF91bmxvY2soJmRldi0+ZHJtY2dfbXV0ZXgpOworfQorRVhQT1JUX1NZTUJP TChkcm1jZ19tZW1fdHJhY2tfbW92ZSk7Ci0tIAoyLjIyLjAKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vYW1kLWdmeA==