From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Christian=20K=C3=B6nig?= Subject: [PATCH 10/26] drm/radeon: simplify semaphore handling Date: Wed, 25 Apr 2012 14:46:27 +0200 Message-ID: <1335358003-2987-11-git-send-email-deathsimple@vodafone.de> References: <1335358003-2987-1-git-send-email-deathsimple@vodafone.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from outgoing.email.vodafone.de (outgoing.email.vodafone.de [139.7.28.128]) by gabe.freedesktop.org (Postfix) with ESMTP id 7B0EEA0D3C for ; Wed, 25 Apr 2012 05:46:52 -0700 (PDT) In-Reply-To: <1335358003-2987-1-git-send-email-deathsimple@vodafone.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org Errors-To: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org To: dri-devel@lists.freedesktop.org Cc: =?UTF-8?q?Christian=20K=C3=B6nig?= List-Id: dri-devel@lists.freedesktop.org RGlyZWN0bHkgdXNlIHRoZSBzdWJhbGxvY2F0b3IgdG8gZ2V0IHNtYWxsIGNodW5rcwpvZiBtZW1v cnkuIEl0J3MgZXF1YWxseSBmYXN0IGFuZCBkb2Vzbid0IGNyYXNoIHdoZW4Kd2UgZW5jb3VudGVy IGEgR1BVIHJlc2V0LgoKU2lnbmVkLW9mZi1ieTogQ2hyaXN0aWFuIEvDtm5pZyA8ZGVhdGhzaW1w bGVAdm9kYWZvbmUuZGU+Ci0tLQogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9ldmVyZ3JlZW4uYyAg ICAgICAgfCAgICAxIC0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vbmkuYyAgICAgICAgICAgICAg IHwgICAgMSAtCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3I2MDAuYyAgICAgICAgICAgICB8ICAg IDEgLQogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb24uaCAgICAgICAgICAgfCAgIDI5ICst LS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2RldmljZS5jICAgIHwgICAgMiAt CiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9zZW1hcGhvcmUuYyB8ICAxMzcgKysrKyst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcnY3NzAuYyAg ICAgICAgICAgIHwgICAgMSAtCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3NpLmMgICAgICAgICAg ICAgICB8ICAgIDEgLQogOCBmaWxlcyBjaGFuZ2VkLCAyNiBpbnNlcnRpb25zKCspLCAxNDcgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9ldmVyZ3JlZW4u YyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vZXZlcmdyZWVuLmMKaW5kZXggOGI3YTAxYi4uMjY4 NDhkNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9ldmVyZ3JlZW4uYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2V2ZXJncmVlbi5jCkBAIC0zNTU5LDcgKzM1NTksNiBA QCB2b2lkIGV2ZXJncmVlbl9maW5pKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KQogCWV2ZXJn cmVlbl9wY2llX2dhcnRfZmluaShyZGV2KTsKIAlyNjAwX3ZyYW1fc2NyYXRjaF9maW5pKHJkZXYp OwogCXJhZGVvbl9nZW1fZmluaShyZGV2KTsKLQlyYWRlb25fc2VtYXBob3JlX2RyaXZlcl9maW5p KHJkZXYpOwogCXJhZGVvbl9mZW5jZV9kcml2ZXJfZmluaShyZGV2KTsKIAlyYWRlb25fYWdwX2Zp bmkocmRldik7CiAJcmFkZW9uX2JvX2ZpbmkocmRldik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vcmFkZW9uL25pLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL25pLmMKaW5kZXggMDE0 NjQyOC4uYzBiMDk1NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9uaS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vbmkuYwpAQCAtMTc3Myw3ICsxNzczLDYgQEAgdm9p ZCBjYXltYW5fZmluaShzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldikKIAljYXltYW5fcGNpZV9n YXJ0X2ZpbmkocmRldik7CiAJcjYwMF92cmFtX3NjcmF0Y2hfZmluaShyZGV2KTsKIAlyYWRlb25f Z2VtX2ZpbmkocmRldik7Ci0JcmFkZW9uX3NlbWFwaG9yZV9kcml2ZXJfZmluaShyZGV2KTsKIAly YWRlb25fZmVuY2VfZHJpdmVyX2ZpbmkocmRldik7CiAJcmFkZW9uX2JvX2ZpbmkocmRldik7CiAJ cmFkZW9uX2F0b21iaW9zX2ZpbmkocmRldik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v cmFkZW9uL3I2MDAuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcjYwMC5jCmluZGV4IGRiOTQx NWEuLjY1OWEwOWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcjYwMC5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcjYwMC5jCkBAIC0yNjcyLDcgKzI2NzIsNiBAQCB2 b2lkIHI2MDBfZmluaShzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldikKIAlyNjAwX3ZyYW1fc2Ny YXRjaF9maW5pKHJkZXYpOwogCXJhZGVvbl9hZ3BfZmluaShyZGV2KTsKIAlyYWRlb25fZ2VtX2Zp bmkocmRldik7Ci0JcmFkZW9uX3NlbWFwaG9yZV9kcml2ZXJfZmluaShyZGV2KTsKIAlyYWRlb25f ZmVuY2VfZHJpdmVyX2ZpbmkocmRldik7CiAJcmFkZW9uX2JvX2ZpbmkocmRldik7CiAJcmFkZW9u X2F0b21iaW9zX2ZpbmkocmRldik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9u L3JhZGVvbi5oIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb24uaAppbmRleCBlNzFkYzY3 Li45ODU3YzYyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbi5oCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uLmgKQEAgLTQyNywzNCArNDI3LDEyIEBA IGludCByYWRlb25fbW9kZV9kdW1iX2Rlc3Ryb3koc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYs CiAvKgogICogU2VtYXBob3Jlcy4KICAqLwotc3RydWN0IHJhZGVvbl9yaW5nOwotCi0jZGVmaW5l CVJBREVPTl9TRU1BUEhPUkVfQk9fU0laRQkyNTYKLQotc3RydWN0IHJhZGVvbl9zZW1hcGhvcmVf ZHJpdmVyIHsKLQlyd2xvY2tfdAkJCWxvY2s7Ci0Jc3RydWN0IGxpc3RfaGVhZAkJYm87Ci19Owot Ci1zdHJ1Y3QgcmFkZW9uX3NlbWFwaG9yZV9ibzsKLQotLyogZXZlcnl0aGluZyBoZXJlIGlzIGNv bnN0YW50ICovCiBzdHJ1Y3QgcmFkZW9uX3NlbWFwaG9yZSB7Ci0Jc3RydWN0IGxpc3RfaGVhZAkJ bGlzdDsKLQl1aW50NjRfdAkJCWdwdV9hZGRyOwotCXVpbnQzMl90CQkJKmNwdV9wdHI7Ci0Jc3Ry dWN0IHJhZGVvbl9zZW1hcGhvcmVfYm8JKmJvOwotfTsKLQotc3RydWN0IHJhZGVvbl9zZW1hcGhv cmVfYm8gewotCXN0cnVjdCBsaXN0X2hlYWQJCWxpc3Q7Ci0Jc3RydWN0IHJhZGVvbl9pYgkJKmli OwotCXN0cnVjdCBsaXN0X2hlYWQJCWZyZWU7Ci0Jc3RydWN0IHJhZGVvbl9zZW1hcGhvcmUJCXNl bWFwaG9yZXNbUkFERU9OX1NFTUFQSE9SRV9CT19TSVpFLzhdOwotCXVuc2lnbmVkCQkJbnVzZWQ7 CisJc3RydWN0IHJhZGVvbl9zYV9ibwlzYV9ibzsKKwlzaWduZWQJCQl3YWl0ZXJzOworCXVpbnQ2 NF90CQlncHVfYWRkcjsKIH07CiAKLXZvaWQgcmFkZW9uX3NlbWFwaG9yZV9kcml2ZXJfZmluaShz dHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldik7CiBpbnQgcmFkZW9uX3NlbWFwaG9yZV9jcmVhdGUo c3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsCiAJCQkgICAgc3RydWN0IHJhZGVvbl9zZW1hcGhv cmUgKipzZW1hcGhvcmUpOwogdm9pZCByYWRlb25fc2VtYXBob3JlX2VtaXRfc2lnbmFsKHN0cnVj dCByYWRlb25fZGV2aWNlICpyZGV2LCBpbnQgcmluZywKQEAgLTE1MjcsNyArMTUwNSw2IEBAIHN0 cnVjdCByYWRlb25fZGV2aWNlIHsKIAlzdHJ1Y3QgcmFkZW9uX21tYW4JCW1tYW47CiAJcndsb2Nr X3QJCQlmZW5jZV9sb2NrOwogCXN0cnVjdCByYWRlb25fZmVuY2VfZHJpdmVyCWZlbmNlX2RydltS QURFT05fTlVNX1JJTkdTXTsKLQlzdHJ1Y3QgcmFkZW9uX3NlbWFwaG9yZV9kcml2ZXIJc2VtYXBo b3JlX2RydjsKIAlzdHJ1Y3QgcmFkZW9uX3JpbmcJCXJpbmdbUkFERU9OX05VTV9SSU5HU107CiAJ c3RydWN0IHJhZGVvbl9pYl9wb29sCQlpYl9wb29sOwogCXN0cnVjdCByYWRlb25faXJxCQlpcnE7 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kZXZpY2UuYyBiL2Ry aXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2RldmljZS5jCmluZGV4IGRlZGIzOTguLjhjNDk5 OTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2RldmljZS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2RldmljZS5jCkBAIC03MzMsMTEgKzcz Myw5IEBAIGludCByYWRlb25fZGV2aWNlX2luaXQoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYs CiAJbXV0ZXhfaW5pdCgmcmRldi0+cG0ubXV0ZXgpOwogCW11dGV4X2luaXQoJnJkZXYtPnZyYW1f bXV0ZXgpOwogCXJ3bG9ja19pbml0KCZyZGV2LT5mZW5jZV9sb2NrKTsKLQlyd2xvY2tfaW5pdCgm cmRldi0+c2VtYXBob3JlX2Rydi5sb2NrKTsKIAlJTklUX0xJU1RfSEVBRCgmcmRldi0+Z2VtLm9i amVjdHMpOwogCWluaXRfd2FpdHF1ZXVlX2hlYWQoJnJkZXYtPmlycS52YmxhbmtfcXVldWUpOwog CWluaXRfd2FpdHF1ZXVlX2hlYWQoJnJkZXYtPmlycS5pZGxlX3F1ZXVlKTsKLQlJTklUX0xJU1Rf SEVBRCgmcmRldi0+c2VtYXBob3JlX2Rydi5ibyk7CiAJLyogaW5pdGlhbGl6ZSB2bSBoZXJlICov CiAJcmRldi0+dm1fbWFuYWdlci51c2VfYml0bWFwID0gMTsKIAlyZGV2LT52bV9tYW5hZ2VyLm1h eF9wZm4gPSAxIDw8IDIwOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRl b25fc2VtYXBob3JlLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9zZW1hcGhvcmUu YwppbmRleCA2MWRkNGUzLi5hOGFkNjFhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL3JhZGVvbl9zZW1hcGhvcmUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVv bl9zZW1hcGhvcmUuYwpAQCAtMzEsMTA4ICszMSwzMiBAQAogI2luY2x1ZGUgImRybS5oIgogI2lu Y2x1ZGUgInJhZGVvbi5oIgogCi1zdGF0aWMgaW50IHJhZGVvbl9zZW1hcGhvcmVfYWRkX2JvKHN0 cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KQoraW50IHJhZGVvbl9zZW1hcGhvcmVfY3JlYXRlKHN0 cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LAorCQkJICAgIHN0cnVjdCByYWRlb25fc2VtYXBob3Jl ICoqc2VtYXBob3JlKQogewotCXN0cnVjdCByYWRlb25fc2VtYXBob3JlX2JvICpibzsKLQl1bnNp Z25lZCBsb25nIGlycV9mbGFnczsKLQl1aW50NjRfdCBncHVfYWRkcjsKLQl1aW50MzJfdCAqY3B1 X3B0cjsKLQlpbnQgciwgaTsKLQorCXZvaWQgKmNwdV9wdHI7CisJaW50IHI7CiAKLQlibyA9IGtt YWxsb2Moc2l6ZW9mKHN0cnVjdCByYWRlb25fc2VtYXBob3JlX2JvKSwgR0ZQX0tFUk5FTCk7Ci0J aWYgKGJvID09IE5VTEwpIHsKKwkqc2VtYXBob3JlID0ga21hbGxvYyhzaXplb2Yoc3RydWN0IHJh ZGVvbl9zZW1hcGhvcmUpLCBHRlBfS0VSTkVMKTsKKwlpZiAoKnNlbWFwaG9yZSA9PSBOVUxMKSB7 CiAJCXJldHVybiAtRU5PTUVNOwogCX0KLQlJTklUX0xJU1RfSEVBRCgmYm8tPmZyZWUpOwotCUlO SVRfTElTVF9IRUFEKCZiby0+bGlzdCk7Ci0JYm8tPm51c2VkID0gMDsKIAotCXIgPSByYWRlb25f aWJfZ2V0KHJkZXYsIDAsICZiby0+aWIsIFJBREVPTl9TRU1BUEhPUkVfQk9fU0laRSk7CisJciA9 IHJhZGVvbl9zYV9ib19uZXcocmRldiwgJnJkZXYtPmliX3Bvb2wuc2FfbWFuYWdlciwgCisJCQkg ICAgICYoKnNlbWFwaG9yZSktPnNhX2JvLCA4LCA4LCB0cnVlKTsKIAlpZiAocikgewotCQlkZXZf ZXJyKHJkZXYtPmRldiwgImZhaWxlZCB0byBnZXQgYSBibyBhZnRlciA1IHJldHJ5XG4iKTsKLQkJ a2ZyZWUoYm8pOworCQlrZnJlZSgqc2VtYXBob3JlKTsKKwkJKnNlbWFwaG9yZSA9IE5VTEw7CiAJ CXJldHVybiByOwogCX0KLQlncHVfYWRkciA9IHJkZXYtPmliX3Bvb2wuc2FfbWFuYWdlci5ncHVf YWRkcjsKLQlncHVfYWRkciArPSBiby0+aWItPnNhX2JvLm9mZnNldDsKLQljcHVfcHRyID0gcmRl di0+aWJfcG9vbC5zYV9tYW5hZ2VyLmNwdV9wdHI7Ci0JY3B1X3B0ciArPSAoYm8tPmliLT5zYV9i by5vZmZzZXQgPj4gMik7Ci0JZm9yIChpID0gMDsgaSA8IChSQURFT05fU0VNQVBIT1JFX0JPX1NJ WkUvOCk7IGkrKykgewotCQliby0+c2VtYXBob3Jlc1tpXS5ncHVfYWRkciA9IGdwdV9hZGRyOwot CQliby0+c2VtYXBob3Jlc1tpXS5jcHVfcHRyID0gY3B1X3B0cjsKLQkJYm8tPnNlbWFwaG9yZXNb aV0uYm8gPSBibzsKLQkJbGlzdF9hZGRfdGFpbCgmYm8tPnNlbWFwaG9yZXNbaV0ubGlzdCwgJmJv LT5mcmVlKTsKLQkJZ3B1X2FkZHIgKz0gODsKLQkJY3B1X3B0ciArPSAyOwotCX0KLQl3cml0ZV9s b2NrX2lycXNhdmUoJnJkZXYtPnNlbWFwaG9yZV9kcnYubG9jaywgaXJxX2ZsYWdzKTsKLQlsaXN0 X2FkZF90YWlsKCZiby0+bGlzdCwgJnJkZXYtPnNlbWFwaG9yZV9kcnYuYm8pOwotCXdyaXRlX3Vu bG9ja19pcnFyZXN0b3JlKCZyZGV2LT5zZW1hcGhvcmVfZHJ2LmxvY2ssIGlycV9mbGFncyk7Ci0J cmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIHJhZGVvbl9zZW1hcGhvcmVfZGVsX2JvX2xvY2tl ZChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwKLQkJCQkJICAgc3RydWN0IHJhZGVvbl9zZW1h cGhvcmVfYm8gKmJvKQotewotCXJhZGVvbl9zYV9ib19mcmVlKHJkZXYsICZiby0+aWItPnNhX2Jv KTsKLQlyYWRlb25fZmVuY2VfdW5yZWYoJmJvLT5pYi0+ZmVuY2UpOwotCWxpc3RfZGVsKCZiby0+ bGlzdCk7Ci0Ja2ZyZWUoYm8pOwotfQotCi12b2lkIHJhZGVvbl9zZW1hcGhvcmVfc2hyaW5rX2xv Y2tlZChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldikKLXsKLQlzdHJ1Y3QgcmFkZW9uX3NlbWFw aG9yZV9ibyAqYm8sICpuOwotCi0JaWYgKGxpc3RfZW1wdHkoJnJkZXYtPnNlbWFwaG9yZV9kcnYu Ym8pKSB7Ci0JCXJldHVybjsKLQl9Ci0JLyogb25seSBzaHJpbmsgaWYgZmlyc3QgYm8gaGFzIGZy ZWUgc2VtYXBob3JlICovCi0JYm8gPSBsaXN0X2ZpcnN0X2VudHJ5KCZyZGV2LT5zZW1hcGhvcmVf ZHJ2LmJvLCBzdHJ1Y3QgcmFkZW9uX3NlbWFwaG9yZV9ibywgbGlzdCk7Ci0JaWYgKGxpc3RfZW1w dHkoJmJvLT5mcmVlKSkgewotCQlyZXR1cm47Ci0JfQotCWxpc3RfZm9yX2VhY2hfZW50cnlfc2Fm ZV9jb250aW51ZShibywgbiwgJnJkZXYtPnNlbWFwaG9yZV9kcnYuYm8sIGxpc3QpIHsKLQkJaWYg KGJvLT5udXNlZCkKLQkJCWNvbnRpbnVlOwotCQlyYWRlb25fc2VtYXBob3JlX2RlbF9ib19sb2Nr ZWQocmRldiwgYm8pOwotCX0KLX0KIAotaW50IHJhZGVvbl9zZW1hcGhvcmVfY3JlYXRlKHN0cnVj dCByYWRlb25fZGV2aWNlICpyZGV2LAotCQkJICAgIHN0cnVjdCByYWRlb25fc2VtYXBob3JlICoq c2VtYXBob3JlKQotewotCXN0cnVjdCByYWRlb25fc2VtYXBob3JlX2JvICpibzsKLQl1bnNpZ25l ZCBsb25nIGlycV9mbGFnczsKLQlib29sIGRvX3JldHJ5ID0gdHJ1ZTsKLQlpbnQgcjsKLQotcmV0 cnk6Ci0JKnNlbWFwaG9yZSA9IE5VTEw7Ci0Jd3JpdGVfbG9ja19pcnFzYXZlKCZyZGV2LT5zZW1h cGhvcmVfZHJ2LmxvY2ssIGlycV9mbGFncyk7Ci0JbGlzdF9mb3JfZWFjaF9lbnRyeShibywgJnJk ZXYtPnNlbWFwaG9yZV9kcnYuYm8sIGxpc3QpIHsKLQkJaWYgKGxpc3RfZW1wdHkoJmJvLT5mcmVl KSkKLQkJCWNvbnRpbnVlOwotCQkqc2VtYXBob3JlID0gbGlzdF9maXJzdF9lbnRyeSgmYm8tPmZy ZWUsIHN0cnVjdCByYWRlb25fc2VtYXBob3JlLCBsaXN0KTsKLQkJKCpzZW1hcGhvcmUpLT5jcHVf cHRyWzBdID0gMDsKLQkJKCpzZW1hcGhvcmUpLT5jcHVfcHRyWzFdID0gMDsKLQkJbGlzdF9kZWwo Jigqc2VtYXBob3JlKS0+bGlzdCk7Ci0JCWJvLT5udXNlZCsrOwotCQlicmVhazsKLQl9Ci0Jd3Jp dGVfdW5sb2NrX2lycXJlc3RvcmUoJnJkZXYtPnNlbWFwaG9yZV9kcnYubG9jaywgaXJxX2ZsYWdz KTsKKwkoKnNlbWFwaG9yZSktPndhaXRlcnMgPSAwOwkKKwkoKnNlbWFwaG9yZSktPmdwdV9hZGRy ID0gcmRldi0+aWJfcG9vbC5zYV9tYW5hZ2VyLmdwdV9hZGRyOworCSgqc2VtYXBob3JlKS0+Z3B1 X2FkZHIgKz0gKCpzZW1hcGhvcmUpLT5zYV9iby5vZmZzZXQ7CiAKLQlpZiAoKnNlbWFwaG9yZSA9 PSBOVUxMKSB7Ci0JCWlmIChkb19yZXRyeSkgewotCQkJZG9fcmV0cnkgPSBmYWxzZTsKLQkJCXIg PSByYWRlb25fc2VtYXBob3JlX2FkZF9ibyhyZGV2KTsKLQkJCWlmIChyKQotCQkJCXJldHVybiBy OwotCQkJZ290byByZXRyeTsKLQkJfQotCQlyZXR1cm4gLUVOT01FTTsKLQl9CisJY3B1X3B0ciA9 IHJkZXYtPmliX3Bvb2wuc2FfbWFuYWdlci5jcHVfcHRyOworCWNwdV9wdHIgKz0gKCpzZW1hcGhv cmUpLT5zYV9iby5vZmZzZXQ7CisJKigodWludDY0X3QqKWNwdV9wdHIpID0gMDsKIAogCXJldHVy biAwOwogfQpAQCAtMTQwLDM5ICs2NCwyNCBAQCByZXRyeToKIHZvaWQgcmFkZW9uX3NlbWFwaG9y ZV9lbWl0X3NpZ25hbChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgaW50IHJpbmcsCiAJCQkg ICAgICAgICAgc3RydWN0IHJhZGVvbl9zZW1hcGhvcmUgKnNlbWFwaG9yZSkKIHsKKwktLXNlbWFw aG9yZS0+d2FpdGVyczsKIAlyYWRlb25fc2VtYXBob3JlX3JpbmdfZW1pdChyZGV2LCByaW5nLCAm cmRldi0+cmluZ1tyaW5nXSwgc2VtYXBob3JlLCBmYWxzZSk7CiB9CiAKIHZvaWQgcmFkZW9uX3Nl bWFwaG9yZV9lbWl0X3dhaXQoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIGludCByaW5nLAog CQkJICAgICAgICBzdHJ1Y3QgcmFkZW9uX3NlbWFwaG9yZSAqc2VtYXBob3JlKQogeworCSsrc2Vt YXBob3JlLT53YWl0ZXJzOwogCXJhZGVvbl9zZW1hcGhvcmVfcmluZ19lbWl0KHJkZXYsIHJpbmcs ICZyZGV2LT5yaW5nW3JpbmddLCBzZW1hcGhvcmUsIHRydWUpOwogfQogCiB2b2lkIHJhZGVvbl9z ZW1hcGhvcmVfZnJlZShzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwKIAkJCSAgIHN0cnVjdCBy YWRlb25fc2VtYXBob3JlICpzZW1hcGhvcmUpCiB7Ci0JdW5zaWduZWQgbG9uZyBpcnFfZmxhZ3M7 Ci0KLQl3cml0ZV9sb2NrX2lycXNhdmUoJnJkZXYtPnNlbWFwaG9yZV9kcnYubG9jaywgaXJxX2Zs YWdzKTsKLQlzZW1hcGhvcmUtPmJvLT5udXNlZC0tOwotCWxpc3RfYWRkX3RhaWwoJnNlbWFwaG9y ZS0+bGlzdCwgJnNlbWFwaG9yZS0+Ym8tPmZyZWUpOwotCXJhZGVvbl9zZW1hcGhvcmVfc2hyaW5r X2xvY2tlZChyZGV2KTsKLQl3cml0ZV91bmxvY2tfaXJxcmVzdG9yZSgmcmRldi0+c2VtYXBob3Jl X2Rydi5sb2NrLCBpcnFfZmxhZ3MpOwotfQotCi12b2lkIHJhZGVvbl9zZW1hcGhvcmVfZHJpdmVy X2Zpbmkoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpCi17Ci0Jc3RydWN0IHJhZGVvbl9zZW1h cGhvcmVfYm8gKmJvLCAqbjsKLQl1bnNpZ25lZCBsb25nIGlycV9mbGFnczsKLQotCXdyaXRlX2xv Y2tfaXJxc2F2ZSgmcmRldi0+c2VtYXBob3JlX2Rydi5sb2NrLCBpcnFfZmxhZ3MpOwotCS8qIHdl IGZvcmNlIHRvIGZyZWUgZXZlcnl0aGluZyAqLwotCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShi bywgbiwgJnJkZXYtPnNlbWFwaG9yZV9kcnYuYm8sIGxpc3QpIHsKLQkJaWYgKCFsaXN0X2VtcHR5 KCZiby0+ZnJlZSkpIHsKLQkJCWRldl9lcnIocmRldi0+ZGV2LCAic3RpbGwgaW4gdXNlIHNlbWFw aG9yZVxuIik7Ci0JCX0KLQkJcmFkZW9uX3NlbWFwaG9yZV9kZWxfYm9fbG9ja2VkKHJkZXYsIGJv KTsKKwlpZiAoc2VtYXBob3JlLT53YWl0ZXJzID4gMCkgeworCQlkZXZfZXJyKHJkZXYtPmRldiwg IlNlbWFwaG9yZSAlcCBoYXMgbW9yZSB3YWl0ZXJzIHRoYW4gc2lnbmFsZXJzLCIKKwkJCSIgaGFy ZHdhcmUgbG9ja3VwIGltbWluZW50IVxuIiwgc2VtYXBob3JlKTsKIAl9Ci0Jd3JpdGVfdW5sb2Nr X2lycXJlc3RvcmUoJnJkZXYtPnNlbWFwaG9yZV9kcnYubG9jaywgaXJxX2ZsYWdzKTsKKwlyYWRl b25fc2FfYm9fZnJlZShyZGV2LCAmc2VtYXBob3JlLT5zYV9ibyk7CisJa2ZyZWUoc2VtYXBob3Jl KTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcnY3NzAuYyBiL2RyaXZl cnMvZ3B1L2RybS9yYWRlb24vcnY3NzAuYwppbmRleCBjYWNlYzBlLi5jNmVlNTRlIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3J2NzcwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L3JhZGVvbi9ydjc3MC5jCkBAIC0xMjc4LDcgKzEyNzgsNiBAQCB2b2lkIHJ2NzcwX2Zpbmkoc3Ry dWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpCiAJcnY3NzBfcGNpZV9nYXJ0X2ZpbmkocmRldik7CiAJ cjYwMF92cmFtX3NjcmF0Y2hfZmluaShyZGV2KTsKIAlyYWRlb25fZ2VtX2ZpbmkocmRldik7Ci0J cmFkZW9uX3NlbWFwaG9yZV9kcml2ZXJfZmluaShyZGV2KTsKIAlyYWRlb25fZmVuY2VfZHJpdmVy X2ZpbmkocmRldik7CiAJcmFkZW9uX2FncF9maW5pKHJkZXYpOwogCXJhZGVvbl9ib19maW5pKHJk ZXYpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9zaS5jIGIvZHJpdmVycy9n cHUvZHJtL3JhZGVvbi9zaS5jCmluZGV4IDE0OTE5ZTEuLjdjMDExMGQgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9yYWRlb24vc2kuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3Np LmMKQEAgLTQxMjAsNyArNDEyMCw2IEBAIHZvaWQgc2lfZmluaShzdHJ1Y3QgcmFkZW9uX2Rldmlj ZSAqcmRldikKIAlzaV9wY2llX2dhcnRfZmluaShyZGV2KTsKIAlyNjAwX3ZyYW1fc2NyYXRjaF9m aW5pKHJkZXYpOwogCXJhZGVvbl9nZW1fZmluaShyZGV2KTsKLQlyYWRlb25fc2VtYXBob3JlX2Ry aXZlcl9maW5pKHJkZXYpOwogCXJhZGVvbl9mZW5jZV9kcml2ZXJfZmluaShyZGV2KTsKIAlyYWRl b25fYm9fZmluaShyZGV2KTsKIAlyYWRlb25fYXRvbWJpb3NfZmluaShyZGV2KTsKLS0gCjEuNy41 LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1k ZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==