From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [RFC PATCH 7/7] drm/i915: Make intel_display_suspend atomic, try 2. Date: Fri, 19 Jun 2015 10:02:30 +0200 Message-ID: <1434700950-16242-8-git-send-email-maarten.lankhorst@linux.intel.com> References: <1434700950-16242-1-git-send-email-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mblankhorst.nl (mblankhorst.nl [141.105.120.124]) by gabe.freedesktop.org (Postfix) with ESMTP id 571896E64C for ; Fri, 19 Jun 2015 01:02:46 -0700 (PDT) In-Reply-To: <1434700950-16242-1-git-send-email-maarten.lankhorst@linux.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 Q2FsY3VsYXRlIGFsbCBzdGF0ZSB1c2luZyBhIG5vcm1hbCB0cmFuc2l0aW9uLCBidXQgYWZ0ZXJ3 YXJkcyBmdWRnZQpjcnRjLT5zdGF0ZS0+YWN0aXZlIGJhY2sgdG8gaXRzIG9sZCB2YWx1ZS4gVGhp cyBzaG91bGQgc3RpbGwgYWxsb3cKc3RhdGUgcmVzdG9yZSBpbiBzZXR1cF9od19zdGF0ZSB0byB3 b3JrIHByb3Blcmx5LgoKU2lnbmVkLW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4u bGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kaXNwbGF5LmMgfCA3NCArKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0KIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8ICAyICstCiAyIGZpbGVzIGNoYW5n ZWQsIDQ5IGluc2VydGlvbnMoKyksIDI3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rpc3BsYXkuYwppbmRleCA3OTZkMDhjNDYwNmUuLjljMjViMDgwMjYwYyAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpAQCAtNjE3NSw0MCArNjE3NSw2MiBAQCBzdGF0aWMg dm9pZCBpOXh4X2NydGNfZGlzYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiAJCWludGVsX3Nl dF9jcHVfZmlmb191bmRlcnJ1bl9yZXBvcnRpbmcoZGV2X3ByaXYsIHBpcGUsIGZhbHNlKTsKIH0K IAotc3RhdGljIHZvaWQgaW50ZWxfY3J0Y19kaXNhYmxlX25vYXRvbWljKHN0cnVjdCBkcm1fY3J0 YyAqY3J0YykKKy8qCisgKiB0dXJuIGFsbCBjcnRjJ3Mgb2ZmLCBidXQgZG8gbm90IGFkanVzdCBz dGF0ZQorICogVGhpcyBoYXMgdG8gYmUgcGFpcmVkIHdpdGggYSBjYWxsIHRvIGludGVsX21vZGVz ZXRfc2V0dXBfaHdfc3RhdGUuCisgKi8KK2ludCBpbnRlbF9kaXNwbGF5X3N1c3BlbmQoc3RydWN0 IGRybV9kZXZpY2UgKmRldikKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRv X2ludGVsX2NydGMoY3J0Yyk7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g dG9faTkxNShjcnRjLT5kZXYpOwotCWVudW0gaW50ZWxfZGlzcGxheV9wb3dlcl9kb21haW4gZG9t YWluOwotCXVuc2lnbmVkIGxvbmcgZG9tYWluczsKKwlzdHJ1Y3QgZHJtX21vZGVfY29uZmlnICpj b25maWcgPSAmZGV2LT5tb2RlX2NvbmZpZzsKKwlzdHJ1Y3QgZHJtX21vZGVzZXRfYWNxdWlyZV9j dHggKmN0eCA9IGNvbmZpZy0+YWNxdWlyZV9jdHg7CisJc3RydWN0IGRybV9hdG9taWNfc3RhdGUg KnN0YXRlOworCXN0cnVjdCBkcm1fY3J0YyAqY3J0YzsKKwl1bnNpZ25lZCBjcnRjX21hc2sgPSAw OworCWludCByZXQgPSAwOwogCi0JaWYgKCFpbnRlbF9jcnRjLT5hY3RpdmUpCi0JCXJldHVybjsK KwlpZiAoV0FSTl9PTighY3R4KSkKKwkJcmV0dXJuIDA7CiAKLQlpZiAodG9faW50ZWxfcGxhbmVf c3RhdGUoY3J0Yy0+cHJpbWFyeS0+c3RhdGUpLT52aXNpYmxlKSB7Ci0JCWludGVsX2NydGNfd2Fp dF9mb3JfcGVuZGluZ19mbGlwcyhjcnRjKTsKLQkJaW50ZWxfcHJlX2Rpc2FibGVfcHJpbWFyeShj cnRjKTsKKwlsb2NrZGVwX2Fzc2VydF9oZWxkKCZjdHgtPnd3X2N0eCk7CisJc3RhdGUgPSBkcm1f YXRvbWljX3N0YXRlX2FsbG9jKGRldik7CisJaWYgKFdBUk5fT04oIXN0YXRlKSkKKwkJcmV0dXJu IC1FTk9NRU07CisKKwlzdGF0ZS0+YWNxdWlyZV9jdHggPSBjdHg7CisJc3RhdGUtPmFsbG93X21v ZGVzZXQgPSB0cnVlOworCisJZm9yX2VhY2hfY3J0YyhkZXYsIGNydGMpIHsKKwkJc3RydWN0IGRy bV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlID0KKwkJCWRybV9hdG9taWNfZ2V0X2NydGNfc3RhdGUo c3RhdGUsIGNydGMpOworCisJCXJldCA9IFBUUl9FUlJfT1JfWkVSTyhjcnRjX3N0YXRlKTsKKwkJ aWYgKHJldCkKKwkJCWdvdG8gZnJlZTsKKworCQlpZiAoIWNydGNfc3RhdGUtPmFjdGl2ZSkKKwkJ CWNvbnRpbnVlOworCisJCWNydGNfc3RhdGUtPmFjdGl2ZSA9IGZhbHNlOworCQljcnRjX21hc2sg fD0gMSA8PCBkcm1fY3J0Y19pbmRleChjcnRjKTsKIAl9CiAKLQlpbnRlbF9jcnRjX2Rpc2FibGVf cGxhbmVzKGNydGMsIGNydGMtPnN0YXRlLT5wbGFuZV9tYXNrKTsKLQlkZXZfcHJpdi0+ZGlzcGxh eS5jcnRjX2Rpc2FibGUoY3J0Yyk7CisJaWYgKGNydGNfbWFzaykgeworCQlyZXQgPSBpbnRlbF9z ZXRfbW9kZShzdGF0ZSk7CiAKLQlkb21haW5zID0gaW50ZWxfY3J0Yy0+ZW5hYmxlZF9wb3dlcl9k b21haW5zOwotCWZvcl9lYWNoX3Bvd2VyX2RvbWFpbihkb21haW4sIGRvbWFpbnMpCi0JCWludGVs X2Rpc3BsYXlfcG93ZXJfcHV0KGRldl9wcml2LCBkb21haW4pOwotCWludGVsX2NydGMtPmVuYWJs ZWRfcG93ZXJfZG9tYWlucyA9IDA7Ci19CisJCWlmICghcmV0KSB7CisJCQlmb3JfZWFjaF9jcnRj KGRldiwgY3J0YykKKwkJCQlpZiAoY3J0Y19tYXNrICYgKDEgPDwgZHJtX2NydGNfaW5kZXgoY3J0 YykpKQorCQkJCQljcnRjLT5zdGF0ZS0+YWN0aXZlID0gdHJ1ZTsKIAotLyoKLSAqIHR1cm4gYWxs IGNydGMncyBvZmYsIGJ1dCBkbyBub3QgYWRqdXN0IHN0YXRlCi0gKiBUaGlzIGhhcyB0byBiZSBw YWlyZWQgd2l0aCBhIGNhbGwgdG8gaW50ZWxfbW9kZXNldF9zZXR1cF9od19zdGF0ZS4KLSAqLwot dm9pZCBpbnRlbF9kaXNwbGF5X3N1c3BlbmQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKLXsKLQlz dHJ1Y3QgZHJtX2NydGMgKmNydGM7CisJCQlyZXR1cm4gcmV0OworCQl9CisJfQogCi0JZm9yX2Vh Y2hfY3J0YyhkZXYsIGNydGMpCi0JCWludGVsX2NydGNfZGlzYWJsZV9ub2F0b21pYyhjcnRjKTsK K2ZyZWU6CisJaWYgKHJldCkKKwkJRFJNX0VSUk9SKCJTdXNwZW5kaW5nIGNydGMncyBmYWlsZWQg d2l0aCAlaVxuIiwgcmV0KTsKKwlkcm1fYXRvbWljX3N0YXRlX2ZyZWUoc3RhdGUpOworCXJldHVy biByZXQ7CiB9CiAKIHZvaWQgaW50ZWxfZGlzcGxheV9yZXN1bWUoc3RydWN0IGRybV9kZXZpY2Ug KmRldikKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKaW5kZXggZWEzODBiODNlYjVkLi5mYjZjODhh ZGU4NDIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCkBAIC05OTIsNyArOTkyLDcgQEAgaW50 IGludGVsX3BjaF9yYXdjbGsoc3RydWN0IGRybV9kZXZpY2UgKmRldik7CiB2b2lkIGludGVsX21h cmtfYnVzeShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKIHZvaWQgaW50ZWxfbWFya19pZGxlKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYpOwogdm9pZCBpbnRlbF9jcnRjX3Jlc3RvcmVfbW9kZShzdHJ1 Y3QgZHJtX2NydGMgKmNydGMpOwotdm9pZCBpbnRlbF9kaXNwbGF5X3N1c3BlbmQoc3RydWN0IGRy bV9kZXZpY2UgKmRldik7CitpbnQgaW50ZWxfZGlzcGxheV9zdXNwZW5kKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYpOwogaW50IGludGVsX2NydGNfY29udHJvbChzdHJ1Y3QgZHJtX2NydGMgKmNydGMs IGJvb2wgZW5hYmxlKTsKIHZvaWQgaW50ZWxfY3J0Y191cGRhdGVfZHBtcyhzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMpOwogdm9pZCBpbnRlbF9lbmNvZGVyX2Rlc3Ryb3koc3RydWN0IGRybV9lbmNvZGVy ICplbmNvZGVyKTsKLS0gCjIuMS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeAo=