From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH v5 29/40] misc/mei/hdcp: Define ME FW interface for HDCP2.2 Date: Wed, 27 Jun 2018 14:10:18 +0530 Message-ID: <1530088829-11730-30-git-send-email-ramalingam.c@intel.com> References: <1530088829-11730-1-git-send-email-ramalingam.c@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1530088829-11730-1-git-send-email-ramalingam.c@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, daniel@ffwll.ch, tomas.winkler@intel.com, alexander.usyskin@intel.com, uma.shankar@intel.com List-Id: dri-devel@lists.freedesktop.org RGVmaW5lcyB0aGUgSERDUCBzcGVjaWZpYyBNRSBGVyBpbnRlcmZhY2VzIHN1Y2ggYXMgUmVxdWVz dCBDTURzLApwYXlsb2FkIHN0cnVjdHVyZSBmb3IgQ01EcyBhbmQgdGhlaXIgcmVzcG9uc2Ugc3Rh dHVzIGNvZGVzLgoKVGhpcyBwYXRjaCBkZWZpbmVzIHBheWxvYWQgc2l6ZShFeGNsdWRpbmcgdGhl IEhlYWRlcilmb3IgZWFjaCBXSVJFRApIRENQMi4yIENNRHMuCgp2MjoKICBSZWJhc2VkLgp2MzoK ICBFeHRyYSBjb21tZW50cyBhcmUgcmVtb3ZlZC4KdjQ6CiAgJXMvXC9cKlwqL1wvXCoKdjU6CiAg RXh0cmEgbGluZXMgYXJlIHJlbW92ZWQuCgpTaWduZWQtb2ZmLWJ5OiBSYW1hbGluZ2FtIEMgPHJh bWFsaW5nYW0uY0BpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9taXNjL21laS9oZGNwL21laV9oZGNw LmggfCA0MDggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAxIGZpbGUg Y2hhbmdlZCwgNDA4IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL21p c2MvbWVpL2hkY3AvbWVpX2hkY3AuaAoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWlzYy9tZWkvaGRj cC9tZWlfaGRjcC5oIGIvZHJpdmVycy9taXNjL21laS9oZGNwL21laV9oZGNwLmgKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5iMjAxY2QxZmZkYTQKLS0tIC9kZXYvbnVs bAorKysgYi9kcml2ZXJzL21pc2MvbWVpL2hkY3AvbWVpX2hkY3AuaApAQCAtMCwwICsxLDQwOCBA QAorLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IChHUEwtMi4wKyBPUiBCU0QtMy1DbGF1c2Up ICovCisvKgorICogQ29weXJpZ2h0IMKpIDIwMTctMjAxOCBJbnRlbCBDb3Jwb3JhdGlvbgorICoK KyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkg cGVyc29uIG9idGFpbmluZyBhCisgKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0 ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAorICogdG8gZGVhbCBpbiB0 aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRh dGlvbgorICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gs IGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCisgKiBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNv ZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKKyAqIFNvZnR3YXJlIGlz IGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6 CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBu b3RpY2UgKGluY2x1ZGluZyB0aGUgbmV4dAorICogcGFyYWdyYXBoKSBzaGFsbCBiZSBpbmNsdWRl ZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZQorICogU29mdHdh cmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FS UkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQg Tk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAorICogRklU TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gIElOIE5P IEVWRU5UIFNIQUxMCisgKiBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFC TEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgorICogTElBQklMSVRZLCBXSEVUSEVS IElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKKyAq IEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBV U0UgT1IgT1RIRVIgREVBTElOR1MKKyAqIElOIFRIRSBTT0ZUV0FSRS4KKyAqCisgKiBBdXRob3Jz OgorICoJUmFtYWxpbmdhbSBDIDxyYW1hbGluZ2FtLmNAaW50ZWwuY29tPgorICovCisKKyNpZm5k ZWYgX19NRUlfSERDUF9IX18KKyNkZWZpbmUgX19NRUlfSERDUF9IX18KKworI2luY2x1ZGUgPGRy bS9kcm1faGRjcC5oPgorCisvKgorICogbWVfaGRjcF9zdGF0dXM6IEVudW1lcmF0aW9uIG9mIGFs bCBIRENQIFN0YXR1cyBDb2RlcworICovCitlbnVtIG1lX2hkY3Bfc3RhdHVzIHsKKwlNRV9IRENQ X1NUQVRVU19TVUNDRVNTCQkJPSAweDAwMDAsCisKKwkvKiBXaURpIEdlbmVyaWMgU3RhdHVzIENv ZGVzICovCisJTUVfSERDUF9TVEFUVVNfSU5URVJOQUxfRVJST1IJCT0gMHgxMDAwLAorCU1FX0hE Q1BfU1RBVFVTX1VOS05PV05fRVJST1IJCT0gMHgxMDAxLAorCU1FX0hEQ1BfU1RBVFVTX0lOQ09S UkVDVF9BUElfVkVSU0lPTgk9IDB4MTAwMiwKKwlNRV9IRENQX1NUQVRVU19JTlZBTElEX0ZVTkNU SU9OCQk9IDB4MTAwMywKKwlNRV9IRENQX1NUQVRVU19JTlZBTElEX0JVRkZFUl9MRU5HVEgJPSAw eDEwMDQsCisJTUVfSERDUF9TVEFUVVNfSU5WQUxJRF9QQVJBTVMJCT0gMHgxMDA1LAorCU1FX0hE Q1BfU1RBVFVTX0FVVEhFTlRJQ0FUSU9OX0ZBSUxFRAk9IDB4MTAwNiwKKworCS8qIFdpRGkgU3Rh dHVzIENvZGVzICovCisJTUVfSERDUF9JTlZBTElEX1NFU1NJT05fU1RBVEUJCT0gMHg2MDAwLAor CU1FX0hEQ1BfU1JNX0ZSQUdNRU5UX1VORVhQRUNURUQJCT0gMHg2MDAxLAorCU1FX0hEQ1BfU1JN X0lOVkFMSURfTEVOR1RICQk9IDB4NjAwMiwKKwlNRV9IRENQX1NSTV9GUkFHTUVOVF9PRkZTRVRf SU5WQUxJRAk9IDB4NjAwMywKKwlNRV9IRENQX1NSTV9WRVJJRklDQVRJT05fRkFJTEVECQk9IDB4 NjAwNCwKKwlNRV9IRENQX1NSTV9WRVJTSU9OX1RPT19PTEQJCT0gMHg2MDA1LAorCU1FX0hEQ1Bf UlhfQ0VSVF9WRVJJRklDQVRJT05fRkFJTEVECT0gMHg2MDA2LAorCU1FX0hEQ1BfUlhfUkVWT0tF RAkJCT0gMHg2MDA3LAorCU1FX0hEQ1BfSF9WRVJJRklDQVRJT05fRkFJTEVECQk9IDB4NjAwOCwK KwlNRV9IRENQX1JFUEVBVEVSX0NIRUNLX1VORVhQRUNURUQJPSAweDYwMDksCisJTUVfSERDUF9U T1BPTE9HWV9NQVhfRVhDRUVERUQJCT0gMHg2MDBBLAorCU1FX0hEQ1BfVl9WRVJJRklDQVRJT05f RkFJTEVECQk9IDB4NjAwQiwKKwlNRV9IRENQX0xfVkVSSUZJQ0FUSU9OX0ZBSUxFRAkJPSAweDYw MEMsCisJTUVfSERDUF9TVFJFQU1fS0VZX0FMTE9DX0ZBSUxFRAkJPSAweDYwMEQsCisJTUVfSERD UF9CQVNFX0tFWV9SRVNFVF9GQUlMRUQJCT0gMHg2MDBFLAorCU1FX0hEQ1BfTk9OQ0VfR0VORVJB VElPTl9GQUlMRUQJCT0gMHg2MDBGLAorCU1FX0hEQ1BfU1RBVFVTX0lOVkFMSURfRV9LRVlfU1RB VEUJPSAweDYwMTAsCisJTUVfSERDUF9TVEFUVVNfSU5WQUxJRF9DU19JQ1YJCT0gMHg2MDExLAor CU1FX0hEQ1BfU1RBVFVTX0lOVkFMSURfS0JfS0VZX1NUQVRFCT0gMHg2MDEyLAorCU1FX0hEQ1Bf U1RBVFVTX0lOVkFMSURfUEFWUF9NT0RFX0lDVgk9IDB4NjAxMywKKwlNRV9IRENQX1NUQVRVU19J TlZBTElEX1BBVlBfTU9ERQk9IDB4NjAxNCwKKwlNRV9IRENQX1NUQVRVU19MQ19NQVhfQVRURU1Q VFMJCT0gMHg2MDE1LAorCisJLyogTmV3IHN0YXR1cyBmb3IgSERDUCAyLjEgKi8KKwlNRV9IRENQ X1NUQVRVU19NSVNNQVRDSF9JTl9NCQk9IDB4NjAxNiwKKworCS8qIE5ldyBzdGF0dXMgY29kZSBm b3IgSERDUCAyLjIgUnggKi8KKwlNRV9IRENQX1NUQVRVU19SWF9QUk9WX05PVF9BTExPV0VECT0g MHg2MDE3LAorCU1FX0hEQ1BfU1RBVFVTX1JYX1BST1ZfV1JPTkdfU1VCSkVDVAk9IDB4NjAxOCwK KwlNRV9IRENQX1JYX05FRURTX1BST1ZJU0lPTklORwkJPSAweDYwMTksCisJTUVfSERDUF9CS1NW X0lDVl9BVVRIX0ZBSUxFRAkJPSAweDYwMjAsCisJTUVfSERDUF9TVEFUVVNfSU5WQUxJRF9TVFJF QU1fSUQJPSAweDYwMjEsCisJTUVfSERDUF9TVEFUVVNfQ0hBSU5fTk9UX0lOSVRJQUxJWkVECT0g MHg2MDIyLAorCU1FX0hEQ1BfRkFJTF9OT1RfRVhQRUNURUQJCT0gMHg2MDIzLAorCU1FX0hEQ1Bf RkFJTF9IRENQX09GRgkJCT0gMHg2MDI0LAorCU1FX0hEQ1BfRkFJTF9JTlZBTElEX1BBVlBfTUVN T1JZX01PREUJPSAweDYwMjUsCisJTUVfSERDUF9GQUlMX0FFU19FQ0JfRkFJTFVSRQkJPSAweDYw MjYsCisJTUVfSERDUF9GRUFUVVJFX05PVF9TVVBQT1JURUQJCT0gMHg2MDI3LAorCU1FX0hEQ1Bf RE1BX1JFQURfRVJST1IJCQk9IDB4NjAyOCwKKwlNRV9IRENQX0RNQV9XUklURV9FUlJPUgkJCT0g MHg2MDI5LAorCU1FX0hEQ1BfRkFJTF9JTlZBTElEX1BBQ0tFVF9TSVpFCT0gMHg2MDMwLAorCU1F X0hEQ1BfSDI2NF9QQVJTSU5HX0VSUk9SCQk9IDB4NjAzMSwKKwlNRV9IRENQX0hEQ1AyX0VSUkFU QV9WSURFT19WSU9MQVRJT04JPSAweDYwMzIsCisJTUVfSERDUF9IRENQMl9FUlJBVEFfQVVESU9f VklPTEFUSU9OCT0gMHg2MDMzLAorCU1FX0hEQ1BfVFhfQUNUSVZFX0VSUk9SCQkJPSAweDYwMzQs CisJTUVfSERDUF9NT0RFX0NIQU5HRV9FUlJPUgkJPSAweDYwMzUsCisJTUVfSERDUF9TVFJFQU1f VFlQRV9FUlJPUgkJPSAweDYwMzYsCisJTUVfSERDUF9TVFJFQU1fTUFOQUdFX05PVF9QT1NTSUJM RQk9IDB4NjAzNywKKworCU1FX0hEQ1BfU1RBVFVTX1BPUlRfSU5WQUxJRF9DT01NQU5ECT0gMHg2 MDM4LAorCU1FX0hEQ1BfU1RBVFVTX1VOU1VQUE9SVEVEX1BST1RPQ09MCT0gMHg2MDM5LAorCU1F X0hEQ1BfU1RBVFVTX0lOVkFMSURfUE9SVF9JTkRFWAk9IDB4NjAzYSwKKwlNRV9IRENQX1NUQVRV U19UWF9BVVRIX05FRURFRAkJPSAweDYwM2IsCisJTUVfSERDUF9TVEFUVVNfTk9UX0lOVEVHUkFU RURfUE9SVAk9IDB4NjAzYywKKwlNRV9IRENQX1NUQVRVU19TRVNTSU9OX01BWF9SRUFDSEVECT0g MHg2MDNkLAorCisJLyogaGRjcCBjYXBhYmxlIGJpdCBpcyBub3Qgc2V0IGluIHJ4X2NhcHMoZXJy b3IgaXMgdW5pcXVlIHRvIERQKSAqLworCU1FX0hEQ1BfU1RBVFVTX05PVF9IRENQX0NBUEFCTEUJ CT0gMHg2MDQxLAorCisJTUVfSERDUF9TVEFUVVNfSU5WQUxJRF9TVFJFQU1fQ09VTlQJPSAweDYw NDIsCit9OworCisjZGVmaW5lIEhEQ1BfQVBJX1ZFUlNJT04JCQkJMHgwMDAxMDAwMAorCisjZGVm aW5lIEhEQ1BfTV9MRU4JCQkJCTE2CisjZGVmaW5lIEhEQ1BfS0hfTEVOCQkJCQkxNgorCisvKgor ICogUGF5bG9hZCBCdWZmZXIgc2l6ZShFeGNsdWRpbmcgSGVhZGVyKSBmb3IgZWFjaCBDTUQgYW5k IGNvcnJlc3BvbmRpbmcgcmVzcG9uc2UKKyAqLworLyogV2lyZWRfVHhfQUtFICAqLworI2RlZmlu ZQlXSVJFRF9DTURfQlVGX0xFTl9JTklUSUFURV9IRENQMl9TRVNTSU9OX0lOCSg0ICsgMSkKKyNk ZWZpbmUJV0lSRURfQ01EX0JVRl9MRU5fSU5JVElBVEVfSERDUDJfU0VTU0lPTl9PVVQJKDQgKyA4 ICsgMykKKworI2RlZmluZQlXSVJFRF9DTURfQlVGX0xFTl9WRVJJRllfUkVDRUlWRVJfQ0VSVF9J TgkoNCArIDUyMiArIDggKyAzKQorI2RlZmluZQlXSVJFRF9DTURfQlVGX0xFTl9WRVJJRllfUkVD RUlWRVJfQ0VSVF9NSU5fT1VUCSg0ICsgMSArIDMgKyAxNiArIDE2KQorI2RlZmluZQlXSVJFRF9D TURfQlVGX0xFTl9WRVJJRllfUkVDRUlWRVJfQ0VSVF9NQVhfT1VUCSg0ICsgMSArIDMgKyAxMjgp CisKKyNkZWZpbmUJV0lSRURfQ01EX0JVRl9MRU5fQUtFX1NFTkRfSFBSSU1FX0lOCQkoNCArIDMy KQorI2RlZmluZQlXSVJFRF9DTURfQlVGX0xFTl9BS0VfU0VORF9IUFJJTUVfT1VUCQkoNCkKKwor I2RlZmluZQlXSVJFRF9DTURfQlVGX0xFTl9TRU5EX1BBSVJJTkdfSU5GT19JTgkJKDQgKyAxNikK KyNkZWZpbmUJV0lSRURfQ01EX0JVRl9MRU5fU0VORF9QQUlSSU5HX0lORk9fT1VUCQkoNCkKKwor I2RlZmluZQlXSVJFRF9DTURfQlVGX0xFTl9DTE9TRV9TRVNTSU9OX0lOCQkoNCkKKyNkZWZpbmUJ V0lSRURfQ01EX0JVRl9MRU5fQ0xPU0VfU0VTU0lPTl9PVVQJCSg0KQorCisvKiBXaXJlZF9UeF9M QyAqLworI2RlZmluZQlXSVJFRF9DTURfQlVGX0xFTl9JTklUX0xPQ0FMSVRZX0NIRUNLX0lOCSg0 KQorI2RlZmluZQlXSVJFRF9DTURfQlVGX0xFTl9JTklUX0xPQ0FMSVRZX0NIRUNLX09VVAkoNCAr IDgpCisKKyNkZWZpbmUJV0lSRURfQ01EX0JVRl9MRU5fVkFMSURBVEVfTE9DQUxJVFlfSU4JCSg0 ICsgMzIpCisjZGVmaW5lCVdJUkVEX0NNRF9CVUZfTEVOX1ZBTElEQVRFX0xPQ0FMSVRZX09VVAkJ KDQpCisKKy8qIFdpcmVkX1R4X1NLRSAqLworI2RlZmluZQlXSVJFRF9DTURfQlVGX0xFTl9HRVRf U0VTU0lPTl9LRVlfSU4JCSg0KQorI2RlZmluZQlXSVJFRF9DTURfQlVGX0xFTl9HRVRfU0VTU0lP Tl9LRVlfT1VUCQkoNCArIDE2ICsgOCkKKworLyogV2lyZWRfVHhfU0tFICovCisjZGVmaW5lCVdJ UkVEX0NNRF9CVUZfTEVOX0VOQUJMRV9BVVRIX0lOCQkoNCArIDEpCisjZGVmaW5lCVdJUkVEX0NN RF9CVUZfTEVOX0VOQUJMRV9BVVRIX09VVAkJKDQpCisKKy8qIFdpcmVkX1R4X1JlcGVhdGVyICov CisjZGVmaW5lCVdJUkVEX0NNRF9CVUZfTEVOX1ZFUklGWV9SRVBFQVRFUl9JTgkJKDQgKyAyICsg MyArIDE2ICsgMTU1KQorI2RlZmluZQlXSVJFRF9DTURfQlVGX0xFTl9WRVJJRllfUkVQRUFURVJf T1VUCQkoNCArIDEgKyAxNikKKworI2RlZmluZQlXSVJFRF9DTURfQlVGX0xFTl9SRVBFQVRFUl9B VVRIX1NUUkVBTV9SRVFfTUlOX0lOCSg0ICsgMyArIFwKKwkJCQkJCQkJMzIgKyAyICsgMikKKwor I2RlZmluZQlXSVJFRF9DTURfQlVGX0xFTl9SRVBFQVRFUl9BVVRIX1NUUkVBTV9SRVFfT1VUCQko NCkKKworLyoKKyAqIGhkY3BfY29tbWFuZF9pZDogRW51bWVyYXRpb24gb2YgYWxsIFdJUkVEIEhE Q1AgQ29tbWFuZCBJRHMKKyAqLworZW51bSBoZGNwX2NvbW1hbmRfaWQgeworCV9XSURJX0NPTU1B TkRfQkFTRQkJPSAweDAwMDMwMDAwLAorCVdJRElfSU5JVElBVEVfSERDUDJfU0VTU0lPTgk9IF9X SURJX0NPTU1BTkRfQkFTRSwKKwlIRENQX0dFVF9TUk1fU1RBVFVTLAorCUhEQ1BfU0VORF9TUk1f RlJBR01FTlQsCisKKwkvKiBUaGUgd2lyZWQgSERDUCBUeCBjb21tYW5kcyAqLworCV9XSVJFRF9D T01NQU5EX0JBU0UJCT0gMHgwMDAzMTAwMCwKKwlXSVJFRF9JTklUSUFURV9IRENQMl9TRVNTSU9O CT0gX1dJUkVEX0NPTU1BTkRfQkFTRSwKKwlXSVJFRF9WRVJJRllfUkVDRUlWRVJfQ0VSVCwKKwlX SVJFRF9BS0VfU0VORF9IUFJJTUUsCisJV0lSRURfQUtFX1NFTkRfUEFJUklOR19JTkZPLAorCVdJ UkVEX0lOSVRfTE9DQUxJVFlfQ0hFQ0ssCisJV0lSRURfVkFMSURBVEVfTE9DQUxJVFksCisJV0lS RURfR0VUX1NFU1NJT05fS0VZLAorCVdJUkVEX0VOQUJMRV9BVVRILAorCVdJUkVEX1ZFUklGWV9S RVBFQVRFUiwKKwlXSVJFRF9SRVBFQVRFUl9BVVRIX1NUUkVBTV9SRVEsCisJV0lSRURfQ0xPU0Vf U0VTU0lPTiwKKworCV9XSVJFRF9DT01NQU5EU19DT1VOVCwKK307CisKK3VuaW9uIGVuY3J5cHRl ZF9idWZmIHsKKwl1aW50OF90CQkJZV9rcHViX2ttW0hEQ1BfMl8yX0VfS1BVQl9LTV9MRU5dOwor CXVpbnQ4X3QJCQllX2toX2ttX21bSERDUF8yXzJfRV9LSF9LTV9NX0xFTl07CisJc3RydWN0IHsK KwkJdWludDhfdAkJZV9raF9rbVtIRENQX0tIX0xFTl07CisJCXVpbnQ4X3QJCW1bSERDUF9NX0xF Tl07CisJfSBfX3BhY2tlZDsKK307CisKKy8qCisgKiBIRENQIEhFQ0kgbWVzc2FnZSBoZWFkZXIu IEFsbCBoZWFkZXIgdmFsdWVzIGFyZSBsaXR0bGUgZW5kaWFuLgorICovCitzdHJ1Y3QgaGRjcF9j bWRfaGVhZGVyIHsKKwl1aW50MzJfdAkJYXBpX3ZlcnNpb247CisJdWludDMyX3QJCWNvbW1hbmRf aWQ7CisJZW51bSBtZV9oZGNwX3N0YXR1cwlzdGF0dXM7CisJLyogTGVuZ3RoIG9mIHRoZSBIRUNJ IG1lc3NhZ2UgKGV4Y2x1ZGluZyB0aGUgaGVhZGVyKSAqLworCXVpbnQzMl90CQlidWZmZXJfbGVu OworfSBfX3BhY2tlZDsKKworLyogRW1wdHkgY29tbWFuZCByZXF1ZXN0IG9yIHJlc3BvbnNlLiBO byBkYXRhIGZvbGxvd3MgdGhlIGhlYWRlci4gKi8KK3N0cnVjdCBoZGNwX2NtZF9ub19kYXRhIHsK KwlzdHJ1Y3QgaGRjcF9jbWRfaGVhZGVyIGhlYWRlcjsKK30gX19wYWNrZWQ7CisKKy8qCisgKiBV bmlxdWVseSBpZGVudGlmaWVzIHRoZSBoZGNwIHBvcnQgYmVpbmcgYWRkcmVzc2VkIGZvciBhIGdp dmVuIGNvbW1hbmQuCisgKi8KK3N0cnVjdCBoZGNwX3BvcnRfaWQgeworCXVpbnQ4X3QJCQlpbnRl Z3JhdGVkX3BvcnRfdHlwZTsKKwl1aW50OF90CQkJcGh5c2ljYWxfcG9ydDsKKwl1aW50MTZfdAkJ cmVzZXJ2ZWQ7Cit9IF9fcGFja2VkOworCisvKgorICogRGF0YSBzdHJ1Y3R1cmVzIGZvciBpbnRl Z3JhdGVkIHdpcmVkIEhEQ1AyIFR4IGluCisgKiBzdXBwb3J0IG9mIHRoZSBBS0UgcHJvdG9jb2wK KyAqLworLyoKKyAqIEhFQ0kgc3RydWN0IGZvciBpbnRlZ3JhdGVkIHdpcmVkIEhEQ1AgVHggc2Vz c2lvbiBpbml0aWF0aW9uLgorICovCitzdHJ1Y3Qgd2lyZWRfY21kX2luaXRpYXRlX2hkY3AyX3Nl c3Npb25faW4geworCXN0cnVjdCBoZGNwX2NtZF9oZWFkZXIJaGVhZGVyOworCXN0cnVjdCBoZGNw X3BvcnRfaWQJcG9ydDsKKwl1aW50OF90CQkJcHJvdG9jb2w7IC8qIGZvciBIRE1JIHZzIERQICov Cit9IF9fcGFja2VkOworCitzdHJ1Y3Qgd2lyZWRfY21kX2luaXRpYXRlX2hkY3AyX3Nlc3Npb25f b3V0IHsKKwlzdHJ1Y3QgaGRjcF9jbWRfaGVhZGVyCWhlYWRlcjsKKwlzdHJ1Y3QgaGRjcF9wb3J0 X2lkCXBvcnQ7CisJdWludDhfdAkJCXJfdHhbSERDUF8yXzJfUlRYX0xFTl07CisJc3RydWN0IGhk Y3AyX3R4X2NhcHMJdHhfY2FwczsKK30gX19wYWNrZWQ7CisKKy8qCisgKiBIRUNJIHN0cnVjdCBm b3IgZW5kaW5nIGFuIGludGVncmF0ZWQgd2lyZWQgSERDUCBUeCBzZXNzaW9uLgorICovCitzdHJ1 Y3Qgd2lyZWRfY21kX2Nsb3NlX3Nlc3Npb25faW4geworCXN0cnVjdCBoZGNwX2NtZF9oZWFkZXIJ aGVhZGVyOworCXN0cnVjdCBoZGNwX3BvcnRfaWQJcG9ydDsKK30gX19wYWNrZWQ7CisKK3N0cnVj dCB3aXJlZF9jbWRfY2xvc2Vfc2Vzc2lvbl9vdXQgeworCXN0cnVjdCBoZGNwX2NtZF9oZWFkZXIJ aGVhZGVyOworCXN0cnVjdCBoZGNwX3BvcnRfaWQJcG9ydDsKK30gX19wYWNrZWQ7CisKKy8qCisg KiBIRUNJIHN0cnVjdCBmb3IgaW50ZWdyYXRlZCB3aXJlZCBIRENQIFR4IFJ4IENlcnQgdmVyaWZp Y2F0aW9uLgorICovCitzdHJ1Y3Qgd2lyZWRfY21kX3ZlcmlmeV9yZWNlaXZlcl9jZXJ0X2luIHsK KwlzdHJ1Y3QgaGRjcF9jbWRfaGVhZGVyCWhlYWRlcjsKKwlzdHJ1Y3QgaGRjcF9wb3J0X2lkCXBv cnQ7CisJc3RydWN0IGhkY3AyX2NlcnRfcngJY2VydF9yeDsKKwl1aW50OF90CQkJcl9yeFtIRENQ XzJfMl9SUlhfTEVOXTsKKwl1aW50OF90CQkJcnhfY2Fwc1tIRENQXzJfMl9SWENBUFNfTEVOXTsK K30gX19wYWNrZWQ7CisKK3N0cnVjdCB3aXJlZF9jbWRfdmVyaWZ5X3JlY2VpdmVyX2NlcnRfb3V0 IHsKKwlzdHJ1Y3QgaGRjcF9jbWRfaGVhZGVyCWhlYWRlcjsKKwlzdHJ1Y3QgaGRjcF9wb3J0X2lk CXBvcnQ7CisJdWludDhfdAkJCWttX3N0b3JlZDsKKwl1aW50OF90CQkJcmVzZXJ2ZWRbM107CisJ dW5pb24gZW5jcnlwdGVkX2J1ZmYJZWttX2J1ZmY7Cit9IF9fcGFja2VkOworCisvKgorICogSEVD SSBzdHJ1Y3QgZm9yIHZlcmlmaWNhdGlvbiBvZiBSeCdzIEhwcmltZSBpbiBhIEhEQ1AgVHggc2Vz c2lvbgorICovCitzdHJ1Y3Qgd2lyZWRfY21kX2FrZV9zZW5kX2hwcmltZV9pbiB7CisJc3RydWN0 IGhkY3BfY21kX2hlYWRlcgloZWFkZXI7CisJc3RydWN0IGhkY3BfcG9ydF9pZAlwb3J0OworCXVp bnQ4X3QJCQloX3ByaW1lW0hEQ1BfMl8yX0hfUFJJTUVfTEVOXTsKK30gX19wYWNrZWQ7CisKK3N0 cnVjdCB3aXJlZF9jbWRfYWtlX3NlbmRfaHByaW1lX291dCB7CisJc3RydWN0IGhkY3BfY21kX2hl YWRlcgloZWFkZXI7CisJc3RydWN0IGhkY3BfcG9ydF9pZAlwb3J0OworfSBfX3BhY2tlZDsKKwor LyoKKyAqIEhFQ0kgc3RydWN0IGZvciBzZW5kaW5nIGluIEFLRSBwYWlyaW5nIGRhdGEgZ2VuZXJh dGVkIGJ5IHRoZSBSeCBpbiBhbgorICogaW50ZWdyYXRlZCB3aXJlZCBIRENQIFR4IHNlc3Npb24u CisgKi8KK3N0cnVjdCB3aXJlZF9jbWRfYWtlX3NlbmRfcGFpcmluZ19pbmZvX2luIHsKKwlzdHJ1 Y3QgaGRjcF9jbWRfaGVhZGVyCWhlYWRlcjsKKwlzdHJ1Y3QgaGRjcF9wb3J0X2lkCXBvcnQ7CisJ dWludDhfdAkJCWVfa2hfa21bSERDUF8yXzJfRV9LSF9LTV9MRU5dOworfSBfX3BhY2tlZDsKKwor c3RydWN0IHdpcmVkX2NtZF9ha2Vfc2VuZF9wYWlyaW5nX2luZm9fb3V0IHsKKwlzdHJ1Y3QgaGRj cF9jbWRfaGVhZGVyCWhlYWRlcjsKKwlzdHJ1Y3QgaGRjcF9wb3J0X2lkCXBvcnQ7Cit9IF9fcGFj a2VkOworCisvKgorICogRGF0YSBzdHJ1Y3R1cmVzIGZvciBpbnRlZ3JhdGVkIHdpcmVkIEhEQ1Ay IFR4IGluIHN1cHBvcnQgb2YgdGhlIExDIHByb3RvY29sCisgKi8KKy8qCisgKiBIRUNJIHN0cnVj dCBmb3IgaW5pdGlhdGluZyBsb2NhbGl0eSBjaGVjayB3aXRoIGFuCisgKiBpbnRlZ3JhdGVkIHdp cmVkIEhEQ1AgVHggc2Vzc2lvbi4KKyAqLworc3RydWN0IHdpcmVkX2NtZF9pbml0X2xvY2FsaXR5 X2NoZWNrX2luIHsKKwlzdHJ1Y3QgaGRjcF9jbWRfaGVhZGVyCWhlYWRlcjsKKwlzdHJ1Y3QgaGRj cF9wb3J0X2lkCXBvcnQ7Cit9IF9fcGFja2VkOworCitzdHJ1Y3Qgd2lyZWRfY21kX2luaXRfbG9j YWxpdHlfY2hlY2tfb3V0IHsKKwlzdHJ1Y3QgaGRjcF9jbWRfaGVhZGVyCWhlYWRlcjsKKwlzdHJ1 Y3QgaGRjcF9wb3J0X2lkCXBvcnQ7CisJdWludDhfdAkJCXJfbltIRENQXzJfMl9STl9MRU5dOwor fSBfX3BhY2tlZDsKKworLyoKKyAqIEhFQ0kgc3RydWN0IGZvciB2YWxpZGF0aW5nIGFuIFJ4J3Mg TFByaW1lIHZhbHVlIGluIGFuCisgKiBpbnRlZ3JhdGVkIHdpcmVkIEhEQ1AgVHggc2Vzc2lvbi4K KyAqLworc3RydWN0IHdpcmVkX2NtZF92YWxpZGF0ZV9sb2NhbGl0eV9pbiB7CisJc3RydWN0IGhk Y3BfY21kX2hlYWRlcgloZWFkZXI7CisJc3RydWN0IGhkY3BfcG9ydF9pZAlwb3J0OworCXVpbnQ4 X3QJCQlsX3ByaW1lW0hEQ1BfMl8yX0xfUFJJTUVfTEVOXTsKK30gX19wYWNrZWQ7CisKK3N0cnVj dCB3aXJlZF9jbWRfdmFsaWRhdGVfbG9jYWxpdHlfb3V0IHsKKwlzdHJ1Y3QgaGRjcF9jbWRfaGVh ZGVyCWhlYWRlcjsKKwlzdHJ1Y3QgaGRjcF9wb3J0X2lkCXBvcnQ7Cit9IF9fcGFja2VkOworCisv KgorICogRGF0YSBzdHJ1Y3R1cmVzIGZvciBpbnRlZ3JhdGVkIHdpcmVkIEhEQ1AyIFR4IGluIHN1 cHBvcnQgb2YgdGhlIFNLRSBwcm90b2NvbAorICovCisvKgorICogSEVDSSBzdHJ1Y3QgZm9yIGNy ZWF0aW5nIHNlc3Npb24ga2V5CisgKi8KK3N0cnVjdCB3aXJlZF9jbWRfZ2V0X3Nlc3Npb25fa2V5 X2luIHsKKwlzdHJ1Y3QgaGRjcF9jbWRfaGVhZGVyCWhlYWRlcjsKKwlzdHJ1Y3QgaGRjcF9wb3J0 X2lkCXBvcnQ7Cit9IF9fcGFja2VkOworCitzdHJ1Y3Qgd2lyZWRfY21kX2dldF9zZXNzaW9uX2tl eV9vdXQgeworCXN0cnVjdCBoZGNwX2NtZF9oZWFkZXIJaGVhZGVyOworCXN0cnVjdCBoZGNwX3Bv cnRfaWQJcG9ydDsKKwl1aW50OF90CQkJZV9ka2V5X2tzW0hEQ1BfMl8yX0VfREtFWV9LU19MRU5d OworCXVpbnQ4X3QJCQlyX2l2W0hEQ1BfMl8yX1JJVl9MRU5dOworfSBfX3BhY2tlZDsKKworLyoK KyAqIEhFQ0kgc3RydWN0IGZvciB0aGUgVHggZW5hYmxlIGF1dGhlbnRpY2F0aW9uIGNvbW1hbmQK KyAqLworc3RydWN0IHdpcmVkX2NtZF9lbmFibGVfYXV0aF9pbiB7CisJc3RydWN0IGhkY3BfY21k X2hlYWRlcgloZWFkZXI7CisJc3RydWN0IGhkY3BfcG9ydF9pZAlwb3J0OworCXVpbnQ4X3QJCQlz dHJlYW1fdHlwZTsKK30gX19wYWNrZWQ7CisKK3N0cnVjdCB3aXJlZF9jbWRfZW5hYmxlX2F1dGhf b3V0IHsKKwlzdHJ1Y3QgaGRjcF9jbWRfaGVhZGVyCWhlYWRlcjsKKwlzdHJ1Y3QgaGRjcF9wb3J0 X2lkCXBvcnQ7Cit9IF9fcGFja2VkOworCisvKgorICogRGF0YSBzdHJ1Y3R1cmVzIGZvciBpbnRl Z3JhdGVkIHdpcmVkIEhEQ1AyIFR4IGluIHN1cHBvcnQgb2YKKyAqIHRoZSByZXBlYXRlciBwcm90 b2NvbHMKKyAqLworLyoKKyAqIEhFQ0kgc3RydWN0IGZvciB2ZXJpZnlpbmcgdGhlIGRvd25zdHJl YW0gcmVwZWF0ZXIncyBIRENQIHRvcG9sb2d5IGluIGFuCisgKiBpbnRlZ3JhdGVkIHdpcmVkIEhE Q1AgVHggc2Vzc2lvbi4KKyAqLworc3RydWN0IHdpcmVkX2NtZF92ZXJpZnlfcmVwZWF0ZXJfaW4g eworCXN0cnVjdCBoZGNwX2NtZF9oZWFkZXIJaGVhZGVyOworCXN0cnVjdCBoZGNwX3BvcnRfaWQJ cG9ydDsKKwl1aW50OF90CQkJcnhfaW5mb1tIRENQXzJfMl9SWElORk9fTEVOXTsKKwl1aW50OF90 CQkJc2VxX251bV92W0hEQ1BfMl8yX1NFUV9OVU1fTEVOXTsKKwl1aW50OF90CQkJdl9wcmltZVtI RENQXzJfMl9MUFJJTUVfSEFMRl9MRU5dOworCXVpbnQ4X3QJCQlyZWNlaXZlcl9pZHNbSERDUF8y XzJfUkVDRUlWRVJfSURTX01BWF9MRU5dOworfSBfX3BhY2tlZDsKKworc3RydWN0IHdpcmVkX2Nt ZF92ZXJpZnlfcmVwZWF0ZXJfb3V0IHsKKwlzdHJ1Y3QgaGRjcF9jbWRfaGVhZGVyCWhlYWRlcjsK KwlzdHJ1Y3QgaGRjcF9wb3J0X2lkCXBvcnQ7CisJdWludDhfdAkJCWNvbnRlbnRfdHlwZV9zdXBw b3J0ZWQ7CisJdWludDhfdAkJCXZbSERDUF8yXzJfTFBSSU1FX0hBTEZfTEVOXTsKK30gX19wYWNr ZWQ7CisKKy8qCisgKiBIRUNJIHN0cnVjdCBpbiBzdXBwb3J0IG9mIHN0cmVhbSBtYW5hZ2VtZW50 IGluIGFuCisgKiBpbnRlZ3JhdGVkIHdpcmVkIEhEQ1AgVHggc2Vzc2lvbi4KKyAqLworc3RydWN0 IHdpcmVkX2NtZF9yZXBlYXRlcl9hdXRoX3N0cmVhbV9yZXFfaW4geworCXN0cnVjdCBoZGNwX2Nt ZF9oZWFkZXIJCWhlYWRlcjsKKwlzdHJ1Y3QgaGRjcF9wb3J0X2lkCQlwb3J0OworCXVpbnQ4X3QJ CQkJc2VxX251bV9tW0hEQ1BfMl8yX1NFUV9OVU1fTEVOXTsKKwl1aW50OF90CQkJCW1fcHJpbWVb SERDUF8yXzJfTVBSSU1FX0xFTl07CisJdWludDE2X3QJCQlrOworCXN0cnVjdCBoZGNwMl9zdHJl YW1pZF90eXBlCXN0cmVhbXNbMV07Cit9IF9fcGFja2VkOworCitzdHJ1Y3Qgd2lyZWRfY21kX3Jl cGVhdGVyX2F1dGhfc3RyZWFtX3JlcV9vdXQgeworCXN0cnVjdCBoZGNwX2NtZF9oZWFkZXIJCWhl YWRlcjsKKwlzdHJ1Y3QgaGRjcF9wb3J0X2lkCQlwb3J0OworfSBfX3BhY2tlZDsKKworI2VuZGlm IC8qIF9fTUVJX0hEQ1BfSF9fICovCi0tIAoyLjcuNAoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==