From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [2/3] i915: Add support for out-of-bound hotplug events From: Hans de Goede Message-Id: <20190225132037.31458-3-hdegoede@redhat.com> Date: Mon, 25 Feb 2019 14:20:36 +0100 To: Maarten Lankhorst , Maxime Ripard , Sean Paul , Daniel Vetter , Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , Greg Kroah-Hartman , Heikki Krogerus Cc: Hans de Goede , David Airlie , intel-gfx , dri-devel@lists.freedesktop.org, linux-usb@vger.kernel.org List-ID: T24gc29tZSBDaGVycnkgVHJhaWwgZGV2aWNlcywgRGlzcGxheVBvcnQgb3ZlciBUeXBlLUMgaXMg c3VwcG9ydGVkIHRocm91Z2gKYSBVU0ItUEQgbWljcm9jb250cm9sbGVyIChlLmcuIGEgZnVzYjMw MikgKyBhIG11eCB0byBzd2l0Y2ggdGhlIHN1cGVyc3BlZWQKZGF0YWxpbmVzIGJldHdlZW4gVVNC LTMgYW5kIERQIChlLmcuIGEgcGkzdXNiMzA1MzIpLiBUaGUga2VybmVsIGluIHRoaXMKY2FzZSBk b2VzIHRoZSBQRC9hbHQtbW9kZSBuZWdvdGlhdGlvbiBpdHNlbGYsIHJhdGhlciB0aGVuIGV2ZXJ5 dGhpbmcgYmVpbmcKaGFuZGxlZCBpbiBmaXJtd2FyZS4KClNvIHRoZSBrZXJuZWwgaXRzZWxmIHBp Y2tzIGFuIGFsdC1tb2RlLCB0ZWxscyB0aGUgVHlwZS1DICJkb25nbGUiIHRvIHN3aXRjaAp0byBE UCBtb2RlIGFuZCBzZXRzIHRoZSBtdXggYWNjb3JkaW5nbHkuIEluIHRoaXMgc2V0dXAgdGhlIEhQ RCBwaW4gaXMgbm90CmNvbm5lY3RlZCwgc28gdGhlIGk5MTUgZHJpdmVyIG5lZWRzIHRvIHJlc3Bv bmQgdG8gYSBzb2Z0d2FyZSBldmVudCBhbmQgc2Nhbgp0aGUgRFAgcG9ydCBmb3IgY2hhbmdlcyBt YW51YWxseS4KClRoaXMgY29tbWl0IGFkZHMgc3VwcG9ydCBmb3IgdGhpcy4gVG9nZXRoZXIgd2l0 aCB0aGUgcmVjZW50IGFkZGl0aW9uIG9mCkRQIGFsdC1tb2RlIHN1cHBvcnQgdG8gdGhlIFR5cGUt QyBzdWJzeXN0ZW0gdGhpcyBtYWtlcyBEUCBvdmVyIFR5cGUtQwp3b3JrIG9uIHRoZXNlIGRldmlj ZXMuCgpTaWduZWQtb2ZmLWJ5OiBIYW5zIGRlIEdvZWRlIDxoZGVnb2VkZUByZWRoYXQuY29tPgot LS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICB8ICAyICsrCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jICAgICAgfCAgMiArKwogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfaG90cGx1Zy5jIHwgMzggKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMyBm aWxlcyBjaGFuZ2VkLCA0MiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5k ZXggYjFjMzE5NjcxOTRiLi41ZDhjNTg1ZGRiZjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApA QCAtMTUzLDYgKzE1Myw3IEBAIGVudW0gaHBkX3BpbiB7CiAKIHN0cnVjdCBpOTE1X2hvdHBsdWcg ewogCXN0cnVjdCB3b3JrX3N0cnVjdCBob3RwbHVnX3dvcms7CisJc3RydWN0IG5vdGlmaWVyX2Js b2NrIG9vYl9ub3RpZmllcjsKIAogCXN0cnVjdCB7CiAJCXVuc2lnbmVkIGxvbmcgbGFzdF9qaWZm aWVzOwpAQCAtMjYzMiw2ICsyNjMzLDcgQEAgdm9pZCBpbnRlbF9ocGRfaXJxX2hhbmRsZXIoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJICAgdTMyIHBpbl9tYXNrLCB1MzIg bG9uZ19tYXNrKTsKIHZvaWQgaW50ZWxfaHBkX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KTsKIHZvaWQgaW50ZWxfaHBkX2luaXRfd29yayhzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpOwordm9pZCBpbnRlbF9ocGRfZmluaV93b3JrKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdik7CiB2b2lkIGludGVsX2hwZF9jYW5jZWxfd29yayhzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogZW51bSBocGRfcGluIGludGVsX2hwZF9waW5f ZGVmYXVsdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQkJICAgZW51bSBw b3J0IHBvcnQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKaW5kZXggODIxMTA0NWE5ODFiLi4xNGYz MzIzYjcyMWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwpAQCAtNDk2NSw2ICs0OTY1LDggQEAg dm9pZCBpbnRlbF9pcnFfZmluaShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIAogCWZv ciAoaSA9IDA7IGkgPCBNQVhfTDNfU0xJQ0VTOyArK2kpCiAJCWtmcmVlKGk5MTUtPmwzX3Bhcml0 eS5yZW1hcF9pbmZvW2ldKTsKKworCWludGVsX2hwZF9maW5pX3dvcmsoaTkxNSk7CiB9CiAKIC8q KgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaG90cGx1Zy5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaG90cGx1Zy5jCmluZGV4IGUyNDE3NGQwOGZlZC4uMjIx ODc4ZmEyNmFmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ob3RwbHVn LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaG90cGx1Zy5jCkBAIC01MTgsNiAr NTE4LDM2IEBAIHZvaWQgaW50ZWxfaHBkX2lycV9oYW5kbGVyKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiwKIAkJc2NoZWR1bGVfd29yaygmZGV2X3ByaXYtPmhvdHBsdWcuaG90cGx1 Z193b3JrKTsKIH0KIAorc3RhdGljIGludCBpbnRlbF9ocGRfb29iX25vdGlmaWVyKHN0cnVjdCBu b3RpZmllcl9ibG9jayAqbmIsCisJCQkJICB1bnNpZ25lZCBsb25nIGV2ZW50LCB2b2lkICpkYXRh KQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9CisJCWNvbnRhaW5lcl9v ZihuYiwgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUsIGhvdHBsdWcub29iX25vdGlmaWVyKTsKKwlz dHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcjsKKwl1MzIgYml0cyA9IDA7CisKKwkvKiBXZSBv bmx5IHN1cHBvcnQgRFAgb3ZlciBUeXBlLUMgbm90aWZpY2F0aW9ucyAqLworCWlmIChldmVudCAh PSBEUk1fT09CX0hPVFBMVUdfVFlQRV9DX0RQKQorCQlyZXR1cm4gTk9USUZZX0RPTkU7CisKKwkv KiBTY2hlZHVsZSBhIGhvdHBsdWcgY2hlY2sgZm9yIGVhY2ggRFAgZW5jb2RlciwgZXhjZXB0IGZv ciBFRFAgb25lcyAqLworCWZvcl9lYWNoX2ludGVsX2RwKCZkZXZfcHJpdi0+ZHJtLCBlbmNvZGVy KSB7CisJCWlmIChlbmNvZGVyLT50eXBlID09IElOVEVMX09VVFBVVF9FRFApCisJCQljb250aW51 ZTsKKworCQliaXRzIHw9IEJJVChlbmNvZGVyLT5ocGRfcGluKTsKKwl9CisKKwlpZiAoYml0cykg eworCQlzcGluX2xvY2tfaXJxKCZkZXZfcHJpdi0+aXJxX2xvY2spOworCQlkZXZfcHJpdi0+aG90 cGx1Zy5ldmVudF9iaXRzIHw9IGJpdHM7CisJCXNwaW5fdW5sb2NrX2lycSgmZGV2X3ByaXYtPmly cV9sb2NrKTsKKwkJc2NoZWR1bGVfd29yaygmZGV2X3ByaXYtPmhvdHBsdWcuaG90cGx1Z193b3Jr KTsKKwl9CisKKwlyZXR1cm4gTk9USUZZX0RPTkU7Cit9CisKIC8qKgogICogaW50ZWxfaHBkX2lu aXQgLSBpbml0aWFsaXplcyBhbmQgZW5hYmxlcyBocGQgc3VwcG9ydAogICogQGRldl9wcml2OiBp OTE1IGRldmljZSBpbnN0YW5jZQpAQCAtNjQwLDYgKzY3MCwxNCBAQCB2b2lkIGludGVsX2hwZF9p bml0X3dvcmsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCUlOSVRfV09SSygm ZGV2X3ByaXYtPmhvdHBsdWcucG9sbF9pbml0X3dvcmssIGk5MTVfaHBkX3BvbGxfaW5pdF93b3Jr KTsKIAlJTklUX0RFTEFZRURfV09SSygmZGV2X3ByaXYtPmhvdHBsdWcucmVlbmFibGVfd29yaywK IAkJCSAgaW50ZWxfaHBkX2lycV9zdG9ybV9yZWVuYWJsZV93b3JrKTsKKwlkZXZfcHJpdi0+aG90 cGx1Zy5vb2Jfbm90aWZpZXIubm90aWZpZXJfY2FsbCA9IGludGVsX2hwZF9vb2Jfbm90aWZpZXI7 CisJZHJtX2ttc19yZWdpc3Rlcl9vb2JfaG90cGx1Z19ub3RpZmllcigmZGV2X3ByaXYtPmhvdHBs dWcub29iX25vdGlmaWVyKTsKK30KKwordm9pZCBpbnRlbF9ocGRfZmluaV93b3JrKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKK3sKKwlkcm1fa21zX3VucmVnaXN0ZXJfb29iX2hv dHBsdWdfbm90aWZpZXIoCisJCQkJCSZkZXZfcHJpdi0+aG90cGx1Zy5vb2Jfbm90aWZpZXIpOwog fQogCiB2b2lkIGludGVsX2hwZF9jYW5jZWxfd29yayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCg==