From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Subject: [PATCH 1/2] drm/i915/skl: Update plane watermarks atomically during plane updates Date: Tue, 19 Jul 2016 12:30:55 -0400 Message-ID: <1468945856-23126-2-git-send-email-cpaul@redhat.com> References: <1468945856-23126-1-git-send-email-cpaul@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1468945856-23126-1-git-send-email-cpaul@redhat.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 Cc: David Airlie , "open list:INTEL DRM DRIVERS excluding Poulsbo, Moorestow..., linux-kernel@vger.kernel.org open list" , stable@vger.kernel.org, Daniel Vetter List-Id: dri-devel@lists.freedesktop.org VGhhbmtzIHRvIFZpbGxlIGZvciBzdWdnZXN0aW5nIHRoaXMgYXMgYSBwb3RlbnRpYWwgc29sdXRp b24gdG8gcGlwZQp1bmRlcnJ1bnMgb24gU2t5bGFrZS4KCk9uIFNreWxha2UgYWxsIG9mIHRoZSBy ZWdpc3RlcnMgZm9yIGNvbmZpZ3VyaW5nIHBsYW5lcywgaW5jbHVkaW5nIHRoZQpyZWdpc3RlcnMg Zm9yIGNvbmZpZ3VyaW5nIHRoZWlyIHdhdGVybWFya3MsIGFyZSBkb3VibGUgYnVmZmVyZWQuIE5l dwp2YWx1ZXMgd3JpdHRlbiB0byB0aGVtIHdvbid0IHRha2UgZWZmZWN0IHVudGlsIHNhaWQgcmVn aXN0ZXJzIGFyZQoiYXJtZWQiLCB3aGljaCBpcyBkb25lIGJ5IHdyaXRpbmcgdG8gdGhlIFBMQU5F X1NVUkYgKG9yIGluIHRoZSBjYXNlIG9mCmN1cnNvciBwbGFuZXMsIHRoZSBDVVJCQVNFIHJlZ2lz dGVyKSByZWdpc3Rlci4KCldpdGggdGhpcyBpbiBtaW5kLCB1cCB1bnRpbCBub3cgd2UndmUgYmVl biB1cGRhdGluZyB3YXRlcm1hcmtzIG9uIHNrbApsaWtlIHRoaXM6CgogLSBDYWxjdWxhdGUgbmV3 IHdhdGVybWFyayB2YWx1ZXMgaW4gc2tsX2NvbXB1dGVfd20oKQoKIC0gVXBkYXRlIG5vbi13YXRl cm1hcmsgc2V0dGluZ3MgZm9yIGVhY2ggcGxhbmUgaW4KICAgc2t5bGFrZV91cGRhdGVfcHJpbWFy eV9wbGFuZSgpL2k5eHhfdXBkYXRlX2N1cnNvcigpCgogLSBBcm0gcGxhbmUgcmVnaXN0ZXJzIHRv IHVwZGF0ZSBhdCB0aGUgc3RhcnQgb2YgdGhlIG5leHQgdmJsYW5rIGluCiAgIHNreWxha2VfdXBk YXRlX3ByaW1hcnlfcGxhbmUoKS9pOXh4X3VwZGF0ZV9jdXJzb3IoKQoKIC0gKlBvc3NpYmx5IHVu ZGVycnVuIGhlcmUsIHNpbmNlIHRoZSBwbGFuZSBtYXkgbm93IGhhdmUgdXBkYXRlZCBpdCdzCiAg IHNldHRpbmdzIHVzaW5nIHRoZSBvbGQgYW5kIGluc3VmZmljaWVudCB3YXRlcm1hcmsgdmFsdWVz KgoKIC0gVXBkYXRlIHdhdGVybWFyayBzZXR0aW5ncyBpbiBza2xfd3JpdGVfd21fdmFsdWVzKCkK CiAtICpQb3NzaWJseSB1bmRlcnJ1biBoZXJlIGFzIHdlbGwgaWYgd2UndmUgcGFzc2VkIGEgdmJs YW5rLAogICBjYXVzaW5nIHRoZSBoYXJkd2FyZSB0byBnZXQgc3R1Y2sgcnVubmluZyBvbiBpbnRl cm1lZGlhdGUgd20gdmFsdWVzKgoKIC0gRmluYWxseSBhcm0gcGxhbmUgcmVnaXN0ZXJzIHNvIHRo ZXkgdXBkYXRlIHRvIHRoZSBjb3JyZWN0IHZhbHVlcyBhdAogICB0aGUgc3RhcnQgb2YgdGhlIG5l eHQgdmJsYW5rIGluIHNrbF93bV9mbHVzaF9waXBlKCkKCk5vdyB3ZSB1cGRhdGUgd2F0ZXJtYXJr cyBhdG9taWNhbGx5IGxpa2UgdGhpczoKCiAtIENhbGN1bGF0ZSBuZXcgd2F0ZXJtYXJrIHZhbHVl cyBpbiBza2xfY29tcHV0ZV93bSgpCgogLSBVcGRhdGUgd2F0ZXJtYXJrIHZhbHVlcyBmb3IgZWFj aCBwbGFuZSBpbgogICBza3lsYWtlX3dyaXRlX3BsYW5lX3dtKCkvc2t5bGFrZV93cml0ZV9jdXJz b3Jfd20oKQoKIC0gVXBkYXRlIGFsbCB0aGUgb3RoZXIgdmFsdWVzIGZvciB0aGUgcGxhbmUgKHBv c2l0aW9uLCBhZGRyZXNzLCBldGMuKQogICBpbiBza3lsYWtlX3VwZGF0ZV9wcmltYXJ5X3BsYW5l KCkvaTl4eF91cGRhdGVfY3Vyc29yKCkKCiAtIEFybSBwbGFuZSByZWdpc3RlcnMgKGluY2x1ZGlu ZyB0aGUgd2F0ZXJtYXJrIHNldHRpbmdzKSB0byB1cGRhdGUgYXQKICAgdGhlIHN0YXJ0IG9mIHRo ZSBuZXh0IHZibGFuayBpbgogICBza3lsYWtlX3VwZGF0ZV9wcmltYXJ5X3BsYW5lKCkvaTl4eF91 cGRhdGVfY3Vyc29yKCkKCldoaWNoIGlzIG1vcmUgb2YgYSBzdGVwIGluIHRoZSByaWdodCBkaXJl Y3Rpb24gdG8gZml4aW5nIGFsbCBvZiB0aGUKdW5kZXJydW4gaXNzdWVzIHdlJ3JlIGN1cnJlbnRs eSBzZWVpbmcgd2l0aCBza2wKClNpZ25lZC1vZmYtYnk6IEx5dWRlIFBhdWwgPGNwYXVsQHJlZGhh dC5jb20+CkNjOiBzdGFibGVAdmdlci5rZXJuZWwub3JnCkNjOiBWaWxsZSBTeXJqw6Rsw6QgPHZp bGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgpDYzogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZl dHRlckBpbnRlbC5jb20+CkNjOiBSYWRoYWtyaXNobmEgU3JpcGFkYSA8cmFkaGFrcmlzaG5hLnNy aXBhZGFAaW50ZWwuY29tPgpDYzogSGFucyBkZSBHb2VkZSA8aGRlZ29lZGVAcmVkaGF0LmNvbT4g PGNwYXVsQHJlZGhhdC5jb20+CkNjOiBNYXR0IFJvcGVyIDxtYXR0aGV3LmQucm9wZXJAaW50ZWwu Y29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDQ3ICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcG0uYyAgICAgIHwgMTUgKy0tLS0tLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDQ4IGluc2Vy dGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXku YwppbmRleCBmYjdkOGZjNS4uM2QyYzEyNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYwpAQCAtMjk3MSw2ICsyOTcxLDI3IEBAIHUzMiBza2xfcGxhbmVfY3RsX3JvdGF0aW9uKHVu c2lnbmVkIGludCByb3RhdGlvbikKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIHZvaWQgc2t5bGFr ZV93cml0ZV9wbGFuZV93bShzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YywKKwkJCQkgICBp bnQgcGxhbmUpCit7CisJc3RydWN0IGRybV9jcnRjICpjcnRjID0gJmludGVsX2NydGMtPmJhc2U7 CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKKwlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CisJc3RydWN0IHNrbF93bV92YWx1ZXMg KndtID0gJmRldl9wcml2LT53bS5za2xfcmVzdWx0czsKKwlpbnQgbGV2ZWwsIG1heF9sZXZlbCA9 IGlsa193bV9tYXhfbGV2ZWwoZGV2KTsKKwllbnVtIHBpcGUgcGlwZSA9IGludGVsX2NydGMtPnBp cGU7CisKKwltdXRleF9sb2NrKCZkZXZfcHJpdi0+d20ud21fbXV0ZXgpOworCisJZm9yIChsZXZl bCA9IDA7IGxldmVsIDwgbWF4X2xldmVsOyBsZXZlbCsrKSB7CisJCUk5MTVfV1JJVEUoUExBTkVf V00ocGlwZSwgcGxhbmUsIGxldmVsKSwKKwkJCSAgIHdtLT5wbGFuZVtwaXBlXVtwbGFuZV1bbGV2 ZWxdKTsKKwl9CisJSTkxNV9XUklURShQTEFORV9XTV9UUkFOUyhwaXBlLCBwbGFuZSksIHdtLT5w bGFuZV90cmFuc1twaXBlXVtwbGFuZV0pOworCisJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+d20u d21fbXV0ZXgpOworfQorCiBzdGF0aWMgdm9pZCBza3lsYWtlX3VwZGF0ZV9wcmltYXJ5X3BsYW5l KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCQkJCQkgY29uc3Qgc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNydGNfc3RhdGUsCiAJCQkJCSBjb25zdCBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUg KnBsYW5lX3N0YXRlKQpAQCAtMzAzMSw2ICszMDUyLDggQEAgc3RhdGljIHZvaWQgc2t5bGFrZV91 cGRhdGVfcHJpbWFyeV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAlpbnRlbF9jcnRj LT5hZGp1c3RlZF94ID0geF9vZmZzZXQ7CiAJaW50ZWxfY3J0Yy0+YWRqdXN0ZWRfeSA9IHlfb2Zm c2V0OwogCisJc2t5bGFrZV93cml0ZV9wbGFuZV93bShpbnRlbF9jcnRjLCAwKTsKKwogCUk5MTVf V1JJVEUoUExBTkVfQ1RMKHBpcGUsIDApLCBwbGFuZV9jdGwpOwogCUk5MTVfV1JJVEUoUExBTkVf T0ZGU0VUKHBpcGUsIDApLCBwbGFuZV9vZmZzZXQpOwogCUk5MTVfV1JJVEUoUExBTkVfU0laRShw aXBlLCAwKSwgcGxhbmVfc2l6ZSk7CkBAIC0xMDIzMyw2ICsxMDI1NiwyNyBAQCBzdGF0aWMgdm9p ZCBpODQ1X3VwZGF0ZV9jdXJzb3Ioc3RydWN0IGRybV9jcnRjICpjcnRjLCB1MzIgYmFzZSwKIAl9 CiB9CiAKK3N0YXRpYyB2b2lkIHNrbF93cml0ZV9jdXJzb3Jfd20oc3RydWN0IGludGVsX2NydGMg KmludGVsX2NydGMpCit7CisJc3RydWN0IGRybV9jcnRjICpjcnRjID0gJmludGVsX2NydGMtPmJh c2U7CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKKwlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CisJc3RydWN0IHNrbF93bV92YWx1 ZXMgKndtID0gJmRldl9wcml2LT53bS5za2xfcmVzdWx0czsKKwlpbnQgbGV2ZWwsIG1heF9sZXZl bCA9IGlsa193bV9tYXhfbGV2ZWwoZGV2KTsKKwllbnVtIHBpcGUgcGlwZSA9IGludGVsX2NydGMt PnBpcGU7CisKKwltdXRleF9sb2NrKCZkZXZfcHJpdi0+d20ud21fbXV0ZXgpOworCisJZm9yIChs ZXZlbCA9IDA7IGxldmVsIDw9IG1heF9sZXZlbDsgbGV2ZWwrKykgeworCQlJOTE1X1dSSVRFKENV Ul9XTShwaXBlLCBsZXZlbCksCisJCQkgICB3bS0+cGxhbmVbcGlwZV1bUExBTkVfQ1VSU09SXVts ZXZlbF0pOworCX0KKwlJOTE1X1dSSVRFKENVUl9XTV9UUkFOUyhwaXBlKSwKKwkJICAgd20tPnBs YW5lX3RyYW5zW3BpcGVdW1BMQU5FX0NVUlNPUl0pOworCisJbXV0ZXhfdW5sb2NrKCZkZXZfcHJp di0+d20ud21fbXV0ZXgpOworfQorCiBzdGF0aWMgdm9pZCBpOXh4X3VwZGF0ZV9jdXJzb3Ioc3Ry dWN0IGRybV9jcnRjICpjcnRjLCB1MzIgYmFzZSwKIAkJCSAgICAgICBjb25zdCBzdHJ1Y3QgaW50 ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlKQogewpAQCAtMTAyNDIsNiArMTAyODYsOSBAQCBz dGF0aWMgdm9pZCBpOXh4X3VwZGF0ZV9jdXJzb3Ioc3RydWN0IGRybV9jcnRjICpjcnRjLCB1MzIg YmFzZSwKIAlpbnQgcGlwZSA9IGludGVsX2NydGMtPnBpcGU7CiAJdWludDMyX3QgY250bCA9IDA7 CiAKKwlpZiAoSVNfU0tZTEFLRShkZXZfcHJpdikpCisJCXNrbF93cml0ZV9jdXJzb3Jfd20oaW50 ZWxfY3J0Yyk7CisKIAlpZiAocGxhbmVfc3RhdGUgJiYgcGxhbmVfc3RhdGUtPnZpc2libGUpIHsK IAkJY250bCA9IE1DVVJTT1JfR0FNTUFfRU5BQkxFOwogCQlzd2l0Y2ggKHBsYW5lX3N0YXRlLT5i YXNlLmNydGNfdykgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0u YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKaW5kZXggMjEzYWQzNS4uM2E3NzA5 YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCkBAIC0zNzg4LDcgKzM3ODgsNyBAQCBzdGF0aWMg dm9pZCBza2xfd3JpdGVfd21fdmFsdWVzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwKIAkJc2tsX2Rpc2FibGVfc2FndihkZXZfcHJpdik7CiAKIAlmb3JfZWFjaF9pbnRlbF9jcnRj KGRldiwgY3J0YykgewotCQlpbnQgaSwgbGV2ZWwsIG1heF9sZXZlbCA9IGlsa193bV9tYXhfbGV2 ZWwoZGV2KTsKKwkJaW50IGk7CiAJCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsKIAogCQlp ZiAoKG5ldy0+ZGlydHlfcGlwZXMgJiBkcm1fY3J0Y19tYXNrKCZjcnRjLT5iYXNlKSkgPT0gMCkK QEAgLTM3OTgsMTkgKzM3OTgsNiBAQCBzdGF0aWMgdm9pZCBza2xfd3JpdGVfd21fdmFsdWVzKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAogCQlJOTE1X1dSSVRFKFBJUEVfV01f TElORVRJTUUocGlwZSksIG5ldy0+d21fbGluZXRpbWVbcGlwZV0pOwogCi0JCWZvciAobGV2ZWwg PSAwOyBsZXZlbCA8PSBtYXhfbGV2ZWw7IGxldmVsKyspIHsKLQkJCWZvciAoaSA9IDA7IGkgPCBp bnRlbF9udW1fcGxhbmVzKGNydGMpOyBpKyspCi0JCQkJSTkxNV9XUklURShQTEFORV9XTShwaXBl LCBpLCBsZXZlbCksCi0JCQkJCSAgIG5ldy0+cGxhbmVbcGlwZV1baV1bbGV2ZWxdKTsKLQkJCUk5 MTVfV1JJVEUoQ1VSX1dNKHBpcGUsIGxldmVsKSwKLQkJCQkgICBuZXctPnBsYW5lW3BpcGVdW1BM QU5FX0NVUlNPUl1bbGV2ZWxdKTsKLQkJfQotCQlmb3IgKGkgPSAwOyBpIDwgaW50ZWxfbnVtX3Bs YW5lcyhjcnRjKTsgaSsrKQotCQkJSTkxNV9XUklURShQTEFORV9XTV9UUkFOUyhwaXBlLCBpKSwK LQkJCQkgICBuZXctPnBsYW5lX3RyYW5zW3BpcGVdW2ldKTsKLQkJSTkxNV9XUklURShDVVJfV01f VFJBTlMocGlwZSksCi0JCQkgICBuZXctPnBsYW5lX3RyYW5zW3BpcGVdW1BMQU5FX0NVUlNPUl0p OwotCiAJCWZvciAoaSA9IDA7IGkgPCBpbnRlbF9udW1fcGxhbmVzKGNydGMpOyBpKyspIHsKIAkJ CXNrbF9kZGJfZW50cnlfd3JpdGUoZGV2X3ByaXYsCiAJCQkJCSAgICBQTEFORV9CVUZfQ0ZHKHBp cGUsIGkpLAotLSAKMi43LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lu dGVsLWdmeAo=