From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH] drm/i915: Protect fbdev across slow or failed initialisation Date: Wed, 3 Feb 2016 09:17:37 +0000 Message-ID: <1454491057-16258-1-git-send-email-chris@chris-wilson.co.uk> References: <9BD218709B5F2A4F96F08B4A3B98A897372F0C4C@SHSMSX104.ccr.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-f44.google.com (mail-wm0-f44.google.com [74.125.82.44]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1CB1189DC7 for ; Wed, 3 Feb 2016 01:17:50 -0800 (PST) Received: by mail-wm0-f44.google.com with SMTP id 128so155398032wmz.1 for ; Wed, 03 Feb 2016 01:17:50 -0800 (PST) In-Reply-To: <9BD218709B5F2A4F96F08B4A3B98A897372F0C4C@SHSMSX104.ccr.corp.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 List-Id: intel-gfx@lists.freedesktop.org SWYgdGhlIGluaXRpYWxpc2F0aW9uIGZhaWxzLCB3ZSBtYXkgYmUgbGVmdCB3aXRoIGEgZGFuZ2xp bmcgcG9pbnRlciB3aXRoCmFuIGluY29tcGxldGUgZmJkZXYgc3RydWN0dXJlLiBIZXJlIHdlIHdh bnQgdG8gZGlzYWJsZSBpbnRlcm5hbCBjYWxscwppbnRvIGZiZGV2LiBTaW1pbGFybHksIHRoZSBp bml0aWFsaXNhdGlvbiBtYXkgYmUgc2xvdyBhbmQgd2UgaGF2ZW4ndCB5ZXQKZW5hYmxlZCB0aGUg ZmJkZXYgKGUuZy4gcXVpY2sgc3VzcGVuZCBvciBsYXN0LWNsb3NlIGJlZm9yZSB0aGUgYXN5bmMg aW5pdApjb21wbGV0ZXMpLgoKQnVnemlsbGE6IGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcv c2hvd19idWcuY2dpP2lkPTkzNTgwClJlcG9ydGVkLWJ5OiAiTGksIFdlaW5hbiBaIiA8d2VpbmFu LnoubGlAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlz LXdpbHNvbi5jby51az4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmRldi5jIHwg NDEgKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2Vk LCAyNiBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9mYmRldi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZmJkZXYuYwppbmRleCAwOTg0MGY0MzgwZjkuLjYyMThiYzUzNzBhMSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJkZXYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9mYmRldi5jCkBAIC0xMTQsNiArMTE0LDIwIEBAIHN0YXRpYyBzdHJ1Y3QgZmJfb3Bz IGludGVsZmJfb3BzID0gewogCS5mYl9kZWJ1Z19sZWF2ZSA9IGRybV9mYl9oZWxwZXJfZGVidWdf bGVhdmUsCiB9OwogCitzdGF0aWMgYm9vbCBpbnRlbF9mYmRldl9hY3RpdmUoc3RydWN0IGludGVs X2ZiZGV2ICppZmJkZXYpCit7CisJc3RydWN0IGZiX2luZm8gKmluZm87CisKKwlpZiAoaWZiZGV2 ID09IE5VTEwpCisJCXJldHVybiBmYWxzZTsKKworCWluZm8gPSBpZmJkZXYtPmhlbHBlci5mYmRl djsKKwlpZiAoIWluZm8tPnNjcmVlbl9iYXNlKQorCQlyZXR1cm4gZmFsc2U7CisKKwlyZXR1cm4g aW5mby0+c3RhdGUgPT0gRkJJTkZPX1NUQVRFX1JVTk5JTkc7Cit9CisKIHN0YXRpYyBpbnQgaW50 ZWxmYl9hbGxvYyhzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqaGVscGVyLAogCQkJIHN0cnVjdCBkcm1f ZmJfaGVscGVyX3N1cmZhY2Vfc2l6ZSAqc2l6ZXMpCiB7CkBAIC03NTMsNiArNzY3LDggQEAgdm9p ZCBpbnRlbF9mYmRldl9zZXRfc3VzcGVuZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQgc3Rh dGUsIGJvb2wgc3luY2hyb25vdXMKIAkJcmV0dXJuOwogCiAJaW5mbyA9IGlmYmRldi0+aGVscGVy LmZiZGV2OworCWlmICghaW5mby0+c2NyZWVuX2Jhc2UpCisJCXJldHVybjsKIAogCWlmIChzeW5j aHJvbm91cykgewogCQkvKiBGbHVzaCBhbnkgcGVuZGluZyB3b3JrIHRvIHR1cm4gdGhlIGNvbnNv bGUgb24sIGFuZCB0aGVuCkBAIC03OTQsMjkgKzgxMCwyNCBAQCB2b2lkIGludGVsX2ZiZGV2X3Nl dF9zdXNwZW5kKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGludCBzdGF0ZSwgYm9vbCBzeW5jaHJv bm91cwogCiB2b2lkIGludGVsX2ZiZGV2X291dHB1dF9wb2xsX2NoYW5nZWQoc3RydWN0IGRybV9k ZXZpY2UgKmRldikKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYt PmRldl9wcml2YXRlOwotCWlmIChkZXZfcHJpdi0+ZmJkZXYpCisJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOworCisJaWYgKGludGVsX2ZiZGV2X2FjdGl2 ZShkZXZfcHJpdi0+ZmJkZXYpKQogCQlkcm1fZmJfaGVscGVyX2hvdHBsdWdfZXZlbnQoJmRldl9w cml2LT5mYmRldi0+aGVscGVyKTsKIH0KIAogdm9pZCBpbnRlbF9mYmRldl9yZXN0b3JlX21vZGUo c3RydWN0IGRybV9kZXZpY2UgKmRldikKIHsKLQlpbnQgcmV0OwotCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Ci0Jc3RydWN0IGludGVsX2ZiZGV2 ICppZmJkZXYgPSBkZXZfcHJpdi0+ZmJkZXY7Ci0Jc3RydWN0IGRybV9mYl9oZWxwZXIgKmZiX2hl bHBlcjsKKwlzdHJ1Y3QgaW50ZWxfZmJkZXYgKmlmYmRldiA9IHRvX2k5MTUoZGV2KS0+ZmJkZXY7 CiAKLQlpZiAoIWlmYmRldikKKwlpZiAoIWludGVsX2ZiZGV2X2FjdGl2ZShpZmJkZXYpKQogCQly ZXR1cm47CiAKLQlmYl9oZWxwZXIgPSAmaWZiZGV2LT5oZWxwZXI7Ci0KLQlyZXQgPSBkcm1fZmJf aGVscGVyX3Jlc3RvcmVfZmJkZXZfbW9kZV91bmxvY2tlZChmYl9oZWxwZXIpOwotCWlmIChyZXQp IHsKLQkJRFJNX0RFQlVHKCJmYWlsZWQgdG8gcmVzdG9yZSBjcnRjIG1vZGVcbiIpOwotCX0gZWxz ZSB7Ci0JCW11dGV4X2xvY2soJmZiX2hlbHBlci0+ZGV2LT5zdHJ1Y3RfbXV0ZXgpOworCWlmIChk cm1fZmJfaGVscGVyX3Jlc3RvcmVfZmJkZXZfbW9kZV91bmxvY2tlZCgmaWZiZGV2LT5oZWxwZXIp ID09IDApIHsKKwkJbXV0ZXhfbG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwogCQlpbnRlbF9mYl9v YmpfaW52YWxpZGF0ZShpZmJkZXYtPmZiLT5vYmosIE9SSUdJTl9HVFQpOwotCQltdXRleF91bmxv Y2soJmZiX2hlbHBlci0+ZGV2LT5zdHJ1Y3RfbXV0ZXgpOworCQltdXRleF91bmxvY2soJmRldi0+ c3RydWN0X211dGV4KTsKKwl9IGVsc2UgeworCQlEUk1fREVCVUcoImZhaWxlZCB0byByZXN0b3Jl IGNydGMgbW9kZVxuIik7CiAJfQogfQotLSAKMi43LjAKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==