From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH v9 05/39] drm/i915: component master at i915 driver load Date: Thu, 13 Dec 2018 09:31:07 +0530 Message-ID: <1544673701-6353-6-git-send-email-ramalingam.c@intel.com> References: <1544673701-6353-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: In-Reply-To: <1544673701-6353-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, dri-devel@lists.freedesktop.org, seanpaul@chromium.org, daniel.vetter@ffwll.ch, tomas.winkler@intel.com, uma.shankar@intel.com List-Id: dri-devel@lists.freedesktop.org QSBnZW5lcmljIGNvbXBvbmVudCBtYXN0ZXIgaXMgYWRkZWQgdG8gaG9sZCB0aGUgaTkxNSByZWdp c3RyYXRpb24KdW50aWwgYWxsIHJlcXVpcmVkIGtlcm5lbCBtb2R1bGVzIGFyZSB1cCBhbmQgYWN0 aXZlLgoKVGhpcyBpcyBhY2hpZXZlZCB0aHJvdWdoIGZvbGxvd2luZyBzdGVwczoKICAtIG1vdmlu ZyB0aGUgaTkxNSBkcml2ZXIgcmVnaXN0cmF0aW9uIHRvIHRoZSBjb21wb25lbnQgbWFzdGVyJ3MK ICAgIGJpbmQgY2FsbAogIC0gYWxsIHJlcXVpcmVkIGtlcm5lbCBtb2R1bGVzIHdpbGwgYWRkIG9u ZSBjb21wb25lbnQgZWFjaCB0bwogICAgY29tcG9uZW50X21hdGNoIG9mIEk5MTUgY29tcG9uZW50 IG1hc3Rlci4KCklmIG5vIGNvbXBvbmVudCBpcyBhZGRlZCB0byB0aGUgSTkxNSBjb21wb25lbnQg bWFzdGVyLCBkdWUgdG8gQ09ORklHCnNlbGVjdGlvbiBvciBIVyBsaW1pdGF0aW9uLCBjb21wb25l bnQgbWFzdGVyJ3MgYmluZCBjYWxsIChpOTE1CnJlZ2lzdHJhdGlvbikgd2lsbCBiZSB0cmlnZ2Vy ZWQgd2l0aCBubyB3YWl0LgoKU2ltaWxhcmx5IHdoZW4gYSBhc3NvY2lhdGVkIGNvbXBvbmVudCBp cyByZW1vdmVkIGZvciBzb21lIHJlYXNvbnMsCkk5MTUgd2lsbCBiZSB1bnJlZ2lzdGVyZWQgdGhy b3VnaCBjb21wb25lbnQgbWFzdGVyIHVuYmluZC4KCnYyOgogIGk5MTVfZHJpdmVyX3VucmVnaXN0 ZXIgaXMgYWRkZWQgdG8gdGhlIHVuYmluZCBvZiBtYXN0ZXIuCnYzOgogIEluIG1hc3Rlcl91bmJp bmQgaTkxNV91bnJlZ2lzdGVyLT5kcm1fYXRvbWljX2hlbHBlcl9zaHV0ZG93bi0+Cgljb21wb25l bnRfdW5iaW5kX2FsbCBbRGFuaWVsXQoKU2lnbmVkLW9mZi1ieTogUmFtYWxpbmdhbSBDIDxyYW1h bGluZ2FtLmNAaW50ZWwuY29tPgpTdWdnZXN0ZWQtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52 ZXR0ZXJAZmZ3bGwuY2g+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyB8IDg2 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oIHwgIDMgKysKIGluY2x1ZGUvZHJtL2k5MTVfY29tcG9uZW50Lmgg ICAgfCAxMSArKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgOTIgaW5zZXJ0aW9ucygrKSwgOCBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwppbmRleCBiMzEwYTg5N2E0YWQuLmI4YTIw NDA3MmU2MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCkBAIC0zOSwxMiArMzksMTQgQEAKICNp bmNsdWRlIDxsaW51eC92Z2FhcmIuaD4KICNpbmNsdWRlIDxsaW51eC92Z2Ffc3dpdGNoZXJvby5o PgogI2luY2x1ZGUgPGxpbnV4L3Z0Lmg+CisjaW5jbHVkZSA8bGludXgvY29tcG9uZW50Lmg+CiAj aW5jbHVkZSA8YWNwaS92aWRlby5oPgogCiAjaW5jbHVkZSA8ZHJtL2RybVAuaD4KICNpbmNsdWRl IDxkcm0vZHJtX2NydGNfaGVscGVyLmg+CiAjaW5jbHVkZSA8ZHJtL2RybV9hdG9taWNfaGVscGVy Lmg+CiAjaW5jbHVkZSA8ZHJtL2k5MTVfZHJtLmg+CisjaW5jbHVkZSA8ZHJtL2k5MTVfY29tcG9u ZW50Lmg+CiAKICNpbmNsdWRlICJpOTE1X2Rydi5oIgogI2luY2x1ZGUgImk5MTVfdHJhY2UuaCIK QEAgLTE1NzcsOCArMTU3OSw2IEBAIHN0YXRpYyB2b2lkIGk5MTVfZHJpdmVyX3JlZ2lzdGVyKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlpZiAoSVNfR0VONShkZXZfcHJpdikp CiAJCWludGVsX2dwdV9pcHNfaW5pdChkZXZfcHJpdik7CiAKLQlpbnRlbF9hdWRpb19pbml0KGRl dl9wcml2KTsKLQogCS8qCiAJICogU29tZSBwb3J0cyByZXF1aXJlIGNvcnJlY3RseSBzZXQtdXAg aHBkIHJlZ2lzdGVycyBmb3IgZGV0ZWN0aW9uIHRvCiAJICogd29yayBwcm9wZXJseSAobGVhZGlu ZyB0byBnaG9zdCBjb25uZWN0ZWQgY29ubmVjdG9yIHN0YXR1cyksIGUuZy4gVkdBCkBAIC0xNjA5 LDcgKzE2MDksNiBAQCBzdGF0aWMgdm9pZCBpOTE1X2RyaXZlcl91bnJlZ2lzdGVyKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlpbnRlbF9wb3dlcl9kb21haW5zX2Rpc2FibGUo ZGV2X3ByaXYpOwogCiAJaW50ZWxfZmJkZXZfdW5yZWdpc3RlcihkZXZfcHJpdik7Ci0JaW50ZWxf YXVkaW9fZGVpbml0KGRldl9wcml2KTsKIAogCS8qCiAJICogQWZ0ZXIgZmx1c2hpbmcgdGhlIGZi ZGV2IChpbmNsLiBhIGxhdGUgYXN5bmMgY29uZmlnIHdoaWNoIHdpbGwKQEAgLTE2OTQsNiArMTY5 Myw0OCBAQCBzdGF0aWMgdm9pZCBpOTE1X2RyaXZlcl9kZXN0cm95KHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICppOTE1KQogCXBjaV9zZXRfZHJ2ZGF0YShwZGV2LCBOVUxMKTsKIH0KIAorc3RhdGlj IHZvaWQgaTkxNV9kcml2ZXJfbG9hZF90YWlsKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdikKK3sKKwlpOTE1X2RyaXZlcl9yZWdpc3RlcihkZXZfcHJpdik7CisKKwlEUk1fSU5GTygi bG9hZF90YWlsOiBJOTE1IGRyaXZlciByZWdpc3RlcmVkXG4iKTsKK30KKworc3RhdGljIHZvaWQg aTkxNV9kcml2ZXJfdW5sb2FkX2hlYWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 KQoreworCWk5MTVfZHJpdmVyX3VucmVnaXN0ZXIoZGV2X3ByaXYpOworCisJRFJNX0lORk8oInVu bG9hZF9oZWFkOiBJOTE1IGRyaXZlciB1bnJlZ2lzdGVyZWRcbiIpOworfQorCitzdGF0aWMgaW50 IGk5MTVfY29tcG9uZW50X21hc3Rlcl9iaW5kKHN0cnVjdCBkZXZpY2UgKmRldikKK3sKKwlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBrZGV2X3RvX2k5MTUoZGV2KTsKKwlpbnQg cmV0OworCisJcmV0ID0gY29tcG9uZW50X2JpbmRfYWxsKGRldiwgZGV2X3ByaXYtPmNvbXBfbWFz dGVyKTsKKwlpZiAocmV0IDwgMCkKKwkJcmV0dXJuIHJldDsKKworCWk5MTVfZHJpdmVyX2xvYWRf dGFpbChkZXZfcHJpdik7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgaTkxNV9jb21w b25lbnRfbWFzdGVyX3VuYmluZChzdHJ1Y3QgZGV2aWNlICpkZXYpCit7CisJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0ga2Rldl90b19pOTE1KGRldik7CisKKwlpOTE1X2RyaXZl cl91bmxvYWRfaGVhZChkZXZfcHJpdik7CisJZHJtX2F0b21pY19oZWxwZXJfc2h1dGRvd24oJmRl dl9wcml2LT5kcm0pOworCWNvbXBvbmVudF91bmJpbmRfYWxsKGRldiwgZGV2X3ByaXYtPmNvbXBf bWFzdGVyKTsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBjb21wb25lbnRfbWFzdGVyX29wcyBp OTE1X2NvbXBvbmVudF9tYXN0ZXJfb3BzID0geworCS5iaW5kID0gaTkxNV9jb21wb25lbnRfbWFz dGVyX2JpbmQsCisJLnVuYmluZCA9IGk5MTVfY29tcG9uZW50X21hc3Rlcl91bmJpbmQsCit9Owor CiAvKioKICAqIGk5MTVfZHJpdmVyX2xvYWQgLSBzZXR1cCBjaGlwIGFuZCBjcmVhdGUgYW4gaW5p dGlhbCBjb25maWcKICAqIEBwZGV2OiBQQ0kgZGV2aWNlCkBAIC0xNzIwLDkgKzE3NjEsMjIgQEAg aW50IGk5MTVfZHJpdmVyX2xvYWQoc3RydWN0IHBjaV9kZXYgKnBkZXYsIGNvbnN0IHN0cnVjdCBw Y2lfZGV2aWNlX2lkICplbnQpCiAJaWYgKCFpOTE1X21vZHBhcmFtcy5udWNsZWFyX3BhZ2VmbGlw ICYmIG1hdGNoX2luZm8tPmdlbiA8IDUpCiAJCWRldl9wcml2LT5kcm0uZHJpdmVyX2ZlYXR1cmVz ICY9IH5EUklWRVJfQVRPTUlDOwogCisJZGV2X3ByaXYtPmNvbXBfbWFzdGVyID0ga3phbGxvYyhz aXplb2YoKmRldl9wcml2LT5jb21wX21hc3RlciksCisJCQkJCUdGUF9LRVJORUwpOworCWlmICgh ZGV2X3ByaXYtPmNvbXBfbWFzdGVyKSB7CisJCXJldCA9IC1FTk9NRU07CisJCWdvdG8gb3V0X2Zp bmk7CisJfQorCisJY29tcG9uZW50X21hdGNoX2FsbG9jKGRldl9wcml2LT5kcm0uZGV2LCAmZGV2 X3ByaXYtPm1hc3Rlcl9tYXRjaCk7CisJaWYgKCFkZXZfcHJpdi0+bWFzdGVyX21hdGNoKSB7CisJ CXJldCA9IC1FTk9NRU07CisJCWdvdG8gb3V0X2NvbXBfbWFzdGVyX2NsZWFuOworCX0KKwogCXJl dCA9IHBjaV9lbmFibGVfZGV2aWNlKHBkZXYpOwogCWlmIChyZXQpCi0JCWdvdG8gb3V0X2Zpbmk7 CisJCWdvdG8gb3V0X2NvbXBfbWFzdGVyX2NsZWFuOwogCiAJcmV0ID0gaTkxNV9kcml2ZXJfaW5p dF9lYXJseShkZXZfcHJpdik7CiAJaWYgKHJldCA8IDApCkBAIC0xNzQyLDE0ICsxNzk2LDI3IEBA IGludCBpOTE1X2RyaXZlcl9sb2FkKHN0cnVjdCBwY2lfZGV2ICpwZGV2LCBjb25zdCBzdHJ1Y3Qg cGNpX2RldmljZV9pZCAqZW50KQogCWlmIChyZXQgPCAwKQogCQlnb3RvIG91dF9jbGVhbnVwX2h3 OwogCi0JaTkxNV9kcml2ZXJfcmVnaXN0ZXIoZGV2X3ByaXYpOworCXJldCA9IGNvbXBvbmVudF9t YXN0ZXJfYWRkX3dpdGhfbWF0Y2goZGV2X3ByaXYtPmRybS5kZXYsCisJCQkJCSAgICAgICZpOTE1 X2NvbXBvbmVudF9tYXN0ZXJfb3BzLAorCQkJCQkgICAgICBkZXZfcHJpdi0+bWFzdGVyX21hdGNo KTsKKwlpZiAocmV0IDwgMCkgeworCQlEUk1fREVWX0VSUk9SKCZwZGV2LT5kZXYsICJNYXN0ZXIg Y29tcCBhZGQgZmFpbGVkICVkXG4iLAorCQkJICAgICAgcmV0KTsKKwkJZ290byBvdXRfY2xlYW51 cF9tb2Rlc2V0OworCX0KKworCWludGVsX2F1ZGlvX2luaXQoZGV2X3ByaXYpOwogCiAJZW5hYmxl X3JwbV93YWtlcmVmX2Fzc2VydHMoZGV2X3ByaXYpOwogCiAJaTkxNV93ZWxjb21lX21lc3NhZ2Vz KGRldl9wcml2KTsKIAorCURSTV9JTkZPKCJJOTE1IHJlZ2lzdHJhdGlvbiB3YWl0cyBmb3IgcmVx IGNvbXBvbmVudChzKS4gaWYgYW55Li4uXG4iKTsKKwogCXJldHVybiAwOwogCitvdXRfY2xlYW51 cF9tb2Rlc2V0OgorCWludGVsX21vZGVzZXRfY2xlYW51cCgmZGV2X3ByaXYtPmRybSk7CiBvdXRf Y2xlYW51cF9odzoKIAlpOTE1X2RyaXZlcl9jbGVhbnVwX2h3KGRldl9wcml2KTsKIG91dF9jbGVh bnVwX21taW86CkBAIC0xNzU5LDYgKzE4MjYsOCBAQCBpbnQgaTkxNV9kcml2ZXJfbG9hZChzdHJ1 Y3QgcGNpX2RldiAqcGRldiwgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgKmVudCkKIAlpOTE1 X2RyaXZlcl9jbGVhbnVwX2Vhcmx5KGRldl9wcml2KTsKIG91dF9wY2lfZGlzYWJsZToKIAlwY2lf ZGlzYWJsZV9kZXZpY2UocGRldik7CitvdXRfY29tcF9tYXN0ZXJfY2xlYW46CisJa2ZyZWUoZGV2 X3ByaXYtPmNvbXBfbWFzdGVyKTsKIG91dF9maW5pOgogCWk5MTVfbG9hZF9lcnJvcihkZXZfcHJp diwgIkRldmljZSBpbml0aWFsaXphdGlvbiBmYWlsZWQgKCVkKVxuIiwgcmV0KTsKIAlpOTE1X2Ry aXZlcl9kZXN0cm95KGRldl9wcml2KTsKQEAgLTE3NzIsMTMgKzE4NDEsMTQgQEAgdm9pZCBpOTE1 X2RyaXZlcl91bmxvYWQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAogCWRpc2FibGVfcnBtX3dh a2VyZWZfYXNzZXJ0cyhkZXZfcHJpdik7CiAKLQlpOTE1X2RyaXZlcl91bnJlZ2lzdGVyKGRldl9w cml2KTsKKwljb21wb25lbnRfbWFzdGVyX2RlbChkZXZfcHJpdi0+ZHJtLmRldiwgJmk5MTVfY29t cG9uZW50X21hc3Rlcl9vcHMpOworCWtmcmVlKGRldl9wcml2LT5jb21wX21hc3Rlcik7CisKKwlp bnRlbF9hdWRpb19kZWluaXQoZGV2X3ByaXYpOwogCiAJaWYgKGk5MTVfZ2VtX3N1c3BlbmQoZGV2 X3ByaXYpKQogCQlEUk1fRVJST1IoImZhaWxlZCB0byBpZGxlIGhhcmR3YXJlOyBjb250aW51aW5n IHRvIHVubG9hZCFcbiIpOwogCi0JZHJtX2F0b21pY19oZWxwZXJfc2h1dGRvd24oZGV2KTsKLQog CWludGVsX2d2dF9jbGVhbnVwKGRldl9wcml2KTsKIAogCWludGVsX21vZGVzZXRfY2xlYW51cChk ZXYpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggZTcwNzA3ZTc5Mzg2Li4yNWRjM2Q3YTFl M2IgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMjAwMiw2ICsyMDAyLDkgQEAgc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgewogCiAJc3RydWN0IGk5MTVfcG11IHBtdTsKIAorCXN0cnVjdCBp OTE1X2NvbXBvbmVudF9tYXN0ZXIgKmNvbXBfbWFzdGVyOworCXN0cnVjdCBjb21wb25lbnRfbWF0 Y2ggKm1hc3Rlcl9tYXRjaDsKKwogCS8qCiAJICogTk9URTogVGhpcyBpcyB0aGUgZHJpMS91bXMg ZHVuZ2VvbiwgZG9uJ3QgYWRkIHN0dWZmIGhlcmUuIFlvdXIgcGF0Y2gKIAkgKiB3aWxsIGJlIHJl amVjdGVkLiBJbnN0ZWFkIGxvb2sgZm9yIGEgYmV0dGVyIHBsYWNlLgpkaWZmIC0tZ2l0IGEvaW5j bHVkZS9kcm0vaTkxNV9jb21wb25lbnQuaCBiL2luY2x1ZGUvZHJtL2k5MTVfY29tcG9uZW50LmgK aW5kZXggZmNhMjJkNDYzZTFiLi42Zjk0ZGRkM2YyYzIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJt L2k5MTVfY29tcG9uZW50LmgKKysrIGIvaW5jbHVkZS9kcm0vaTkxNV9jb21wb25lbnQuaApAQCAt NDYsNCArNDYsMTUgQEAgc3RydWN0IGk5MTVfYXVkaW9fY29tcG9uZW50IHsKIAlpbnQgYXVkX3Nh bXBsZV9yYXRlW01BWF9QT1JUU107CiB9OwogCisvKioKKyAqIHN0cnVjdCBpOTE1X2NvbXBvbmVu dF9tYXN0ZXIgLSBVc2VkIGZvciBjb21tdW5pY2F0aW9uIGJldHdlZW4gaTkxNQorICoJCQkJICBh bmQgYW55IG90aGVyIGRyaXZlcnMgZm9yIHRoZSBzZXJ2aWNlcworICoJCQkJICBvZiBkaWZmZXJl bnQgZmVhdHVyZS4KKyAqLworc3RydWN0IGk5MTVfY29tcG9uZW50X21hc3RlciB7CisJLyoKKwkg KiBBZGQgaGVyZSB0aGUgaW50ZXJmYWNlIGRldGFpbHMgYmV0d2VlbiBJOTE1IGFuZCBpbnRlcmVz dGVkIG1vZHVsZXMuCisJICovCit9OworCiAjZW5kaWYgLyogX0k5MTVfQ09NUE9ORU5UX0hfICov Ci0tIAoyLjcuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 Cg==