From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hans de Goede Subject: [PATCH 1/3] drm: Add support for out-of-band hotplug notification Date: Mon, 25 Feb 2019 14:20:35 +0100 Message-ID: <20190225132037.31458-2-hdegoede@redhat.com> References: <20190225132037.31458-1-hdegoede@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190225132037.31458-1-hdegoede@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Maarten Lankhorst , Maxime Ripard , Sean Paul , Daniel Vetter , Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , Greg Kroah-Hartman , Heikki Krogerus Cc: David Airlie , intel-gfx , linux-usb@vger.kernel.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gc29tZSBoYXJkd2FyZSBhIGhvdHBsdWcgZXZlbnQgbm90aWZpY2F0aW9uIG1heSBjb21lIGZy b20gb3V0c2lkZSB0aGUKZGlzcGxheSBkcml2ZXIgLyBkZXZpY2UuCgpPbmUgZXhhbXBsZSBvZiB0 aGlzIGlzIGxhcHRvcHMgd2l0aCBoeWJyaWQgZ3JhcGhpY3Mgd2hlcmUgb25lIG9yIG1vcmUKb3V0 cHV0cyBhcmUgY29ubmVjdGVkIHRvIHRoZSBkaXNjcmV0ZSBHUFUgb25seS4gSW4gdGhpcyBjYXNl IGlmIHRoZQpkaXNjcmV0ZSBHUFUgaXMgZnVsbHkgcG93ZXJlZCBkb3duIHRvIHNhdmUgcG93ZXIs IGEgaG90cGx1ZyB0byBvbmUgb2YKdGhlc2Ugb3V0cHV0cyB3aWxsIG5vdCBiZSBub3RpY2VkIHRo cm91Z2ggbm9ybWFsIG1lYW5zLiBUaGVzZSBsYXB0b3BzCmhhdmUgYW5vdGhlciBtZWNoYW5pc20g dG8gZGV0ZWN0IHRoZSBob3RwbHVnIHdoaWNoIHdpbGwgdHlwaWNhbGx5IHJhaXNlCmFuIGV2ZW50 IG9uIHRoZSBBQ1BJIHZpZGVvIGJ1cy4KCkFub3RoZXIgZXhhbXBsZSBvZiB0aGlzIGlzIHNvbWUg VVNCIFR5cGUtQyBzZXR1cHMgd2hlcmUgdGhlIGhhcmR3YXJlCm11eGVzIHRoZSBEaXNwbGF5UG9y dCBkYXRhIGFuZCBhdXgtbGluZXMgYnV0IGRvZXMgbm90IHBhc3MgdGhlIGFsdG1vZGUKSFBEIHN0 YXR1cyBiaXQgdG8gdGhlIEdQVXMgRFAgSFBEIHBpbi4KClRoaXMgY29tbWl0IGFkZHMgYSBsb29z ZSBjb3VwbGluZyB0byB0aGUgZHJtIHN1YnN5cyBhbGxvd2luZyBldmVudC1zb3VyY2VzCnRvIG5v dGlmeSBkcm0tZHJpdmVycyBvZiBzdWNoIGV2ZW50cyB3aXRob3V0IG5lZWRpbmcgYSByZWZlcmVu Y2UgdG8gYQpkcm0tZGV2aWNlIG9yIGEgZHJtLWNvbm5lY3Rvci4KClRoaXMgbG9vc2UgY291cGxp bmcgaXMgaW1wbGVtZW50ZWQgdGhyb3VnaCBhIGJsb2NraW5nIG5vdGlmaWVyLiBkcm0tZHJpdmVy cwppbnRlcmVzdGVkIGluIG9vYiBob3RwbHVnIGV2ZW50cyBjYW4gcmVnaXN0ZXIgdGhlbXNlbHZl cyB0byByZWNlaXZlCm5vdGlmYXRpb25zIGFuZCBldmVudC1zb3VyY2VzIGNhbGwgZHJtX2ttc19j YWxsX29vYl9ob3RwbHVnX25vdGlmaWVyX2NoYWluCnRvIGxldCBhbnkgbGlzdGVuZXJzIGtub3cg YWJvdXQgZXZlbnRzLgoKQW4gZWFybGllciBhdHRlbXB0IGhhcyBiZWVuIGRvbmUgdG8gaW1wbGVt ZW50IHRoaXMgZnVuY3Rpb25hbGl0eSB3aXRoIGEKdGlnaHQgY291cGxpbmcsIHdoZXJlIHRoZSBl dmVudC1zb3VyY2Ugd291bGQgc29tZWhvdyBmaWd1cmUgb3V0IHRoZSByaWdodApkcm0tY29ubmVj dG9yIHRvIGRlbGl2ZXIgdGhlIGV2ZW50IHRvIGFuZCB0aGVuIHNlbmQgaXQgZGlyZWN0bHkgdG8g dGhhdApkcm0tY29ubmVjdG9yLiBTdWNoIGEgdGlnaHQgY291cGxpbmcgYXBwcm9hY2ggaGFzIHNl dmVyYWwgaXNzdWVzIHdpdGgKbGlmZXRpbWUgbWFuYWdlbWVudCBvZiB0aGUgY291cGxlZCBvYmpl Y3RzIGFzIHdlbGwgYXMgaW50cm9kdWNpbmcgc2V2ZXJhbApwcm9iZS1vcmRlcmluZyBpc3N1ZXMu IFRoZXJlZm9yIHRoZSB0aWdodCBjb3VwbGluZyBhcHByb2FjaCBoYXMgYmVlbgphYmFuZG9uZWQu CgpOb3RlIGZvciBub3cgZHJtX2ttc19jYWxsX29vYl9ob3RwbHVnX25vdGlmaWVyX2NoYWluJ3Mg ZXZlbnQgcGFyYW1ldGVyIGNhbgpvbmx5IGhhdmUgMSB2YWx1ZTogRFJNX09PQl9IT1RQTFVHX1RZ UEVfQ19EUC4gIFRoZSBBQ1BJIHZpZGVvYnVzIGhvdHBsdWcKZXZlbnQgY2FzZSBpcyBjdXJyZW50 bHkgYWxyZWFkeSBzdXBwb3J0ZWQgaW4gdGhlIG5vdXZlYXUgZHJpdmVyIGJ5CnJlZ2lzdGVyaW5n IGEgZ2VuZXJpYyBhY3BpIGV2ZW50IG5vdGlmaWVyLgoKU2lnbmVkLW9mZi1ieTogSGFucyBkZSBH b2VkZSA8aGRlZ29lZGVAcmVkaGF0LmNvbT4KLS0tCiBEb2N1bWVudGF0aW9uL2dwdS9kcm0ta21z LWhlbHBlcnMucnN0IHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2RybV9wcm9iZV9oZWxwZXIuYyAg ICB8IDY3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKwogaW5jbHVkZS9kcm0vZHJtX3Byb2Jl X2hlbHBlci5oICAgICAgICB8IDEyICsrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDgwIGluc2VydGlv bnMoKykKCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dwdS9kcm0ta21zLWhlbHBlcnMucnN0 IGIvRG9jdW1lbnRhdGlvbi9ncHUvZHJtLWttcy1oZWxwZXJzLnJzdAppbmRleCBiNDIyZWI4ZWRm MTYuLmYxNDRkNjhmOGU3YSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9ncHUvZHJtLWttcy1o ZWxwZXJzLnJzdAorKysgYi9Eb2N1bWVudGF0aW9uL2dwdS9kcm0ta21zLWhlbHBlcnMucnN0CkBA IC0yNDksNiArMjQ5LDcgQEAgT3V0cHV0IFByb2JpbmcgSGVscGVyIEZ1bmN0aW9ucyBSZWZlcmVu Y2UKIAogLi4ga2VybmVsLWRvYzo6IGRyaXZlcnMvZ3B1L2RybS9kcm1fcHJvYmVfaGVscGVyLmMK ICAgIDpkb2M6IG91dHB1dCBwcm9iaW5nIGhlbHBlciBvdmVydmlldworICAgOmRvYzogb3V0LW9m LWJhbmQgaG90cGx1ZyBldmVudCBoZWxwZXIgb3ZlcnZpZXcKIAogLi4ga2VybmVsLWRvYzo6IGRy aXZlcnMvZ3B1L2RybS9kcm1fcHJvYmVfaGVscGVyLmMKICAgIDpleHBvcnQ6CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vZHJtX3Byb2JlX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2Ry bV9wcm9iZV9oZWxwZXIuYwppbmRleCA2ZmQwOGUwNGIzMjMuLjRmMGI0MjE1MTRlZiAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9wcm9iZV9oZWxwZXIuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vZHJtX3Byb2JlX2hlbHBlci5jCkBAIC0zMSw2ICszMSw3IEBACiAKICNpbmNsdWRlIDxs aW51eC9leHBvcnQuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgorI2luY2x1ZGUg PGxpbnV4L25vdGlmaWVyLmg+CiAKICNpbmNsdWRlIDxkcm0vZHJtUC5oPgogI2luY2x1ZGUgPGRy bS9kcm1fY2xpZW50Lmg+CkBAIC03OTIsMyArNzkzLDY5IEBAIGJvb2wgZHJtX2hlbHBlcl9ocGRf aXJxX2V2ZW50KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJcmV0dXJuIGNoYW5nZWQ7CiB9CiBF WFBPUlRfU1lNQk9MKGRybV9oZWxwZXJfaHBkX2lycV9ldmVudCk7CisKKy8qKgorICogRE9DOiBv dXQtb2YtYmFuZCBob3RwbHVnIGV2ZW50IGhlbHBlciBvdmVydmlldworICoKKyAqIE9uIHNvbWUg aGFyZHdhcmUgYSBob3RwbHVnIGV2ZW50IG5vdGlmaWNhdGlvbiBtYXkgY29tZSBmcm9tIG91dHNp ZGUKKyAqIHRoZSBkaXNwbGF5IGRyaXZlciAvIGRldmljZS4KKyAqCisgKiBPbmUgZXhhbXBsZSBv ZiB0aGlzIGlzIGxhcHRvcHMgd2l0aCBoeWJyaWQgZ3JhcGhpY3Mgd2hlcmUgb25lIG9yIG1vcmUK KyAqIG91dHB1dHMgYXJlIGNvbm5lY3RlZCB0byB0aGUgZGlzY3JldGUgR1BVIG9ubHkuIEluIHRo aXMgY2FzZSBpZiB0aGUgZGlzY3JldGUKKyAqIEdQVSBpcyBmdWxseSBwb3dlcmVkIGRvd24gdG8g c2F2ZSBwb3dlciwgYSBob3RwbHVnIHRvIG9uZSBvZiB0aGVzZSBvdXRwdXRzCisgKiB3aWxsIG5v dCBiZSBub3RpY2VkIHRocm91Z2ggbm9ybWFsIG1lYW5zLiBUaGVzZSBsYXB0b3BzIGhhdmUgYW5v dGhlcgorICogbWVjaGFuaXNtIHRvIGRldGVjdCB0aGUgaG90cGx1ZyB3aGljaCB3aWxsIHR5cGlj YWxseSByYWlzZSBhbiBldmVudCBvbiB0aGUKKyAqIEFDUEkgdmlkZW8gYnVzLgorICoKKyAqIEFu b3RoZXIgZXhhbXBsZSBvZiB0aGlzIGlzIHNvbWUgVVNCIFR5cGUtQyBzZXR1cHMgd2hlcmUgdGhl IGhhcmR3YXJlCisgKiBtdXhlcyB0aGUgRGlzcGxheVBvcnQgZGF0YSBhbmQgYXV4LWxpbmVzIGJ1 dCBkb2VzIG5vdCBwYXNzIHRoZSBhbHRtb2RlCisgKiBIUEQgc3RhdHVzIGJpdCB0byB0aGUgR1BV cyBEUCBIUEQgcGluLgorICoKKyAqIFRoZSBvb2IgaG90cGx1ZyBoZWxwZXIgZnVuY3Rpb25zIGFs bG93IGEgZHJtIGRpc3BsYXkgZHJpdmVyIHRvIGxpc3RlbgorICogZm9yIHN1Y2ggb29iIGV2ZW50 cyBhbmQgYWxsb3cgb3RoZXIgc3Vic3lzdGVtcyB0byBub3RpZnkgbGlzdGVuZXJzIG9mCisgKiB0 aGVzZSBldmVudHMuCisgKi8KKworc3RhdGljIEJMT0NLSU5HX05PVElGSUVSX0hFQUQoZHJtX2tt c19vb2JfaG90cGx1Z19ub3RpZmllcl9oZWFkKTsKKworLyoqCisgKiBkcm1fa21zX3JlZ2lzdGVy X29vYl9ob3RwbHVnX25vdGlmaWVyIC0gcmVnaXN0ZXIgYW4gb29iIGhvdHBsdWcgbm90aWZpZXIK KyAqIEBuYjogbm90aWZpZXJfYmxvY2sgdG8gcmVnaXN0ZXIKKyAqCisgKiBEcml2ZXJzIGNhbiB1 c2UgdGhpcyBoZWxwZXIgZnVuY3Rpb24gdG8gcmVnaXN0ZXIgYSBub3RpZmllciBmb3IKKyAqIG91 dC1vZi1iYW5kIGhvdHBsdWcgZXZlbnRzLgorICovCitpbnQgZHJtX2ttc19yZWdpc3Rlcl9vb2Jf aG90cGx1Z19ub3RpZmllcihzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5iKQoreworCXJldHVybiBi bG9ja2luZ19ub3RpZmllcl9jaGFpbl9yZWdpc3RlcigKKwkJCQkmZHJtX2ttc19vb2JfaG90cGx1 Z19ub3RpZmllcl9oZWFkLCBuYik7Cit9CitFWFBPUlRfU1lNQk9MKGRybV9rbXNfcmVnaXN0ZXJf b29iX2hvdHBsdWdfbm90aWZpZXIpOworCisvKioKKyAqIGRybV9rbXNfdW5yZWdpc3Rlcl9vb2Jf aG90cGx1Z19ub3RpZmllciAtIHVucmVnaXN0ZXIgYW4gb29iIGhvdHBsdWcgbm90aWZpZXIKKyAq IEBuYjogbm90aWZpZXJfYmxvY2sgdG8gcmVnaXN0ZXIKKyAqCisgKiBEcml2ZXJzIGNhbiB1c2Ug dGhpcyBoZWxwZXIgZnVuY3Rpb24gdG8gdW5yZWdpc3RlciBhIG5vdGlmaWVyIGZvcgorICogb3V0 LW9mLWJhbmQgaG90cGx1ZyBldmVudHMuCisgKi8KK2ludCBkcm1fa21zX3VucmVnaXN0ZXJfb29i X2hvdHBsdWdfbm90aWZpZXIoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpuYikKK3sKKwlyZXR1cm4g YmxvY2tpbmdfbm90aWZpZXJfY2hhaW5fdW5yZWdpc3RlcigKKwkJCQkmZHJtX2ttc19vb2JfaG90 cGx1Z19ub3RpZmllcl9oZWFkLCBuYik7Cit9CitFWFBPUlRfU1lNQk9MKGRybV9rbXNfdW5yZWdp c3Rlcl9vb2JfaG90cGx1Z19ub3RpZmllcik7CisKKy8qKgorICogZHJtX2ttc19jYWxsX29vYl9o b3RwbHVnX25vdGlmaWVyX2NoYWluIC0gbm90aWZ5IGFib3V0IGFuIG9vYiBob3RwbHVnIGV2ZW50 CisgKiBAZXZlbnQ6IGVudW0gZHJtX2ttc19vb2JfaG90cGx1Z19ldmVudCB2YWx1ZSBkZXNjcmli aW5nIHRoZSBldmVudAorICoKKyAqIE91dC1vZi1iYW5kIGhvdHBsdWcgZXZlbnQgc291cmNlcyBj YW4gY2FsbCB0aGlzIGhlbHBlciBmdW5jdGlvbiB0byBub3RpZnkKKyAqIGttcy1kcml2ZXJzIGFi b3V0IGFuIG9vYiBob3RwbHVnIGV2ZW50LgorICovCitpbnQgZHJtX2ttc19jYWxsX29vYl9ob3Rw bHVnX25vdGlmaWVyX2NoYWluKHVuc2lnbmVkIGxvbmcgZXZlbnQpCit7CisJcmV0dXJuIGJsb2Nr aW5nX25vdGlmaWVyX2NhbGxfY2hhaW4oCisJCQkmZHJtX2ttc19vb2JfaG90cGx1Z19ub3RpZmll cl9oZWFkLCBldmVudCwgTlVMTCk7Cit9CitFWFBPUlRfU1lNQk9MKGRybV9rbXNfY2FsbF9vb2Jf aG90cGx1Z19ub3RpZmllcl9jaGFpbik7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fcHJv YmVfaGVscGVyLmggYi9pbmNsdWRlL2RybS9kcm1fcHJvYmVfaGVscGVyLmgKaW5kZXggOGQzZWQy ODM0ZDM0Li42OGNmY2U0N2QzNWYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9wcm9iZV9o ZWxwZXIuaAorKysgYi9pbmNsdWRlL2RybS9kcm1fcHJvYmVfaGVscGVyLmgKQEAgLTI0LDQgKzI0 LDE2IEBAIHZvaWQgZHJtX2ttc19oZWxwZXJfcG9sbF9kaXNhYmxlKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYpOwogdm9pZCBkcm1fa21zX2hlbHBlcl9wb2xsX2VuYWJsZShzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2KTsKIGJvb2wgZHJtX2ttc19oZWxwZXJfaXNfcG9sbF93b3JrZXIodm9pZCk7CiAKKy8q KgorICogZW51bSBkcm1fa21zX29vYl9ob3RwbHVnX2V2ZW50IC0gb3V0LW9mLWJhbmQgaG90cGx1 ZyBldmVudHMKKyAqIEBEUk1fT09CX0hPVFBMVUdfVFlQRV9DX0RQOiBEaXNwbGF5UG9ydCBvdmVy IFR5cGUtQyBob3RwbHVnIGV2ZW50CisgKi8KK2VudW0gZHJtX2ttc19vb2JfaG90cGx1Z19ldmVu dCB7CisJRFJNX09PQl9IT1RQTFVHX1RZUEVfQ19EUCA9IDAsCit9OworCitpbnQgZHJtX2ttc19y ZWdpc3Rlcl9vb2JfaG90cGx1Z19ub3RpZmllcihzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5iKTsK K2ludCBkcm1fa21zX3VucmVnaXN0ZXJfb29iX2hvdHBsdWdfbm90aWZpZXIoc3RydWN0IG5vdGlm aWVyX2Jsb2NrICpuYik7CitpbnQgZHJtX2ttc19jYWxsX29vYl9ob3RwbHVnX25vdGlmaWVyX2No YWluKHVuc2lnbmVkIGxvbmcgZXZlbnQpOworCiAjZW5kaWYKLS0gCjIuMjAuMQoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4