From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: [PATCH 07/12] drm/fb-helper: Push locking into restore_fbdev_mode_atomic|legacy Date: Wed, 21 Jun 2017 20:28:10 +0200 Message-ID: <20170621182815.14602-8-daniel.vetter@ffwll.ch> References: <20170621182815.14602-1-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wr0-x244.google.com (mail-wr0-x244.google.com [IPv6:2a00:1450:400c:c0c::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id 41EBD6E554 for ; Wed, 21 Jun 2017 18:28:31 +0000 (UTC) Received: by mail-wr0-x244.google.com with SMTP id k67so643477wrc.1 for ; Wed, 21 Jun 2017 11:28:31 -0700 (PDT) In-Reply-To: <20170621182815.14602-1-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: DRI Development Cc: Daniel Vetter , Intel Graphics Development , Thierry Reding , Daniel Vetter List-Id: dri-devel@lists.freedesktop.org U2FtZSBnYW1lIGFzIHdpdGggdGhlIHBhbm5pbmcgZnVuY3Rpb24sIHVzZSBkcm1fbW9kZXNldF9s b2NrX2FsbCBmb3IKbGVnYWN5IHBhdGhzLCBhbmQgYSBwcm9wZXIgYWNxdWlyZSBjdHggdy93IG11 dGV4IGRhbmNlIGZvciBhdG9taWMuCgpDYzogSm9obiBTdHVsdHogPGpvaG4uc3R1bHR6QGxpbmFy by5vcmc+CkNjOiBUaGllcnJ5IFJlZGluZyA8dHJlZGluZ0BudmlkaWEuY29tPgpTaWduZWQtb2Zm LWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGludGVsLmNvbT4KLS0tCiBkcml2ZXJz L2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jIHwgNDggKysrKysrKysrKysrKysrKysrKysrLS0tLS0t LS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAyNSBpbnNlcnRpb25zKCspLCAyMyBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jIGIv ZHJpdmVycy9ncHUvZHJtL2RybV9mYl9oZWxwZXIuYwppbmRleCA1ZDhiZjdkZmE2MTguLjQwMGJi YjA3ZWZmMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9mYl9oZWxwZXIuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jCkBAIC0zOTYsMTIgKzM5NiwxNyBAQCBz dGF0aWMgaW50IHJlc3RvcmVfZmJkZXZfbW9kZV9hdG9taWMoc3RydWN0IGRybV9mYl9oZWxwZXIg KmZiX2hlbHBlcikKIAlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGU7CiAJaW50IGksIHJl dDsKIAl1bnNpZ25lZCBpbnQgcGxhbmVfbWFzazsKKwlzdHJ1Y3QgZHJtX21vZGVzZXRfYWNxdWly ZV9jdHggY3R4OworCisJZHJtX21vZGVzZXRfYWNxdWlyZV9pbml0KCZjdHgsIDApOwogCiAJc3Rh dGUgPSBkcm1fYXRvbWljX3N0YXRlX2FsbG9jKGRldik7Ci0JaWYgKCFzdGF0ZSkKLQkJcmV0dXJu IC1FTk9NRU07CisJaWYgKCFzdGF0ZSkgeworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIG91dF9j dHg7CisJfQogCi0Jc3RhdGUtPmFjcXVpcmVfY3R4ID0gZGV2LT5tb2RlX2NvbmZpZy5hY3F1aXJl X2N0eDsKKwlzdGF0ZS0+YWNxdWlyZV9jdHggPSAmY3R4OwogcmV0cnk6CiAJcGxhbmVfbWFzayA9 IDA7CiAJZHJtX2Zvcl9lYWNoX3BsYW5lKHBsYW5lLCBkZXYpIHsKQEAgLTQxMCw3ICs0MTUsNyBA QCBzdGF0aWMgaW50IHJlc3RvcmVfZmJkZXZfbW9kZV9hdG9taWMoc3RydWN0IGRybV9mYl9oZWxw ZXIgKmZiX2hlbHBlcikKIAkJcGxhbmVfc3RhdGUgPSBkcm1fYXRvbWljX2dldF9wbGFuZV9zdGF0 ZShzdGF0ZSwgcGxhbmUpOwogCQlpZiAoSVNfRVJSKHBsYW5lX3N0YXRlKSkgewogCQkJcmV0ID0g UFRSX0VSUihwbGFuZV9zdGF0ZSk7Ci0JCQlnb3RvIGZhaWw7CisJCQlnb3RvIG91dF9zdGF0ZTsK IAkJfQogCiAJCXBsYW5lX3N0YXRlLT5yb3RhdGlvbiA9IERSTV9NT0RFX1JPVEFURV8wOwpAQCAt NDI0LDcgKzQyOSw3IEBAIHN0YXRpYyBpbnQgcmVzdG9yZV9mYmRldl9tb2RlX2F0b21pYyhzdHJ1 Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyKQogCiAJCXJldCA9IF9fZHJtX2F0b21pY19oZWxw ZXJfZGlzYWJsZV9wbGFuZShwbGFuZSwgcGxhbmVfc3RhdGUpOwogCQlpZiAocmV0ICE9IDApCi0J CQlnb3RvIGZhaWw7CisJCQlnb3RvIG91dF9zdGF0ZTsKIAl9CiAKIAlmb3IgKGkgPSAwOyBpIDwg ZmJfaGVscGVyLT5jcnRjX2NvdW50OyBpKyspIHsKQEAgLTQzMiwyMyArNDM3LDI3IEBAIHN0YXRp YyBpbnQgcmVzdG9yZV9mYmRldl9tb2RlX2F0b21pYyhzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJf aGVscGVyKQogCiAJCXJldCA9IF9fZHJtX2F0b21pY19oZWxwZXJfc2V0X2NvbmZpZyhtb2RlX3Nl dCwgc3RhdGUpOwogCQlpZiAocmV0ICE9IDApCi0JCQlnb3RvIGZhaWw7CisJCQlnb3RvIG91dF9z dGF0ZTsKIAl9CiAKIAlyZXQgPSBkcm1fYXRvbWljX2NvbW1pdChzdGF0ZSk7CiAKLWZhaWw6Citv dXRfc3RhdGU6CiAJZHJtX2F0b21pY19jbGVhbl9vbGRfZmIoZGV2LCBwbGFuZV9tYXNrLCByZXQp OwogCiAJaWYgKHJldCA9PSAtRURFQURMSykKIAkJZ290byBiYWNrb2ZmOwogCiAJZHJtX2F0b21p Y19zdGF0ZV9wdXQoc3RhdGUpOworb3V0X2N0eDoKKwlkcm1fbW9kZXNldF9kcm9wX2xvY2tzKCZj dHgpOworCWRybV9tb2Rlc2V0X2FjcXVpcmVfZmluaSgmY3R4KTsKKwogCXJldHVybiByZXQ7CiAK IGJhY2tvZmY6CiAJZHJtX2F0b21pY19zdGF0ZV9jbGVhcihzdGF0ZSk7Ci0JZHJtX2F0b21pY19s ZWdhY3lfYmFja29mZihzdGF0ZSk7CisJZHJtX21vZGVzZXRfYmFja29mZigmY3R4KTsKIAogCWdv dG8gcmV0cnk7CiB9CkBAIC00NTcsOCArNDY2LDkgQEAgc3RhdGljIGludCByZXN0b3JlX2ZiZGV2 X21vZGVfbGVnYWN5KHN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxwZXIpCiB7CiAJc3RydWN0 IGRybV9kZXZpY2UgKmRldiA9IGZiX2hlbHBlci0+ZGV2OwogCXN0cnVjdCBkcm1fcGxhbmUgKnBs YW5lOwotCWludCBpOworCWludCBpLCByZXQgPSAwOwogCisJZHJtX21vZGVzZXRfbG9ja19hbGwo ZmJfaGVscGVyLT5kZXYpOwogCWRybV9mb3JfZWFjaF9wbGFuZShwbGFuZSwgZGV2KSB7CiAJCWlm IChwbGFuZS0+dHlwZSAhPSBEUk1fUExBTkVfVFlQRV9QUklNQVJZKQogCQkJZHJtX3BsYW5lX2Zv cmNlX2Rpc2FibGUocGxhbmUpOwpAQCAtNDcyLDMyICs0ODIsMzEgQEAgc3RhdGljIGludCByZXN0 b3JlX2ZiZGV2X21vZGVfbGVnYWN5KHN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxwZXIpCiAJ Zm9yIChpID0gMDsgaSA8IGZiX2hlbHBlci0+Y3J0Y19jb3VudDsgaSsrKSB7CiAJCXN0cnVjdCBk cm1fbW9kZV9zZXQgKm1vZGVfc2V0ID0gJmZiX2hlbHBlci0+Y3J0Y19pbmZvW2ldLm1vZGVfc2V0 OwogCQlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSBtb2RlX3NldC0+Y3J0YzsKLQkJaW50IHJldDsK IAogCQlpZiAoY3J0Yy0+ZnVuY3MtPmN1cnNvcl9zZXQyKSB7CiAJCQlyZXQgPSBjcnRjLT5mdW5j cy0+Y3Vyc29yX3NldDIoY3J0YywgTlVMTCwgMCwgMCwgMCwgMCwgMCk7CiAJCQlpZiAocmV0KQot CQkJCXJldHVybiByZXQ7CisJCQkJZ290byBvdXQ7CiAJCX0gZWxzZSBpZiAoY3J0Yy0+ZnVuY3Mt PmN1cnNvcl9zZXQpIHsKIAkJCXJldCA9IGNydGMtPmZ1bmNzLT5jdXJzb3Jfc2V0KGNydGMsIE5V TEwsIDAsIDAsIDApOwogCQkJaWYgKHJldCkKLQkJCQlyZXR1cm4gcmV0OworCQkJCWdvdG8gb3V0 OwogCQl9CiAKIAkJcmV0ID0gZHJtX21vZGVfc2V0X2NvbmZpZ19pbnRlcm5hbChtb2RlX3NldCk7 CiAJCWlmIChyZXQpCi0JCQlyZXR1cm4gcmV0OworCQkJZ290byBvdXQ7CiAJfQorb3V0OgorCWRy bV9tb2Rlc2V0X3VubG9ja19hbGwoZmJfaGVscGVyLT5kZXYpOwogCi0JcmV0dXJuIDA7CisJcmV0 dXJuIHJldDsKIH0KIAogc3RhdGljIGludCByZXN0b3JlX2ZiZGV2X21vZGUoc3RydWN0IGRybV9m Yl9oZWxwZXIgKmZiX2hlbHBlcikKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZmJfaGVs cGVyLT5kZXY7CiAKLQlkcm1fd2Fybl9vbl9tb2Rlc2V0X25vdF9hbGxfbG9ja2VkKGRldik7Ci0K IAlpZiAoZHJtX2Rydl91c2VzX2F0b21pY19tb2Rlc2V0KGRldikpCiAJCXJldHVybiByZXN0b3Jl X2ZiZGV2X21vZGVfYXRvbWljKGZiX2hlbHBlcik7CiAJZWxzZQpAQCAtNTE3LDcgKzUyNiw2IEBA IHN0YXRpYyBpbnQgcmVzdG9yZV9mYmRldl9tb2RlKHN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9o ZWxwZXIpCiAgKi8KIGludCBkcm1fZmJfaGVscGVyX3Jlc3RvcmVfZmJkZXZfbW9kZV91bmxvY2tl ZChzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyKQogewotCXN0cnVjdCBkcm1fZGV2aWNl ICpkZXYgPSBmYl9oZWxwZXItPmRldjsKIAlib29sIGRvX2RlbGF5ZWQ7CiAJaW50IHJldDsKIApA QCAtNTI1LDE1ICs1MzMsMTEgQEAgaW50IGRybV9mYl9oZWxwZXJfcmVzdG9yZV9mYmRldl9tb2Rl X3VubG9ja2VkKHN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxwZXIpCiAJCXJldHVybiAtRU5P REVWOwogCiAJbXV0ZXhfbG9jaygmZmJfaGVscGVyLT5sb2NrKTsKLQlkcm1fbW9kZXNldF9sb2Nr X2FsbChkZXYpOwotCiAJcmV0ID0gcmVzdG9yZV9mYmRldl9tb2RlKGZiX2hlbHBlcik7CiAKIAlk b19kZWxheWVkID0gZmJfaGVscGVyLT5kZWxheWVkX2hvdHBsdWc7CiAJaWYgKGRvX2RlbGF5ZWQp CiAJCWZiX2hlbHBlci0+ZGVsYXllZF9ob3RwbHVnID0gZmFsc2U7Ci0KLQlkcm1fbW9kZXNldF91 bmxvY2tfYWxsKGRldik7CiAJbXV0ZXhfdW5sb2NrKCZmYl9oZWxwZXItPmxvY2spOwogCiAJaWYg KGRvX2RlbGF5ZWQpCkBAIC01OTEsMTEgKzU5NSw5IEBAIHN0YXRpYyBib29sIGRybV9mYl9oZWxw ZXJfZm9yY2Vfa2VybmVsX21vZGUodm9pZCkKIAkJCWNvbnRpbnVlOwogCiAJCW11dGV4X2xvY2so JmhlbHBlci0+bG9jayk7Ci0JCWRybV9tb2Rlc2V0X2xvY2tfYWxsKGRldik7CiAJCXJldCA9IHJl c3RvcmVfZmJkZXZfbW9kZShoZWxwZXIpOwogCQlpZiAocmV0KQogCQkJZXJyb3IgPSB0cnVlOwot CQlkcm1fbW9kZXNldF91bmxvY2tfYWxsKGRldik7CiAJCW11dGV4X3VubG9jaygmaGVscGVyLT5s b2NrKTsKIAl9CiAJcmV0dXJuIGVycm9yOwotLSAKMi4xMS4wCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1k ZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK