From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oded Gabbay Subject: [PATCH 3/3] amdkfd: Use workqueue for GPU init Date: Sat, 20 Dec 2014 22:46:14 +0200 Message-ID: <1419108374-7020-4-git-send-email-oded.gabbay@amd.com> References: <1419108374-7020-1-git-send-email-oded.gabbay@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from na01-by2-obe.outbound.protection.outlook.com (mail-by2on0136.outbound.protection.outlook.com [207.46.100.136]) by gabe.freedesktop.org (Postfix) with ESMTP id 67E216E1D2 for ; Sat, 20 Dec 2014 12:46:53 -0800 (PST) In-Reply-To: <1419108374-7020-1-git-send-email-oded.gabbay@amd.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: linux-kernel@vger.kernel.org, Alexander.Deucher@amd.com List-Id: dri-devel@lists.freedesktop.org V2hlbiBhbWRfaW9tbXVfdjIsIGFtZGtmZCBhbmQgcmFkZW9uIGFyZSBhbGwgY29tcGlsZWQgaW5z aWRlIHRoZSBrZXJuZWwgaW1hZ2UKKG5vdCBhcyBtb2R1bGVzKSwgcmFkZW9uIHByb2JlcyB0aGUg ZXhpc3RpbmcgR1BVIGJlZm9yZSBhbWRrZmQgYW5kIGFtZF9pb21tdV92MgphcmUgZXZlbiBsb2Fk ZWQuIFdoZW4gcmFkZW9uIGVuY291bnRlcnMgYW4gQU1EIEdQVSwgaXQgd2lsbCBwYXNzIHRoYXQK aW5mb3JtYXRpb24gdG8gYW1ka2ZkLiBIb3dldmVyLCB0aGF0IGNhbGwgd2lsbCBmYWlsIGFuZCB3 aWxsIGNhdXNlIGEga2VybmVsIEJVRy4KCldlIGNvdWxkIHBvbGwgaW4gcmFkZW9uIG9uIHdoZW4g YW1ka2ZkIGFuZCBhbWRfaW9tbXVfdjIgaGF2ZSBiZWVuIGxvYWRlZCwgYnV0CnRoYXQgd291bGQg c3RhbGwgcmFkZW9uLgoKVGhlcmVmb3JlLCB0aGlzIHBhdGNoIG1vdmVzIHRoZSBhbWRrZmQgcGFy dCBvZiBHUFUgaW5pdGlhbGl6YXRpb24gdG8gYQp3b3JrcXVldWUuIFdoZW4gcmFkZW9uIGNhbGxz IGFtZGtmZCB0byBwZXJmb3JtIEdQVSByZWxhdGVkIGluaXRpYWxpemF0aW9uLCBpdAp3aWxsIGNo ZWNrIGlmIGJvdGggYW1ka2ZkIGFuZCBhbWRfaW9tbXVfdjIgaGF2ZSBiZWVuIGxvYWRlZC4gSWYg c28sIHdoaWNoIGlzCnRoZSBzaXR1YXRpb24gd2hlbiB0aGUgdGhyZWUgZHJpdmVycyBhcmUgY29t cGlsZWQgYXMgbW9kdWxlcywgaXQgd2lsbCBjYWxsIHRoZQpyZWxldmFudCBhbWRrZmQgZnVuY3Rp b24gZGlyZWN0bHkuIElmIG5vdCwgaXQgd2lsbCBxdWV1ZSB0aGUgaW5pdGlhbGl6YXRpb24Kd29y ayBvbiB0aGUgd29ya3F1ZXVlLiBUaGUgd29yayBmdW5jdGlvbiB3aWxsIHNjaGVkdWxlIGl0c2Vs ZiB1bnRpbCBib3RoIGFtZGtmZAphbmQgYW1kX2lvbW11X3YyIGhhdmUgYmVlbiBsb2FkZWQuIFRo ZW4sIGl0IHdpbGwgY2FsbCB0aGUgcmVsZXZhbnQgYW1ka2ZkCmZ1bmN0aW9uLgoKVGhlIHdvcmtx dWV1ZSBpcyBkZWZpbmVkIHBlciBrZmRfZGV2IHN0cnVjdHVyZSAocGVyIEdQVSkuCgpTaWduZWQt b2ZmLWJ5OiBPZGVkIEdhYmJheSA8b2RlZC5nYWJiYXlAYW1kLmNvbT4KLS0tCiBkcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGtmZC9rZmRfZGV2aWNlLmMgfCA3MiArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9wcml2LmggICB8ICAy ICsKIDIgZmlsZXMgY2hhbmdlZCwgNzAgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGtmZC9rZmRfZGV2aWNlLmMgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGtmZC9rZmRfZGV2aWNlLmMKaW5kZXggNDM4ODRlYi4uY2VjNWI0 YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRrZmQva2ZkX2RldmljZS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9kZXZpY2UuYwpAQCAtMjQsNiArMjQs NyBAQAogI2luY2x1ZGUgPGxpbnV4L2JzZWFyY2guaD4KICNpbmNsdWRlIDxsaW51eC9wY2kuaD4K ICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KICNpbmNs dWRlICJrZmRfcHJpdi5oIgogI2luY2x1ZGUgImtmZF9kZXZpY2VfcXVldWVfbWFuYWdlci5oIgog CkBAIC00MCw2ICs0MSwxMSBAQCBzdHJ1Y3Qga2ZkX2RldmljZWlkIHsKIAljb25zdCBzdHJ1Y3Qg a2ZkX2RldmljZV9pbmZvICpkZXZpY2VfaW5mbzsKIH07CiAKK3N0cnVjdCBrZmRfZGV2aWNlX2lu aXRfd29yayB7CisJc3RydWN0IHdvcmtfc3RydWN0IGtmZF93b3JrOworCXN0cnVjdCBrZmRfZGV2 ICpkZXY7Cit9OworCiAvKiBQbGVhc2Uga2VlcCB0aGlzIHNvcnRlZCBieSBpbmNyZWFzaW5nIGRl dmljZSBpZC4gKi8KIHN0YXRpYyBjb25zdCBzdHJ1Y3Qga2ZkX2RldmljZWlkIHN1cHBvcnRlZF9k ZXZpY2VzW10gPSB7CiAJeyAweDEzMDQsICZrYXZlcmlfZGV2aWNlX2luZm8gfSwJLyogS2F2ZXJp ICovCkBAIC05OSw2ICsxMDUsOCBAQCBzdHJ1Y3Qga2ZkX2RldiAqa2dkMmtmZF9wcm9iZShzdHJ1 Y3Qga2dkX2RldiAqa2dkLCBzdHJ1Y3QgcGNpX2RldiAqcGRldikKIAlrZmQtPnBkZXYgPSBwZGV2 OwogCWtmZC0+aW5pdF9jb21wbGV0ZSA9IGZhbHNlOwogCisJa2ZkLT5rZmRfZGV2X3dxID0gY3Jl YXRlX3dvcmtxdWV1ZSgia2ZkX2Rldl93cSIpOworCiAJcmV0dXJuIGtmZDsKIH0KIApAQCAtMTYx LDEzICsxNjksMTAgQEAgc3RhdGljIHZvaWQgaW9tbXVfcGFzaWRfc2h1dGRvd25fY2FsbGJhY2so c3RydWN0IHBjaV9kZXYgKnBkZXYsIGludCBwYXNpZCkKIAkJa2ZkX3VuYmluZF9wcm9jZXNzX2Zy b21fZGV2aWNlKGRldiwgcGFzaWQpOwogfQogCi1ib29sIGtnZDJrZmRfZGV2aWNlX2luaXQoc3Ry dWN0IGtmZF9kZXYgKmtmZCwKLQkJCSBjb25zdCBzdHJ1Y3Qga2dkMmtmZF9zaGFyZWRfcmVzb3Vy Y2VzICpncHVfcmVzb3VyY2VzKQorc3RhdGljIGJvb2wga2ZkX2tnZF9kZXZpY2VfaW5pdChzdHJ1 Y3Qga2ZkX2RldiAqa2ZkKQogewogCXVuc2lnbmVkIGludCBzaXplOwogCi0Ja2ZkLT5zaGFyZWRf cmVzb3VyY2VzID0gKmdwdV9yZXNvdXJjZXM7Ci0KIAkvKiBjYWxjdWxhdGUgbWF4IHNpemUgb2Yg bXFkcyBuZWVkZWQgZm9yIHF1ZXVlcyAqLwogCXNpemUgPSBtYXhfbnVtX29mX3Byb2Nlc3NlcyAq CiAJCW1heF9udW1fb2ZfcXVldWVzX3Blcl9wcm9jZXNzICoKQEAgLTI0OSw2ICsyNTQsNjMgQEAg b3V0OgogCXJldHVybiBrZmQtPmluaXRfY29tcGxldGU7CiB9CiAKK3N0YXRpYyB2b2lkIGtmZF9k ZXZpY2Vfd3FfaW5pdF9kZXZpY2Uoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQoreworCXN0cnVj dCBrZmRfZGV2aWNlX2luaXRfd29yayAqbXlfd29yazsKKwlzdHJ1Y3Qga2ZkX2RldiAqa2ZkOwor CisJbXlfd29yayA9IChzdHJ1Y3Qga2ZkX2RldmljZV9pbml0X3dvcmsgKikgd29yazsKKworCWtm ZCA9IG15X3dvcmstPmRldjsKKworCS8qCisJICogQXMgbG9uZyBhcyBhbWRrZmQgb3IgYW1kX2lv bW11X3YyIGFyZSBub3QgaW5pdGlhbGl6ZWQsIHdlCisJICogeWllbGQgdGhlIHByb2Nlc3Nvcgor CSAqLworCXdoaWxlICgoIWFtZGtmZF9pc19pbml0X2NvbXBsZXRlZCgpKSB8fAorCQkoIWFtZF9p b21tdV92Ml9pc19pbml0X2NvbXBsZXRlZCgpKSkKKwkJc2NoZWR1bGUoKTsKKworCWtmZF9rZ2Rf ZGV2aWNlX2luaXQoa2ZkKTsKK30KKworYm9vbCBrZ2Qya2ZkX2RldmljZV9pbml0KHN0cnVjdCBr ZmRfZGV2ICprZmQsCisJCQkgY29uc3Qgc3RydWN0IGtnZDJrZmRfc2hhcmVkX3Jlc291cmNlcyAq Z3B1X3Jlc291cmNlcykKK3sKKwlzdHJ1Y3Qga2ZkX2RldmljZV9pbml0X3dvcmsgKndvcms7CisK KwlrZmQtPnNoYXJlZF9yZXNvdXJjZXMgPSAqZ3B1X3Jlc291cmNlczsKKworCS8qCisJICogV2hl biBhbWRfaW9tbXVfdjIsIGFtZGtmZCBhbmQgcmFkZW9uIGFyZSBjb21waWxlZCBpbnNpZGUgdGhl IGtlcm5lbCwKKwkgKiB0aGVyZSBpcyBubyBtZWNoYW5pc20gdG8gZW5mb3JjZSBvcmRlciBvZiBs b2FkaW5nIGJldHdlZW4gdGhlCisJICogZHJpdmVycy4gVGhlcmVmb3JlLCB3ZSBuZWVkIHRvIHVz ZSBhbiBleHBsaWNpdCBmb3JtIG9mCisJICogc3luY2hyb25pemF0aW9uIHRvIGtub3cgd2hlbiBh bWRrZmQgYW5kIGFtZF9pb21tdV92MiBoYXZlIGZpbmlzaGVkCisJICogdGhlcmUgaW5pdGlhbGl6 YXRpb24gcm91dGluZXMKKwkgKi8KKwlpZiAoKCFhbWRrZmRfaXNfaW5pdF9jb21wbGV0ZWQoKSkg fHwKKwkJKCFhbWRfaW9tbXVfdjJfaXNfaW5pdF9jb21wbGV0ZWQoKSkpIHsKKwkJQlVHX09OKCFr ZmQtPmtmZF9kZXZfd3EpOworCisJCXdvcmsgPSAoc3RydWN0IGtmZF9kZXZpY2VfaW5pdF93b3Jr ICopCisJCQlrbWFsbG9jKHNpemVvZihzdHJ1Y3Qga2ZkX2RldmljZV9pbml0X3dvcmspLAorCQkJ CUdGUF9BVE9NSUMpOworCisJCWlmICghd29yaykgeworCQkJcHJfZXJyKCJrZmQ6IG5vIG1lbW9y eSBmb3IgZGV2aWNlIHdvcmsgcXVldWVcbiIpOworCQkJcmV0dXJuIGZhbHNlOworCQl9CisKKwkJ SU5JVF9XT1JLKChzdHJ1Y3Qgd29ya19zdHJ1Y3QgKikgd29yaywKKwkJCQlrZmRfZGV2aWNlX3dx X2luaXRfZGV2aWNlKTsKKwkJd29yay0+ZGV2ID0ga2ZkOworCQlxdWV1ZV93b3JrKGtmZC0+a2Zk X2Rldl93cSwgKHN0cnVjdCB3b3JrX3N0cnVjdCAqKSB3b3JrKTsKKwkJcmV0dXJuIHRydWU7CisJ fQorCisJcmV0dXJuIGtmZF9rZ2RfZGV2aWNlX2luaXQoa2ZkKTsKK30KKwogdm9pZCBrZ2Qya2Zk X2RldmljZV9leGl0KHN0cnVjdCBrZmRfZGV2ICprZmQpCiB7CiAJaWYgKGtmZC0+aW5pdF9jb21w bGV0ZSkgewpAQCAtMjU4LDYgKzMyMCw4IEBAIHZvaWQga2dkMmtmZF9kZXZpY2VfZXhpdChzdHJ1 Y3Qga2ZkX2RldiAqa2ZkKQogCQlrZmRfdG9wb2xvZ3lfcmVtb3ZlX2RldmljZShrZmQpOwogCX0K IAorCWZsdXNoX3dvcmtxdWV1ZShrZmQtPmtmZF9kZXZfd3EpOworCWRlc3Ryb3lfd29ya3F1ZXVl KGtmZC0+a2ZkX2Rldl93cSk7CiAJa2ZyZWUoa2ZkKTsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRrZmQva2ZkX3ByaXYuaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k a2ZkL2tmZF9wcml2LmgKaW5kZXggMDFkZjdlNi4uZmMwMDBhMiAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRrZmQva2ZkX3ByaXYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGtmZC9rZmRfcHJpdi5oCkBAIC0xNTEsNiArMTUxLDggQEAgc3RydWN0IGtmZF9kZXYgewog CSAqIGZyb20gdGhlIEhXIHJpbmcgaW50byBhIFNXIHJpbmcuCiAJICovCiAJYm9vbCBpbnRlcnJ1 cHRzX2FjdGl2ZTsKKworCXN0cnVjdCB3b3JrcXVldWVfc3RydWN0ICprZmRfZGV2X3dxOwogfTsK IAogaW50IGFtZGtmZF9pc19pbml0X2NvbXBsZXRlZCh2b2lkKTsKLS0gCjIuMS4wCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGlu ZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=