From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Widawsky Subject: [PATCH 01/13] drm/i915: Move semaphore specific ring members to struct Date: Tue, 29 Apr 2014 14:52:28 -0700 Message-ID: <1398808360-3674-2-git-send-email-benjamin.widawsky@intel.com> References: <1398808360-3674-1-git-send-email-benjamin.widawsky@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id A176B6EAE9 for ; Tue, 29 Apr 2014 14:52:46 -0700 (PDT) In-Reply-To: <1398808360-3674-1-git-send-email-benjamin.widawsky@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 List-Id: intel-gfx@lists.freedesktop.org VGhpcyB3aWxsIGJlIGhlbHBmdWwgaW4gYWJzdHJhY3Rpbmcgc29tZSBvZiB0aGUgY29kZSBpbiBw cmVwYXJhdGlvbiBmb3IKZ2VuOCBzZW1hcGhvcmVzLgoKdjI6IE1vdmUgbWJveCBzdHVmZiB0byBh IHNlcGFyYXRlIHN0cnVjdAoKdjM6IFJlYmFzZWQgb3ZlciBWQ1MyIHdvcmsKClJldmlld2VkLWJ5 OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPiAodjEpClNp Z25lZC1vZmYtYnk6IEJlbiBXaWRhd3NreSA8YmVuQGJ3aWRhd3NrLm5ldD4KLS0tCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jICAgICAgICAgfCAgMTAgKy0tCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dwdV9lcnJvci5jICAgfCAgIDYgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfaXJxLmMgICAgICAgICB8ICAgMyArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf cmluZ2J1ZmZlci5jIHwgMTI0ICsrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggfCAgMTkgKysrLS0KIDUgZmlsZXMg Y2hhbmdlZCwgODIgaW5zZXJ0aW9ucygrKSwgODAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtLmMKaW5kZXggYjAwYTc3ZS4uZGFlNTFjMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5j CkBAIC0yMTE5LDggKzIxMTksOCBAQCBpOTE1X2dlbV9pbml0X3NlcW5vKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsIHUzMiBzZXFubykKIAlmb3JfZWFjaF9yaW5nKHJpbmcsIGRldl9wcml2LCBpKSB7 CiAJCWludGVsX3JpbmdfaW5pdF9zZXFubyhyaW5nLCBzZXFubyk7CiAKLQkJZm9yIChqID0gMDsg aiA8IEFSUkFZX1NJWkUocmluZy0+c3luY19zZXFubyk7IGorKykKLQkJCXJpbmctPnN5bmNfc2Vx bm9bal0gPSAwOworCQlmb3IgKGogPSAwOyBqIDwgQVJSQVlfU0laRShyaW5nLT5zZW1hcGhvcmUu c3luY19zZXFubyk7IGorKykKKwkJCXJpbmctPnNlbWFwaG9yZS5zeW5jX3NlcW5vW2pdID0gMDsK IAl9CiAKIAlyZXR1cm4gMDsKQEAgLTI2OTIsNyArMjY5Miw3IEBAIGk5MTVfZ2VtX29iamVjdF9z eW5jKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJaWR4ID0gaW50ZWxfcmluZ19z eW5jX2luZGV4KGZyb20sIHRvKTsKIAogCXNlcW5vID0gb2JqLT5sYXN0X3JlYWRfc2Vxbm87Ci0J aWYgKHNlcW5vIDw9IGZyb20tPnN5bmNfc2Vxbm9baWR4XSkKKwlpZiAoc2Vxbm8gPD0gZnJvbS0+ c2VtYXBob3JlLnN5bmNfc2Vxbm9baWR4XSkKIAkJcmV0dXJuIDA7CiAKIAlyZXQgPSBpOTE1X2dl bV9jaGVja19vbHIob2JqLT5yaW5nLCBzZXFubyk7CkBAIC0yNzAwLDEzICsyNzAwLDEzIEBAIGk5 MTVfZ2VtX29iamVjdF9zeW5jKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJCXJl dHVybiByZXQ7CiAKIAl0cmFjZV9pOTE1X2dlbV9yaW5nX3N5bmNfdG8oZnJvbSwgdG8sIHNlcW5v KTsKLQlyZXQgPSB0by0+c3luY190byh0bywgZnJvbSwgc2Vxbm8pOworCXJldCA9IHRvLT5zZW1h cGhvcmUuc3luY190byh0bywgZnJvbSwgc2Vxbm8pOwogCWlmICghcmV0KQogCQkvKiBXZSB1c2Ug bGFzdF9yZWFkX3NlcW5vIGJlY2F1c2Ugc3luY190bygpCiAJCSAqIG1pZ2h0IGhhdmUganVzdCBj YXVzZWQgc2Vxbm8gd3JhcCB1bmRlcgogCQkgKiB0aGUgcmFkYXIuCiAJCSAqLwotCQlmcm9tLT5z eW5jX3NlcW5vW2lkeF0gPSBvYmotPmxhc3RfcmVhZF9zZXFubzsKKwkJZnJvbS0+c2VtYXBob3Jl LnN5bmNfc2Vxbm9baWR4XSA9IG9iai0+bGFzdF9yZWFkX3NlcW5vOwogCiAJcmV0dXJuIHJldDsK IH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9yLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5jCmluZGV4IDUxZTk5NzguLjJkODE5 ODUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9yLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVfZXJyb3IuYwpAQCAtNzU3LDE0ICs3NTcs MTQgQEAgc3RhdGljIHZvaWQgaTkxNV9yZWNvcmRfcmluZ19zdGF0ZShzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LAogCQkJPSBJOTE1X1JFQUQoUklOR19TWU5DXzAocmluZy0+bW1pb19iYXNlKSk7CiAJ CWVyaW5nLT5zZW1hcGhvcmVfbWJveGVzWzFdCiAJCQk9IEk5MTVfUkVBRChSSU5HX1NZTkNfMShy aW5nLT5tbWlvX2Jhc2UpKTsKLQkJZXJpbmctPnNlbWFwaG9yZV9zZXFub1swXSA9IHJpbmctPnN5 bmNfc2Vxbm9bMF07Ci0JCWVyaW5nLT5zZW1hcGhvcmVfc2Vxbm9bMV0gPSByaW5nLT5zeW5jX3Nl cW5vWzFdOworCQllcmluZy0+c2VtYXBob3JlX3NlcW5vWzBdID0gcmluZy0+c2VtYXBob3JlLnN5 bmNfc2Vxbm9bMF07CisJCWVyaW5nLT5zZW1hcGhvcmVfc2Vxbm9bMV0gPSByaW5nLT5zZW1hcGhv cmUuc3luY19zZXFub1sxXTsKIAl9CiAKIAlpZiAoSEFTX1ZFQk9YKGRldikpIHsKIAkJZXJpbmct PnNlbWFwaG9yZV9tYm94ZXNbMl0gPQogCQkJSTkxNV9SRUFEKFJJTkdfU1lOQ18yKHJpbmctPm1t aW9fYmFzZSkpOwotCQllcmluZy0+c2VtYXBob3JlX3NlcW5vWzJdID0gcmluZy0+c3luY19zZXFu b1syXTsKKwkJZXJpbmctPnNlbWFwaG9yZV9zZXFub1syXSA9IHJpbmctPnNlbWFwaG9yZS5zeW5j X3NlcW5vWzJdOwogCX0KIAogCWlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA+PSA0KSB7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9pcnEuYwppbmRleCA3ZTBkNTc3Li4yZDc2MTgzIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfaXJxLmMKQEAgLTI1OTUsOCArMjU5NSw3IEBAIHNlbWFwaG9yZV93YWl0X3RvX3NpZ25hbGxl cl9yaW5nKHN0cnVjdCBpbnRlbF9yaW5nX2J1ZmZlciAqcmluZywgdTMyIGlwZWhyKQogCQkJaWYo cmluZyA9PSBzaWduYWxsZXIpCiAJCQkJY29udGludWU7CiAKLQkJCWlmIChzeW5jX2JpdHMgPT0K LQkJCSAgICBzaWduYWxsZXItPnNlbWFwaG9yZV9yZWdpc3RlcltyaW5nLT5pZF0pCisJCQlpZiAo c3luY19iaXRzID09IHNpZ25hbGxlci0+c2VtYXBob3JlLm1ib3gud2FpdFtyaW5nLT5pZF0pCiAJ CQkJcmV0dXJuIHNpZ25hbGxlcjsKIAkJfQogCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Jp bmdidWZmZXIuYwppbmRleCBhYjIyZDcwLi4zMDc2YTk5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcmluZ2J1ZmZlci5jCkBAIC03MDYsNyArNzA2LDcgQEAgZ2VuNl9hZGRfcmVxdWVzdChz dHJ1Y3QgaW50ZWxfcmluZ19idWZmZXIgKnJpbmcpCiAKIAlpZiAoaTkxNV9zZW1hcGhvcmVfaXNf ZW5hYmxlZChkZXYpKSB7CiAJCWZvcl9lYWNoX3JpbmcodXNlbGVzcywgZGV2X3ByaXYsIGkpIHsK LQkJCXUzMiBtYm94X3JlZyA9IHJpbmctPnNpZ25hbF9tYm94W2ldOworCQkJdTMyIG1ib3hfcmVn ID0gcmluZy0+c2VtYXBob3JlLm1ib3guc2lnbmFsW2ldOwogCQkJaWYgKG1ib3hfcmVnICE9IEdF TjZfTk9TWU5DKQogCQkJCXVwZGF0ZV9tYm94ZXMocmluZywgbWJveF9yZWcpOwogCQl9CkBAIC03 NDAsMTAgKzc0MCwxMSBAQCBnZW42X3Jpbmdfc3luYyhzdHJ1Y3QgaW50ZWxfcmluZ19idWZmZXIg KndhaXRlciwKIAkgICAgICAgc3RydWN0IGludGVsX3JpbmdfYnVmZmVyICpzaWduYWxsZXIsCiAJ ICAgICAgIHUzMiBzZXFubykKIHsKLQlpbnQgcmV0OwogCXUzMiBkdzEgPSBNSV9TRU1BUEhPUkVf TUJPWCB8CiAJCSAgTUlfU0VNQVBIT1JFX0NPTVBBUkUgfAogCQkgIE1JX1NFTUFQSE9SRV9SRUdJ U1RFUjsKKwl1MzIgd2FpdF9tYm94ID0gc2lnbmFsbGVyLT5zZW1hcGhvcmUubWJveC53YWl0W3dh aXRlci0+aWRdOworCWludCByZXQ7CiAKIAkvKiBUaHJvdWdob3V0IGFsbCBvZiB0aGUgR0VNIGNv ZGUsIHNlcW5vIHBhc3NlZCBpbXBsaWVzIG91ciBjdXJyZW50CiAJICogc2Vxbm8gaXMgPj0gdGhl IGxhc3Qgc2Vxbm8gZXhlY3V0ZWQuIEhvd2V2ZXIgZm9yIGhhcmR3YXJlIHRoZQpAQCAtNzUxLDgg Kzc1Miw3IEBAIGdlbjZfcmluZ19zeW5jKHN0cnVjdCBpbnRlbF9yaW5nX2J1ZmZlciAqd2FpdGVy LAogCSAqLwogCXNlcW5vIC09IDE7CiAKLQlXQVJOX09OKHNpZ25hbGxlci0+c2VtYXBob3JlX3Jl Z2lzdGVyW3dhaXRlci0+aWRdID09Ci0JCU1JX1NFTUFQSE9SRV9TWU5DX0lOVkFMSUQpOworCVdB Uk5fT04od2FpdF9tYm94ID09IE1JX1NFTUFQSE9SRV9TWU5DX0lOVkFMSUQpOwogCiAJcmV0ID0g aW50ZWxfcmluZ19iZWdpbih3YWl0ZXIsIDQpOwogCWlmIChyZXQpCkBAIC03NjAsOSArNzYwLDcg QEAgZ2VuNl9yaW5nX3N5bmMoc3RydWN0IGludGVsX3JpbmdfYnVmZmVyICp3YWl0ZXIsCiAKIAkv KiBJZiBzZXFubyB3cmFwIGhhcHBlbmVkLCBvbWl0IHRoZSB3YWl0IHdpdGggbm8tb3BzICovCiAJ aWYgKGxpa2VseSghaTkxNV9nZW1faGFzX3NlcW5vX3dyYXBwZWQod2FpdGVyLT5kZXYsIHNlcW5v KSkpIHsKLQkJaW50ZWxfcmluZ19lbWl0KHdhaXRlciwKLQkJCQlkdzEgfAotCQkJCXNpZ25hbGxl ci0+c2VtYXBob3JlX3JlZ2lzdGVyW3dhaXRlci0+aWRdKTsKKwkJaW50ZWxfcmluZ19lbWl0KHdh aXRlciwgZHcxIHwgd2FpdF9tYm94KTsKIAkJaW50ZWxfcmluZ19lbWl0KHdhaXRlciwgc2Vxbm8p OwogCQlpbnRlbF9yaW5nX2VtaXQod2FpdGVyLCAwKTsKIAkJaW50ZWxfcmluZ19lbWl0KHdhaXRl ciwgTUlfTk9PUCk7CkBAIC0xNDE0LDcgKzE0MTIsNyBAQCBzdGF0aWMgaW50IGludGVsX2luaXRf cmluZ19idWZmZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAlJTklUX0xJU1RfSEVBRCgmcmlu Zy0+YWN0aXZlX2xpc3QpOwogCUlOSVRfTElTVF9IRUFEKCZyaW5nLT5yZXF1ZXN0X2xpc3QpOwog CXJpbmctPnNpemUgPSAzMiAqIFBBR0VfU0laRTsKLQltZW1zZXQocmluZy0+c3luY19zZXFubywg MCwgc2l6ZW9mKHJpbmctPnN5bmNfc2Vxbm8pKTsKKwltZW1zZXQocmluZy0+c2VtYXBob3JlLnN5 bmNfc2Vxbm8sIDAsIHNpemVvZihyaW5nLT5zZW1hcGhvcmUuc3luY19zZXFubykpOwogCiAJaW5p dF93YWl0cXVldWVfaGVhZCgmcmluZy0+aXJxX3F1ZXVlKTsKIApAQCAtMTkyMSwyMyArMTkxOSwy MyBAQCBpbnQgaW50ZWxfaW5pdF9yZW5kZXJfcmluZ19idWZmZXIoc3RydWN0IGRybV9kZXZpY2Ug KmRldikKIAkJcmluZy0+aXJxX2VuYWJsZV9tYXNrID0gR1RfUkVOREVSX1VTRVJfSU5URVJSVVBU OwogCQlyaW5nLT5nZXRfc2Vxbm8gPSBnZW42X3JpbmdfZ2V0X3NlcW5vOwogCQlyaW5nLT5zZXRf c2Vxbm8gPSByaW5nX3NldF9zZXFubzsKLQkJcmluZy0+c3luY190byA9IGdlbjZfcmluZ19zeW5j OworCQlyaW5nLT5zZW1hcGhvcmUuc3luY190byA9IGdlbjZfcmluZ19zeW5jOwogCQkvKgogCQkg KiBUaGUgY3VycmVudCBzZW1hcGhvcmUgaXMgb25seSBhcHBsaWVkIG9uIHByZS1nZW44IHBsYXRm b3JtLgogCQkgKiBBbmQgdGhlcmUgaXMgbm8gVkNTMiByaW5nIG9uIHRoZSBwcmUtZ2VuOCBwbGF0 Zm9ybS4gU28gdGhlCiAJCSAqIHNlbWFwaG9yZSBiZXR3ZWVuIFJDUyBhbmQgVkNTMiBpcyBpbml0 aWFsaXplZCBhcyBJTlZBTElELgogCQkgKiBHZW44IHdpbGwgaW5pdGlhbGl6ZSB0aGUgc2VtYSBi ZXR3ZWVuIFZDUzIgYW5kIFJDUyBsYXRlci4KIAkJICovCi0JCXJpbmctPnNlbWFwaG9yZV9yZWdp c3RlcltSQ1NdID0gTUlfU0VNQVBIT1JFX1NZTkNfSU5WQUxJRDsKLQkJcmluZy0+c2VtYXBob3Jl X3JlZ2lzdGVyW1ZDU10gPSBNSV9TRU1BUEhPUkVfU1lOQ19SVjsKLQkJcmluZy0+c2VtYXBob3Jl X3JlZ2lzdGVyW0JDU10gPSBNSV9TRU1BUEhPUkVfU1lOQ19SQjsKLQkJcmluZy0+c2VtYXBob3Jl X3JlZ2lzdGVyW1ZFQ1NdID0gTUlfU0VNQVBIT1JFX1NZTkNfUlZFOwotCQlyaW5nLT5zZW1hcGhv cmVfcmVnaXN0ZXJbVkNTMl0gPSBNSV9TRU1BUEhPUkVfU1lOQ19JTlZBTElEOwotCQlyaW5nLT5z aWduYWxfbWJveFtSQ1NdID0gR0VONl9OT1NZTkM7Ci0JCXJpbmctPnNpZ25hbF9tYm94W1ZDU10g PSBHRU42X1ZSU1lOQzsKLQkJcmluZy0+c2lnbmFsX21ib3hbQkNTXSA9IEdFTjZfQlJTWU5DOwot CQlyaW5nLT5zaWduYWxfbWJveFtWRUNTXSA9IEdFTjZfVkVSU1lOQzsKLQkJcmluZy0+c2lnbmFs X21ib3hbVkNTMl0gPSBHRU42X05PU1lOQzsKKwkJcmluZy0+c2VtYXBob3JlLm1ib3gud2FpdFtS Q1NdID0gTUlfU0VNQVBIT1JFX1NZTkNfSU5WQUxJRDsKKwkJcmluZy0+c2VtYXBob3JlLm1ib3gu d2FpdFtWQ1NdID0gTUlfU0VNQVBIT1JFX1NZTkNfUlY7CisJCXJpbmctPnNlbWFwaG9yZS5tYm94 LndhaXRbQkNTXSA9IE1JX1NFTUFQSE9SRV9TWU5DX1JCOworCQlyaW5nLT5zZW1hcGhvcmUubWJv eC53YWl0W1ZFQ1NdID0gTUlfU0VNQVBIT1JFX1NZTkNfUlZFOworCQlyaW5nLT5zZW1hcGhvcmUu bWJveC53YWl0W1ZDUzJdID0gTUlfU0VNQVBIT1JFX1NZTkNfSU5WQUxJRDsKKwkJcmluZy0+c2Vt YXBob3JlLm1ib3guc2lnbmFsW1JDU10gPSBHRU42X05PU1lOQzsKKwkJcmluZy0+c2VtYXBob3Jl Lm1ib3guc2lnbmFsW1ZDU10gPSBHRU42X1ZSU1lOQzsKKwkJcmluZy0+c2VtYXBob3JlLm1ib3gu c2lnbmFsW0JDU10gPSBHRU42X0JSU1lOQzsKKwkJcmluZy0+c2VtYXBob3JlLm1ib3guc2lnbmFs W1ZFQ1NdID0gR0VONl9WRVJTWU5DOworCQlyaW5nLT5zZW1hcGhvcmUubWJveC5zaWduYWxbVkNT Ml0gPSBHRU42X05PU1lOQzsKIAl9IGVsc2UgaWYgKElTX0dFTjUoZGV2KSkgewogCQlyaW5nLT5h ZGRfcmVxdWVzdCA9IHBjX3JlbmRlcl9hZGRfcmVxdWVzdDsKIAkJcmluZy0+Zmx1c2ggPSBnZW40 X3JlbmRlcl9yaW5nX2ZsdXNoOwpAQCAtMjEwNSwyMyArMjEwMywyMyBAQCBpbnQgaW50ZWxfaW5p dF9ic2RfcmluZ19idWZmZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAkJCXJpbmctPmRpc3Bh dGNoX2V4ZWNidWZmZXIgPQogCQkJCWdlbjZfcmluZ19kaXNwYXRjaF9leGVjYnVmZmVyOwogCQl9 Ci0JCXJpbmctPnN5bmNfdG8gPSBnZW42X3Jpbmdfc3luYzsKKwkJcmluZy0+c2VtYXBob3JlLnN5 bmNfdG8gPSBnZW42X3Jpbmdfc3luYzsKIAkJLyoKIAkJICogVGhlIGN1cnJlbnQgc2VtYXBob3Jl IGlzIG9ubHkgYXBwbGllZCBvbiBwcmUtZ2VuOCBwbGF0Zm9ybS4KIAkJICogQW5kIHRoZXJlIGlz IG5vIFZDUzIgcmluZyBvbiB0aGUgcHJlLWdlbjggcGxhdGZvcm0uIFNvIHRoZQogCQkgKiBzZW1h cGhvcmUgYmV0d2VlbiBWQ1MgYW5kIFZDUzIgaXMgaW5pdGlhbGl6ZWQgYXMgSU5WQUxJRC4KIAkJ ICogR2VuOCB3aWxsIGluaXRpYWxpemUgdGhlIHNlbWEgYmV0d2VlbiBWQ1MyIGFuZCBWQ1MgbGF0 ZXIuCiAJCSAqLwotCQlyaW5nLT5zZW1hcGhvcmVfcmVnaXN0ZXJbUkNTXSA9IE1JX1NFTUFQSE9S RV9TWU5DX1ZSOwotCQlyaW5nLT5zZW1hcGhvcmVfcmVnaXN0ZXJbVkNTXSA9IE1JX1NFTUFQSE9S RV9TWU5DX0lOVkFMSUQ7Ci0JCXJpbmctPnNlbWFwaG9yZV9yZWdpc3RlcltCQ1NdID0gTUlfU0VN QVBIT1JFX1NZTkNfVkI7Ci0JCXJpbmctPnNlbWFwaG9yZV9yZWdpc3RlcltWRUNTXSA9IE1JX1NF TUFQSE9SRV9TWU5DX1ZWRTsKLQkJcmluZy0+c2VtYXBob3JlX3JlZ2lzdGVyW1ZDUzJdID0gTUlf U0VNQVBIT1JFX1NZTkNfSU5WQUxJRDsKLQkJcmluZy0+c2lnbmFsX21ib3hbUkNTXSA9IEdFTjZf UlZTWU5DOwotCQlyaW5nLT5zaWduYWxfbWJveFtWQ1NdID0gR0VONl9OT1NZTkM7Ci0JCXJpbmct PnNpZ25hbF9tYm94W0JDU10gPSBHRU42X0JWU1lOQzsKLQkJcmluZy0+c2lnbmFsX21ib3hbVkVD U10gPSBHRU42X1ZFVlNZTkM7Ci0JCXJpbmctPnNpZ25hbF9tYm94W1ZDUzJdID0gR0VONl9OT1NZ TkM7CisJCXJpbmctPnNlbWFwaG9yZS5tYm94LndhaXRbUkNTXSA9IE1JX1NFTUFQSE9SRV9TWU5D X1ZSOworCQlyaW5nLT5zZW1hcGhvcmUubWJveC53YWl0W1ZDU10gPSBNSV9TRU1BUEhPUkVfU1lO Q19JTlZBTElEOworCQlyaW5nLT5zZW1hcGhvcmUubWJveC53YWl0W0JDU10gPSBNSV9TRU1BUEhP UkVfU1lOQ19WQjsKKwkJcmluZy0+c2VtYXBob3JlLm1ib3gud2FpdFtWRUNTXSA9IE1JX1NFTUFQ SE9SRV9TWU5DX1ZWRTsKKwkJcmluZy0+c2VtYXBob3JlLm1ib3gud2FpdFtWQ1MyXSA9IE1JX1NF TUFQSE9SRV9TWU5DX0lOVkFMSUQ7CisJCXJpbmctPnNlbWFwaG9yZS5tYm94LnNpZ25hbFtSQ1Nd ID0gR0VONl9SVlNZTkM7CisJCXJpbmctPnNlbWFwaG9yZS5tYm94LnNpZ25hbFtWQ1NdID0gR0VO Nl9OT1NZTkM7CisJCXJpbmctPnNlbWFwaG9yZS5tYm94LnNpZ25hbFtCQ1NdID0gR0VONl9CVlNZ TkM7CisJCXJpbmctPnNlbWFwaG9yZS5tYm94LnNpZ25hbFtWRUNTXSA9IEdFTjZfVkVWU1lOQzsK KwkJcmluZy0+c2VtYXBob3JlLm1ib3guc2lnbmFsW1ZDUzJdID0gR0VONl9OT1NZTkM7CiAJfSBl bHNlIHsKIAkJcmluZy0+bW1pb19iYXNlID0gQlNEX1JJTkdfQkFTRTsKIAkJcmluZy0+Zmx1c2gg PSBic2RfcmluZ19mbHVzaDsKQEAgLTIxNzMsMjMgKzIxNzEsMjMgQEAgaW50IGludGVsX2luaXRf YnNkMl9yaW5nX2J1ZmZlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCXJpbmctPmlycV9wdXQg PSBnZW44X3JpbmdfcHV0X2lycTsKIAlyaW5nLT5kaXNwYXRjaF9leGVjYnVmZmVyID0KIAkJCWdl bjhfcmluZ19kaXNwYXRjaF9leGVjYnVmZmVyOwotCXJpbmctPnN5bmNfdG8gPSBnZW42X3Jpbmdf c3luYzsKKwlyaW5nLT5zZW1hcGhvcmUuc3luY190byA9IGdlbjZfcmluZ19zeW5jOwogCS8qCiAJ ICogVGhlIGN1cnJlbnQgc2VtYXBob3JlIGlzIG9ubHkgYXBwbGllZCBvbiB0aGUgcHJlLWdlbjgu IEFuZCB0aGVyZQogCSAqIGlzIG5vIGJzZDIgcmluZyBvbiB0aGUgcHJlLWdlbjguIFNvIG5vdyB0 aGUgc2VtYXBob3JlX3JlZ2lzdGVyCiAJICogYmV0d2VlbiBWQ1MyIGFuZCBvdGhlciByaW5nIGlz IGluaXRpYWxpemVkIGFzIGludmFsaWQuCiAJICogR2VuOCB3aWxsIGluaXRpYWxpemUgdGhlIHNl bWEgYmV0d2VlbiBWQ1MyIGFuZCBvdGhlciByaW5nIGxhdGVyLgogCSAqLwotCXJpbmctPnNlbWFw aG9yZV9yZWdpc3RlcltSQ1NdID0gTUlfU0VNQVBIT1JFX1NZTkNfSU5WQUxJRDsKLQlyaW5nLT5z ZW1hcGhvcmVfcmVnaXN0ZXJbVkNTXSA9IE1JX1NFTUFQSE9SRV9TWU5DX0lOVkFMSUQ7Ci0Jcmlu Zy0+c2VtYXBob3JlX3JlZ2lzdGVyW0JDU10gPSBNSV9TRU1BUEhPUkVfU1lOQ19JTlZBTElEOwot CXJpbmctPnNlbWFwaG9yZV9yZWdpc3RlcltWRUNTXSA9IE1JX1NFTUFQSE9SRV9TWU5DX0lOVkFM SUQ7Ci0JcmluZy0+c2VtYXBob3JlX3JlZ2lzdGVyW1ZDUzJdID0gTUlfU0VNQVBIT1JFX1NZTkNf SU5WQUxJRDsKLQlyaW5nLT5zaWduYWxfbWJveFtSQ1NdID0gR0VONl9OT1NZTkM7Ci0JcmluZy0+ c2lnbmFsX21ib3hbVkNTXSA9IEdFTjZfTk9TWU5DOwotCXJpbmctPnNpZ25hbF9tYm94W0JDU10g PSBHRU42X05PU1lOQzsKLQlyaW5nLT5zaWduYWxfbWJveFtWRUNTXSA9IEdFTjZfTk9TWU5DOwot CXJpbmctPnNpZ25hbF9tYm94W1ZDUzJdID0gR0VONl9OT1NZTkM7CisJcmluZy0+c2VtYXBob3Jl Lm1ib3gud2FpdFtSQ1NdID0gTUlfU0VNQVBIT1JFX1NZTkNfSU5WQUxJRDsKKwlyaW5nLT5zZW1h cGhvcmUubWJveC53YWl0W1ZDU10gPSBNSV9TRU1BUEhPUkVfU1lOQ19JTlZBTElEOworCXJpbmct PnNlbWFwaG9yZS5tYm94LndhaXRbQkNTXSA9IE1JX1NFTUFQSE9SRV9TWU5DX0lOVkFMSUQ7CisJ cmluZy0+c2VtYXBob3JlLm1ib3gud2FpdFtWRUNTXSA9IE1JX1NFTUFQSE9SRV9TWU5DX0lOVkFM SUQ7CisJcmluZy0+c2VtYXBob3JlLm1ib3gud2FpdFtWQ1MyXSA9IE1JX1NFTUFQSE9SRV9TWU5D X0lOVkFMSUQ7CisJcmluZy0+c2VtYXBob3JlLm1ib3guc2lnbmFsW1JDU10gPSBHRU42X05PU1lO QzsKKwlyaW5nLT5zZW1hcGhvcmUubWJveC5zaWduYWxbVkNTXSA9IEdFTjZfTk9TWU5DOworCXJp bmctPnNlbWFwaG9yZS5tYm94LnNpZ25hbFtCQ1NdID0gR0VONl9OT1NZTkM7CisJcmluZy0+c2Vt YXBob3JlLm1ib3guc2lnbmFsW1ZFQ1NdID0gR0VONl9OT1NZTkM7CisJcmluZy0+c2VtYXBob3Jl Lm1ib3guc2lnbmFsW1ZDUzJdID0gR0VONl9OT1NZTkM7CiAKIAlyaW5nLT5pbml0ID0gaW5pdF9y aW5nX2NvbW1vbjsKIApAQCAtMjIyMiwyMyArMjIyMCwyMyBAQCBpbnQgaW50ZWxfaW5pdF9ibHRf cmluZ19idWZmZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAkJcmluZy0+aXJxX3B1dCA9IGdl bjZfcmluZ19wdXRfaXJxOwogCQlyaW5nLT5kaXNwYXRjaF9leGVjYnVmZmVyID0gZ2VuNl9yaW5n X2Rpc3BhdGNoX2V4ZWNidWZmZXI7CiAJfQotCXJpbmctPnN5bmNfdG8gPSBnZW42X3Jpbmdfc3lu YzsKKwlyaW5nLT5zZW1hcGhvcmUuc3luY190byA9IGdlbjZfcmluZ19zeW5jOwogCS8qCiAJICog VGhlIGN1cnJlbnQgc2VtYXBob3JlIGlzIG9ubHkgYXBwbGllZCBvbiBwcmUtZ2VuOCBwbGF0Zm9y bS4gQW5kCiAJICogdGhlcmUgaXMgbm8gVkNTMiByaW5nIG9uIHRoZSBwcmUtZ2VuOCBwbGF0Zm9y bS4gU28gdGhlIHNlbWFwaG9yZQogCSAqIGJldHdlZW4gQkNTIGFuZCBWQ1MyIGlzIGluaXRpYWxp emVkIGFzIElOVkFMSUQuCiAJICogR2VuOCB3aWxsIGluaXRpYWxpemUgdGhlIHNlbWEgYmV0d2Vl biBCQ1MgYW5kIFZDUzIgbGF0ZXIuCiAJICovCi0JcmluZy0+c2VtYXBob3JlX3JlZ2lzdGVyW1JD U10gPSBNSV9TRU1BUEhPUkVfU1lOQ19CUjsKLQlyaW5nLT5zZW1hcGhvcmVfcmVnaXN0ZXJbVkNT XSA9IE1JX1NFTUFQSE9SRV9TWU5DX0JWOwotCXJpbmctPnNlbWFwaG9yZV9yZWdpc3RlcltCQ1Nd ID0gTUlfU0VNQVBIT1JFX1NZTkNfSU5WQUxJRDsKLQlyaW5nLT5zZW1hcGhvcmVfcmVnaXN0ZXJb VkVDU10gPSBNSV9TRU1BUEhPUkVfU1lOQ19CVkU7Ci0JcmluZy0+c2VtYXBob3JlX3JlZ2lzdGVy W1ZDUzJdID0gTUlfU0VNQVBIT1JFX1NZTkNfSU5WQUxJRDsKLQlyaW5nLT5zaWduYWxfbWJveFtS Q1NdID0gR0VONl9SQlNZTkM7Ci0JcmluZy0+c2lnbmFsX21ib3hbVkNTXSA9IEdFTjZfVkJTWU5D OwotCXJpbmctPnNpZ25hbF9tYm94W0JDU10gPSBHRU42X05PU1lOQzsKLQlyaW5nLT5zaWduYWxf bWJveFtWRUNTXSA9IEdFTjZfVkVCU1lOQzsKLQlyaW5nLT5zaWduYWxfbWJveFtWQ1MyXSA9IEdF TjZfTk9TWU5DOworCXJpbmctPnNlbWFwaG9yZS5tYm94LndhaXRbUkNTXSA9IE1JX1NFTUFQSE9S RV9TWU5DX0JSOworCXJpbmctPnNlbWFwaG9yZS5tYm94LndhaXRbVkNTXSA9IE1JX1NFTUFQSE9S RV9TWU5DX0JWOworCXJpbmctPnNlbWFwaG9yZS5tYm94LndhaXRbQkNTXSA9IE1JX1NFTUFQSE9S RV9TWU5DX0lOVkFMSUQ7CisJcmluZy0+c2VtYXBob3JlLm1ib3gud2FpdFtWRUNTXSA9IE1JX1NF TUFQSE9SRV9TWU5DX0JWRTsKKwlyaW5nLT5zZW1hcGhvcmUubWJveC53YWl0W1ZDUzJdID0gTUlf U0VNQVBIT1JFX1NZTkNfSU5WQUxJRDsKKwlyaW5nLT5zZW1hcGhvcmUubWJveC5zaWduYWxbUkNT XSA9IEdFTjZfUkJTWU5DOworCXJpbmctPnNlbWFwaG9yZS5tYm94LnNpZ25hbFtWQ1NdID0gR0VO Nl9WQlNZTkM7CisJcmluZy0+c2VtYXBob3JlLm1ib3guc2lnbmFsW0JDU10gPSBHRU42X05PU1lO QzsKKwlyaW5nLT5zZW1hcGhvcmUubWJveC5zaWduYWxbVkVDU10gPSBHRU42X1ZFQlNZTkM7CisJ cmluZy0+c2VtYXBob3JlLm1ib3guc2lnbmFsW1ZDUzJdID0gR0VONl9OT1NZTkM7CiAJcmluZy0+ aW5pdCA9IGluaXRfcmluZ19jb21tb247CiAKIAlyZXR1cm4gaW50ZWxfaW5pdF9yaW5nX2J1ZmZl cihkZXYsIHJpbmcpOwpAQCAtMjI3MSwxNyArMjI2OSwxNyBAQCBpbnQgaW50ZWxfaW5pdF92ZWJv eF9yaW5nX2J1ZmZlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCQlyaW5nLT5pcnFfcHV0ID0g aHN3X3ZlYm94X3B1dF9pcnE7CiAJCXJpbmctPmRpc3BhdGNoX2V4ZWNidWZmZXIgPSBnZW42X3Jp bmdfZGlzcGF0Y2hfZXhlY2J1ZmZlcjsKIAl9Ci0JcmluZy0+c3luY190byA9IGdlbjZfcmluZ19z eW5jOwotCXJpbmctPnNlbWFwaG9yZV9yZWdpc3RlcltSQ1NdID0gTUlfU0VNQVBIT1JFX1NZTkNf VkVSOwotCXJpbmctPnNlbWFwaG9yZV9yZWdpc3RlcltWQ1NdID0gTUlfU0VNQVBIT1JFX1NZTkNf VkVWOwotCXJpbmctPnNlbWFwaG9yZV9yZWdpc3RlcltCQ1NdID0gTUlfU0VNQVBIT1JFX1NZTkNf VkVCOwotCXJpbmctPnNlbWFwaG9yZV9yZWdpc3RlcltWRUNTXSA9IE1JX1NFTUFQSE9SRV9TWU5D X0lOVkFMSUQ7Ci0JcmluZy0+c2VtYXBob3JlX3JlZ2lzdGVyW1ZDUzJdID0gTUlfU0VNQVBIT1JF X1NZTkNfSU5WQUxJRDsKLQlyaW5nLT5zaWduYWxfbWJveFtSQ1NdID0gR0VONl9SVkVTWU5DOwot CXJpbmctPnNpZ25hbF9tYm94W1ZDU10gPSBHRU42X1ZWRVNZTkM7Ci0JcmluZy0+c2lnbmFsX21i b3hbQkNTXSA9IEdFTjZfQlZFU1lOQzsKLQlyaW5nLT5zaWduYWxfbWJveFtWRUNTXSA9IEdFTjZf Tk9TWU5DOwotCXJpbmctPnNpZ25hbF9tYm94W1ZDUzJdID0gR0VONl9OT1NZTkM7CisJcmluZy0+ c2VtYXBob3JlLnN5bmNfdG8gPSBnZW42X3Jpbmdfc3luYzsKKwlyaW5nLT5zZW1hcGhvcmUubWJv eC53YWl0W1JDU10gPSBNSV9TRU1BUEhPUkVfU1lOQ19WRVI7CisJcmluZy0+c2VtYXBob3JlLm1i b3gud2FpdFtWQ1NdID0gTUlfU0VNQVBIT1JFX1NZTkNfVkVWOworCXJpbmctPnNlbWFwaG9yZS5t Ym94LndhaXRbQkNTXSA9IE1JX1NFTUFQSE9SRV9TWU5DX1ZFQjsKKwlyaW5nLT5zZW1hcGhvcmUu bWJveC53YWl0W1ZFQ1NdID0gTUlfU0VNQVBIT1JFX1NZTkNfSU5WQUxJRDsKKwlyaW5nLT5zZW1h cGhvcmUubWJveC53YWl0W1ZDUzJdID0gTUlfU0VNQVBIT1JFX1NZTkNfSU5WQUxJRDsKKwlyaW5n LT5zZW1hcGhvcmUubWJveC5zaWduYWxbUkNTXSA9IEdFTjZfUlZFU1lOQzsKKwlyaW5nLT5zZW1h cGhvcmUubWJveC5zaWduYWxbVkNTXSA9IEdFTjZfVlZFU1lOQzsKKwlyaW5nLT5zZW1hcGhvcmUu bWJveC5zaWduYWxbQkNTXSA9IEdFTjZfQlZFU1lOQzsKKwlyaW5nLT5zZW1hcGhvcmUubWJveC5z aWduYWxbVkVDU10gPSBHRU42X05PU1lOQzsKKwlyaW5nLT5zZW1hcGhvcmUubWJveC5zaWduYWxb VkNTMl0gPSBHRU42X05PU1lOQzsKIAlyaW5nLT5pbml0ID0gaW5pdF9yaW5nX2NvbW1vbjsKIAog CXJldHVybiBpbnRlbF9pbml0X3JpbmdfYnVmZmVyKGRldiwgcmluZyk7CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKaW5kZXggMTNlMzk4Zi4uNmE0NGE2NCAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaApAQCAtOTAsNyArOTAsNiBAQCBzdHJ1Y3Qg IGludGVsX3JpbmdfYnVmZmVyIHsKIAl1bnNpZ25lZCBpcnFfcmVmY291bnQ7IC8qIHByb3RlY3Rl ZCBieSBkZXZfcHJpdi0+aXJxX2xvY2sgKi8KIAl1MzIJCWlycV9lbmFibGVfbWFzazsJLyogYml0 bWFzayB0byBlbmFibGUgcmluZyBpbnRlcnJ1cHQgKi8KIAl1MzIJCXRyYWNlX2lycV9zZXFubzsK LQl1MzIJCXN5bmNfc2Vxbm9bSTkxNV9OVU1fUklOR1MtMV07CiAJYm9vbCBfX211c3RfY2hlY2sg KCppcnFfZ2V0KShzdHJ1Y3QgaW50ZWxfcmluZ19idWZmZXIgKnJpbmcpOwogCXZvaWQJCSgqaXJx X3B1dCkoc3RydWN0IGludGVsX3JpbmdfYnVmZmVyICpyaW5nKTsKIApAQCAtMTE4LDE0ICsxMTcs MjAgQEAgc3RydWN0ICBpbnRlbF9yaW5nX2J1ZmZlciB7CiAjZGVmaW5lIEk5MTVfRElTUEFUQ0hf U0VDVVJFIDB4MQogI2RlZmluZSBJOTE1X0RJU1BBVENIX1BJTk5FRCAweDIKIAl2b2lkCQkoKmNs ZWFudXApKHN0cnVjdCBpbnRlbF9yaW5nX2J1ZmZlciAqcmluZyk7Ci0JaW50CQkoKnN5bmNfdG8p KHN0cnVjdCBpbnRlbF9yaW5nX2J1ZmZlciAqcmluZywKKworCXN0cnVjdCB7CisJCXUzMglzeW5j X3NlcW5vW0k5MTVfTlVNX1JJTkdTLTFdOworCQkvKiBBS0Egd2FpdCgpICovCisJCWludAkoKnN5 bmNfdG8pKHN0cnVjdCBpbnRlbF9yaW5nX2J1ZmZlciAqcmluZywKIAkJCQkgICBzdHJ1Y3QgaW50 ZWxfcmluZ19idWZmZXIgKnRvLAogCQkJCSAgIHUzMiBzZXFubyk7Ci0KLQkvKiBvdXIgbWJveCB3 cml0dGVuIGJ5IG90aGVycyAqLwotCXUzMgkJc2VtYXBob3JlX3JlZ2lzdGVyW0k5MTVfTlVNX1JJ TkdTXTsKLQkvKiBtYm94ZXMgdGhpcyByaW5nIHNpZ25hbHMgdG8gKi8KLQl1MzIJCXNpZ25hbF9t Ym94W0k5MTVfTlVNX1JJTkdTXTsKKwkJc3RydWN0IHsKKwkJCS8qIG91ciBtYm94IHdyaXR0ZW4g Ynkgb3RoZXJzICovCisJCQl1MzIJCXdhaXRbSTkxNV9OVU1fUklOR1NdOworCQkJLyogbWJveGVz IHRoaXMgcmluZyBzaWduYWxzIHRvICovCisJCQl1MzIJCXNpZ25hbFtJOTE1X05VTV9SSU5HU107 CisJCX0gbWJveDsKKwl9IHNlbWFwaG9yZTsKIAogCS8qKgogCSAqIExpc3Qgb2Ygb2JqZWN0cyBj dXJyZW50bHkgaW52b2x2ZWQgaW4gcmVuZGVyaW5nIGZyb20gdGhlCi0tIAoxLjkuMgoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK