From mboxrd@z Thu Jan 1 00:00:00 1970 From: Uma Shankar Subject: [v2 2/7] drm/i915: Define color lut range structure Date: Mon, 1 Apr 2019 23:00:06 +0530 Message-ID: <1554139811-13280-3-git-send-email-uma.shankar@intel.com> References: <1554139811-13280-1-git-send-email-uma.shankar@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1554139811-13280-1-git-send-email-uma.shankar@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 Cc: dcastagna@chromium.org, seanpaul@chromium.org, ville.syrjala@intel.com, harry.wentland@amd.com, maarten.lankhorst@intel.com List-Id: dri-devel@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClRo aXMgZGVmaW5lcyB0aGUgY29sb3IgbHV0IHJhbmdlcyBmb3IgMTBiaXQgYW5kIG11bHRpCnNlZ21l bnRlZCBnYW1tYSByYW5nZSBmb3IgSUNMLgoKU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOk IDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogVW1hIFNoYW5r YXIgPHVtYS5zaGFua2FyQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9jb2xvci5jIHwgMzAxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIDEg ZmlsZSBjaGFuZ2VkLCAyOTcgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvci5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfY29sb3IuYwppbmRleCBmMjkwN2NmLi44NGQ5M2VjIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2NvbG9yLmMKQEAgLTEwODMsOSArMTA4MywyNzkgQEAgc3RhdGljIGludCBpY2xf Y29sb3JfY2hlY2soc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiAJcmV0dXJu IDA7CiB9CiAKK2VudW0geworCUk5WFhfTFVUX1NJWkVfOEJJVCA9IDI1NiwKKwlJOVhYX0xVVF9T SVpFXzEwQklUID0gMTI5LAorCisJSUxLX0xVVF9TSVpFXzEwQklUID0gMTAyNCwKKwlJTEtfTFVU X1NJWkVfMTJCSVQgPSA1MTMsCisKKwlJVkJfTFVUX1NJWkVfU1BMSVQgPSA1MTIsCisKKwlDSFZf TFVUX1NJWkVfQ0dNX0RFR0FNTUEgPSA2NSwKKwlDSFZfTFVUX1NJWkVfQ0dNX0dBTU1BID0gMjU3 LAorfTsKKworI2RlZmluZSBJOVhYX0dBTU1BXzggXAorCXsgXAorCQkuZmxhZ3MgPSBEUk1fTU9E RV9MVVRfR0FNTUEsIFwKKwkJLmNvdW50ID0gMjU2LCBcCisJCS5pbnB1dF9icGMgPSA4LCAub3V0 cHV0X2JwYyA9IDgsIFwKKwkJLnN0YXJ0ID0gMCwgLmVuZCA9ICgxIDw8IDgpIC0gMSwgXAorCQku bWluID0gMCwgLm1heCA9ICgxIDw8IDgpIC0gMSwgXAorCX0KKworc3RhdGljIGNvbnN0IHN0cnVj dCBkcm1fY29sb3JfbHV0X3JhbmdlIGk5eHhfZ2FtbWFfOFtdID0geworCUk5WFhfR0FNTUFfOCwK K307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2NvbG9yX2x1dF9yYW5nZSBpOXh4X2dhbW1h XzEwX3Nsb3BlW10gPSB7CisJeworCQkuZmxhZ3MgPSAoRFJNX01PREVfTFVUX0dBTU1BIHwKKwkJ CSAgRFJNX01PREVfTFVUX0lOVEVSUE9MQVRFIHwKKwkJCSAgRFJNX01PREVfTFVUX05PTl9ERUNS RUFTSU5HKSwKKwkJLmNvdW50ID0gMTI5LAorCQkuaW5wdXRfYnBjID0gMTAsIC5vdXRwdXRfYnBj ID0gMTAsCisJCS5zdGFydCA9IDAsIC5lbmQgPSAxIDw8IDEwLAorCQkubWluID0gMCwgLm1heCA9 ICgxIDw8IDEwKSAtIDEsCisJfSwKK307CisKKyNkZWZpbmUgSTk2NV9HQU1NQV8xMCBcCisJeyBc CisJCS5mbGFncyA9IChEUk1fTU9ERV9MVVRfR0FNTUEgfCBcCisJCQkgIERSTV9NT0RFX0xVVF9J TlRFUlBPTEFURSB8IFwKKwkJCSAgRFJNX01PREVfTFVUX05PTl9ERUNSRUFTSU5HKSwgXAorCQku Y291bnQgPSAxMjgsIFwKKwkJLmlucHV0X2JwYyA9IDEwLCAub3V0cHV0X2JwYyA9IDE2LCBcCisJ CS5zdGFydCA9IDAsIC5lbmQgPSAoMSA8PCAxMCkgLSAoMSA8PCAxMCkgLyAxMjgsIFwKKwkJLm1p biA9IDAsIC5tYXggPSAoMSA8PCAxNikgLSAxLCBcCisJfSwgXAorCS8qIFBJUEVHQ01BWCAqLyBc CisJeyBcCisJCS5mbGFncyA9IChEUk1fTU9ERV9MVVRfR0FNTUEgfCBcCisJCQkgIERSTV9NT0RF X0xVVF9JTlRFUlBPTEFURSB8IFwKKwkJCSAgRFJNX01PREVfTFVUX1JFVVNFX0xBU1QgfCBcCisJ CQkgIERSTV9NT0RFX0xVVF9OT05fREVDUkVBU0lORyksIFwKKwkJLmNvdW50ID0gMSwgXAorCQku aW5wdXRfYnBjID0gMTAsIC5vdXRwdXRfYnBjID0gMTYsIFwKKwkJLnN0YXJ0ID0gKDEgPDwgMTAp IC0gKDEgPDwgMTApIC8gMTI4LCAuZW5kID0gMSA8PCAxMCwgXAorCQkubWluID0gMCwgLm1heCA9 IDEgPDwgMTYsIFwKKwl9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2NvbG9yX2x1dF9yYW5n ZSBpOTY1X2dhbW1hXzEwW10gPSB7CisJSTk2NV9HQU1NQV8xMCwKK307CisKK3N0YXRpYyBjb25z dCBzdHJ1Y3QgZHJtX2NvbG9yX2x1dF9yYW5nZSBpbGtfZ2FtbWFfZGVnYW1tYV84W10gPSB7CisJ eworCQkuZmxhZ3MgPSAoRFJNX01PREVfTFVUX0dBTU1BIHwKKwkJCSAgRFJNX01PREVfTFVUX0RF R0FNTUEpLAorCQkuY291bnQgPSAyNTYsCisJCS5pbnB1dF9icGMgPSA4LCAub3V0cHV0X2JwYyA9 IDgsCisJCS5zdGFydCA9IDAsIC5lbmQgPSAoMSA8PCA4KSAtIDEsCisJCS5taW4gPSAwLCAubWF4 ID0gKDEgPDwgOCkgLSAxLAorCX0sCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jb2xv cl9sdXRfcmFuZ2UgaWxrX2dhbW1hX2RlZ2FtbWFfMTBbXSA9IHsKKwl7CisJCS5mbGFncyA9IChE Uk1fTU9ERV9MVVRfR0FNTUEgfAorCQkJICBEUk1fTU9ERV9MVVRfREVHQU1NQSksCisJCS5jb3Vu dCA9IDEwMjQsCisJCS5pbnB1dF9icGMgPSAxMCwgLm91dHB1dF9icGMgPSAxMCwKKwkJLnN0YXJ0 ID0gMCwgLmVuZCA9ICgxIDw8IDEwKSAtIDEsCisJCS5taW4gPSAwLCAubWF4ID0gKDEgPDwgMTAp IC0gMSwKKwl9LAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY29sb3JfbHV0X3Jhbmdl IGlsa19nYW1tYV9kZWdhbW1hXzEycDRbXSA9IHsKKwl7CisJCS5mbGFncyA9IChEUk1fTU9ERV9M VVRfR0FNTUEgfAorCQkJICBEUk1fTU9ERV9MVVRfREVHQU1NQSB8CisJCQkgIERSTV9NT0RFX0xV VF9JTlRFUlBPTEFURSB8CisJCQkgIERSTV9NT0RFX0xVVF9OT05fREVDUkVBU0lORyksCisJCS5j b3VudCA9IDUxMiwKKwkJLmlucHV0X2JwYyA9IDEyLCAub3V0cHV0X2JwYyA9IDE2LAorCQkuc3Rh cnQgPSAwLCAuZW5kID0gKDEgPDwgMTIpIC0gKDEgPDwgMTIpIC8gNTEyLAorCQkubWluID0gMCwg Lm1heCA9ICgxIDw8IDE2KSAtIDEsCisJfSwKKwkvKiBQSVBFR0NNQVggKi8KKwl7CisJCS5mbGFn cyA9IChEUk1fTU9ERV9MVVRfR0FNTUEgfAorCQkJICBEUk1fTU9ERV9MVVRfREVHQU1NQSB8CisJ CQkgIERSTV9NT0RFX0xVVF9JTlRFUlBPTEFURSB8CisJCQkgIERSTV9NT0RFX0xVVF9SRVVTRV9M QVNUIHwKKwkJCSAgRFJNX01PREVfTFVUX05PTl9ERUNSRUFTSU5HKSwKKwkJLmNvdW50ID0gMSwK KwkJLmlucHV0X2JwYyA9IDEwLCAub3V0cHV0X2JwYyA9IDE2LAorCQkuc3RhcnQgPSAoMSA8PCAx MikgLSAoMSA8PCAxMikgLyA1MTIsIC5lbmQgPSAxIDw8IDEyLAorCQkubWluID0gMCwgLm1heCA9 IDEgPDwgMTYsCisJfSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2NvbG9yX2x1dF9y YW5nZSBnbGtfZ2FtbWFfMTBbXSA9IHsKKwl7CisJCS5mbGFncyA9IChEUk1fTU9ERV9MVVRfR0FN TUEgfAorCQkJICBEUk1fTU9ERV9MVVRfUkVGTEVDVF9ORUdBVElWRSksCisJCS5jb3VudCA9IDEw MjQsCisJCS5pbnB1dF9icGMgPSAxMCwgLm91dHB1dF9icGMgPSAxMCwKKwkJLnN0YXJ0ID0gMCwg LmVuZCA9ICgxIDw8IDEwKSAtIDEsCisJCS5taW4gPSAwLCAubWF4ID0gKDEgPDwgMTApIC0gMSwK Kwl9LAorCS8qIFBBTF9FWFRfR0NfTUFYICovCisJeworCQkuZmxhZ3MgPSAoRFJNX01PREVfTFVU X0dBTU1BIHwKKwkJCSAgRFJNX01PREVfTFVUX1JFRkxFQ1RfTkVHQVRJVkUgfAorCQkJICBEUk1f TU9ERV9MVVRfSU5URVJQT0xBVEUgfAorCQkJICBEUk1fTU9ERV9MVVRfUkVVU0VfTEFTVCB8CisJ CQkgIERSTV9NT0RFX0xVVF9OT05fREVDUkVBU0lORyksCisJCS5jb3VudCA9IDEsCisJCS5pbnB1 dF9icGMgPSAxMCwgLm91dHB1dF9icGMgPSAxNiwKKwkJLnN0YXJ0ID0gMSA8PCAxMCwgLmVuZCA9 IDMgPDwgMTAsCisJCS5taW4gPSAwLCAubWF4ID0gKDggPDwgMTYpIC0gMSwKKwl9LAorCS8qIFBB TF9FWFQyX0dDX01BWCAqLworCXsKKwkJLmZsYWdzID0gKERSTV9NT0RFX0xVVF9HQU1NQSB8CisJ CQkgIERSTV9NT0RFX0xVVF9SRUZMRUNUX05FR0FUSVZFIHwKKwkJCSAgRFJNX01PREVfTFVUX0lO VEVSUE9MQVRFIHwKKwkJCSAgRFJNX01PREVfTFVUX1JFVVNFX0xBU1QgfAorCQkJICBEUk1fTU9E RV9MVVRfTk9OX0RFQ1JFQVNJTkcpLAorCQkuY291bnQgPSAxLAorCQkuaW5wdXRfYnBjID0gMTAs IC5vdXRwdXRfYnBjID0gMTYsCisJCS5zdGFydCA9IDMgPDwgMTIsIC5lbmQgPSA3IDw8IDEyLAor CQkubWluID0gMCwgLm1heCA9ICg4IDw8IDE2KSAtIDEsCisJfSwKK307CisKKy8qIEZJWE1FIGlu cHV0IGJwYz8gKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2NvbG9yX2x1dF9yYW5nZSBnbGtf Z2FtbWFfMTJwNFtdID0geworCXsKKwkJLmZsYWdzID0gKERSTV9NT0RFX0xVVF9HQU1NQSB8CisJ CQkgIERSTV9NT0RFX0xVVF9SRUZMRUNUX05FR0FUSVZFIHwKKwkJCSAgRFJNX01PREVfTFVUX0lO VEVSUE9MQVRFIHwKKwkJCSAgRFJNX01PREVfTFVUX05PTl9ERUNSRUFTSU5HKSwKKwkJLmNvdW50 ID0gNTEyLAorCQkuaW5wdXRfYnBjID0gMTYsIC5vdXRwdXRfYnBjID0gMTYsCisJCS5zdGFydCA9 IDAsIC5lbmQgPSAoMSA8PCAxNikgLSAoMSA8PCAxNikgLyA1MTIsCisJCS5taW4gPSAwLCAubWF4 ID0gKDEgPDwgMTYpIC0gMSwKKwl9LAorCS8qIFBBTF9HQ19NQVggKi8KKwl7CisJCS5mbGFncyA9 IChEUk1fTU9ERV9MVVRfR0FNTUEgfAorCQkJICBEUk1fTU9ERV9MVVRfUkVGTEVDVF9ORUdBVElW RSB8CisJCQkgIERSTV9NT0RFX0xVVF9JTlRFUlBPTEFURSB8CisJCQkgIERSTV9NT0RFX0xVVF9S RVVTRV9MQVNUIHwKKwkJCSAgRFJNX01PREVfTFVUX05PTl9ERUNSRUFTSU5HKSwKKwkJLmNvdW50 ID0gMSwKKwkJLmlucHV0X2JwYyA9IDE2LCAub3V0cHV0X2JwYyA9IDE2LAorCQkuc3RhcnQgPSAo MSA8PCAxNikgLSAoMSA8PCAxNikgLyA1MTIsIC5lbmQgPSAxIDw8IDE2LAorCQkubWluID0gMCwg Lm1heCA9IDEgPDwgMTYsCisJfSwKKwkvKiBQQUxfRVhUX0dDX01BWCAqLworCXsKKwkJLmZsYWdz ID0gKERSTV9NT0RFX0xVVF9HQU1NQSB8CisJCQkgIERSTV9NT0RFX0xVVF9SRUZMRUNUX05FR0FU SVZFIHwKKwkJCSAgRFJNX01PREVfTFVUX0lOVEVSUE9MQVRFIHwKKwkJCSAgRFJNX01PREVfTFVU X1JFVVNFX0xBU1QgfAorCQkJICBEUk1fTU9ERV9MVVRfTk9OX0RFQ1JFQVNJTkcpLAorCQkuY291 bnQgPSAxLAorCQkuaW5wdXRfYnBjID0gMTYsIC5vdXRwdXRfYnBjID0gMTYsCisJCS5zdGFydCA9 IDEgPDwgMTYsIC5lbmQgPSAzIDw8IDE2LAorCQkubWluID0gMCwgLm1heCA9ICg4IDw8IDE2KSAt IDEsCisJfSwKKwkvKiBQQUxfRVhUMl9HQ19NQVggKi8KKwl7CisJCS5mbGFncyA9IChEUk1fTU9E RV9MVVRfR0FNTUEgfAorCQkJICBEUk1fTU9ERV9MVVRfUkVGTEVDVF9ORUdBVElWRSB8CisJCQkg IERSTV9NT0RFX0xVVF9JTlRFUlBPTEFURSB8CisJCQkgIERSTV9NT0RFX0xVVF9SRVVTRV9MQVNU IHwKKwkJCSAgRFJNX01PREVfTFVUX05PTl9ERUNSRUFTSU5HKSwKKwkJLmNvdW50ID0gMSwKKwkJ LmlucHV0X2JwYyA9IDE2LCAub3V0cHV0X2JwYyA9IDE2LAorCQkuc3RhcnQgPSAzIDw8IDE2LCAu ZW5kID0gNyA8PCAxNiwKKwkJLm1pbiA9IDAsIC5tYXggPSAoOCA8PCAxNikgLSAxLAorCX0sCit9 OworCisgLyogRklYTUUgaW5wdXQgYnBjPyAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY29s b3JfbHV0X3JhbmdlIGljbF9tdWx0aV9zZWdfZ2FtbWFbXSA9IHsKKwkvKiBzZWdtZW50IDEgYWth LiBzdXBlciBmaW5lIHNlZ21lbnQgKi8KKwl7CisJCS5mbGFncyA9IChEUk1fTU9ERV9MVVRfR0FN TUEgfAorCQkJICBEUk1fTU9ERV9MVVRfUkVGTEVDVF9ORUdBVElWRSB8CisJCQkgIERSTV9NT0RF X0xVVF9JTlRFUlBPTEFURSB8CisJCQkgIERSTV9NT0RFX0xVVF9OT05fREVDUkVBU0lORyksCisJ CS5jb3VudCA9IDksCisJCS5pbnB1dF9icGMgPSAyNCwgLm91dHB1dF9icGMgPSAxNiwKKwkJLnN0 YXJ0ID0gMCwgLmVuZCA9ICgxIDw8IDI0KSAvICgxMjggKiAyNTYpLAorCQkubWluID0gMCwgLm1h eCA9ICgxIDw8IDE2KSAtIDEsCisJfSwKKwkvKiBzZWdtZW50IDIgYWthLiBmaW5lIHNlZ21lbnQg Ki8KKwl7CisJCS5mbGFncyA9IChEUk1fTU9ERV9MVVRfR0FNTUEgfAorCQkJICBEUk1fTU9ERV9M VVRfUkVGTEVDVF9ORUdBVElWRSB8CisJCQkgIERSTV9NT0RFX0xVVF9JTlRFUlBPTEFURSB8CisJ CQkgIERSTV9NT0RFX0xVVF9OT05fREVDUkVBU0lORyksCisJCS5jb3VudCA9IDI1NywKKwkJLmlu cHV0X2JwYyA9IDI0LCAub3V0cHV0X2JwYyA9IDE2LAorCQkuc3RhcnQgPSAwLCAuZW5kID0gKDEg PDwgMjQpIC8gMTI4LAorCQkubWluID0gMCwgLm1heCA9ICgxIDw8IDE2KSAtIDEsCisJfSwKKwkv KiBzZWdtZW50IDMgYWthLiBjb2Fyc2Ugc2VnbWVudCAqLworCXsKKwkJLmZsYWdzID0gKERSTV9N T0RFX0xVVF9HQU1NQSB8CisJCQkgIERSTV9NT0RFX0xVVF9SRUZMRUNUX05FR0FUSVZFIHwKKwkJ CSAgRFJNX01PREVfTFVUX0lOVEVSUE9MQVRFIHwKKwkJCSAgRFJNX01PREVfTFVUX05PTl9ERUNS RUFTSU5HKSwKKwkJLmNvdW50ID0gMjU3LAorCQkuaW5wdXRfYnBjID0gMjQsIC5vdXRwdXRfYnBj ID0gMTYsCisJCS5zdGFydCA9IDAsIC5lbmQgPSAoMSA8PCAyNCkgLSAoMSA8PCAyNCkgLyAyNTYs CisJCS5taW4gPSAwLCAubWF4ID0gKDEgPDwgMTYpIC0gMSwKKwl9LAorCS8qIHNlZ21lbnQgMyBh a2EuIGNvYXJzZSBzZWdtZW50IC8gUEFMX0dDX01BWCAqLworCXsKKwkJLmZsYWdzID0gKERSTV9N T0RFX0xVVF9HQU1NQSB8CisJCQkgIERSTV9NT0RFX0xVVF9SRUZMRUNUX05FR0FUSVZFIHwKKwkJ CSAgRFJNX01PREVfTFVUX0lOVEVSUE9MQVRFIHwKKwkJCSAgRFJNX01PREVfTFVUX1JFVVNFX0xB U1QgfAorCQkJICBEUk1fTU9ERV9MVVRfTk9OX0RFQ1JFQVNJTkcpLAorCQkuY291bnQgPSAxLAor CQkuaW5wdXRfYnBjID0gMjQsIC5vdXRwdXRfYnBjID0gMTYsCisJCS5zdGFydCA9ICgxIDw8IDI0 KSAtICgxIDw8IDI0KSAvIDI1NiwgLmVuZCA9IDEgPDwgMjQsCisJCS5taW4gPSAwLCAubWF4ID0g MSA8PCAxNiwKKwl9LAorCS8qIFBBTF9FWFRfR0NfTUFYICovCisJeworCQkuZmxhZ3MgPSAoRFJN X01PREVfTFVUX0dBTU1BIHwKKwkJCSAgRFJNX01PREVfTFVUX1JFRkxFQ1RfTkVHQVRJVkUgfAor CQkJICBEUk1fTU9ERV9MVVRfSU5URVJQT0xBVEUgfAorCQkJICBEUk1fTU9ERV9MVVRfUkVVU0Vf TEFTVCB8CisJCQkgIERSTV9NT0RFX0xVVF9OT05fREVDUkVBU0lORyksCisJCS5jb3VudCA9IDEs CisJCS5pbnB1dF9icGMgPSAyNCwgLm91dHB1dF9icGMgPSAxNiwKKwkJLnN0YXJ0ID0gMSA8PCAy NCwgLmVuZCA9IDMgPDwgMjQsCisJCS5taW4gPSAwLCAubWF4ID0gKDggPDwgMTYpIC0gMSwKKwl9 LAorCS8qIFBBTF9FWFQyX0dDX01BWCAqLworCXsKKwkJLmZsYWdzID0gKERSTV9NT0RFX0xVVF9H QU1NQSB8CisJCQkgIERSTV9NT0RFX0xVVF9SRUZMRUNUX05FR0FUSVZFIHwKKwkJCSAgRFJNX01P REVfTFVUX0lOVEVSUE9MQVRFIHwKKwkJCSAgRFJNX01PREVfTFVUX1JFVVNFX0xBU1QgfAorCQkJ ICBEUk1fTU9ERV9MVVRfTk9OX0RFQ1JFQVNJTkcpLAorCQkuY291bnQgPSAxLAorCQkuaW5wdXRf YnBjID0gMjQsIC5vdXRwdXRfYnBjID0gMTYsCisJCS5zdGFydCA9IDMgPDwgMjQsIC5lbmQgPSA3 IDw8IDI0LAorCQkubWluID0gMCwgLm1heCA9ICg4IDw8IDE2KSAtIDEsCisJfSwKK307CisKIHZv aWQgaW50ZWxfY29sb3JfaW5pdChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKIHsKIAlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKKwlp bnQgZGVnYW1tYV9sdXRfc2l6ZSwgZ2FtbWFfbHV0X3NpemU7CiAKIAlkcm1fbW9kZV9jcnRjX3Nl dF9nYW1tYV9zaXplKCZjcnRjLT5iYXNlLCAyNTYpOwogCkBAIC0xMTAwLDE0ICsxMzcwLDM3IEBA IHZvaWQgaW50ZWxfY29sb3JfaW5pdChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKIAkJCWRldl9w cml2LT5kaXNwbGF5LmxvYWRfbHV0cyA9IGk5eHhfbG9hZF9sdXRzOwogCQl9CiAJfSBlbHNlIHsK LQkJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTEpCisJCWlmIChJTlRFTF9HRU4oZGV2X3By aXYpID49IDExKSB7CiAJCQlkZXZfcHJpdi0+ZGlzcGxheS5jb2xvcl9jaGVjayA9IGljbF9jb2xv cl9jaGVjazsKLQkJZWxzZSBpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSAxMCB8fCBJU19HRU1J TklMQUtFKGRldl9wcml2KSkKKworCQkJLyogZG9uJ3QgYWR2ZXJ0aXplIHRoZSA+PSAxLjAgZW50 cmllcyAqLworCQkJZGVnYW1tYV9sdXRfc2l6ZSA9IDA7CisJCQlnYW1tYV9sdXRfc2l6ZSA9IElM S19MVVRfU0laRV8xMEJJVDsKKworCQkJZHJtX2NvbG9yX2FkZF9nYW1tYV9tb2RlX3JhbmdlKCZk ZXZfcHJpdi0+ZHJtLAorCQkJCQkJICAgICAgICI4Yml0IGdhbW1hIiwKKwkJCQkJCSAgICAgICBp OXh4X2dhbW1hXzgsCisJCQkJCQkgICAgICAgc2l6ZW9mKGk5eHhfZ2FtbWFfOCkpOworCQkJZHJt X2NvbG9yX2FkZF9nYW1tYV9tb2RlX3JhbmdlKCZkZXZfcHJpdi0+ZHJtLAorCQkJCQkJICAgICAg ICIxMGJpdCBnYW1tYSIsCisJCQkJCQkJZ2xrX2dhbW1hXzEwLAorCQkJCQkJCXNpemVvZihnbGtf Z2FtbWFfMTApKTsKKwkJCWRybV9jb2xvcl9hZGRfZ2FtbWFfbW9kZV9yYW5nZSgmZGV2X3ByaXYt PmRybSwKKwkJCQkJCSAgICAgICAiaW50ZXJwb2xhdGVkIGdhbW1hIiwKKwkJCQkJCQlnbGtfZ2Ft bWFfMTJwNCwKKwkJCQkJCQlzaXplb2YoZ2xrX2dhbW1hXzEycDQpKTsKKwkJCWRybV9jb2xvcl9h ZGRfZ2FtbWFfbW9kZV9yYW5nZSgmZGV2X3ByaXYtPmRybSwKKwkJCQkJCSAgICAgICAibXVsdGkt c2VnbWVudGVkIGdhbW1hIiwKKwkJCQkJCQlpY2xfbXVsdGlfc2VnX2dhbW1hLAorCQkJCQkJCXNp emVvZihpY2xfbXVsdGlfc2VnX2dhbW1hKSk7CisJCX0gZWxzZSBpZiAoSU5URUxfR0VOKGRldl9w cml2KSA+PSAxMCB8fAorCQkJICAgSVNfR0VNSU5JTEFLRShkZXZfcHJpdikpIHsKIAkJCWRldl9w cml2LT5kaXNwbGF5LmNvbG9yX2NoZWNrID0gZ2xrX2NvbG9yX2NoZWNrOwotCQllbHNlIGlmIChJ TlRFTF9HRU4oZGV2X3ByaXYpID49IDgpCisJCX0gZWxzZSBpZiAoSU5URUxfR0VOKGRldl9wcml2 KSA+PSA4KSB7CiAJCQlkZXZfcHJpdi0+ZGlzcGxheS5jb2xvcl9jaGVjayA9IGJkd19jb2xvcl9j aGVjazsKLQkJZWxzZQorCQl9IGVsc2UgewogCQkJZGV2X3ByaXYtPmRpc3BsYXkuY29sb3JfY2hl Y2sgPSBpbGtfY29sb3JfY2hlY2s7CisJCX0KIAogCQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+ PSA5KQogCQkJZGV2X3ByaXYtPmRpc3BsYXkuY29sb3JfY29tbWl0ID0gc2tsX2NvbG9yX2NvbW1p dDsKLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n Zng=