From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [RFC 2/3] drm/i915: component master at i915 driver load Date: Wed, 11 Jul 2018 19:41:27 +0530 Message-ID: <1531318288-23380-3-git-send-email-ramalingam.c@intel.com> References: <1531318288-23380-1-git-send-email-ramalingam.c@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id A98556ECE7 for ; Wed, 11 Jul 2018 14:11:24 +0000 (UTC) In-Reply-To: <1531318288-23380-1-git-send-email-ramalingam.c@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, daniel@ffwll.ch, tomas.winkler@intel.com, alexander.usyskin@intel.com List-Id: intel-gfx@lists.freedesktop.org QSBnZW5lcmljIGNvbXBvbmVudCBtYXN0ZXIgaXMgYWRkZWQgdG8gaG9sZCB0aGUgaTkxNSByZWdp c3RyYXRpb24KdW50aWxsIGFsbCByZXF1aXJlZCBrZXJuZWwgbW9kdWxlcyBhcmUgdXAgYW5kIGFj dGl2ZS4KClRoaXMgaXMgYWNoaWV2ZWQgdGhyb3VnaCBmb2xsb3dpbmcgc3RlcHM6CgktIG1vdmlu ZyB0aGUgaTkxNSBkcml2ZXIgcmVnaXN0cmF0aW9uIHRvIHRoZSBjb21wb25lbnQgbWFzdGVyJ3MK CQliaW5kIGNhbGwKCS0gYWxsIHJlcXVpcmVkIGtlcm5lbCBtb2R1bGVzIHdpbGwgYWRkIG9uZSBj b21wb25lbnQgZWFjaCB0bwoJCWNvbXBvbmVudF9tYXRjaCBvZiBJOTE1IGNvbXBvbmVudCBtYXN0 ZXIuCgpJZiBubyBjb21wb25lbnQgaXMgYWRkZWQgdG8gdGhlIEk5MTUgY29tcG9uZW50IG1hc3Rl ciwgZHVlIHRvIENPTkZJRwpzZWxlY3Rpb24gb3IgSFcgbGltaXRhdGlvbiwgY29tcG9uZW50IG1h c3RlcidzIGJpbmQgY2FsbCB3aWxsIGJlCnRyaWdnZXJlZCB3aXRoIG5vIHdhaXQuCgpTaWduZWQt b2ZmLWJ5OiBSYW1hbGluZ2FtIEMgPHJhbWFsaW5nYW0uY0BpbnRlbC5jb20+Ci0tLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyB8IDg3ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIHwgIDMgKysK IGluY2x1ZGUvZHJtL2k5MTVfY29tcG9uZW50LmggICAgfCAxNiArKysrKysrKwogMyBmaWxlcyBj aGFuZ2VkLCA5NCBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuYwppbmRleCAwZGIzYzgzY2NlMjkuLjU5OGFiM2FmYzEzMSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5jCkBAIC0zOSwxMiArMzksMTQgQEAKICNpbmNsdWRlIDxsaW51eC92Z2FhcmIuaD4K ICNpbmNsdWRlIDxsaW51eC92Z2Ffc3dpdGNoZXJvby5oPgogI2luY2x1ZGUgPGxpbnV4L3Z0Lmg+ CisjaW5jbHVkZSA8bGludXgvY29tcG9uZW50Lmg+CiAjaW5jbHVkZSA8YWNwaS92aWRlby5oPgog CiAjaW5jbHVkZSA8ZHJtL2RybVAuaD4KICNpbmNsdWRlIDxkcm0vZHJtX2NydGNfaGVscGVyLmg+ CiAjaW5jbHVkZSA8ZHJtL2RybV9hdG9taWNfaGVscGVyLmg+CiAjaW5jbHVkZSA8ZHJtL2k5MTVf ZHJtLmg+CisjaW5jbHVkZSA8ZHJtL2k5MTVfY29tcG9uZW50Lmg+CiAKICNpbmNsdWRlICJpOTE1 X2Rydi5oIgogI2luY2x1ZGUgImk5MTVfdHJhY2UuaCIKQEAgLTEyNDcsOCArMTI0OSw2IEBAIHN0 YXRpYyB2b2lkIGk5MTVfZHJpdmVyX3JlZ2lzdGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdikKIAlpZiAoSVNfR0VONShkZXZfcHJpdikpCiAJCWludGVsX2dwdV9pcHNfaW5pdChk ZXZfcHJpdik7CiAKLQlpbnRlbF9hdWRpb19pbml0KGRldl9wcml2KTsKLQogCS8qCiAJICogU29t ZSBwb3J0cyByZXF1aXJlIGNvcnJlY3RseSBzZXQtdXAgaHBkIHJlZ2lzdGVycyBmb3IgZGV0ZWN0 aW9uIHRvCiAJICogd29yayBwcm9wZXJseSAobGVhZGluZyB0byBnaG9zdCBjb25uZWN0ZWQgY29u bmVjdG9yIHN0YXR1cyksIGUuZy4gVkdBCkBAIC0xMzEwLDYgKzEzMTAsNDcgQEAgc3RhdGljIHZv aWQgaTkxNV93ZWxjb21lX21lc3NhZ2VzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dikKIAkJRFJNX0lORk8oIkRSTV9JOTE1X0RFQlVHX0dFTSBlbmFibGVkXG4iKTsKIH0KIAorc3Rh dGljIHZvaWQgaTkxNV9kcml2ZXJfbG9hZF90YWlsKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdikKK3sKKwlpOTE1X2RyaXZlcl9yZWdpc3RlcihkZXZfcHJpdik7CisKKwlpbnRlbF9y dW50aW1lX3BtX2VuYWJsZShkZXZfcHJpdik7CisKKwlpbnRlbF9pbml0X2lwYyhkZXZfcHJpdik7 CisKKwlpbnRlbF9ydW50aW1lX3BtX3B1dChkZXZfcHJpdik7CisKKwlpOTE1X3dlbGNvbWVfbWVz c2FnZXMoZGV2X3ByaXYpOworfQorCitzdGF0aWMgaW50IGk5MTVfY29tcG9uZW50X21hc3Rlcl9i aW5kKHN0cnVjdCBkZXZpY2UgKmRldikKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSBrZGV2X3RvX2k5MTUoZGV2KTsKKwlpbnQgcmV0OworCisJcmV0ID0gY29tcG9uZW50 X2JpbmRfYWxsKGRldiwgZGV2X3ByaXYtPmNvbXBfbWFzdGVyKTsKKwlpZiAocmV0IDwgMCkKKwkJ cmV0dXJuIHJldDsKKworCWk5MTVfZHJpdmVyX2xvYWRfdGFpbChkZXZfcHJpdik7CisKKwlyZXR1 cm4gMDsKK30KKworc3RhdGljIHZvaWQgaTkxNV9jb21wb25lbnRfbWFzdGVyX3VuYmluZChzdHJ1 Y3QgZGV2aWNlICpkZXYpCit7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g a2Rldl90b19pOTE1KGRldik7CisKKwljb21wb25lbnRfdW5iaW5kX2FsbChkZXYsIGRldl9wcml2 LT5jb21wX21hc3Rlcik7CisKKwkvKiBUTy1ETzogV2hldGhlciBJOTE1IHNob3VsZCBiZSB1bmxv YWRlZCBvbiBhbnkgY29tcG9uZW50IHVuYmluZCE/ICovCit9CisKK3N0YXRpYyBjb25zdCBzdHJ1 Y3QgY29tcG9uZW50X21hc3Rlcl9vcHMgaTkxNV9jb21wb25lbnRfbWFzdGVyX29wcyA9IHsKKwku YmluZCA9IGk5MTVfY29tcG9uZW50X21hc3Rlcl9iaW5kLAorCS51bmJpbmQgPSBpOTE1X2NvbXBv bmVudF9tYXN0ZXJfdW5iaW5kLAorfTsKKwogLyoqCiAgKiBpOTE1X2RyaXZlcl9sb2FkIC0gc2V0 dXAgY2hpcCBhbmQgY3JlYXRlIGFuIGluaXRpYWwgY29uZmlnCiAgKiBAcGRldjogUENJIGRldmlj ZQpAQCAtMTM0MSwxMiArMTM4MiwyNSBAQCBpbnQgaTkxNV9kcml2ZXJfbG9hZChzdHJ1Y3QgcGNp X2RldiAqcGRldiwgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgKmVudCkKIAkJZ290byBvdXRf ZnJlZTsKIAl9CiAKKwlkZXZfcHJpdi0+Y29tcF9tYXN0ZXIgPSBremFsbG9jKHNpemVvZigqZGV2 X3ByaXYtPmNvbXBfbWFzdGVyKSwKKwkJCQkJR0ZQX0tFUk5FTCk7CisJaWYgKCFkZXZfcHJpdi0+ Y29tcF9tYXN0ZXIpIHsKKwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBvdXRfZmluaTsKKwl9CisK Kwljb21wb25lbnRfbWF0Y2hfYWxsb2MoZGV2X3ByaXYtPmRybS5kZXYsICZkZXZfcHJpdi0+bWFz dGVyX21hdGNoKTsKKwlpZiAoIWRldl9wcml2LT5tYXN0ZXJfbWF0Y2gpIHsKKwkJcmV0ID0gLUVO T01FTTsKKwkJZ290byBvdXRfY29tcF9tYXN0ZXJfY2xlYW47CisJfQorCiAJZGV2X3ByaXYtPmRy bS5wZGV2ID0gcGRldjsKIAlkZXZfcHJpdi0+ZHJtLmRldl9wcml2YXRlID0gZGV2X3ByaXY7CiAK IAlyZXQgPSBwY2lfZW5hYmxlX2RldmljZShwZGV2KTsKIAlpZiAocmV0KQotCQlnb3RvIG91dF9m aW5pOworCQlnb3RvIG91dF9jb21wX21hc3Rlcl9jbGVhbjsKIAogCXBjaV9zZXRfZHJ2ZGF0YShw ZGV2LCAmZGV2X3ByaXYtPmRybSk7CiAJLyoKQEAgLTEzODksMTggKzE0NDMsMjEgQEAgaW50IGk5 MTVfZHJpdmVyX2xvYWQoc3RydWN0IHBjaV9kZXYgKnBkZXYsIGNvbnN0IHN0cnVjdCBwY2lfZGV2 aWNlX2lkICplbnQpCiAJaWYgKHJldCA8IDApCiAJCWdvdG8gb3V0X2NsZWFudXBfaHc7CiAKLQlp OTE1X2RyaXZlcl9yZWdpc3RlcihkZXZfcHJpdik7Ci0KLQlpbnRlbF9ydW50aW1lX3BtX2VuYWJs ZShkZXZfcHJpdik7Ci0KLQlpbnRlbF9pbml0X2lwYyhkZXZfcHJpdik7Ci0KLQlpbnRlbF9ydW50 aW1lX3BtX3B1dChkZXZfcHJpdik7Ci0KLQlpOTE1X3dlbGNvbWVfbWVzc2FnZXMoZGV2X3ByaXYp OworCXJldCA9IGNvbXBvbmVudF9tYXN0ZXJfYWRkX3dpdGhfbWF0Y2goZGV2X3ByaXYtPmRybS5k ZXYsCisJCQkJCSAgICAgICZpOTE1X2NvbXBvbmVudF9tYXN0ZXJfb3BzLAorCQkJCQkgICAgICBk ZXZfcHJpdi0+bWFzdGVyX21hdGNoKTsKKwlpZiAocmV0IDwgMCkgeworCQlEUk1fREVWX0VSUk9S KCZwZGV2LT5kZXYsICJNYXN0ZXIgY29tcCBhZGQgZmFpbGVkICVkXG4iLAorCQkJICAgICAgcmV0 KTsKKwkJZ290byBvdXRfY2xlYW51cF9tb2Rlc2V0OworCX0KKwlpbnRlbF9hdWRpb19pbml0KGRl dl9wcml2KTsKKwlEUk1fREVWX0lORk8oJnBkZXYtPmRldiwgIkk5MTUgd2FpdHMgZm9yIENvbXBv bmVudHMgKElmIGFueSkuXG4iKTsKIAogCXJldHVybiAwOwogCitvdXRfY2xlYW51cF9tb2Rlc2V0 OgorCWludGVsX21vZGVzZXRfY2xlYW51cCgmZGV2X3ByaXYtPmRybSk7CiBvdXRfY2xlYW51cF9o dzoKIAlpOTE1X2RyaXZlcl9jbGVhbnVwX2h3KGRldl9wcml2KTsKIG91dF9jbGVhbnVwX21taW86 CkBAIC0xNDEwLDYgKzE0NjcsOCBAQCBpbnQgaTkxNV9kcml2ZXJfbG9hZChzdHJ1Y3QgcGNpX2Rl diAqcGRldiwgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgKmVudCkKIAlpOTE1X2RyaXZlcl9j bGVhbnVwX2Vhcmx5KGRldl9wcml2KTsKIG91dF9wY2lfZGlzYWJsZToKIAlwY2lfZGlzYWJsZV9k ZXZpY2UocGRldik7CitvdXRfY29tcF9tYXN0ZXJfY2xlYW46CisJa2ZyZWUoZGV2X3ByaXYtPmNv bXBfbWFzdGVyKTsKIG91dF9maW5pOgogCWk5MTVfbG9hZF9lcnJvcihkZXZfcHJpdiwgIkRldmlj ZSBpbml0aWFsaXphdGlvbiBmYWlsZWQgKCVkKVxuIiwgcmV0KTsKIAlkcm1fZGV2X2ZpbmkoJmRl dl9wcml2LT5kcm0pOwpAQCAtMTQyOCw2ICsxNDg3LDEwIEBAIHZvaWQgaTkxNV9kcml2ZXJfdW5s b2FkKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJaWYgKGk5MTVfZ2VtX3N1c3BlbmQoZGV2X3By aXYpKQogCQlEUk1fRVJST1IoImZhaWxlZCB0byBpZGxlIGhhcmR3YXJlOyBjb250aW51aW5nIHRv IHVubG9hZCFcbiIpOwogCisJY29tcG9uZW50X21hc3Rlcl9kZWwoZGV2X3ByaXYtPmRybS5kZXYs CisJCQkgICAgICZpOTE1X2NvbXBvbmVudF9tYXN0ZXJfb3BzKTsKKwlrZnJlZShkZXZfcHJpdi0+ Y29tcF9tYXN0ZXIpOworCiAJaW50ZWxfZGlzcGxheV9wb3dlcl9nZXQoZGV2X3ByaXYsIFBPV0VS X0RPTUFJTl9JTklUKTsKIAogCWRybV9hdG9taWNfaGVscGVyX3NodXRkb3duKGRldik7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaAppbmRleCAwOWFiMTI0NTgyNDQuLjYyMGY0MWUxM2RiZSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0yMTE5LDYgKzIxMTksOSBAQCBzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSB7CiAKIAlzdHJ1Y3QgaTkxNV9wbXUgcG11OwogCisJc3RydWN0IGk5MTVfY29tcG9u ZW50X21hc3RlciAqY29tcF9tYXN0ZXI7CisJc3RydWN0IGNvbXBvbmVudF9tYXRjaCAqbWFzdGVy X21hdGNoOworCiAJLyoKIAkgKiBOT1RFOiBUaGlzIGlzIHRoZSBkcmkxL3VtcyBkdW5nZW9uLCBk b24ndCBhZGQgc3R1ZmYgaGVyZS4gWW91ciBwYXRjaAogCSAqIHdpbGwgYmUgcmVqZWN0ZWQuIElu c3RlYWQgbG9vayBmb3IgYSBiZXR0ZXIgcGxhY2UuCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9p OTE1X2NvbXBvbmVudC5oIGIvaW5jbHVkZS9kcm0vaTkxNV9jb21wb25lbnQuaAppbmRleCAzNDZi MWY1Y2IxODAuLjUyMzEzYmMyMjdiMiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vaTkxNV9jb21w b25lbnQuaAorKysgYi9pbmNsdWRlL2RybS9pOTE1X2NvbXBvbmVudC5oCkBAIC0xMjEsNCArMTIx LDIwIEBAIHN0cnVjdCBpOTE1X2F1ZGlvX2NvbXBvbmVudCB7CiAJY29uc3Qgc3RydWN0IGk5MTVf YXVkaW9fY29tcG9uZW50X2F1ZGlvX29wcyAqYXVkaW9fb3BzOwogfTsKIAorLyoqCisgKiBzdHJ1 Y3QgaTkxNV9jb21wb25lbnRfbWFzdGVyIC0gVXNlZCBmb3IgY29tbXVuaWNhdGlvbiBiZXR3ZWVu IGk5MTUKKyAqIGFuZCBhbnkgb3RoZXIgZHJpdmVycyBmb3IgdGhlIHNlcnZpY2VzIG9mIGRpZmZl cmVudCBmZWF0dXJlLgorICovCitzdHJ1Y3QgaTkxNV9jb21wb25lbnRfbWFzdGVyIHsKKwkvKioK KwkgKiBAaTkxNV9rZGV2OiBLZGV2IG9mIEk5MTUuIFVzZWQgZnJvbSB0aGUgY2xpZW50IGNvbXBv bmVudCBmb3IKKwkgKiByZW1vdmluZyB0aGUgcmVmZXJlbmNlIHRvIG1laV9jbGRldi4KKwkgKi8K KwlzdHJ1Y3QgZGV2aWNlICppOTE1X2tkZXY7CisKKwkvKgorCSAqIEFkZCBoZXJlIHRoZSBpbnRl cmZhY2UgZGV0YWlscyBiZXR3ZWVuIEk5MTUgYW5kIGludGVyZXN0ZWQgbW9kdWxlcy4KKwkgKi8K K307CisKICNlbmRpZiAvKiBfSTkxNV9DT01QT05FTlRfSF8gKi8KLS0gCjIuNy40CgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGlu ZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK