From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH v6 08/35] drm/i915: component master at i915 driver load Date: Sat, 14 Jul 2018 08:44:50 +0530 Message-ID: <1531538117-1606-9-git-send-email-ramalingam.c@intel.com> References: <1531538117-1606-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: <1531538117-1606-1-git-send-email-ramalingam.c@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, daniel@ffwll.ch, seanpaul@chromium.org, tomas.winkler@intel.com, alexander.usyskin@intel.com, uma.shankar@intel.com List-Id: dri-devel@lists.freedesktop.org QSBnZW5lcmljIGNvbXBvbmVudCBtYXN0ZXIgaXMgYWRkZWQgdG8gaG9sZCB0aGUgaTkxNSByZWdp c3RyYXRpb24KdW50aWwgYWxsIHJlcXVpcmVkIGtlcm5lbCBtb2R1bGVzIGFyZSB1cCBhbmQgYWN0 aXZlLgoKVGhpcyBpcyBhY2hpZXZlZCB0aHJvdWdoIGZvbGxvd2luZyBzdGVwczoKCS0gbW92aW5n IHRoZSBpOTE1IGRyaXZlciByZWdpc3RyYXRpb24gdG8gdGhlIGNvbXBvbmVudCBtYXN0ZXIncwoJ CWJpbmQgY2FsbAoJLSBhbGwgcmVxdWlyZWQga2VybmVsIG1vZHVsZXMgd2lsbCBhZGQgb25lIGNv bXBvbmVudCBlYWNoIHRvCgkJY29tcG9uZW50X21hdGNoIG9mIEk5MTUgY29tcG9uZW50IG1hc3Rl ci4KCklmIG5vIGNvbXBvbmVudCBpcyBhZGRlZCB0byB0aGUgSTkxNSBjb21wb25lbnQgbWFzdGVy LCBkdWUgdG8gQ09ORklHCnNlbGVjdGlvbiBvciBIVyBsaW1pdGF0aW9uLCBjb21wb25lbnQgbWFz dGVyJ3MgYmluZCBjYWxsIHdpbGwgYmUKdHJpZ2dlcmVkIHdpdGggbm8gd2FpdC4KClNpZ25lZC1v ZmYtYnk6IFJhbWFsaW5nYW0gQyA8cmFtYWxpbmdhbS5jQGludGVsLmNvbT4KU3VnZ2VzdGVkLWJ5 OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgotLS0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmMgfCA4NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKy0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCB8ICAzICsrCiBpbmNs dWRlL2RybS9pOTE1X2NvbXBvbmVudC5oICAgIHwgMTYgKysrKysrKysKIDMgZmlsZXMgY2hhbmdl ZCwgOTQgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmMKaW5kZXggMGRiM2M4M2NjZTI5Li41OThhYjNhZmMxMzEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuYwpAQCAtMzksMTIgKzM5LDE0IEBACiAjaW5jbHVkZSA8bGludXgvdmdhYXJiLmg+CiAjaW5j bHVkZSA8bGludXgvdmdhX3N3aXRjaGVyb28uaD4KICNpbmNsdWRlIDxsaW51eC92dC5oPgorI2lu Y2x1ZGUgPGxpbnV4L2NvbXBvbmVudC5oPgogI2luY2x1ZGUgPGFjcGkvdmlkZW8uaD4KIAogI2lu Y2x1ZGUgPGRybS9kcm1QLmg+CiAjaW5jbHVkZSA8ZHJtL2RybV9jcnRjX2hlbHBlci5oPgogI2lu Y2x1ZGUgPGRybS9kcm1fYXRvbWljX2hlbHBlci5oPgogI2luY2x1ZGUgPGRybS9pOTE1X2RybS5o PgorI2luY2x1ZGUgPGRybS9pOTE1X2NvbXBvbmVudC5oPgogCiAjaW5jbHVkZSAiaTkxNV9kcnYu aCIKICNpbmNsdWRlICJpOTE1X3RyYWNlLmgiCkBAIC0xMjQ3LDggKzEyNDksNiBAQCBzdGF0aWMg dm9pZCBpOTE1X2RyaXZlcl9yZWdpc3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYpCiAJaWYgKElTX0dFTjUoZGV2X3ByaXYpKQogCQlpbnRlbF9ncHVfaXBzX2luaXQoZGV2X3By aXYpOwogCi0JaW50ZWxfYXVkaW9faW5pdChkZXZfcHJpdik7Ci0KIAkvKgogCSAqIFNvbWUgcG9y dHMgcmVxdWlyZSBjb3JyZWN0bHkgc2V0LXVwIGhwZCByZWdpc3RlcnMgZm9yIGRldGVjdGlvbiB0 bwogCSAqIHdvcmsgcHJvcGVybHkgKGxlYWRpbmcgdG8gZ2hvc3QgY29ubmVjdGVkIGNvbm5lY3Rv ciBzdGF0dXMpLCBlLmcuIFZHQQpAQCAtMTMxMCw2ICsxMzEwLDQ3IEBAIHN0YXRpYyB2b2lkIGk5 MTVfd2VsY29tZV9tZXNzYWdlcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJ CURSTV9JTkZPKCJEUk1fSTkxNV9ERUJVR19HRU0gZW5hYmxlZFxuIik7CiB9CiAKK3N0YXRpYyB2 b2lkIGk5MTVfZHJpdmVyX2xvYWRfdGFpbChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYpCit7CisJaTkxNV9kcml2ZXJfcmVnaXN0ZXIoZGV2X3ByaXYpOworCisJaW50ZWxfcnVudGlt ZV9wbV9lbmFibGUoZGV2X3ByaXYpOworCisJaW50ZWxfaW5pdF9pcGMoZGV2X3ByaXYpOworCisJ aW50ZWxfcnVudGltZV9wbV9wdXQoZGV2X3ByaXYpOworCisJaTkxNV93ZWxjb21lX21lc3NhZ2Vz KGRldl9wcml2KTsKK30KKworc3RhdGljIGludCBpOTE1X2NvbXBvbmVudF9tYXN0ZXJfYmluZChz dHJ1Y3QgZGV2aWNlICpkZXYpCit7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0ga2Rldl90b19pOTE1KGRldik7CisJaW50IHJldDsKKworCXJldCA9IGNvbXBvbmVudF9iaW5k X2FsbChkZXYsIGRldl9wcml2LT5jb21wX21hc3Rlcik7CisJaWYgKHJldCA8IDApCisJCXJldHVy biByZXQ7CisKKwlpOTE1X2RyaXZlcl9sb2FkX3RhaWwoZGV2X3ByaXYpOworCisJcmV0dXJuIDA7 Cit9CisKK3N0YXRpYyB2b2lkIGk5MTVfY29tcG9uZW50X21hc3Rlcl91bmJpbmQoc3RydWN0IGRl dmljZSAqZGV2KQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGtkZXZf dG9faTkxNShkZXYpOworCisJY29tcG9uZW50X3VuYmluZF9hbGwoZGV2LCBkZXZfcHJpdi0+Y29t cF9tYXN0ZXIpOworCisJLyogVE8tRE86IFdoZXRoZXIgSTkxNSBzaG91bGQgYmUgdW5sb2FkZWQg b24gYW55IGNvbXBvbmVudCB1bmJpbmQhPyAqLworfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IGNv bXBvbmVudF9tYXN0ZXJfb3BzIGk5MTVfY29tcG9uZW50X21hc3Rlcl9vcHMgPSB7CisJLmJpbmQg PSBpOTE1X2NvbXBvbmVudF9tYXN0ZXJfYmluZCwKKwkudW5iaW5kID0gaTkxNV9jb21wb25lbnRf bWFzdGVyX3VuYmluZCwKK307CisKIC8qKgogICogaTkxNV9kcml2ZXJfbG9hZCAtIHNldHVwIGNo aXAgYW5kIGNyZWF0ZSBhbiBpbml0aWFsIGNvbmZpZwogICogQHBkZXY6IFBDSSBkZXZpY2UKQEAg LTEzNDEsMTIgKzEzODIsMjUgQEAgaW50IGk5MTVfZHJpdmVyX2xvYWQoc3RydWN0IHBjaV9kZXYg KnBkZXYsIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkICplbnQpCiAJCWdvdG8gb3V0X2ZyZWU7 CiAJfQogCisJZGV2X3ByaXYtPmNvbXBfbWFzdGVyID0ga3phbGxvYyhzaXplb2YoKmRldl9wcml2 LT5jb21wX21hc3RlciksCisJCQkJCUdGUF9LRVJORUwpOworCWlmICghZGV2X3ByaXYtPmNvbXBf bWFzdGVyKSB7CisJCXJldCA9IC1FTk9NRU07CisJCWdvdG8gb3V0X2Zpbmk7CisJfQorCisJY29t cG9uZW50X21hdGNoX2FsbG9jKGRldl9wcml2LT5kcm0uZGV2LCAmZGV2X3ByaXYtPm1hc3Rlcl9t YXRjaCk7CisJaWYgKCFkZXZfcHJpdi0+bWFzdGVyX21hdGNoKSB7CisJCXJldCA9IC1FTk9NRU07 CisJCWdvdG8gb3V0X2NvbXBfbWFzdGVyX2NsZWFuOworCX0KKwogCWRldl9wcml2LT5kcm0ucGRl diA9IHBkZXY7CiAJZGV2X3ByaXYtPmRybS5kZXZfcHJpdmF0ZSA9IGRldl9wcml2OwogCiAJcmV0 ID0gcGNpX2VuYWJsZV9kZXZpY2UocGRldik7CiAJaWYgKHJldCkKLQkJZ290byBvdXRfZmluaTsK KwkJZ290byBvdXRfY29tcF9tYXN0ZXJfY2xlYW47CiAKIAlwY2lfc2V0X2RydmRhdGEocGRldiwg JmRldl9wcml2LT5kcm0pOwogCS8qCkBAIC0xMzg5LDE4ICsxNDQzLDIxIEBAIGludCBpOTE1X2Ry aXZlcl9sb2FkKHN0cnVjdCBwY2lfZGV2ICpwZGV2LCBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9p ZCAqZW50KQogCWlmIChyZXQgPCAwKQogCQlnb3RvIG91dF9jbGVhbnVwX2h3OwogCi0JaTkxNV9k cml2ZXJfcmVnaXN0ZXIoZGV2X3ByaXYpOwotCi0JaW50ZWxfcnVudGltZV9wbV9lbmFibGUoZGV2 X3ByaXYpOwotCi0JaW50ZWxfaW5pdF9pcGMoZGV2X3ByaXYpOwotCi0JaW50ZWxfcnVudGltZV9w bV9wdXQoZGV2X3ByaXYpOwotCi0JaTkxNV93ZWxjb21lX21lc3NhZ2VzKGRldl9wcml2KTsKKwly ZXQgPSBjb21wb25lbnRfbWFzdGVyX2FkZF93aXRoX21hdGNoKGRldl9wcml2LT5kcm0uZGV2LAor CQkJCQkgICAgICAmaTkxNV9jb21wb25lbnRfbWFzdGVyX29wcywKKwkJCQkJICAgICAgZGV2X3By aXYtPm1hc3Rlcl9tYXRjaCk7CisJaWYgKHJldCA8IDApIHsKKwkJRFJNX0RFVl9FUlJPUigmcGRl di0+ZGV2LCAiTWFzdGVyIGNvbXAgYWRkIGZhaWxlZCAlZFxuIiwKKwkJCSAgICAgIHJldCk7CisJ CWdvdG8gb3V0X2NsZWFudXBfbW9kZXNldDsKKwl9CisJaW50ZWxfYXVkaW9faW5pdChkZXZfcHJp dik7CisJRFJNX0RFVl9JTkZPKCZwZGV2LT5kZXYsICJJOTE1IHdhaXRzIGZvciBDb21wb25lbnRz IChJZiBhbnkpLlxuIik7CiAKIAlyZXR1cm4gMDsKIAorb3V0X2NsZWFudXBfbW9kZXNldDoKKwlp bnRlbF9tb2Rlc2V0X2NsZWFudXAoJmRldl9wcml2LT5kcm0pOwogb3V0X2NsZWFudXBfaHc6CiAJ aTkxNV9kcml2ZXJfY2xlYW51cF9odyhkZXZfcHJpdik7CiBvdXRfY2xlYW51cF9tbWlvOgpAQCAt MTQxMCw2ICsxNDY3LDggQEAgaW50IGk5MTVfZHJpdmVyX2xvYWQoc3RydWN0IHBjaV9kZXYgKnBk ZXYsIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkICplbnQpCiAJaTkxNV9kcml2ZXJfY2xlYW51 cF9lYXJseShkZXZfcHJpdik7CiBvdXRfcGNpX2Rpc2FibGU6CiAJcGNpX2Rpc2FibGVfZGV2aWNl KHBkZXYpOworb3V0X2NvbXBfbWFzdGVyX2NsZWFuOgorCWtmcmVlKGRldl9wcml2LT5jb21wX21h c3Rlcik7CiBvdXRfZmluaToKIAlpOTE1X2xvYWRfZXJyb3IoZGV2X3ByaXYsICJEZXZpY2UgaW5p dGlhbGl6YXRpb24gZmFpbGVkICglZClcbiIsIHJldCk7CiAJZHJtX2Rldl9maW5pKCZkZXZfcHJp di0+ZHJtKTsKQEAgLTE0MjgsNiArMTQ4NywxMCBAQCB2b2lkIGk5MTVfZHJpdmVyX3VubG9hZChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCWlmIChpOTE1X2dlbV9zdXNwZW5kKGRldl9wcml2KSkK IAkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gaWRsZSBoYXJkd2FyZTsgY29udGludWluZyB0byB1bmxv YWQhXG4iKTsKIAorCWNvbXBvbmVudF9tYXN0ZXJfZGVsKGRldl9wcml2LT5kcm0uZGV2LAorCQkJ ICAgICAmaTkxNV9jb21wb25lbnRfbWFzdGVyX29wcyk7CisJa2ZyZWUoZGV2X3ByaXYtPmNvbXBf bWFzdGVyKTsKKwogCWludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0KGRldl9wcml2LCBQT1dFUl9ET01B SU5fSU5JVCk7CiAKIAlkcm1fYXRvbWljX2hlbHBlcl9zaHV0ZG93bihkZXYpOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmgKaW5kZXggMDlhYjEyNDU4MjQ0Li42MjBmNDFlMTNkYmUgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuaApAQCAtMjExOSw2ICsyMTE5LDkgQEAgc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgewogCiAJc3RydWN0IGk5MTVfcG11IHBtdTsKIAorCXN0cnVjdCBpOTE1X2NvbXBvbmVudF9t YXN0ZXIgKmNvbXBfbWFzdGVyOworCXN0cnVjdCBjb21wb25lbnRfbWF0Y2ggKm1hc3Rlcl9tYXRj aDsKKwogCS8qCiAJICogTk9URTogVGhpcyBpcyB0aGUgZHJpMS91bXMgZHVuZ2VvbiwgZG9uJ3Qg YWRkIHN0dWZmIGhlcmUuIFlvdXIgcGF0Y2gKIAkgKiB3aWxsIGJlIHJlamVjdGVkLiBJbnN0ZWFk IGxvb2sgZm9yIGEgYmV0dGVyIHBsYWNlLgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vaTkxNV9j b21wb25lbnQuaCBiL2luY2x1ZGUvZHJtL2k5MTVfY29tcG9uZW50LmgKaW5kZXggMzQ2YjFmNWNi MTgwLi41MjMxM2JjMjI3YjIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2k5MTVfY29tcG9uZW50 LmgKKysrIGIvaW5jbHVkZS9kcm0vaTkxNV9jb21wb25lbnQuaApAQCAtMTIxLDQgKzEyMSwyMCBA QCBzdHJ1Y3QgaTkxNV9hdWRpb19jb21wb25lbnQgewogCWNvbnN0IHN0cnVjdCBpOTE1X2F1ZGlv X2NvbXBvbmVudF9hdWRpb19vcHMgKmF1ZGlvX29wczsKIH07CiAKKy8qKgorICogc3RydWN0IGk5 MTVfY29tcG9uZW50X21hc3RlciAtIFVzZWQgZm9yIGNvbW11bmljYXRpb24gYmV0d2VlbiBpOTE1 CisgKiBhbmQgYW55IG90aGVyIGRyaXZlcnMgZm9yIHRoZSBzZXJ2aWNlcyBvZiBkaWZmZXJlbnQg ZmVhdHVyZS4KKyAqLworc3RydWN0IGk5MTVfY29tcG9uZW50X21hc3RlciB7CisJLyoqCisJICog QGk5MTVfa2RldjogS2RldiBvZiBJOTE1LiBVc2VkIGZyb20gdGhlIGNsaWVudCBjb21wb25lbnQg Zm9yCisJICogcmVtb3ZpbmcgdGhlIHJlZmVyZW5jZSB0byBtZWlfY2xkZXYuCisJICovCisJc3Ry dWN0IGRldmljZSAqaTkxNV9rZGV2OworCisJLyoKKwkgKiBBZGQgaGVyZSB0aGUgaW50ZXJmYWNl IGRldGFpbHMgYmV0d2VlbiBJOTE1IGFuZCBpbnRlcmVzdGVkIG1vZHVsZXMuCisJICovCit9Owor CiAjZW5kaWYgLyogX0k5MTVfQ09NUE9ORU5UX0hfICovCi0tIAoyLjcuNAoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlz dApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==