From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nayan Deshmukh Subject: [PATCH 1/2] drm/scheduler: modify API to avoid redundancy Date: Fri, 20 Jul 2018 17:51:05 +0530 Message-ID: <20180720122106.10344-1-nayan26deshmukh@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: Nayan Deshmukh , amd-gfx@lists.freedesktop.org, christian.koenig@amd.com List-Id: dri-devel@lists.freedesktop.org ZW50aXR5IGhhcyBhIHNjaGVkdWxlciBmaWVsZCBhbmQgd2UgZG9uJ3QgbmVlZCB0aGUgc2NoZWQg YXJndW1lbnQKaW4gYW55IG9mIHRoZSBmdW5jdGlvbnMgd2hlcmUgZW50aXR5IGlzIHByb3ZpZGVk LgoKU2lnbmVkLW9mZi1ieTogTmF5YW4gRGVzaG11a2ggPG5heWFuMjZkZXNobXVraEBnbWFpbC5j b20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2NzLmMgICAgfCAgMiAr LQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2N0eC5jICAgfCAxMyArKysrKy0t LS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfam9iLmMgICB8ICAyICst CiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdHRtLmMgICB8ICAzICstLQogZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3V2ZC5jICAgfCAgMyArLS0KIGRyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92Y2UuYyAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5jICAgIHwgIDQgKystLQogZHJpdmVycy9ncHUvZHJtL2V0 bmF2aXYvZXRuYXZpdl9kcnYuYyAgICAgfCAgMyArLS0KIGRyaXZlcnMvZ3B1L2RybS9ldG5hdml2 L2V0bmF2aXZfc2NoZWQuYyAgIHwgIDQgKystLQogZHJpdmVycy9ncHUvZHJtL3NjaGVkdWxlci9n cHVfc2NoZWR1bGVyLmMgfCAyMCArKysrKysrKysrKy0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJt L3YzZC92M2RfZHJ2LmMgICAgICAgICAgICAgfCAgNCArLS0tCiBkcml2ZXJzL2dwdS9kcm0vdjNk L3YzZF9nZW0uYyAgICAgICAgICAgICB8ICAyIC0tCiBpbmNsdWRlL2RybS9ncHVfc2NoZWR1bGVy LmggICAgICAgICAgICAgICB8IDEwICsrKy0tLS0tLS0KIDEzIGZpbGVzIGNoYW5nZWQsIDMwIGlu c2VydGlvbnMoKyksIDQyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV9jcy5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1k Z3B1X2NzLmMKaW5kZXggN2M1Y2MzM2QwY2RhLi43ZTVlYmY4MjMzMDkgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV9jcy5jCkBAIC0xMjMyLDcgKzEyMzIsNyBAQCBzdGF0aWMgaW50 IGFtZGdwdV9jc19zdWJtaXQoc3RydWN0IGFtZGdwdV9jc19wYXJzZXIgKnAsCiAJam9iID0gcC0+ am9iOwogCXAtPmpvYiA9IE5VTEw7CiAKLQlyID0gZHJtX3NjaGVkX2pvYl9pbml0KCZqb2ItPmJh c2UsICZyaW5nLT5zY2hlZCwgZW50aXR5LCBwLT5maWxwKTsKKwlyID0gZHJtX3NjaGVkX2pvYl9p bml0KCZqb2ItPmJhc2UsIGVudGl0eSwgcC0+ZmlscCk7CiAJaWYgKHIpIHsKIAkJYW1kZ3B1X2pv Yl9mcmVlKGpvYik7CiAJCWFtZGdwdV9tbl91bmxvY2socC0+bW4pOwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2N0eC5jIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1X2N0eC5jCmluZGV4IDgzZTNiMzIwYTc5My4uZGY2OTY1NzYxMDQ2IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3R4LmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2N0eC5jCkBAIC0xMDQsOCArMTA0LDcg QEAgc3RhdGljIGludCBhbWRncHVfY3R4X2luaXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYs CiAKIGZhaWxlZDoKIAlmb3IgKGogPSAwOyBqIDwgaTsgaisrKQotCQlkcm1fc2NoZWRfZW50aXR5 X2Rlc3Ryb3koJmFkZXYtPnJpbmdzW2pdLT5zY2hlZCwKLQkJCQkgICAgICAmY3R4LT5yaW5nc1tq XS5lbnRpdHkpOworCQlkcm1fc2NoZWRfZW50aXR5X2Rlc3Ryb3koJmN0eC0+cmluZ3Nbal0uZW50 aXR5KTsKIAlrZnJlZShjdHgtPmZlbmNlcyk7CiAJY3R4LT5mZW5jZXMgPSBOVUxMOwogCXJldHVy biByOwpAQCAtMTc4LDggKzE3Nyw3IEBAIHN0YXRpYyB2b2lkIGFtZGdwdV9jdHhfZG9fcmVsZWFz ZShzdHJ1Y3Qga3JlZiAqcmVmKQogCQlpZiAoY3R4LT5hZGV2LT5yaW5nc1tpXSA9PSAmY3R4LT5h ZGV2LT5nZngua2lxLnJpbmcpCiAJCQljb250aW51ZTsKIAotCQlkcm1fc2NoZWRfZW50aXR5X2Rl c3Ryb3koJmN0eC0+YWRldi0+cmluZ3NbaV0tPnNjaGVkLAotCQkJJmN0eC0+cmluZ3NbaV0uZW50 aXR5KTsKKwkJZHJtX3NjaGVkX2VudGl0eV9kZXN0cm95KCZjdHgtPnJpbmdzW2ldLmVudGl0eSk7 CiAJfQogCiAJYW1kZ3B1X2N0eF9maW5pKHJlZik7CkBAIC00NjYsOCArNDY0LDggQEAgdm9pZCBh bWRncHVfY3R4X21ncl9lbnRpdHlfZmx1c2goc3RydWN0IGFtZGdwdV9jdHhfbWdyICptZ3IpCiAJ CQlpZiAoY3R4LT5hZGV2LT5yaW5nc1tpXSA9PSAmY3R4LT5hZGV2LT5nZngua2lxLnJpbmcpCiAJ CQkJY29udGludWU7CiAKLQkJCW1heF93YWl0ID0gZHJtX3NjaGVkX2VudGl0eV9mbHVzaCgmY3R4 LT5hZGV2LT5yaW5nc1tpXS0+c2NoZWQsCi0JCQkJCSAgJmN0eC0+cmluZ3NbaV0uZW50aXR5LCBt YXhfd2FpdCk7CisJCQltYXhfd2FpdCA9IGRybV9zY2hlZF9lbnRpdHlfZmx1c2goJmN0eC0+cmlu Z3NbaV0uZW50aXR5LAorCQkJCQkJCSAgbWF4X3dhaXQpOwogCQl9CiAJfQogCW11dGV4X3VubG9j aygmbWdyLT5sb2NrKTsKQEAgLTQ5Miw4ICs0OTAsNyBAQCB2b2lkIGFtZGdwdV9jdHhfbWdyX2Vu dGl0eV9maW5pKHN0cnVjdCBhbWRncHVfY3R4X21nciAqbWdyKQogCQkJCWNvbnRpbnVlOwogCiAJ CQlpZiAoa3JlZl9yZWFkKCZjdHgtPnJlZmNvdW50KSA9PSAxKQotCQkJCWRybV9zY2hlZF9lbnRp dHlfZmluaSgmY3R4LT5hZGV2LT5yaW5nc1tpXS0+c2NoZWQsCi0JCQkJCSZjdHgtPnJpbmdzW2ld LmVudGl0eSk7CisJCQkJZHJtX3NjaGVkX2VudGl0eV9maW5pKCZjdHgtPnJpbmdzW2ldLmVudGl0 eSk7CiAJCQllbHNlCiAJCQkJRFJNX0VSUk9SKCJjdHggJXAgaXMgc3RpbGwgYWxpdmVcbiIsIGN0 eCk7CiAJCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9q b2IuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9qb2IuYwppbmRleCA1YTJj MjZhODU5ODQuLjYzMTQ4MWE3MzBlMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X2pvYi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdw dV9qb2IuYwpAQCAtMTMzLDcgKzEzMyw3IEBAIGludCBhbWRncHVfam9iX3N1Ym1pdChzdHJ1Y3Qg YW1kZ3B1X2pvYiAqam9iLCBzdHJ1Y3QgZHJtX3NjaGVkX2VudGl0eSAqZW50aXR5LAogCWlmICgh ZikKIAkJcmV0dXJuIC1FSU5WQUw7CiAKLQlyID0gZHJtX3NjaGVkX2pvYl9pbml0KCZqb2ItPmJh c2UsIGVudGl0eS0+c2NoZWQsIGVudGl0eSwgb3duZXIpOworCXIgPSBkcm1fc2NoZWRfam9iX2lu aXQoJmpvYi0+YmFzZSwgZW50aXR5LCBvd25lcik7CiAJaWYgKHIpCiAJCXJldHVybiByOwogCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdHRtLmMgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdHRtLmMKaW5kZXggMTM5NzdlYTZhMDk3Li45 MTM3MDVkNGRmZDMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdw dV90dG0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdHRtLmMKQEAg LTE5MjUsOCArMTkyNSw3IEBAIHZvaWQgYW1kZ3B1X3R0bV9zZXRfYnVmZmVyX2Z1bmNzX3N0YXR1 cyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgYm9vbCBlbmFibGUpCiAJCQlyZXR1cm47CiAJ CX0KIAl9IGVsc2UgewotCQlkcm1fc2NoZWRfZW50aXR5X2Rlc3Ryb3koYWRldi0+bW1hbi5lbnRp dHkuc2NoZWQsCi0JCQkJCSAmYWRldi0+bW1hbi5lbnRpdHkpOworCQlkcm1fc2NoZWRfZW50aXR5 X2Rlc3Ryb3koJmFkZXYtPm1tYW4uZW50aXR5KTsKIAl9CiAKIAkvKiB0aGlzIGp1c3QgYWRqdXN0 cyBUVE0gc2l6ZSBpZGVhLCB3aGljaCBzZXRzIGxwZm4gdG8gdGhlIGNvcnJlY3QgdmFsdWUgKi8K ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV91dmQuYyBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV91dmQuYwppbmRleCA4MGI1YzQ1M2Y4YzEu LjhlMmM5NmRhMjc1ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1k Z3B1X3V2ZC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV91dmQuYwpA QCAtMzA1LDggKzMwNSw3IEBAIGludCBhbWRncHVfdXZkX3N3X2Zpbmkoc3RydWN0IGFtZGdwdV9k ZXZpY2UgKmFkZXYpCiB7CiAJaW50IGksIGo7CiAKLQlkcm1fc2NoZWRfZW50aXR5X2Rlc3Ryb3ko JmFkZXYtPnV2ZC5pbnN0LT5yaW5nLnNjaGVkLAotCQkJCSAmYWRldi0+dXZkLmVudGl0eSk7CisJ ZHJtX3NjaGVkX2VudGl0eV9kZXN0cm95KCZhZGV2LT51dmQuZW50aXR5KTsKIAogCWZvciAoaiA9 IDA7IGogPCBhZGV2LT51dmQubnVtX3V2ZF9pbnN0OyArK2opIHsKIAkJa2ZyZWUoYWRldi0+dXZk Lmluc3Rbal0uc2F2ZWRfYm8pOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvYW1kZ3B1X3ZjZS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZjZS5j CmluZGV4IDg2MTgyYzk2NmVkNi4uYjZhYjRmNTM1MGM4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdmNlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X3ZjZS5jCkBAIC0yMjEsNyArMjIxLDcgQEAgaW50IGFtZGdwdV92Y2Vfc3df ZmluaShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKIAlpZiAoYWRldi0+dmNlLnZjcHVfYm8g PT0gTlVMTCkKIAkJcmV0dXJuIDA7CiAKLQlkcm1fc2NoZWRfZW50aXR5X2Rlc3Ryb3koJmFkZXYt PnZjZS5yaW5nWzBdLnNjaGVkLCAmYWRldi0+dmNlLmVudGl0eSk7CisJZHJtX3NjaGVkX2VudGl0 eV9kZXN0cm95KCZhZGV2LT52Y2UuZW50aXR5KTsKIAogCWFtZGdwdV9ib19mcmVlX2tlcm5lbCgm YWRldi0+dmNlLnZjcHVfYm8sICZhZGV2LT52Y2UuZ3B1X2FkZHIsCiAJCSh2b2lkICoqKSZhZGV2 LT52Y2UuY3B1X2FkZHIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X3ZtLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uYwppbmRl eCAwOThkZDFiYTc1MWEuLjc0YjRhMjhhNDFkNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X3ZtLmMKQEAgLTI2NDIsNyArMjY0Miw3IEBAIGludCBhbWRncHVfdm1faW5pdChzdHJ1 Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgc3RydWN0IGFtZGdwdV92bSAqdm0sCiAJdm0tPnJvb3Qu YmFzZS5ibyA9IE5VTEw7CiAKIGVycm9yX2ZyZWVfc2NoZWRfZW50aXR5OgotCWRybV9zY2hlZF9l bnRpdHlfZGVzdHJveSgmcmluZy0+c2NoZWQsICZ2bS0+ZW50aXR5KTsKKwlkcm1fc2NoZWRfZW50 aXR5X2Rlc3Ryb3koJnZtLT5lbnRpdHkpOwogCiAJcmV0dXJuIHI7CiB9CkBAIC0yNzc5LDcgKzI3 NzksNyBAQCB2b2lkIGFtZGdwdV92bV9maW5pKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCBz dHJ1Y3QgYW1kZ3B1X3ZtICp2bSkKIAkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmYWRldi0+dm1f bWFuYWdlci5wYXNpZF9sb2NrLCBmbGFncyk7CiAJfQogCi0JZHJtX3NjaGVkX2VudGl0eV9kZXN0 cm95KHZtLT5lbnRpdHkuc2NoZWQsICZ2bS0+ZW50aXR5KTsKKwlkcm1fc2NoZWRfZW50aXR5X2Rl c3Ryb3koJnZtLT5lbnRpdHkpOwogCiAJaWYgKCFSQl9FTVBUWV9ST09UKCZ2bS0+dmEucmJfcm9v dCkpIHsKIAkJZGV2X2VycihhZGV2LT5kZXYsICJzdGlsbCBhY3RpdmUgYm8gaW5zaWRlIHZtXG4i KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZHJ2LmMgYi9k cml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2Rydi5jCmluZGV4IDM2NDE0YmE1NmIyMi4u MjA3NTMyYzA1ZWI4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2 X2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZHJ2LmMKQEAgLTc4 LDggKzc4LDcgQEAgc3RhdGljIHZvaWQgZXRuYXZpdl9wb3N0Y2xvc2Uoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwgc3RydWN0IGRybV9maWxlICpmaWxlKQogCQkJCWdwdS0+bGFzdGN0eCA9IE5VTEw7 CiAJCQltdXRleF91bmxvY2soJmdwdS0+bG9jayk7CiAKLQkJCWRybV9zY2hlZF9lbnRpdHlfZGVz dHJveSgmZ3B1LT5zY2hlZCwKLQkJCQkJCSZjdHgtPnNjaGVkX2VudGl0eVtpXSk7CisJCQlkcm1f c2NoZWRfZW50aXR5X2Rlc3Ryb3koJmN0eC0+c2NoZWRfZW50aXR5W2ldKTsKIAkJfQogCX0KIApk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9zY2hlZC5jIGIvZHJp dmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9zY2hlZC5jCmluZGV4IGE3NGViNTdhZjE1Yi4u NTkwZTQ0YjBkOTYzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2 X3NjaGVkLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9zY2hlZC5jCkBA IC0xMTgsOCArMTE4LDggQEAgaW50IGV0bmF2aXZfc2NoZWRfcHVzaF9qb2Ioc3RydWN0IGRybV9z Y2hlZF9lbnRpdHkgKnNjaGVkX2VudGl0eSwKIHsKIAlpbnQgcmV0OwogCi0JcmV0ID0gZHJtX3Nj aGVkX2pvYl9pbml0KCZzdWJtaXQtPnNjaGVkX2pvYiwgJnN1Ym1pdC0+Z3B1LT5zY2hlZCwKLQkJ CQkgc2NoZWRfZW50aXR5LCBzdWJtaXQtPmNtZGJ1Zi5jdHgpOworCXJldCA9IGRybV9zY2hlZF9q b2JfaW5pdCgmc3VibWl0LT5zY2hlZF9qb2IsIHNjaGVkX2VudGl0eSwKKwkJCQkgc3VibWl0LT5j bWRidWYuY3R4KTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vc2NoZWR1bGVyL2dwdV9zY2hlZHVsZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9z Y2hlZHVsZXIvZ3B1X3NjaGVkdWxlci5jCmluZGV4IGRhYzcxZTNiNDUxNC4uYTNiNTVjNTQyMDI1 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vc2NoZWR1bGVyL2dwdV9zY2hlZHVsZXIuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vc2NoZWR1bGVyL2dwdV9zY2hlZHVsZXIuYwpAQCAtMjczLDEx ICsyNzMsMTIgQEAgc3RhdGljIHZvaWQgZHJtX3NjaGVkX2VudGl0eV9raWxsX2pvYnNfY2Ioc3Ry dWN0IGRtYV9mZW5jZSAqZiwKICAqCiAgKiBSZXR1cm5zIHRoZSByZW1haW5pbmcgdGltZSBpbiBq aWZmaWVzIGxlZnQgZnJvbSB0aGUgaW5wdXQgdGltZW91dAogICovCi1sb25nIGRybV9zY2hlZF9l bnRpdHlfZmx1c2goc3RydWN0IGRybV9ncHVfc2NoZWR1bGVyICpzY2hlZCwKLQkJCSAgIHN0cnVj dCBkcm1fc2NoZWRfZW50aXR5ICplbnRpdHksIGxvbmcgdGltZW91dCkKK2xvbmcgZHJtX3NjaGVk X2VudGl0eV9mbHVzaChzdHJ1Y3QgZHJtX3NjaGVkX2VudGl0eSAqZW50aXR5LCBsb25nIHRpbWVv dXQpCiB7CisJc3RydWN0IGRybV9ncHVfc2NoZWR1bGVyICpzY2hlZDsKIAlsb25nIHJldCA9IHRp bWVvdXQ7CiAKKwlzY2hlZCA9IGVudGl0eS0+c2NoZWQ7CiAJaWYgKCFkcm1fc2NoZWRfZW50aXR5 X2lzX2luaXRpYWxpemVkKHNjaGVkLCBlbnRpdHkpKQogCQlyZXR1cm4gcmV0OwogCS8qKgpAQCAt MzEyLDEwICszMTMsMTEgQEAgRVhQT1JUX1NZTUJPTChkcm1fc2NoZWRfZW50aXR5X2ZsdXNoKTsK ICAqIGVudGl0eSBhbmQgc2lnbmFscyBhbGwgam9icyB3aXRoIGFuIGVycm9yIGNvZGUgaWYgdGhl IHByb2Nlc3Mgd2FzIGtpbGxlZC4KICAqCiAgKi8KLXZvaWQgZHJtX3NjaGVkX2VudGl0eV9maW5p KHN0cnVjdCBkcm1fZ3B1X3NjaGVkdWxlciAqc2NoZWQsCi0JCQkgICBzdHJ1Y3QgZHJtX3NjaGVk X2VudGl0eSAqZW50aXR5KQordm9pZCBkcm1fc2NoZWRfZW50aXR5X2Zpbmkoc3RydWN0IGRybV9z Y2hlZF9lbnRpdHkgKmVudGl0eSkKIHsKKwlzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIgKnNjaGVk OwogCisJc2NoZWQgPSBlbnRpdHktPnNjaGVkOwogCWRybV9zY2hlZF9lbnRpdHlfc2V0X3JxKGVu dGl0eSwgTlVMTCk7CiAKIAkvKiBDb25zdW1wdGlvbiBvZiBleGlzdGluZyBJQnMgd2Fzbid0IGNv bXBsZXRlZC4gRm9yY2VmdWxseQpAQCAtMzczLDExICszNzUsMTAgQEAgRVhQT1JUX1NZTUJPTChk cm1fc2NoZWRfZW50aXR5X2ZpbmkpOwogICoKICAqIENhbGxzIGRybV9zY2hlZF9lbnRpdHlfZG9f cmVsZWFzZSgpIGFuZCBkcm1fc2NoZWRfZW50aXR5X2NsZWFudXAoKQogICovCi12b2lkIGRybV9z Y2hlZF9lbnRpdHlfZGVzdHJveShzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIgKnNjaGVkLAotCQkJ CXN0cnVjdCBkcm1fc2NoZWRfZW50aXR5ICplbnRpdHkpCit2b2lkIGRybV9zY2hlZF9lbnRpdHlf ZGVzdHJveShzdHJ1Y3QgZHJtX3NjaGVkX2VudGl0eSAqZW50aXR5KQogewotCWRybV9zY2hlZF9l bnRpdHlfZmx1c2goc2NoZWQsIGVudGl0eSwgTUFYX1dBSVRfU0NIRURfRU5USVRZX1FfRU1QVFkp OwotCWRybV9zY2hlZF9lbnRpdHlfZmluaShzY2hlZCwgZW50aXR5KTsKKwlkcm1fc2NoZWRfZW50 aXR5X2ZsdXNoKGVudGl0eSwgTUFYX1dBSVRfU0NIRURfRU5USVRZX1FfRU1QVFkpOworCWRybV9z Y2hlZF9lbnRpdHlfZmluaShlbnRpdHkpOwogfQogRVhQT1JUX1NZTUJPTChkcm1fc2NoZWRfZW50 aXR5X2Rlc3Ryb3kpOwogCkBAIC03NDAsMTAgKzc0MSwxMSBAQCBFWFBPUlRfU1lNQk9MKGRybV9z Y2hlZF9qb2JfcmVjb3ZlcnkpOwogICogUmV0dXJucyAwIGZvciBzdWNjZXNzLCBuZWdhdGl2ZSBl cnJvciBjb2RlIG90aGVyd2lzZS4KICAqLwogaW50IGRybV9zY2hlZF9qb2JfaW5pdChzdHJ1Y3Qg ZHJtX3NjaGVkX2pvYiAqam9iLAotCQkgICAgICAgc3RydWN0IGRybV9ncHVfc2NoZWR1bGVyICpz Y2hlZCwKIAkJICAgICAgIHN0cnVjdCBkcm1fc2NoZWRfZW50aXR5ICplbnRpdHksCiAJCSAgICAg ICB2b2lkICpvd25lcikKIHsKKwlzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIgKnNjaGVkID0gZW50 aXR5LT5zY2hlZDsKKwogCWpvYi0+c2NoZWQgPSBzY2hlZDsKIAlqb2ItPmVudGl0eSA9IGVudGl0 eTsKIAlqb2ItPnNfcHJpb3JpdHkgPSBlbnRpdHktPnJxIC0gc2NoZWQtPnNjaGVkX3JxOwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3YzZC92M2RfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0v djNkL3YzZF9kcnYuYwppbmRleCAxZGNlYmEyYjQyZmQuLjJhODVmYTY4ZmZlYSAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL3YzZC92M2RfZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3Yz ZC92M2RfZHJ2LmMKQEAgLTE0NSwxMyArMTQ1LDExIEBAIHYzZF9vcGVuKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSkKIHN0YXRpYyB2b2lkCiB2M2RfcG9zdGNs b3NlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSkKIHsKLQlz dHJ1Y3QgdjNkX2RldiAqdjNkID0gdG9fdjNkX2RldihkZXYpOwogCXN0cnVjdCB2M2RfZmlsZV9w cml2ICp2M2RfcHJpdiA9IGZpbGUtPmRyaXZlcl9wcml2OwogCWVudW0gdjNkX3F1ZXVlIHE7CiAK IAlmb3IgKHEgPSAwOyBxIDwgVjNEX01BWF9RVUVVRVM7IHErKykgewotCQlkcm1fc2NoZWRfZW50 aXR5X2Rlc3Ryb3koJnYzZC0+cXVldWVbcV0uc2NoZWQsCi0JCQkJICAgICAgJnYzZF9wcml2LT5z Y2hlZF9lbnRpdHlbcV0pOworCQlkcm1fc2NoZWRfZW50aXR5X2Rlc3Ryb3koJnYzZF9wcml2LT5z Y2hlZF9lbnRpdHlbcV0pOwogCX0KIAogCWtmcmVlKHYzZF9wcml2KTsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS92M2QvdjNkX2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL3YzZC92M2RfZ2Vt LmMKaW5kZXggYjUxM2Y5MTg5Y2FmLi45MDI5NTkwMjY3YWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS92M2QvdjNkX2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92M2QvdjNkX2dlbS5j CkBAIC01NTIsNyArNTUyLDYgQEAgdjNkX3N1Ym1pdF9jbF9pb2N0bChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LCB2b2lkICpkYXRhLAogCiAJaWYgKGV4ZWMtPmJpbi5zdGFydCAhPSBleGVjLT5iaW4u ZW5kKSB7CiAJCXJldCA9IGRybV9zY2hlZF9qb2JfaW5pdCgmZXhlYy0+YmluLmJhc2UsCi0JCQkJ CSAmdjNkLT5xdWV1ZVtWM0RfQklOXS5zY2hlZCwKIAkJCQkJICZ2M2RfcHJpdi0+c2NoZWRfZW50 aXR5W1YzRF9CSU5dLAogCQkJCQkgdjNkX3ByaXYpOwogCQlpZiAocmV0KQpAQCAtNTY3LDcgKzU2 Niw2IEBAIHYzZF9zdWJtaXRfY2xfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAq ZGF0YSwKIAl9CiAKIAlyZXQgPSBkcm1fc2NoZWRfam9iX2luaXQoJmV4ZWMtPnJlbmRlci5iYXNl LAotCQkJCSAmdjNkLT5xdWV1ZVtWM0RfUkVOREVSXS5zY2hlZCwKIAkJCQkgJnYzZF9wcml2LT5z Y2hlZF9lbnRpdHlbVjNEX1JFTkRFUl0sCiAJCQkJIHYzZF9wcml2KTsKIAlpZiAocmV0KQpkaWZm IC0tZ2l0IGEvaW5jbHVkZS9kcm0vZ3B1X3NjaGVkdWxlci5oIGIvaW5jbHVkZS9kcm0vZ3B1X3Nj aGVkdWxlci5oCmluZGV4IDIyMDVlODk3MjJmNi4uNzI4MzQ2YWJjYzgxIDEwMDY0NAotLS0gYS9p bmNsdWRlL2RybS9ncHVfc2NoZWR1bGVyLmgKKysrIGIvaW5jbHVkZS9kcm0vZ3B1X3NjaGVkdWxl ci5oCkBAIC0yODYsMTIgKzI4Niw5IEBAIGludCBkcm1fc2NoZWRfZW50aXR5X2luaXQoc3RydWN0 IGRybV9zY2hlZF9lbnRpdHkgKmVudGl0eSwKIAkJCSAgc3RydWN0IGRybV9zY2hlZF9ycSAqKnJx X2xpc3QsCiAJCQkgIHVuc2lnbmVkIGludCBudW1fcnFfbGlzdCwKIAkJCSAgYXRvbWljX3QgKmd1 aWx0eSk7Ci1sb25nIGRybV9zY2hlZF9lbnRpdHlfZmx1c2goc3RydWN0IGRybV9ncHVfc2NoZWR1 bGVyICpzY2hlZCwKLQkJCSAgIHN0cnVjdCBkcm1fc2NoZWRfZW50aXR5ICplbnRpdHksIGxvbmcg dGltZW91dCk7Ci12b2lkIGRybV9zY2hlZF9lbnRpdHlfZmluaShzdHJ1Y3QgZHJtX2dwdV9zY2hl ZHVsZXIgKnNjaGVkLAotCQkJICAgc3RydWN0IGRybV9zY2hlZF9lbnRpdHkgKmVudGl0eSk7Ci12 b2lkIGRybV9zY2hlZF9lbnRpdHlfZGVzdHJveShzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIgKnNj aGVkLAotCQkJICAgc3RydWN0IGRybV9zY2hlZF9lbnRpdHkgKmVudGl0eSk7Citsb25nIGRybV9z Y2hlZF9lbnRpdHlfZmx1c2goc3RydWN0IGRybV9zY2hlZF9lbnRpdHkgKmVudGl0eSwgbG9uZyB0 aW1lb3V0KTsKK3ZvaWQgZHJtX3NjaGVkX2VudGl0eV9maW5pKHN0cnVjdCBkcm1fc2NoZWRfZW50 aXR5ICplbnRpdHkpOwordm9pZCBkcm1fc2NoZWRfZW50aXR5X2Rlc3Ryb3koc3RydWN0IGRybV9z Y2hlZF9lbnRpdHkgKmVudGl0eSk7CiB2b2lkIGRybV9zY2hlZF9lbnRpdHlfcHVzaF9qb2Ioc3Ry dWN0IGRybV9zY2hlZF9qb2IgKnNjaGVkX2pvYiwKIAkJCSAgICAgICBzdHJ1Y3QgZHJtX3NjaGVk X2VudGl0eSAqZW50aXR5KTsKIHZvaWQgZHJtX3NjaGVkX2VudGl0eV9zZXRfcnEoc3RydWN0IGRy bV9zY2hlZF9lbnRpdHkgKmVudGl0eSwKQEAgLTMwMiw3ICsyOTksNiBAQCBzdHJ1Y3QgZHJtX3Nj aGVkX2ZlbmNlICpkcm1fc2NoZWRfZmVuY2VfY3JlYXRlKAogdm9pZCBkcm1fc2NoZWRfZmVuY2Vf c2NoZWR1bGVkKHN0cnVjdCBkcm1fc2NoZWRfZmVuY2UgKmZlbmNlKTsKIHZvaWQgZHJtX3NjaGVk X2ZlbmNlX2ZpbmlzaGVkKHN0cnVjdCBkcm1fc2NoZWRfZmVuY2UgKmZlbmNlKTsKIGludCBkcm1f c2NoZWRfam9iX2luaXQoc3RydWN0IGRybV9zY2hlZF9qb2IgKmpvYiwKLQkJICAgICAgIHN0cnVj dCBkcm1fZ3B1X3NjaGVkdWxlciAqc2NoZWQsCiAJCSAgICAgICBzdHJ1Y3QgZHJtX3NjaGVkX2Vu dGl0eSAqZW50aXR5LAogCQkgICAgICAgdm9pZCAqb3duZXIpOwogdm9pZCBkcm1fc2NoZWRfaHdf am9iX3Jlc2V0KHN0cnVjdCBkcm1fZ3B1X3NjaGVkdWxlciAqc2NoZWQsCi0tIAoyLjE0LjMKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBt YWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=