From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Anholt Subject: [PATCH] drm/vc4: Fix sleeps during the IRQ handler for DSI transactions. Date: Thu, 17 Aug 2017 14:04:55 -0700 Message-ID: <20170817210455.17885-1-eric@anholt.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from anholt.net (anholt.net [50.246.234.109]) by gabe.freedesktop.org (Postfix) with ESMTP id 8D6006E64F for ; Thu, 17 Aug 2017 21:09:06 +0000 (UTC) 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 List-Id: dri-devel@lists.freedesktop.org VkM0J3MgRFNJMSBoYXMgYSBidWcgd2hlcmUgdGhlIEFYSSBjb25uZWN0aW9uIGlzIGJyb2tlbiBm b3IgMzItYml0CndyaXRlcyBmcm9tIHRoZSBDUFUsIHNvIHdlIHVzZSB0aGUgRE1BIGVuZ2luZSB0 byBETUEgMzItYml0IHZhbHVlcwppbnRvIHJlZ2lzdGVycyBpbnN0ZWFkLiAgVGhhdCBzbGVlcHMs IHNvIHdlIGNhbid0IGRvIGl0IGZyb20gdGhlIHRvcApoYWxmLgoKQXMgYSBzb2x1dGlvbiAoc3Vn Z2VzdGVkIGJ5IEFybmQpLCB3ZSBjYW4gbWFzayB0aGUgSVJRIGluIHRoZSBpcnFjaGlwCmluIHRo ZSB0b3AgaGFsZiwgYW5kIHJlLWVuYWJsZSBpdCBmcm9tIGFuIGlycXRocmVhZC4KClNpZ25lZC1v ZmYtYnk6IEVyaWMgQW5ob2x0IDxlcmljQGFuaG9sdC5uZXQ+Ci0tLQogZHJpdmVycy9ncHUvZHJt L3ZjNC92YzRfZHNpLmMgfCAzOSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr LS0KIDEgZmlsZSBjaGFuZ2VkLCAzNyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2RzaS5jIGIvZHJpdmVycy9ncHUvZHJt L3ZjNC92YzRfZHNpLmMKaW5kZXggZWMxZDY0NmIzMTUxLi45NTU2MjM2YjY3ZDAgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2RzaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92 YzQvdmM0X2RzaS5jCkBAIC01MTYsNiArNTE2LDggQEAgc3RydWN0IHZjNF9kc2kgewogCS8qIFdo ZXRoZXIgd2UncmUgb24gYmNtMjgzNSdzIERTSTAgb3IgRFNJMS4gKi8KIAlpbnQgcG9ydDsKIAor CWludCBpcnE7CisKIAkvKiBEU0kgY2hhbm5lbCBmb3IgdGhlIHBhbmVsIHdlJ3JlIGNvbm5lY3Rl ZCB0by4gKi8KIAl1MzIgY2hhbm5lbDsKIAl1MzIgbGFuZXM7CkBAIC0xMzYwLDYgKzEzNjIsMjgg QEAgc3RhdGljIHZvaWQgZHNpX2hhbmRsZV9lcnJvcihzdHJ1Y3QgdmM0X2RzaSAqZHNpLAogCSpy ZXQgPSBJUlFfSEFORExFRDsKIH0KIAorLyogSW5pdGlhbCBoYW5kbGVyIGZvciBwb3J0IDEgd2hl cmUgd2UgbmVlZCB0aGUgcmVnX2RtYSB3b3JrYXJvdW5kLgorICogVGhlIHJlZ2lzdGVyIERNQSB3 cml0ZXMgc2xlZXAsIHNvIHdlIGNhbid0IGRvIGl0IGluIHRoZSB0b3AgaGFsZi4KKyAqIEluc3Rl YWQgd2UganVzdCBkaXNhYmxlIHRoZSBpbnRlcnJ1cHQgaW4gdGhlIG9ubHkgd2F5IHdlIGhhdmUK KyAqIGF2YWlsYWJsZSAobWFzayBpdCBpbiB0aGUgaXJxY2hpcCksIGFuZCBjb250aW51ZSBvbiB0 byB0aGUgdGhyZWFkZWQKKyAqIGhhbmRsZXIuCisgKi8KK3N0YXRpYyBpcnFyZXR1cm5fdCB2YzRf ZHNpX2lycV9kZWZlcl90b190aHJlYWRfaGFuZGxlcihpbnQgaXJxLCB2b2lkICpkYXRhKQorewor CXN0cnVjdCB2YzRfZHNpICpkc2kgPSBkYXRhOworCXUzMiBzdGF0ID0gRFNJX1BPUlRfUkVBRChJ TlRfU1RBVCk7CisKKwlpZiAoIXN0YXQpCisJCXJldHVybiBJUlFfTk9ORTsKKworCWRpc2FibGVf aXJxX25vc3luYyhkc2ktPmlycSk7CisKKwlyZXR1cm4gSVJRX1dBS0VfVEhSRUFEOworfQorCisv KiBOb3JtYWwgSVJRIGhhbmRsZXIgZm9yIHBvcnQgMCwgb3IgdGhlIHRocmVhZGVkIElSUSBoYW5k bGVyIGZvciBwb3J0CisgKiAxIHdoZXJlIHdlIG5lZWQgdGhlIHJlZ19kbWEgd29ya2Fyb3VuZC4K KyAqLwogc3RhdGljIGlycXJldHVybl90IHZjNF9kc2lfaXJxX2hhbmRsZXIoaW50IGlycSwgdm9p ZCAqZGF0YSkKIHsKIAlzdHJ1Y3QgdmM0X2RzaSAqZHNpID0gZGF0YTsKQEAgLTEzNjgsNiArMTM5 Miw5IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCB2YzRfZHNpX2lycV9oYW5kbGVyKGludCBpcnEsIHZv aWQgKmRhdGEpCiAKIAlEU0lfUE9SVF9XUklURShJTlRfU1RBVCwgc3RhdCk7CiAKKwlpZiAoZHNp LT5yZWdfZG1hX21lbSkKKwkJZW5hYmxlX2lycShkc2ktPmlycSk7CisKIAlkc2lfaGFuZGxlX2Vy cm9yKGRzaSwgJnJldCwgc3RhdCwKIAkJCSBEU0kxX0lOVF9FUlJfU1lOQ19FU0MsICJMUERUIHN5 bmMiKTsKIAlkc2lfaGFuZGxlX2Vycm9yKGRzaSwgJnJldCwgc3RhdCwKQEAgLTE1MzksOCArMTU2 NiwxNiBAQCBzdGF0aWMgaW50IHZjNF9kc2lfYmluZChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVj dCBkZXZpY2UgKm1hc3Rlciwgdm9pZCAqZGF0YSkKIAkvKiBDbGVhciBhbnkgZXhpc3RpbmcgaW50 ZXJydXB0IHN0YXRlLiAqLwogCURTSV9QT1JUX1dSSVRFKElOVF9TVEFULCBEU0lfUE9SVF9SRUFE KElOVF9TVEFUKSk7CiAKLQlyZXQgPSBkZXZtX3JlcXVlc3RfaXJxKGRldiwgcGxhdGZvcm1fZ2V0 X2lycShwZGV2LCAwKSwKLQkJCSAgICAgICB2YzRfZHNpX2lycV9oYW5kbGVyLCAwLCAidmM0IGRz aSIsIGRzaSk7CisJZHNpLT5pcnEgPSBwbGF0Zm9ybV9nZXRfaXJxKHBkZXYsIDApOworCWlmIChk c2ktPnJlZ19kbWFfbWVtKSB7CisJCXJldCA9IGRldm1fcmVxdWVzdF90aHJlYWRlZF9pcnEoZGV2 LCBkc2ktPmlycSwKKwkJCQkJCXZjNF9kc2lfaXJxX2RlZmVyX3RvX3RocmVhZF9oYW5kbGVyLAor CQkJCQkJdmM0X2RzaV9pcnFfaGFuZGxlciwgMCwKKwkJCQkJCSJ2YzQgZHNpIiwgZHNpKTsKKwl9 IGVsc2UgeworCQlyZXQgPSBkZXZtX3JlcXVlc3RfaXJxKGRldiwgZHNpLT5pcnEsCisJCQkJICAg ICAgIHZjNF9kc2lfaXJxX2hhbmRsZXIsIDAsICJ2YzQgZHNpIiwgZHNpKTsKKwl9CiAJaWYgKHJl dCkgewogCQlpZiAocmV0ICE9IC1FUFJPQkVfREVGRVIpCiAJCQlkZXZfZXJyKGRldiwgIkZhaWxl ZCB0byBnZXQgaW50ZXJydXB0OiAlZFxuIiwgcmV0KTsKLS0gCjIuMTQuMQoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlz dApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==