From mboxrd@z Thu Jan 1 00:00:00 1970 From: Saeed Mahameed Subject: [PATCH mlx5-next 16/16] net/mlx5: Add EQ enable/disable API Date: Mon, 10 Jun 2019 23:38:42 +0000 Message-ID: <20190610233733.12155-17-saeedm@mellanox.com> References: <20190610233733.12155-1-saeedm@mellanox.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190610233733.12155-1-saeedm@mellanox.com> Content-Language: en-US Sender: netdev-owner@vger.kernel.org To: Saeed Mahameed , Leon Romanovsky Cc: "linux-rdma@vger.kernel.org" , "netdev@vger.kernel.org" , Yuval Avnery List-Id: linux-rdma@vger.kernel.org RnJvbTogWXV2YWwgQXZuZXJ5IDx5dXZhbGF2QG1lbGxhbm94LmNvbT4NCg0KUHJldmlvdXNseSwg RVEgam9pbmVkIHRoZSBjaGFpbiBub3RpZmllciBvbiBjcmVhdGlvbi4NClRoaXMgZm9yY2VkIHRo ZSBjYWxsZXIgdG8gYmUgcmVhZHkgdG8gaGFuZGxlIGV2ZW50cyBiZWZvcmUgY3JlYXRpbmcNCnRo ZSBFUSB0aHJvdWdoIGVxX2NyZWF0ZV9nZW5lcmljIGludGVyZmFjZS4NCg0KVG8gaGVscCB0aGUg Y2FsbGVyIGNvbnRyb2wgd2hlbiB0aGUgY3JlYXRlZCBFUSB3aWxsIGJlIGF0dGFjaGVkIHRvIHRo ZQ0KSVJRLCBhZGQgZW5hYmxlL2Rpc2FibGUgQVBJLg0KDQpTaWduZWQtb2ZmLWJ5OiBZdXZhbCBB dm5lcnkgPHl1dmFsYXZAbWVsbGFub3guY29tPg0KU2lnbmVkLW9mZi1ieTogU2FlZWQgTWFoYW1l ZWQgPHNhZWVkbUBtZWxsYW5veC5jb20+DQotLS0NCiBkcml2ZXJzL2luZmluaWJhbmQvaHcvbWx4 NS9vZHAuYyAgICAgICAgICAgICAgfCAgIDkgKy0NCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxs YW5veC9tbHg1L2NvcmUvZXEuYyAgfCAxMDUgKysrKysrKysrKysrKy0tLS0tDQogLi4uL25ldC9l dGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvbGliL2VxLmggIHwgICAxIC0NCiBpbmNsdWRlL2xp bnV4L21seDUvZXEuaCAgICAgICAgICAgICAgICAgICAgICAgfCAgIDUgKy0NCiA0IGZpbGVzIGNo YW5nZWQsIDg4IGluc2VydGlvbnMoKyksIDMyIGRlbGV0aW9ucygtKQ0KDQpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9pbmZpbmliYW5kL2h3L21seDUvb2RwLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcv bWx4NS9vZHAuYw0KaW5kZXggNjkzYTBlMjI1MDkzLi4xMmNjZWUxZWIwNDcgMTAwNjQ0DQotLS0g YS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbWx4NS9vZHAuYw0KKysrIGIvZHJpdmVycy9pbmZpbmli YW5kL2h3L21seDUvb2RwLmMNCkBAIC0xNTYwLDE1ICsxNTYwLDIxIEBAIG1seDVfaWJfY3JlYXRl X3BmX2VxKHN0cnVjdCBtbHg1X2liX2RldiAqZGV2LCBzdHJ1Y3QgbWx4NV9pYl9wZl9lcSAqZXEp DQogCQkuaXJxX2luZGV4ID0gMCwNCiAJCS5tYXNrID0gMSA8PCBNTFg1X0VWRU5UX1RZUEVfUEFH RV9GQVVMVCwNCiAJCS5uZW50ID0gTUxYNV9JQl9OVU1fUEZfRVFFLA0KLQkJLm5iID0gJmVxLT5p cnFfbmIsDQogCX07DQogCWVxLT5jb3JlID0gbWx4NV9lcV9jcmVhdGVfZ2VuZXJpYyhkZXYtPm1k ZXYsICZwYXJhbSk7DQogCWlmIChJU19FUlIoZXEtPmNvcmUpKSB7DQogCQllcnIgPSBQVFJfRVJS KGVxLT5jb3JlKTsNCiAJCWdvdG8gZXJyX3dxOw0KIAl9DQorCWVyciA9IG1seDVfZXFfZW5hYmxl KGRldi0+bWRldiwgZXEtPmNvcmUsICZlcS0+aXJxX25iKTsNCisJaWYgKGVycikgew0KKwkJbWx4 NV9pYl9lcnIoZGV2LCAiZmFpbGVkIHRvIGVuYWJsZSBvZHAgRVEgJWRcbiIsIGVycik7DQorCQln b3RvIGVycl9lcTsNCisJfQ0KIA0KIAlyZXR1cm4gMDsNCitlcnJfZXE6DQorCW1seDVfZXFfZGVz dHJveV9nZW5lcmljKGRldi0+bWRldiwgZXEtPmNvcmUpOw0KIGVycl93cToNCiAJZGVzdHJveV93 b3JrcXVldWUoZXEtPndxKTsNCiBlcnJfbWVtcG9vbDoNCkBAIC0xNTgxLDYgKzE1ODcsNyBAQCBt bHg1X2liX2Rlc3Ryb3lfcGZfZXEoc3RydWN0IG1seDVfaWJfZGV2ICpkZXYsIHN0cnVjdCBtbHg1 X2liX3BmX2VxICplcSkNCiB7DQogCWludCBlcnI7DQogDQorCW1seDVfZXFfZGlzYWJsZShkZXYt Pm1kZXYsIGVxLT5jb3JlLCAmZXEtPmlycV9uYik7DQogCWVyciA9IG1seDVfZXFfZGVzdHJveV9n ZW5lcmljKGRldi0+bWRldiwgZXEtPmNvcmUpOw0KIAljYW5jZWxfd29ya19zeW5jKCZlcS0+d29y ayk7DQogCWRlc3Ryb3lfd29ya3F1ZXVlKGVxLT53cSk7DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9u ZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VxLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5l dC9tZWxsYW5veC9tbHg1L2NvcmUvZXEuYw0KaW5kZXggMGY1ODQ2YTM0OTI4Li41OGZmZjJmMzli MzggMTAwNjQ0DQotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUv ZXEuYw0KKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VxLmMN CkBAIC0zMDQsMjcgKzMwNCwxNCBAQCBjcmVhdGVfbWFwX2VxKHN0cnVjdCBtbHg1X2NvcmVfZGV2 ICpkZXYsIHN0cnVjdCBtbHg1X2VxICplcSwNCiAJZXEtPmlycW4gPSBwY2lfaXJxX3ZlY3Rvcihk ZXYtPnBkZXYsIHZlY2lkeCk7DQogCWVxLT5kZXYgPSBkZXY7DQogCWVxLT5kb29yYmVsbCA9IHBy aXYtPnVhci0+bWFwICsgTUxYNV9FUV9ET09SQkVMX09GRlNFVDsNCi0JZXEtPmlycV9uYiA9IHBh cmFtLT5uYjsNCi0NCi0JZXJyID0gbWx4NV9pcnFfYXR0YWNoX25iKGRldi0+cHJpdi5lcV90YWJs ZS0+aXJxX3RhYmxlLCB2ZWNpZHgsDQotCQkJCSBwYXJhbS0+bmIpOw0KLQlpZiAoZXJyKQ0KLQkJ Z290byBlcnJfZXE7DQogDQogCWVyciA9IG1seDVfZGVidWdfZXFfYWRkKGRldiwgZXEpOw0KIAlp ZiAoZXJyKQ0KLQkJZ290byBlcnJfZGV0YWNoOw0KLQ0KLQkvKiBFUXMgYXJlIGNyZWF0ZWQgaW4g QVJNRUQgc3RhdGUNCi0JICovDQotCWVxX3VwZGF0ZV9jaShlcSwgMSk7DQorCQlnb3RvIGVycl9l cTsNCiANCiAJa3ZmcmVlKGluKTsNCiAJcmV0dXJuIDA7DQogDQotZXJyX2RldGFjaDoNCi0JbWx4 NV9pcnFfZGV0YWNoX25iKGRldi0+cHJpdi5lcV90YWJsZS0+aXJxX3RhYmxlLCB2ZWNpZHgsIGVx LT5pcnFfbmIpOw0KLQ0KIGVycl9lcToNCiAJbWx4NV9jbWRfZGVzdHJveV9lcShkZXYsIGVxLT5l cW4pOw0KIA0KQEAgLTMzNiwxNyArMzIzLDQ5IEBAIGNyZWF0ZV9tYXBfZXEoc3RydWN0IG1seDVf Y29yZV9kZXYgKmRldiwgc3RydWN0IG1seDVfZXEgKmVxLA0KIAlyZXR1cm4gZXJyOw0KIH0NCiAN CisvKioNCisgKiBtbHg1X2VxX2VuYWJsZSAtIEVuYWJsZSBFUSBmb3IgcmVjZWl2aW5nIEVRRXMN CisgKiBAZGV2IC0gRGV2aWNlIHdoaWNoIG93bnMgdGhlIGVxDQorICogQGVxIC0gRVEgdG8gZW5h YmxlDQorICogQG5iIC0gbm90aWZpZXIgY2FsbCBibG9jaw0KKyAqIG1seDVfZXFfZW5hYmxlIC0g bXVzdCBiZSBjYWxsZWQgYWZ0ZXIgRVEgaXMgY3JlYXRlZCBpbiBkZXZpY2UuDQorICovDQoraW50 IG1seDVfZXFfZW5hYmxlKHN0cnVjdCBtbHg1X2NvcmVfZGV2ICpkZXYsIHN0cnVjdCBtbHg1X2Vx ICplcSwNCisJCSAgIHN0cnVjdCBub3RpZmllcl9ibG9jayAqbmIpDQorew0KKwlzdHJ1Y3QgbWx4 NV9lcV90YWJsZSAqZXFfdGFibGUgPSBkZXYtPnByaXYuZXFfdGFibGU7DQorCWludCBlcnI7DQor DQorCWVyciA9IG1seDVfaXJxX2F0dGFjaF9uYihlcV90YWJsZS0+aXJxX3RhYmxlLCBlcS0+dmVj aWR4LCBuYik7DQorCWlmICghZXJyKQ0KKwkJZXFfdXBkYXRlX2NpKGVxLCAxKTsNCisNCisJcmV0 dXJuIGVycjsNCit9DQorRVhQT1JUX1NZTUJPTChtbHg1X2VxX2VuYWJsZSk7DQorDQorLyoqDQor ICogbWx4NV9lcV9kaXNhYmxlIC0gRW5hYmxlIEVRIGZvciByZWNlaXZpbmcgRVFFcw0KKyAqIEBk ZXYgLSBEZXZpY2Ugd2hpY2ggb3ducyB0aGUgZXENCisgKiBAZXEgLSBFUSB0byBkaXNhYmxlDQor ICogQG5iIC0gbm90aWZpZXIgY2FsbCBibG9jaw0KKyAqIG1seDVfZXFfZGlzYWJsZSAtIG11c3Qg YmUgY2FsbGVkIGJlZm9yZSBFUSBpcyBkZXN0cm95ZWQuDQorICovDQordm9pZCBtbHg1X2VxX2Rp c2FibGUoc3RydWN0IG1seDVfY29yZV9kZXYgKmRldiwgc3RydWN0IG1seDVfZXEgKmVxLA0KKwkJ ICAgICBzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5iKQ0KK3sNCisJc3RydWN0IG1seDVfZXFfdGFi bGUgKmVxX3RhYmxlID0gZGV2LT5wcml2LmVxX3RhYmxlOw0KKw0KKwltbHg1X2lycV9kZXRhY2hf bmIoZXFfdGFibGUtPmlycV90YWJsZSwgZXEtPnZlY2lkeCwgbmIpOw0KK30NCitFWFBPUlRfU1lN Qk9MKG1seDVfZXFfZGlzYWJsZSk7DQorDQogc3RhdGljIGludCBkZXN0cm95X3VubWFwX2VxKHN0 cnVjdCBtbHg1X2NvcmVfZGV2ICpkZXYsIHN0cnVjdCBtbHg1X2VxICplcSkNCiB7DQogCWludCBl cnI7DQogDQogCW1seDVfZGVidWdfZXFfcmVtb3ZlKGRldiwgZXEpOw0KIA0KLQllcnIgPSBtbHg1 X2lycV9kZXRhY2hfbmIoZGV2LT5wcml2LmVxX3RhYmxlLT5pcnFfdGFibGUsDQotCQkJCSBlcS0+ dmVjaWR4LCBlcS0+aXJxX25iKTsNCi0JaWYgKGVycikNCi0JCW1seDVfY29yZV93YXJuKGVxLT5k ZXYsICJlcSBmYWlsZWQgdG8gZGV0YWNoIGZyb20gaXJxLiBlcnIgJWQiLA0KLQkJCSAgICAgICBl cnIpOw0KIAllcnIgPSBtbHg1X2NtZF9kZXN0cm95X2VxKGRldiwgZXEtPmVxbik7DQogCWlmIChl cnIpDQogCQltbHg1X2NvcmVfd2FybihkZXYsICJmYWlsZWQgdG8gZGVzdHJveSBhIHByZXZpb3Vz bHkgY3JlYXRlZCBlcTogZXFuICVkXG4iLA0KQEAgLTU0NCwxNCArNTYzLDE3IEBAIHN0YXRpYyBp bnQgY3JlYXRlX2FzeW5jX2VxcyhzdHJ1Y3QgbWx4NV9jb3JlX2RldiAqZGV2KQ0KIAkJLmlycV9p bmRleCA9IDAsDQogCQkubWFzayA9IDF1bGwgPDwgTUxYNV9FVkVOVF9UWVBFX0NNRCwNCiAJCS5u ZW50ID0gTUxYNV9OVU1fQ01EX0VRRSwNCi0JCS5uYiA9ICZ0YWJsZS0+Y21kX2VxLmlycV9uYiwN CiAJfTsNCiAJZXJyID0gY3JlYXRlX2FzeW5jX2VxKGRldiwgJnRhYmxlLT5jbWRfZXEuY29yZSwg JnBhcmFtKTsNCiAJaWYgKGVycikgew0KIAkJbWx4NV9jb3JlX3dhcm4oZGV2LCAiZmFpbGVkIHRv IGNyZWF0ZSBjbWQgRVEgJWRcbiIsIGVycik7DQogCQlnb3RvIGVycjA7DQogCX0NCi0NCisJZXJy ID0gbWx4NV9lcV9lbmFibGUoZGV2LCAmdGFibGUtPmNtZF9lcS5jb3JlLCAmdGFibGUtPmNtZF9l cS5pcnFfbmIpOw0KKwlpZiAoZXJyKSB7DQorCQltbHg1X2NvcmVfd2FybihkZXYsICJmYWlsZWQg dG8gZW5hYmxlIGNtZCBFUSAlZFxuIiwgZXJyKTsNCisJCWdvdG8gZXJyMTsNCisJfQ0KIAltbHg1 X2NtZF91c2VfZXZlbnRzKGRldik7DQogDQogCXRhYmxlLT5hc3luY19lcS5pcnFfbmIubm90aWZp ZXJfY2FsbCA9IG1seDVfZXFfYXN5bmNfaW50Ow0KQEAgLTU1OSwxMiArNTgxLDE3IEBAIHN0YXRp YyBpbnQgY3JlYXRlX2FzeW5jX2VxcyhzdHJ1Y3QgbWx4NV9jb3JlX2RldiAqZGV2KQ0KIAkJLmly cV9pbmRleCA9IDAsDQogCQkubWFzayA9IGdhdGhlcl9hc3luY19ldmVudHNfbWFzayhkZXYpLA0K IAkJLm5lbnQgPSBNTFg1X05VTV9BU1lOQ19FUUUsDQotCQkubmIgPSAmdGFibGUtPmFzeW5jX2Vx LmlycV9uYiwNCiAJfTsNCiAJZXJyID0gY3JlYXRlX2FzeW5jX2VxKGRldiwgJnRhYmxlLT5hc3lu Y19lcS5jb3JlLCAmcGFyYW0pOw0KIAlpZiAoZXJyKSB7DQogCQltbHg1X2NvcmVfd2FybihkZXYs ICJmYWlsZWQgdG8gY3JlYXRlIGFzeW5jIEVRICVkXG4iLCBlcnIpOw0KLQkJZ290byBlcnIxOw0K KwkJZ290byBlcnIyOw0KKwl9DQorCWVyciA9IG1seDVfZXFfZW5hYmxlKGRldiwgJnRhYmxlLT5h c3luY19lcS5jb3JlLA0KKwkJCSAgICAgJnRhYmxlLT5hc3luY19lcS5pcnFfbmIpOw0KKwlpZiAo ZXJyKSB7DQorCQltbHg1X2NvcmVfd2FybihkZXYsICJmYWlsZWQgdG8gZW5hYmxlIGFzeW5jIEVR ICVkXG4iLCBlcnIpOw0KKwkJZ290byBlcnIzOw0KIAl9DQogDQogCXRhYmxlLT5wYWdlc19lcS5p cnFfbmIubm90aWZpZXJfY2FsbCA9IG1seDVfZXFfYXN5bmNfaW50Ow0KQEAgLTU3MiwyMSArNTk5 LDMxIEBAIHN0YXRpYyBpbnQgY3JlYXRlX2FzeW5jX2VxcyhzdHJ1Y3QgbWx4NV9jb3JlX2RldiAq ZGV2KQ0KIAkJLmlycV9pbmRleCA9IDAsDQogCQkubWFzayA9ICAxIDw8IE1MWDVfRVZFTlRfVFlQ RV9QQUdFX1JFUVVFU1QsDQogCQkubmVudCA9IC8qIFRPRE86IHNyaW92IG1heF92ZiArICovIDEs DQotCQkubmIgPSAmdGFibGUtPnBhZ2VzX2VxLmlycV9uYiwNCiAJfTsNCiAJZXJyID0gY3JlYXRl X2FzeW5jX2VxKGRldiwgJnRhYmxlLT5wYWdlc19lcS5jb3JlLCAmcGFyYW0pOw0KIAlpZiAoZXJy KSB7DQogCQltbHg1X2NvcmVfd2FybihkZXYsICJmYWlsZWQgdG8gY3JlYXRlIHBhZ2VzIEVRICVk XG4iLCBlcnIpOw0KLQkJZ290byBlcnIyOw0KKwkJZ290byBlcnI0Ow0KKwl9DQorCWVyciA9IG1s eDVfZXFfZW5hYmxlKGRldiwgJnRhYmxlLT5wYWdlc19lcS5jb3JlLA0KKwkJCSAgICAgJnRhYmxl LT5wYWdlc19lcS5pcnFfbmIpOw0KKwlpZiAoZXJyKSB7DQorCQltbHg1X2NvcmVfd2FybihkZXYs ICJmYWlsZWQgdG8gZW5hYmxlIHBhZ2VzIEVRICVkXG4iLCBlcnIpOw0KKwkJZ290byBlcnI1Ow0K IAl9DQogDQogCXJldHVybiBlcnI7DQogDQotZXJyMjoNCitlcnI1Og0KKwlkZXN0cm95X2FzeW5j X2VxKGRldiwgJnRhYmxlLT5wYWdlc19lcS5jb3JlKTsNCitlcnI0Og0KKwltbHg1X2VxX2Rpc2Fi bGUoZGV2LCAmdGFibGUtPmFzeW5jX2VxLmNvcmUsICZ0YWJsZS0+YXN5bmNfZXEuaXJxX25iKTsN CitlcnIzOg0KIAlkZXN0cm95X2FzeW5jX2VxKGRldiwgJnRhYmxlLT5hc3luY19lcS5jb3JlKTsN Ci0NCi1lcnIxOg0KK2VycjI6DQogCW1seDVfY21kX3VzZV9wb2xsaW5nKGRldik7DQorCW1seDVf ZXFfZGlzYWJsZShkZXYsICZ0YWJsZS0+Y21kX2VxLmNvcmUsICZ0YWJsZS0+Y21kX2VxLmlycV9u Yik7DQorZXJyMToNCiAJZGVzdHJveV9hc3luY19lcShkZXYsICZ0YWJsZS0+Y21kX2VxLmNvcmUp Ow0KIGVycjA6DQogCW1seDVfZXFfbm90aWZpZXJfdW5yZWdpc3RlcihkZXYsICZ0YWJsZS0+Y3Ff ZXJyX25iKTsNCkBAIC01OTgsMTEgKzYzNSwxMyBAQCBzdGF0aWMgdm9pZCBkZXN0cm95X2FzeW5j X2VxcyhzdHJ1Y3QgbWx4NV9jb3JlX2RldiAqZGV2KQ0KIAlzdHJ1Y3QgbWx4NV9lcV90YWJsZSAq dGFibGUgPSBkZXYtPnByaXYuZXFfdGFibGU7DQogCWludCBlcnI7DQogDQorCW1seDVfZXFfZGlz YWJsZShkZXYsICZ0YWJsZS0+cGFnZXNfZXEuY29yZSwgJnRhYmxlLT5wYWdlc19lcS5pcnFfbmIp Ow0KIAllcnIgPSBkZXN0cm95X2FzeW5jX2VxKGRldiwgJnRhYmxlLT5wYWdlc19lcS5jb3JlKTsN CiAJaWYgKGVycikNCiAJCW1seDVfY29yZV9lcnIoZGV2LCAiZmFpbGVkIHRvIGRlc3Ryb3kgcGFn ZXMgZXEsIGVyciglZClcbiIsDQogCQkJICAgICAgZXJyKTsNCiANCisJbWx4NV9lcV9kaXNhYmxl KGRldiwgJnRhYmxlLT5hc3luY19lcS5jb3JlLCAmdGFibGUtPmFzeW5jX2VxLmlycV9uYik7DQog CWVyciA9IGRlc3Ryb3lfYXN5bmNfZXEoZGV2LCAmdGFibGUtPmFzeW5jX2VxLmNvcmUpOw0KIAlp ZiAoZXJyKQ0KIAkJbWx4NV9jb3JlX2VycihkZXYsICJmYWlsZWQgdG8gZGVzdHJveSBhc3luYyBl cSwgZXJyKCVkKVxuIiwNCkBAIC02MTAsNiArNjQ5LDcgQEAgc3RhdGljIHZvaWQgZGVzdHJveV9h c3luY19lcXMoc3RydWN0IG1seDVfY29yZV9kZXYgKmRldikNCiANCiAJbWx4NV9jbWRfdXNlX3Bv bGxpbmcoZGV2KTsNCiANCisJbWx4NV9lcV9kaXNhYmxlKGRldiwgJnRhYmxlLT5jbWRfZXEuY29y ZSwgJnRhYmxlLT5jbWRfZXEuaXJxX25iKTsNCiAJZXJyID0gZGVzdHJveV9hc3luY19lcShkZXYs ICZ0YWJsZS0+Y21kX2VxLmNvcmUpOw0KIAlpZiAoZXJyKQ0KIAkJbWx4NV9jb3JlX2VycihkZXYs ICJmYWlsZWQgdG8gZGVzdHJveSBjb21tYW5kIGVxLCBlcnIoJWQpXG4iLA0KQEAgLTcxMSw2ICs3 NTEsNyBAQCBzdGF0aWMgdm9pZCBkZXN0cm95X2NvbXBfZXFzKHN0cnVjdCBtbHg1X2NvcmVfZGV2 ICpkZXYpDQogDQogCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShlcSwgbiwgJnRhYmxlLT5jb21w X2Vxc19saXN0LCBsaXN0KSB7DQogCQlsaXN0X2RlbCgmZXEtPmxpc3QpOw0KKwkJbWx4NV9lcV9k aXNhYmxlKGRldiwgJmVxLT5jb3JlLCAmZXEtPmlycV9uYik7DQogCQlpZiAoZGVzdHJveV91bm1h cF9lcShkZXYsICZlcS0+Y29yZSkpDQogCQkJbWx4NV9jb3JlX3dhcm4oZGV2LCAiZmFpbGVkIHRv IGRlc3Ryb3kgY29tcCBFUSAweCV4XG4iLA0KIAkJCQkgICAgICAgZXEtPmNvcmUuZXFuKTsNCkBA IC03NTIsMTMgKzc5MywxOSBAQCBzdGF0aWMgaW50IGNyZWF0ZV9jb21wX2VxcyhzdHJ1Y3QgbWx4 NV9jb3JlX2RldiAqZGV2KQ0KIAkJCS5pcnFfaW5kZXggPSB2ZWNpZHgsDQogCQkJLm1hc2sgPSAw LA0KIAkJCS5uZW50ID0gbmVudCwNCi0JCQkubmIgPSAmZXEtPmlycV9uYiwNCiAJCX07DQogCQll cnIgPSBjcmVhdGVfbWFwX2VxKGRldiwgJmVxLT5jb3JlLCAmcGFyYW0pOw0KIAkJaWYgKGVycikg ew0KIAkJCWtmcmVlKGVxKTsNCiAJCQlnb3RvIGNsZWFuOw0KIAkJfQ0KKwkJZXJyID0gbWx4NV9l cV9lbmFibGUoZGV2LCAmZXEtPmNvcmUsICZlcS0+aXJxX25iKTsNCisJCWlmIChlcnIpIHsNCisJ CQlkZXN0cm95X3VubWFwX2VxKGRldiwgJmVxLT5jb3JlKTsNCisJCQlrZnJlZShlcSk7DQorCQkJ Z290byBjbGVhbjsNCisJCX0NCisNCiAJCW1seDVfY29yZV9kYmcoZGV2LCAiYWxsb2NhdGVkIGNv bXBsZXRpb24gRVFOICVkXG4iLCBlcS0+Y29yZS5lcW4pOw0KIAkJLyogYWRkIHRhaWwsIHRvIGtl ZXAgdGhlIGxpc3Qgb3JkZXJlZCwgZm9yIG1seDVfdmVjdG9yMmVxbiB0byB3b3JrICovDQogCQls aXN0X2FkZF90YWlsKCZlcS0+bGlzdCwgJnRhYmxlLT5jb21wX2Vxc19saXN0KTsNCmRpZmYgLS1n aXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvbGliL2VxLmggYi9k cml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvbGliL2VxLmgNCmluZGV4IDM4 MzZjMzliMjkwMC4uMjRiZDk5MWE3MjdlIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJu ZXQvbWVsbGFub3gvbWx4NS9jb3JlL2xpYi9lcS5oDQorKysgYi9kcml2ZXJzL25ldC9ldGhlcm5l dC9tZWxsYW5veC9tbHg1L2NvcmUvbGliL2VxLmgNCkBAIC0zMyw3ICszMyw2IEBAIHN0cnVjdCBt bHg1X2VxIHsNCiAJdTggICAgICAgICAgICAgICAgICAgICAgZXFuOw0KIAlpbnQgICAgICAgICAg ICAgICAgICAgICBuZW50Ow0KIAlzdHJ1Y3QgbWx4NV9yc2NfZGVidWcgICAqZGJnOw0KLQlzdHJ1 Y3Qgbm90aWZpZXJfYmxvY2sgICAqaXJxX25iOyAvKiBGb3IgZGVzdHJveSBvbmx5ICovDQogfTsN CiANCiBzdHJ1Y3QgbWx4NV9lcV9hc3luYyB7DQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9t bHg1L2VxLmggYi9pbmNsdWRlL2xpbnV4L21seDUvZXEuaA0KaW5kZXggNGE5NGUwNGVmZjBhLi43 MGUxNmRjZmI0YzQgMTAwNjQ0DQotLS0gYS9pbmNsdWRlL2xpbnV4L21seDUvZXEuaA0KKysrIGIv aW5jbHVkZS9saW51eC9tbHg1L2VxLmgNCkBAIC0xNiwxMyArMTYsMTYgQEAgc3RydWN0IG1seDVf ZXFfcGFyYW0gew0KIAl1OCAgICAgICAgICAgICBpcnFfaW5kZXg7DQogCWludCAgICAgICAgICAg IG5lbnQ7DQogCXU2NCAgICAgICAgICAgIG1hc2s7DQotCXN0cnVjdCBub3RpZmllcl9ibG9jayAq bmI7DQogfTsNCiANCiBzdHJ1Y3QgbWx4NV9lcSAqDQogbWx4NV9lcV9jcmVhdGVfZ2VuZXJpYyhz dHJ1Y3QgbWx4NV9jb3JlX2RldiAqZGV2LCBzdHJ1Y3QgbWx4NV9lcV9wYXJhbSAqcGFyYW0pOw0K IGludA0KIG1seDVfZXFfZGVzdHJveV9nZW5lcmljKHN0cnVjdCBtbHg1X2NvcmVfZGV2ICpkZXYs IHN0cnVjdCBtbHg1X2VxICplcSk7DQoraW50IG1seDVfZXFfZW5hYmxlKHN0cnVjdCBtbHg1X2Nv cmVfZGV2ICpkZXYsIHN0cnVjdCBtbHg1X2VxICplcSwNCisJCSAgIHN0cnVjdCBub3RpZmllcl9i bG9jayAqbmIpOw0KK3ZvaWQgbWx4NV9lcV9kaXNhYmxlKHN0cnVjdCBtbHg1X2NvcmVfZGV2ICpk ZXYsIHN0cnVjdCBtbHg1X2VxICplcSwNCisJCSAgICAgc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpu Yik7DQogDQogc3RydWN0IG1seDVfZXFlICptbHg1X2VxX2dldF9lcWUoc3RydWN0IG1seDVfZXEg KmVxLCB1MzIgY2MpOw0KIHZvaWQgbWx4NV9lcV91cGRhdGVfY2koc3RydWN0IG1seDVfZXEgKmVx LCB1MzIgY2MsIGJvb2wgYXJtKTsNCi0tIA0KMi4yMS4wDQoNCg==