From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Christian=20K=C3=B6nig?= Subject: [PATCH 4/5] drm/amdgpu: remove adev pointer from struct amdgpu_bo Date: Thu, 15 Sep 2016 15:10:23 +0200 Message-ID: <1473945024-8275-4-git-send-email-deathsimple@vodafone.de> References: <1473945024-8275-1-git-send-email-deathsimple@vodafone.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1473945024-8275-1-git-send-email-deathsimple-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org RnJvbTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgoKSXQncyBj b21wbGV0ZWx5IHBvaW50c2xlc3MgdG8gaGF2ZSB0d28gcG9pbnRlcnMgdG8gdGhlCmRldmljZSBp biB0aGUgc2FtZSBzdHJ1Y3R1ci4KClNpZ25lZC1vZmYtYnk6IENocmlzdGlhbiBLw7ZuaWcgPGNo cmlzdGlhbi5rb2VuaWdAYW1kLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHUuaCAgICAgICAgfCAgNiArKystCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfY3MuYyAgICAgfCAxMCArKystLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdw dV9nZW0uYyAgICB8ICA0ICstLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X21u LmMgICAgIHwgIDQgKy0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfb2JqZWN0 LmMgfCA1MCArKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdV9vYmplY3QuaCB8ICAzICstCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9hbWRncHVfdHRtLmMgICAgfCAxNyArKystLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfdXZkLmMgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvYW1kZ3B1X3ZtLmMgICAgIHwgIDIgKy0KIDkgZmlsZXMgY2hhbmdlZCwgNTAgaW5zZXJ0aW9u cygrKSwgNDggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1LmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaAppbmRl eCAzYjM5ODFkLi5lZDkxZjA4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHUuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaApAQCAt NDY1LDcgKzQ2NSw2IEBAIHN0cnVjdCBhbWRncHVfYm8gewogCSAqLwogCXN0cnVjdCBsaXN0X2hl YWQJCXZhOwogCS8qIENvbnN0YW50IGFmdGVyIGluaXRpYWxpemF0aW9uICovCi0Jc3RydWN0IGFt ZGdwdV9kZXZpY2UJCSphZGV2OwogCXN0cnVjdCBkcm1fZ2VtX29iamVjdAkJZ2VtX2Jhc2U7CiAJ c3RydWN0IGFtZGdwdV9ibwkJKnBhcmVudDsKIAlzdHJ1Y3QgYW1kZ3B1X2JvCQkqc2hhZG93OwpA QCAtMjE0NCw2ICsyMTQzLDExIEBAIHN0cnVjdCBhbWRncHVfZGV2aWNlIHsKIAogfTsKIAorc3Rh dGljIGlubGluZSBzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYW1kZ3B1X2dldF9hZGV2KHN0cnVjdCB0 dG1fYm9fZGV2aWNlICpiZGV2KQoreworCXJldHVybiBjb250YWluZXJfb2YoYmRldiwgc3RydWN0 IGFtZGdwdV9kZXZpY2UsIG1tYW4uYmRldik7Cit9CisKIGJvb2wgYW1kZ3B1X2RldmljZV9pc19w eChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKIGludCBhbWRncHVfZGV2aWNlX2luaXQoc3RydWN0 IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJCSAgICAgICBzdHJ1Y3QgZHJtX2RldmljZSAqZGRldiwK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jcy5jIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2NzLmMKaW5kZXggMTg3YzM2Ni4uNWJlYWI3 MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2NzLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2NzLmMKQEAgLTM1NSw2ICszNTUs NyBAQCBzdGF0aWMgdm9pZCBhbWRncHVfY3NfcmVwb3J0X21vdmVkX2J5dGVzKHN0cnVjdCBhbWRn cHVfZGV2aWNlICphZGV2LAogc3RhdGljIGludCBhbWRncHVfY3NfYm9fdmFsaWRhdGUoc3RydWN0 IGFtZGdwdV9jc19wYXJzZXIgKnAsCiAJCQkJIHN0cnVjdCBhbWRncHVfYm8gKmJvKQogeworCXN0 cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0gYW1kZ3B1X2dldF9hZGV2KGJvLT50Ym8uYmRldik7 CiAJdTY0IGluaXRpYWxfYnl0ZXNfbW92ZWQ7CiAJdWludDMyX3QgZG9tYWluOwogCWludCByOwpA QCAtMzcyLDkgKzM3Myw5IEBAIHN0YXRpYyBpbnQgYW1kZ3B1X2NzX2JvX3ZhbGlkYXRlKHN0cnVj dCBhbWRncHVfY3NfcGFyc2VyICpwLAogCiByZXRyeToKIAlhbWRncHVfdHRtX3BsYWNlbWVudF9m cm9tX2RvbWFpbihibywgZG9tYWluKTsKLQlpbml0aWFsX2J5dGVzX21vdmVkID0gYXRvbWljNjRf cmVhZCgmYm8tPmFkZXYtPm51bV9ieXRlc19tb3ZlZCk7CisJaW5pdGlhbF9ieXRlc19tb3ZlZCA9 IGF0b21pYzY0X3JlYWQoJmFkZXYtPm51bV9ieXRlc19tb3ZlZCk7CiAJciA9IHR0bV9ib192YWxp ZGF0ZSgmYm8tPnRibywgJmJvLT5wbGFjZW1lbnQsIHRydWUsIGZhbHNlKTsKLQlwLT5ieXRlc19t b3ZlZCArPSBhdG9taWM2NF9yZWFkKCZiby0+YWRldi0+bnVtX2J5dGVzX21vdmVkKSAtCisJcC0+ Ynl0ZXNfbW92ZWQgKz0gYXRvbWljNjRfcmVhZCgmYWRldi0+bnVtX2J5dGVzX21vdmVkKSAtCiAJ CWluaXRpYWxfYnl0ZXNfbW92ZWQ7CiAKIAlpZiAodW5saWtlbHkociA9PSAtRU5PTUVNKSAmJiBk b21haW4gIT0gYm8tPmFsbG93ZWRfZG9tYWlucykgewpAQCAtNDAwLDYgKzQwMSw3IEBAIHN0YXRp YyBib29sIGFtZGdwdV9jc190cnlfZXZpY3Qoc3RydWN0IGFtZGdwdV9jc19wYXJzZXIgKnAsCiAK IAkJc3RydWN0IGFtZGdwdV9ib19saXN0X2VudHJ5ICpjYW5kaWRhdGUgPSBwLT5ldmljdGFibGU7 CiAJCXN0cnVjdCBhbWRncHVfYm8gKmJvID0gY2FuZGlkYXRlLT5yb2JqOworCQlzdHJ1Y3QgYW1k Z3B1X2RldmljZSAqYWRldiA9IGFtZGdwdV9nZXRfYWRldihiby0+dGJvLmJkZXYpOwogCQl1NjQg aW5pdGlhbF9ieXRlc19tb3ZlZDsKIAkJdWludDMyX3Qgb3RoZXI7CiAKQEAgLTQyMCw5ICs0MjIs OSBAQCBzdGF0aWMgYm9vbCBhbWRncHVfY3NfdHJ5X2V2aWN0KHN0cnVjdCBhbWRncHVfY3NfcGFy c2VyICpwLAogCiAJCS8qIEdvb2Qgd2UgY2FuIHRyeSB0byBtb3ZlIHRoaXMgQk8gc29tZXdoZXJl IGVsc2UgKi8KIAkJYW1kZ3B1X3R0bV9wbGFjZW1lbnRfZnJvbV9kb21haW4oYm8sIG90aGVyKTsK LQkJaW5pdGlhbF9ieXRlc19tb3ZlZCA9IGF0b21pYzY0X3JlYWQoJmJvLT5hZGV2LT5udW1fYnl0 ZXNfbW92ZWQpOworCQlpbml0aWFsX2J5dGVzX21vdmVkID0gYXRvbWljNjRfcmVhZCgmYWRldi0+ bnVtX2J5dGVzX21vdmVkKTsKIAkJciA9IHR0bV9ib192YWxpZGF0ZSgmYm8tPnRibywgJmJvLT5w bGFjZW1lbnQsIHRydWUsIGZhbHNlKTsKLQkJcC0+Ynl0ZXNfbW92ZWQgKz0gYXRvbWljNjRfcmVh ZCgmYm8tPmFkZXYtPm51bV9ieXRlc19tb3ZlZCkgLQorCQlwLT5ieXRlc19tb3ZlZCArPSBhdG9t aWM2NF9yZWFkKCZhZGV2LT5udW1fYnl0ZXNfbW92ZWQpIC0KIAkJCWluaXRpYWxfYnl0ZXNfbW92 ZWQ7CiAKIAkJaWYgKHVubGlrZWx5KHIpKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 X2dlbS5jCmluZGV4IDcwZTI5NGIuLjQ4MGFlN2UgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV9nZW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfZ2VtLmMKQEAgLTEyMSw3ICsxMjEsNyBAQCBpbnQgYW1kZ3B1X2dlbV9vYmplY3Rf b3BlbihzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaiwKIAkJCSAgIHN0cnVjdCBkcm1fZmlsZSAq ZmlsZV9wcml2KQogewogCXN0cnVjdCBhbWRncHVfYm8gKnJibyA9IGdlbV90b19hbWRncHVfYm8o b2JqKTsKLQlzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiA9IHJiby0+YWRldjsKKwlzdHJ1Y3Qg YW1kZ3B1X2RldmljZSAqYWRldiA9IGFtZGdwdV9nZXRfYWRldihyYm8tPnRiby5iZGV2KTsKIAlz dHJ1Y3QgYW1kZ3B1X2Zwcml2ICpmcHJpdiA9IGZpbGVfcHJpdi0+ZHJpdmVyX3ByaXY7CiAJc3Ry dWN0IGFtZGdwdV92bSAqdm0gPSAmZnByaXYtPnZtOwogCXN0cnVjdCBhbWRncHVfYm9fdmEgKmJv X3ZhOwpAQCAtMTQ0LDcgKzE0NCw3IEBAIHZvaWQgYW1kZ3B1X2dlbV9vYmplY3RfY2xvc2Uoc3Ry dWN0IGRybV9nZW1fb2JqZWN0ICpvYmosCiAJCQkgICAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9w cml2KQogewogCXN0cnVjdCBhbWRncHVfYm8gKmJvID0gZ2VtX3RvX2FtZGdwdV9ibyhvYmopOwot CXN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0gYm8tPmFkZXY7CisJc3RydWN0IGFtZGdwdV9k ZXZpY2UgKmFkZXYgPSBhbWRncHVfZ2V0X2FkZXYoYm8tPnRiby5iZGV2KTsKIAlzdHJ1Y3QgYW1k Z3B1X2Zwcml2ICpmcHJpdiA9IGZpbGVfcHJpdi0+ZHJpdmVyX3ByaXY7CiAJc3RydWN0IGFtZGdw dV92bSAqdm0gPSAmZnByaXYtPnZtOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfbW4uYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9t bi5jCmluZGV4IDMyZmE3YjcuLjQ3MzEyMzEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdV9tbi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV9tbi5jCkBAIC0yODUsNyArMjg1LDcgQEAgZnJlZV9ybW46CiBpbnQgYW1kZ3B1X21uX3Jl Z2lzdGVyKHN0cnVjdCBhbWRncHVfYm8gKmJvLCB1bnNpZ25lZCBsb25nIGFkZHIpCiB7CiAJdW5z aWduZWQgbG9uZyBlbmQgPSBhZGRyICsgYW1kZ3B1X2JvX3NpemUoYm8pIC0gMTsKLQlzdHJ1Y3Qg YW1kZ3B1X2RldmljZSAqYWRldiA9IGJvLT5hZGV2OworCXN0cnVjdCBhbWRncHVfZGV2aWNlICph ZGV2ID0gYW1kZ3B1X2dldF9hZGV2KGJvLT50Ym8uYmRldik7CiAJc3RydWN0IGFtZGdwdV9tbiAq cm1uOwogCXN0cnVjdCBhbWRncHVfbW5fbm9kZSAqbm9kZSA9IE5VTEw7CiAJc3RydWN0IGxpc3Rf aGVhZCBib3M7CkBAIC0zNDAsNyArMzQwLDcgQEAgaW50IGFtZGdwdV9tbl9yZWdpc3RlcihzdHJ1 Y3QgYW1kZ3B1X2JvICpibywgdW5zaWduZWQgbG9uZyBhZGRyKQogICovCiB2b2lkIGFtZGdwdV9t bl91bnJlZ2lzdGVyKHN0cnVjdCBhbWRncHVfYm8gKmJvKQogewotCXN0cnVjdCBhbWRncHVfZGV2 aWNlICphZGV2ID0gYm8tPmFkZXY7CisJc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSBhbWRn cHVfZ2V0X2FkZXYoYm8tPnRiby5iZGV2KTsKIAlzdHJ1Y3QgYW1kZ3B1X21uICpybW47CiAJc3Ry dWN0IGxpc3RfaGVhZCAqaGVhZDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X29iamVjdC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 X29iamVjdC5jCmluZGV4IDQyODljMzEuLjVjYmU4MDMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9vYmplY3QuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfb2JqZWN0LmMKQEAgLTkwLDE4ICs5MCwxOSBAQCBzdGF0aWMgdm9pZCBh bWRncHVfdXBkYXRlX21lbW9yeV91c2FnZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKIAog c3RhdGljIHZvaWQgYW1kZ3B1X3R0bV9ib19kZXN0cm95KHN0cnVjdCB0dG1fYnVmZmVyX29iamVj dCAqdGJvKQogeworCXN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0gYW1kZ3B1X2dldF9hZGV2 KHRiby0+YmRldik7CiAJc3RydWN0IGFtZGdwdV9ibyAqYm87CiAKIAlibyA9IGNvbnRhaW5lcl9v Zih0Ym8sIHN0cnVjdCBhbWRncHVfYm8sIHRibyk7CiAKLQlhbWRncHVfdXBkYXRlX21lbW9yeV91 c2FnZShiby0+YWRldiwgJmJvLT50Ym8ubWVtLCBOVUxMKTsKKwlhbWRncHVfdXBkYXRlX21lbW9y eV91c2FnZShhZGV2LCAmYm8tPnRiby5tZW0sIE5VTEwpOwogCiAJZHJtX2dlbV9vYmplY3RfcmVs ZWFzZSgmYm8tPmdlbV9iYXNlKTsKIAlhbWRncHVfYm9fdW5yZWYoJmJvLT5wYXJlbnQpOwogCWlm ICghbGlzdF9lbXB0eSgmYm8tPnNoYWRvd19saXN0KSkgewotCQltdXRleF9sb2NrKCZiby0+YWRl di0+c2hhZG93X2xpc3RfbG9jayk7CisJCW11dGV4X2xvY2soJmFkZXYtPnNoYWRvd19saXN0X2xv Y2spOwogCQlsaXN0X2RlbF9pbml0KCZiby0+c2hhZG93X2xpc3QpOwotCQltdXRleF91bmxvY2so JmJvLT5hZGV2LT5zaGFkb3dfbGlzdF9sb2NrKTsKKwkJbXV0ZXhfdW5sb2NrKCZhZGV2LT5zaGFk b3dfbGlzdF9sb2NrKTsKIAl9CiAJa2ZyZWUoYm8tPm1ldGFkYXRhKTsKIAlrZnJlZShibyk7CkBA IC0yMTIsOCArMjEzLDEwIEBAIHN0YXRpYyB2b2lkIGFtZGdwdV90dG1fcGxhY2VtZW50X2luaXQo c3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAKIHZvaWQgYW1kZ3B1X3R0bV9wbGFjZW1lbnRf ZnJvbV9kb21haW4oc3RydWN0IGFtZGdwdV9ibyAqcmJvLCB1MzIgZG9tYWluKQogewotCWFtZGdw dV90dG1fcGxhY2VtZW50X2luaXQocmJvLT5hZGV2LCAmcmJvLT5wbGFjZW1lbnQsCi0JCQkJICBy Ym8tPnBsYWNlbWVudHMsIGRvbWFpbiwgcmJvLT5mbGFncyk7CisJc3RydWN0IGFtZGdwdV9kZXZp Y2UgKmFkZXYgPSBhbWRncHVfZ2V0X2FkZXYocmJvLT50Ym8uYmRldik7CisKKwlhbWRncHVfdHRt X3BsYWNlbWVudF9pbml0KGFkZXYsICZyYm8tPnBsYWNlbWVudCwgcmJvLT5wbGFjZW1lbnRzLAor CQkJCSAgZG9tYWluLCByYm8tPmZsYWdzKTsKIH0KIAogc3RhdGljIHZvaWQgYW1kZ3B1X2ZpbGxf cGxhY2VtZW50X3RvX2JvKHN0cnVjdCBhbWRncHVfYm8gKmJvLApAQCAtMzU5LDcgKzM2Miw2IEBA IGludCBhbWRncHVfYm9fY3JlYXRlX3Jlc3RyaWN0ZWQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFk ZXYsCiAJCWtmcmVlKGJvKTsKIAkJcmV0dXJuIHI7CiAJfQotCWJvLT5hZGV2ID0gYWRldjsKIAlJ TklUX0xJU1RfSEVBRCgmYm8tPnNoYWRvd19saXN0KTsKIAlJTklUX0xJU1RfSEVBRCgmYm8tPnZh KTsKIAliby0+cHJlZmVyZWRfZG9tYWlucyA9IGRvbWFpbiAmIChBTURHUFVfR0VNX0RPTUFJTl9W UkFNIHwKQEAgLTYyNCw2ICs2MjYsNyBAQCBpbnQgYW1kZ3B1X2JvX3Bpbl9yZXN0cmljdGVkKHN0 cnVjdCBhbWRncHVfYm8gKmJvLCB1MzIgZG9tYWluLAogCQkJICAgICB1NjQgbWluX29mZnNldCwg dTY0IG1heF9vZmZzZXQsCiAJCQkgICAgIHU2NCAqZ3B1X2FkZHIpCiB7CisJc3RydWN0IGFtZGdw dV9kZXZpY2UgKmFkZXYgPSBhbWRncHVfZ2V0X2FkZXYoYm8tPnRiby5iZGV2KTsKIAlpbnQgciwg aTsKIAl1bnNpZ25lZCBmcGZuLCBscGZuOwogCkBAIC02NTksMTIgKzY2MiwxMiBAQCBpbnQgYW1k Z3B1X2JvX3Bpbl9yZXN0cmljdGVkKHN0cnVjdCBhbWRncHVfYm8gKmJvLCB1MzIgZG9tYWluLAog CQlpZiAoKGJvLT5wbGFjZW1lbnRzW2ldLmZsYWdzICYgVFRNX1BMX0ZMQUdfVlJBTSkgJiYKIAkJ ICAgICEoYm8tPmZsYWdzICYgQU1ER1BVX0dFTV9DUkVBVEVfTk9fQ1BVX0FDQ0VTUykgJiYKIAkJ ICAgICghbWF4X29mZnNldCB8fCBtYXhfb2Zmc2V0ID4KLQkJICAgICBiby0+YWRldi0+bWMudmlz aWJsZV92cmFtX3NpemUpKSB7CisJCSAgICAgYWRldi0+bWMudmlzaWJsZV92cmFtX3NpemUpKSB7 CiAJCQlpZiAoV0FSTl9PTl9PTkNFKG1pbl9vZmZzZXQgPgotCQkJCQkgYm8tPmFkZXYtPm1jLnZp c2libGVfdnJhbV9zaXplKSkKKwkJCQkJIGFkZXYtPm1jLnZpc2libGVfdnJhbV9zaXplKSkKIAkJ CQlyZXR1cm4gLUVJTlZBTDsKIAkJCWZwZm4gPSBtaW5fb2Zmc2V0ID4+IFBBR0VfU0hJRlQ7Ci0J CQlscGZuID0gYm8tPmFkZXYtPm1jLnZpc2libGVfdnJhbV9zaXplID4+IFBBR0VfU0hJRlQ7CisJ CQlscGZuID0gYWRldi0+bWMudmlzaWJsZV92cmFtX3NpemUgPj4gUEFHRV9TSElGVDsKIAkJfSBl bHNlIHsKIAkJCWZwZm4gPSBtaW5fb2Zmc2V0ID4+IFBBR0VfU0hJRlQ7CiAJCQlscGZuID0gbWF4 X29mZnNldCA+PiBQQUdFX1NISUZUOwpAQCAtNjc5LDEyICs2ODIsMTIgQEAgaW50IGFtZGdwdV9i b19waW5fcmVzdHJpY3RlZChzdHJ1Y3QgYW1kZ3B1X2JvICpibywgdTMyIGRvbWFpbiwKIAogCXIg PSB0dG1fYm9fdmFsaWRhdGUoJmJvLT50Ym8sICZiby0+cGxhY2VtZW50LCBmYWxzZSwgZmFsc2Up OwogCWlmICh1bmxpa2VseShyKSkgewotCQlkZXZfZXJyKGJvLT5hZGV2LT5kZXYsICIlcCBwaW4g ZmFpbGVkXG4iLCBibyk7CisJCWRldl9lcnIoYWRldi0+ZGV2LCAiJXAgcGluIGZhaWxlZFxuIiwg Ym8pOwogCQlnb3RvIGVycm9yOwogCX0KIAlyID0gYW1kZ3B1X3R0bV9iaW5kKCZiby0+dGJvLCAm Ym8tPnRiby5tZW0pOwogCWlmICh1bmxpa2VseShyKSkgewotCQlkZXZfZXJyKGJvLT5hZGV2LT5k ZXYsICIlcCBiaW5kIGZhaWxlZFxuIiwgYm8pOworCQlkZXZfZXJyKGFkZXYtPmRldiwgIiVwIGJp bmQgZmFpbGVkXG4iLCBibyk7CiAJCWdvdG8gZXJyb3I7CiAJfQogCkBAIC02OTIsMTEgKzY5NSwx MSBAQCBpbnQgYW1kZ3B1X2JvX3Bpbl9yZXN0cmljdGVkKHN0cnVjdCBhbWRncHVfYm8gKmJvLCB1 MzIgZG9tYWluLAogCWlmIChncHVfYWRkciAhPSBOVUxMKQogCQkqZ3B1X2FkZHIgPSBhbWRncHVf Ym9fZ3B1X29mZnNldChibyk7CiAJaWYgKGRvbWFpbiA9PSBBTURHUFVfR0VNX0RPTUFJTl9WUkFN KSB7Ci0JCWJvLT5hZGV2LT52cmFtX3Bpbl9zaXplICs9IGFtZGdwdV9ib19zaXplKGJvKTsKKwkJ YWRldi0+dnJhbV9waW5fc2l6ZSArPSBhbWRncHVfYm9fc2l6ZShibyk7CiAJCWlmIChiby0+Zmxh Z3MgJiBBTURHUFVfR0VNX0NSRUFURV9OT19DUFVfQUNDRVNTKQotCQkJYm8tPmFkZXYtPmludmlz aWJsZV9waW5fc2l6ZSArPSBhbWRncHVfYm9fc2l6ZShibyk7CisJCQlhZGV2LT5pbnZpc2libGVf cGluX3NpemUgKz0gYW1kZ3B1X2JvX3NpemUoYm8pOwogCX0gZWxzZSBpZiAoZG9tYWluID09IEFN REdQVV9HRU1fRE9NQUlOX0dUVCkgewotCQliby0+YWRldi0+Z2FydF9waW5fc2l6ZSArPSBhbWRn cHVfYm9fc2l6ZShibyk7CisJCWFkZXYtPmdhcnRfcGluX3NpemUgKz0gYW1kZ3B1X2JvX3NpemUo Ym8pOwogCX0KIAogZXJyb3I6CkBAIC03MTAsMTAgKzcxMywxMSBAQCBpbnQgYW1kZ3B1X2JvX3Bp bihzdHJ1Y3QgYW1kZ3B1X2JvICpibywgdTMyIGRvbWFpbiwgdTY0ICpncHVfYWRkcikKIAogaW50 IGFtZGdwdV9ib191bnBpbihzdHJ1Y3QgYW1kZ3B1X2JvICpibykKIHsKKwlzdHJ1Y3QgYW1kZ3B1 X2RldmljZSAqYWRldiA9IGFtZGdwdV9nZXRfYWRldihiby0+dGJvLmJkZXYpOwogCWludCByLCBp OwogCiAJaWYgKCFiby0+cGluX2NvdW50KSB7Ci0JCWRldl93YXJuKGJvLT5hZGV2LT5kZXYsICIl cCB1bnBpbiBub3QgbmVjZXNzYXJ5XG4iLCBibyk7CisJCWRldl93YXJuKGFkZXYtPmRldiwgIiVw IHVucGluIG5vdCBuZWNlc3NhcnlcbiIsIGJvKTsKIAkJcmV0dXJuIDA7CiAJfQogCWJvLT5waW5f Y291bnQtLTsKQEAgLTcyNSwxNiArNzI5LDE2IEBAIGludCBhbWRncHVfYm9fdW5waW4oc3RydWN0 IGFtZGdwdV9ibyAqYm8pCiAJfQogCXIgPSB0dG1fYm9fdmFsaWRhdGUoJmJvLT50Ym8sICZiby0+ cGxhY2VtZW50LCBmYWxzZSwgZmFsc2UpOwogCWlmICh1bmxpa2VseShyKSkgewotCQlkZXZfZXJy KGJvLT5hZGV2LT5kZXYsICIlcCB2YWxpZGF0ZSBmYWlsZWQgZm9yIHVucGluXG4iLCBibyk7CisJ CWRldl9lcnIoYWRldi0+ZGV2LCAiJXAgdmFsaWRhdGUgZmFpbGVkIGZvciB1bnBpblxuIiwgYm8p OwogCQlnb3RvIGVycm9yOwogCX0KIAogCWlmIChiby0+dGJvLm1lbS5tZW1fdHlwZSA9PSBUVE1f UExfVlJBTSkgewotCQliby0+YWRldi0+dnJhbV9waW5fc2l6ZSAtPSBhbWRncHVfYm9fc2l6ZShi byk7CisJCWFkZXYtPnZyYW1fcGluX3NpemUgLT0gYW1kZ3B1X2JvX3NpemUoYm8pOwogCQlpZiAo Ym8tPmZsYWdzICYgQU1ER1BVX0dFTV9DUkVBVEVfTk9fQ1BVX0FDQ0VTUykKLQkJCWJvLT5hZGV2 LT5pbnZpc2libGVfcGluX3NpemUgLT0gYW1kZ3B1X2JvX3NpemUoYm8pOworCQkJYWRldi0+aW52 aXNpYmxlX3Bpbl9zaXplIC09IGFtZGdwdV9ib19zaXplKGJvKTsKIAl9IGVsc2UgaWYgKGJvLT50 Ym8ubWVtLm1lbV90eXBlID09IFRUTV9QTF9UVCkgewotCQliby0+YWRldi0+Z2FydF9waW5fc2l6 ZSAtPSBhbWRncHVfYm9fc2l6ZShibyk7CisJCWFkZXYtPmdhcnRfcGluX3NpemUgLT0gYW1kZ3B1 X2JvX3NpemUoYm8pOwogCX0KIAogZXJyb3I6CkBAIC04NTksNiArODYzLDcgQEAgaW50IGFtZGdw dV9ib19nZXRfbWV0YWRhdGEoc3RydWN0IGFtZGdwdV9ibyAqYm8sIHZvaWQgKmJ1ZmZlciwKIHZv aWQgYW1kZ3B1X2JvX21vdmVfbm90aWZ5KHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm8sCiAJ CQkgICBzdHJ1Y3QgdHRtX21lbV9yZWcgKm5ld19tZW0pCiB7CisJc3RydWN0IGFtZGdwdV9kZXZp Y2UgKmFkZXYgPSBhbWRncHVfZ2V0X2FkZXYoYm8tPmJkZXYpOwogCXN0cnVjdCBhbWRncHVfYm8g KnJibzsKIAlzdHJ1Y3QgdHRtX21lbV9yZWcgKm9sZF9tZW0gPSAmYm8tPm1lbTsKIApAQCAtODY2 LDIxICs4NzEsMjEgQEAgdm9pZCBhbWRncHVfYm9fbW92ZV9ub3RpZnkoc3RydWN0IHR0bV9idWZm ZXJfb2JqZWN0ICpibywKIAkJcmV0dXJuOwogCiAJcmJvID0gY29udGFpbmVyX29mKGJvLCBzdHJ1 Y3QgYW1kZ3B1X2JvLCB0Ym8pOwotCWFtZGdwdV92bV9ib19pbnZhbGlkYXRlKHJiby0+YWRldiwg cmJvKTsKKwlhbWRncHVfdm1fYm9faW52YWxpZGF0ZShhZGV2LCByYm8pOwogCiAJLyogdXBkYXRl IHN0YXRpc3RpY3MgKi8KIAlpZiAoIW5ld19tZW0pCiAJCXJldHVybjsKIAogCS8qIG1vdmVfbm90 aWZ5IGlzIGNhbGxlZCBiZWZvcmUgbW92ZSBoYXBwZW5zICovCi0JYW1kZ3B1X3VwZGF0ZV9tZW1v cnlfdXNhZ2UocmJvLT5hZGV2LCAmYm8tPm1lbSwgbmV3X21lbSk7CisJYW1kZ3B1X3VwZGF0ZV9t ZW1vcnlfdXNhZ2UoYWRldiwgJmJvLT5tZW0sIG5ld19tZW0pOwogCiAJdHJhY2VfYW1kZ3B1X3R0 bV9ib19tb3ZlKHJibywgbmV3X21lbS0+bWVtX3R5cGUsIG9sZF9tZW0tPm1lbV90eXBlKTsKIH0K IAogaW50IGFtZGdwdV9ib19mYXVsdF9yZXNlcnZlX25vdGlmeShzdHJ1Y3QgdHRtX2J1ZmZlcl9v YmplY3QgKmJvKQogewotCXN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2OworCXN0cnVjdCBhbWRn cHVfZGV2aWNlICphZGV2ID0gYW1kZ3B1X2dldF9hZGV2KGJvLT5iZGV2KTsKIAlzdHJ1Y3QgYW1k Z3B1X2JvICphYm87CiAJdW5zaWduZWQgbG9uZyBvZmZzZXQsIHNpemUsIGxwZm47CiAJaW50IGks IHI7CkBAIC04ODksNyArODk0LDYgQEAgaW50IGFtZGdwdV9ib19mYXVsdF9yZXNlcnZlX25vdGlm eShzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvKQogCQlyZXR1cm4gMDsKIAogCWFibyA9IGNv bnRhaW5lcl9vZihibywgc3RydWN0IGFtZGdwdV9ibywgdGJvKTsKLQlhZGV2ID0gYWJvLT5hZGV2 OwogCWlmIChiby0+bWVtLm1lbV90eXBlICE9IFRUTV9QTF9WUkFNKQogCQlyZXR1cm4gMDsKIApk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X29iamVjdC5oIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X29iamVjdC5oCmluZGV4IDgyNTUwMzQu LmM5YjJjMDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9v YmplY3QuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfb2JqZWN0LmgK QEAgLTcxLDEyICs3MSwxMyBAQCBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGFtZGdwdV9tZW1fdHlw ZV90b19kb21haW4odTMyIG1lbV90eXBlKQogICovCiBzdGF0aWMgaW5saW5lIGludCBhbWRncHVf Ym9fcmVzZXJ2ZShzdHJ1Y3QgYW1kZ3B1X2JvICpibywgYm9vbCBub19pbnRyKQogeworCXN0cnVj dCBhbWRncHVfZGV2aWNlICphZGV2ID0gYW1kZ3B1X2dldF9hZGV2KGJvLT50Ym8uYmRldik7CiAJ aW50IHI7CiAKIAlyID0gdHRtX2JvX3Jlc2VydmUoJmJvLT50Ym8sICFub19pbnRyLCBmYWxzZSwg TlVMTCk7CiAJaWYgKHVubGlrZWx5KHIgIT0gMCkpIHsKIAkJaWYgKHIgIT0gLUVSRVNUQVJUU1lT KQotCQkJZGV2X2Vycihiby0+YWRldi0+ZGV2LCAiJXAgcmVzZXJ2ZSBmYWlsZWRcbiIsIGJvKTsK KwkJCWRldl9lcnIoYWRldi0+ZGV2LCAiJXAgcmVzZXJ2ZSBmYWlsZWRcbiIsIGJvKTsKIAkJcmV0 dXJuIHI7CiAJfQogCXJldHVybiAwOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X3R0bS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3R0 bS5jCmluZGV4IDE5NjUyMDkuLmQyNDZhMWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdV90dG0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfdHRtLmMKQEAgLTUxLDE2ICs1MSw2IEBACiBzdGF0aWMgaW50IGFtZGdwdV90dG1fZGVi dWdmc19pbml0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KTsKIHN0YXRpYyB2b2lkIGFtZGdw dV90dG1fZGVidWdmc19maW5pKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KTsKIAotc3RhdGlj IHN0cnVjdCBhbWRncHVfZGV2aWNlICphbWRncHVfZ2V0X2FkZXYoc3RydWN0IHR0bV9ib19kZXZp Y2UgKmJkZXYpCi17Ci0Jc3RydWN0IGFtZGdwdV9tbWFuICptbWFuOwotCXN0cnVjdCBhbWRncHVf ZGV2aWNlICphZGV2OwotCi0JbW1hbiA9IGNvbnRhaW5lcl9vZihiZGV2LCBzdHJ1Y3QgYW1kZ3B1 X21tYW4sIGJkZXYpOwotCWFkZXYgPSBjb250YWluZXJfb2YobW1hbiwgc3RydWN0IGFtZGdwdV9k ZXZpY2UsIG1tYW4pOwotCXJldHVybiBhZGV2OwotfQotCiAKIC8qCiAgKiBHbG9iYWwgbWVtb3J5 LgpAQCAtMTk1LDYgKzE4NSw3IEBAIHN0YXRpYyBpbnQgYW1kZ3B1X2luaXRfbWVtX3R5cGUoc3Ry dWN0IHR0bV9ib19kZXZpY2UgKmJkZXYsIHVpbnQzMl90IHR5cGUsCiBzdGF0aWMgdm9pZCBhbWRn cHVfZXZpY3RfZmxhZ3Moc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibywKIAkJCQlzdHJ1Y3Qg dHRtX3BsYWNlbWVudCAqcGxhY2VtZW50KQogeworCXN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2 ID0gYW1kZ3B1X2dldF9hZGV2KGJvLT5iZGV2KTsKIAlzdHJ1Y3QgYW1kZ3B1X2JvICpyYm87CiAJ c3RhdGljIHN0cnVjdCB0dG1fcGxhY2UgcGxhY2VtZW50cyA9IHsKIAkJLmZwZm4gPSAwLApAQCAt MjEzLDcgKzIwNCw3IEBAIHN0YXRpYyB2b2lkIGFtZGdwdV9ldmljdF9mbGFncyhzdHJ1Y3QgdHRt X2J1ZmZlcl9vYmplY3QgKmJvLAogCXJibyA9IGNvbnRhaW5lcl9vZihibywgc3RydWN0IGFtZGdw dV9ibywgdGJvKTsKIAlzd2l0Y2ggKGJvLT5tZW0ubWVtX3R5cGUpIHsKIAljYXNlIFRUTV9QTF9W UkFNOgotCQlpZiAocmJvLT5hZGV2LT5tbWFuLmJ1ZmZlcl9mdW5jc19yaW5nLT5yZWFkeSA9PSBm YWxzZSkgeworCQlpZiAoYWRldi0+bW1hbi5idWZmZXJfZnVuY3NfcmluZy0+cmVhZHkgPT0gZmFs c2UpIHsKIAkJCWFtZGdwdV90dG1fcGxhY2VtZW50X2Zyb21fZG9tYWluKHJibywKIAkJCQkJCQkg QU1ER1BVX0dFTV9ET01BSU5fQ1BVKTsKIAkJfSBlbHNlIHsKQEAgLTIzMSw3ICsyMjIsNyBAQCBz dGF0aWMgdm9pZCBhbWRncHVfZXZpY3RfZmxhZ3Moc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpi bywKIAkJCQkgKiBhbGxvY2F0aW5nIGFkZHJlc3Mgc3BhY2UgZm9yIHRoZSBCTy4KIAkJCQkgKi8K IAkJCQlyYm8tPnBsYWNlbWVudHNbaV0ubHBmbiA9Ci0JCQkJCXJiby0+YWRldi0+bWMuZ3R0X3Np emUgPj4gUEFHRV9TSElGVDsKKwkJCQkJYWRldi0+bWMuZ3R0X3NpemUgPj4gUEFHRV9TSElGVDsK IAkJCX0KIAkJfQogCQlicmVhazsKQEAgLTEzODQsNyArMTM3NSw3IEBAIGludCBhbWRncHVfZmls bF9idWZmZXIoc3RydWN0IGFtZGdwdV9ibyAqYm8sIHVpbnQzMl90IHNyY19kYXRhLAogCQkgICAg ICAgc3RydWN0IHJlc2VydmF0aW9uX29iamVjdCAqcmVzdiwKIAkJICAgICAgIHN0cnVjdCBmZW5j ZSAqKmZlbmNlKQogewotCXN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0gYm8tPmFkZXY7CisJ c3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSBhbWRncHVfZ2V0X2FkZXYoYm8tPnRiby5iZGV2 KTsKIAlzdHJ1Y3QgYW1kZ3B1X2pvYiAqam9iOwogCXN0cnVjdCBhbWRncHVfcmluZyAqcmluZyA9 IGFkZXYtPm1tYW4uYnVmZmVyX2Z1bmNzX3Jpbmc7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV91dmQuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdV91dmQuYwppbmRleCBlNjg0MmIwLi44N2JjYWMzIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdXZkLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1X3V2ZC5jCkBAIC05MzEsNyArOTMxLDcgQEAgc3RhdGljIGludCBhbWRn cHVfdXZkX3NlbmRfbXNnKHN0cnVjdCBhbWRncHVfcmluZyAqcmluZywgc3RydWN0IGFtZGdwdV9i byAqYm8sCiAJaWYgKHIpCiAJCXJldHVybiByOwogCi0JaWYgKCFiby0+YWRldi0+dXZkLmFkZHJl c3NfNjRfYml0KSB7CisJaWYgKCFyaW5nLT5hZGV2LT51dmQuYWRkcmVzc182NF9iaXQpIHsKIAkJ YW1kZ3B1X3R0bV9wbGFjZW1lbnRfZnJvbV9kb21haW4oYm8sIEFNREdQVV9HRU1fRE9NQUlOX1ZS QU0pOwogCQlhbWRncHVfdXZkX2ZvcmNlX2ludG9fdXZkX3NlZ21lbnQoYm8pOwogCX0KZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5jIGIvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmMKaW5kZXggZDNhMmQxZi4uNWRiYTlmNyAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmMKQEAgLTExNzUsNyArMTE3NSw3IEBA IGludCBhbWRncHVfdm1fYm9fdXBkYXRlKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAogCiAJ ZmxhZ3MgPSBhbWRncHVfdHRtX3R0X3B0ZV9mbGFncyhhZGV2LCBib192YS0+Ym8tPnRiby50dG0s IG1lbSk7CiAJZ3R0X2ZsYWdzID0gKGFtZGdwdV90dG1faXNfYm91bmQoYm9fdmEtPmJvLT50Ym8u dHRtKSAmJgotCQlhZGV2ID09IGJvX3ZhLT5iby0+YWRldikgPyBmbGFncyA6IDA7CisJCWFkZXYg PT0gYW1kZ3B1X2dldF9hZGV2KGJvX3ZhLT5iby0+dGJvLmJkZXYpKSA/IGZsYWdzIDogMDsKIAog CXNwaW5fbG9jaygmdm0tPnN0YXR1c19sb2NrKTsKIAlpZiAoIWxpc3RfZW1wdHkoJmJvX3ZhLT52 bV9zdGF0dXMpKQotLSAKMi41LjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1k LWdmeAo=