From mboxrd@z Thu Jan 1 00:00:00 1970 From: Deepak Rawat Subject: [PATCH 14/14] drm/vmwgfx: use atomic helper function for dirty fb IOCTL Date: Wed, 5 Sep 2018 16:39:01 -0700 Message-ID: <20180905233901.2321-15-drawat@vmware.com> References: <20180905233901.2321-1-drawat@vmware.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from EX13-EDG-OU-002.vmware.com (ex13-edg-ou-002.vmware.com [208.91.0.190]) by gabe.freedesktop.org (Postfix) with ESMTPS id 511306E576 for ; Wed, 5 Sep 2018 23:39:38 +0000 (UTC) In-Reply-To: <20180905233901.2321-1-drawat@vmware.com> 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, linux-graphics-maintainer@vmware.com, thellstrom@vmware.com, syeh@vmware.com Cc: Deepak Rawat , lukasz.spintzyk@displaylink.com List-Id: dri-devel@lists.freedesktop.org V2l0aCBuZXcgYXRvbWljIGhlbHBlciBmb3IgZGlydHkgZmIgSU9DVEwgaXMgYXZhaWxhYmxlIHdo aWNoIHVzZXMgZGFtYWdlCmludGVyZmFjZSwgdXNlIHRoYXQgZm9yIGRpcnR5IGZiIElPQ1RMLgoK U2lnbmVkLW9mZi1ieTogRGVlcGFrIFJhd2F0IDxkcmF3YXRAdm13YXJlLmNvbT4KLS0tCiBkcml2 ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9rbXMuYyB8IDExNiArLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxMTQgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfa21zLmMgYi9k cml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9rbXMuYwppbmRleCBjMWRlOGY2MDliZjQuLmFk ZjMyMjdmYjBkYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfa21z LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfa21zLmMKQEAgLTg1MCw1OCAr ODUwLDYgQEAgc3RhdGljIHZvaWQgdm13X2ZyYW1lYnVmZmVyX3N1cmZhY2VfZGVzdHJveShzdHJ1 Y3QgZHJtX2ZyYW1lYnVmZmVyICpmcmFtZWJ1ZmZlcikKIAlrZnJlZSh2ZmJzKTsKIH0KIAotc3Rh dGljIGludCB2bXdfZnJhbWVidWZmZXJfc3VyZmFjZV9kaXJ0eShzdHJ1Y3QgZHJtX2ZyYW1lYnVm ZmVyICpmcmFtZWJ1ZmZlciwKLQkJCQkgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2LAotCQkJ CSAgdW5zaWduZWQgZmxhZ3MsIHVuc2lnbmVkIGNvbG9yLAotCQkJCSAgc3RydWN0IGRybV9jbGlw X3JlY3QgKmNsaXBzLAotCQkJCSAgdW5zaWduZWQgbnVtX2NsaXBzKQotewotCXN0cnVjdCB2bXdf cHJpdmF0ZSAqZGV2X3ByaXYgPSB2bXdfcHJpdihmcmFtZWJ1ZmZlci0+ZGV2KTsKLQlzdHJ1Y3Qg dm13X2ZyYW1lYnVmZmVyX3N1cmZhY2UgKnZmYnMgPQotCQl2bXdfZnJhbWVidWZmZXJfdG9fdmZi cyhmcmFtZWJ1ZmZlcik7Ci0Jc3RydWN0IGRybV9jbGlwX3JlY3Qgbm9yZWN0OwotCWludCByZXQs IGluYyA9IDE7Ci0KLQkvKiBMZWdhY3kgRGlzcGxheSBVbml0IGRvZXMgbm90IHN1cHBvcnQgM0Qg Ki8KLQlpZiAoZGV2X3ByaXYtPmFjdGl2ZV9kaXNwbGF5X3VuaXQgPT0gdm13X2R1X2xlZ2FjeSkK LQkJcmV0dXJuIC1FSU5WQUw7Ci0KLQlkcm1fbW9kZXNldF9sb2NrX2FsbChkZXZfcHJpdi0+ZGV2 KTsKLQotCXJldCA9IHR0bV9yZWFkX2xvY2soJmRldl9wcml2LT5yZXNlcnZhdGlvbl9zZW0sIHRy dWUpOwotCWlmICh1bmxpa2VseShyZXQgIT0gMCkpIHsKLQkJZHJtX21vZGVzZXRfdW5sb2NrX2Fs bChkZXZfcHJpdi0+ZGV2KTsKLQkJcmV0dXJuIHJldDsKLQl9Ci0KLQlpZiAoIW51bV9jbGlwcykg ewotCQludW1fY2xpcHMgPSAxOwotCQljbGlwcyA9ICZub3JlY3Q7Ci0JCW5vcmVjdC54MSA9IG5v cmVjdC55MSA9IDA7Ci0JCW5vcmVjdC54MiA9IGZyYW1lYnVmZmVyLT53aWR0aDsKLQkJbm9yZWN0 LnkyID0gZnJhbWVidWZmZXItPmhlaWdodDsKLQl9IGVsc2UgaWYgKGZsYWdzICYgRFJNX01PREVf RkJfRElSVFlfQU5OT1RBVEVfQ09QWSkgewotCQludW1fY2xpcHMgLz0gMjsKLQkJaW5jID0gMjsg Lyogc2tpcCBzb3VyY2UgcmVjdHMgKi8KLQl9Ci0KLQlpZiAoZGV2X3ByaXYtPmFjdGl2ZV9kaXNw bGF5X3VuaXQgPT0gdm13X2R1X3NjcmVlbl9vYmplY3QpCi0JCXJldCA9IHZtd19rbXNfc291X2Rv X3N1cmZhY2VfZGlydHkoZGV2X3ByaXYsICZ2ZmJzLT5iYXNlLAotCQkJCQkJICAgY2xpcHMsIE5V TEwsIE5VTEwsIDAsIDAsCi0JCQkJCQkgICBudW1fY2xpcHMsIGluYywgTlVMTCwgTlVMTCk7Ci0J ZWxzZQotCQlyZXQgPSB2bXdfa21zX3N0ZHVfc3VyZmFjZV9kaXJ0eShkZXZfcHJpdiwgJnZmYnMt PmJhc2UsCi0JCQkJCQkgY2xpcHMsIE5VTEwsIE5VTEwsIDAsIDAsCi0JCQkJCQkgbnVtX2NsaXBz LCBpbmMsIE5VTEwsIE5VTEwpOwotCi0Jdm13X2ZpZm9fZmx1c2goZGV2X3ByaXYsIGZhbHNlKTsK LQl0dG1fcmVhZF91bmxvY2soJmRldl9wcml2LT5yZXNlcnZhdGlvbl9zZW0pOwotCi0JZHJtX21v ZGVzZXRfdW5sb2NrX2FsbChkZXZfcHJpdi0+ZGV2KTsKLQotCXJldHVybiAwOwotfQotCiAvKioK ICAqIHZtd19rbXNfcmVhZGJhY2sgLSBQZXJmb3JtIGEgcmVhZGJhY2sgZnJvbSB0aGUgc2NyZWVu IHN5c3RlbSB0bwogICogYSBidWZmZXItb2JqZWN0IGJhY2tlZCBmcmFtZWJ1ZmZlci4KQEAgLTk0 NSw3ICs4OTMsNyBAQCBpbnQgdm13X2ttc19yZWFkYmFjayhzdHJ1Y3Qgdm13X3ByaXZhdGUgKmRl dl9wcml2LAogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9mcmFtZWJ1ZmZlcl9mdW5jcyB2bXdf ZnJhbWVidWZmZXJfc3VyZmFjZV9mdW5jcyA9IHsKIAkuZGVzdHJveSA9IHZtd19mcmFtZWJ1ZmZl cl9zdXJmYWNlX2Rlc3Ryb3ksCi0JLmRpcnR5ID0gdm13X2ZyYW1lYnVmZmVyX3N1cmZhY2VfZGly dHksCisJLmRpcnR5ID0gZHJtX2F0b21pY19oZWxwZXJfZGlydHlmYiwKIH07CiAKIHN0YXRpYyBp bnQgdm13X2ttc19uZXdfZnJhbWVidWZmZXJfc3VyZmFjZShzdHJ1Y3Qgdm13X3ByaXZhdGUgKmRl dl9wcml2LApAQCAtMTA1Niw2OSArMTAwNCw5IEBAIHN0YXRpYyB2b2lkIHZtd19mcmFtZWJ1ZmZl cl9ib19kZXN0cm95KHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZyYW1lYnVmZmVyKQogCWtmcmVl KHZmYmQpOwogfQogCi1zdGF0aWMgaW50IHZtd19mcmFtZWJ1ZmZlcl9ib19kaXJ0eShzdHJ1Y3Qg ZHJtX2ZyYW1lYnVmZmVyICpmcmFtZWJ1ZmZlciwKLQkJCQkgICAgc3RydWN0IGRybV9maWxlICpm aWxlX3ByaXYsCi0JCQkJICAgIHVuc2lnbmVkIGludCBmbGFncywgdW5zaWduZWQgaW50IGNvbG9y LAotCQkJCSAgICBzdHJ1Y3QgZHJtX2NsaXBfcmVjdCAqY2xpcHMsCi0JCQkJICAgIHVuc2lnbmVk IGludCBudW1fY2xpcHMpCi17Ci0Jc3RydWN0IHZtd19wcml2YXRlICpkZXZfcHJpdiA9IHZtd19w cml2KGZyYW1lYnVmZmVyLT5kZXYpOwotCXN0cnVjdCB2bXdfZnJhbWVidWZmZXJfYm8gKnZmYmQg PQotCQl2bXdfZnJhbWVidWZmZXJfdG9fdmZiZChmcmFtZWJ1ZmZlcik7Ci0Jc3RydWN0IGRybV9j bGlwX3JlY3Qgbm9yZWN0OwotCWludCByZXQsIGluY3JlbWVudCA9IDE7Ci0KLQlkcm1fbW9kZXNl dF9sb2NrX2FsbChkZXZfcHJpdi0+ZGV2KTsKLQotCXJldCA9IHR0bV9yZWFkX2xvY2soJmRldl9w cml2LT5yZXNlcnZhdGlvbl9zZW0sIHRydWUpOwotCWlmICh1bmxpa2VseShyZXQgIT0gMCkpIHsK LQkJZHJtX21vZGVzZXRfdW5sb2NrX2FsbChkZXZfcHJpdi0+ZGV2KTsKLQkJcmV0dXJuIHJldDsK LQl9Ci0KLQlpZiAoIW51bV9jbGlwcykgewotCQludW1fY2xpcHMgPSAxOwotCQljbGlwcyA9ICZu b3JlY3Q7Ci0JCW5vcmVjdC54MSA9IG5vcmVjdC55MSA9IDA7Ci0JCW5vcmVjdC54MiA9IGZyYW1l YnVmZmVyLT53aWR0aDsKLQkJbm9yZWN0LnkyID0gZnJhbWVidWZmZXItPmhlaWdodDsKLQl9IGVs c2UgaWYgKGZsYWdzICYgRFJNX01PREVfRkJfRElSVFlfQU5OT1RBVEVfQ09QWSkgewotCQludW1f Y2xpcHMgLz0gMjsKLQkJaW5jcmVtZW50ID0gMjsKLQl9Ci0KLQlzd2l0Y2ggKGRldl9wcml2LT5h Y3RpdmVfZGlzcGxheV91bml0KSB7Ci0JY2FzZSB2bXdfZHVfc2NyZWVuX3RhcmdldDoKLQkJcmV0 ID0gdm13X2ttc19zdGR1X2RtYShkZXZfcHJpdiwgTlVMTCwgJnZmYmQtPmJhc2UsIE5VTEwsCi0J CQkJICAgICAgIGNsaXBzLCBOVUxMLCBudW1fY2xpcHMsIGluY3JlbWVudCwKLQkJCQkgICAgICAg dHJ1ZSwgdHJ1ZSwgTlVMTCk7Ci0JCWJyZWFrOwotCWNhc2Ugdm13X2R1X3NjcmVlbl9vYmplY3Q6 Ci0JCXJldCA9IHZtd19rbXNfc291X2RvX2JvX2RpcnR5KGRldl9wcml2LCAmdmZiZC0+YmFzZSwK LQkJCQkJICAgICAgY2xpcHMsIE5VTEwsIG51bV9jbGlwcywKLQkJCQkJICAgICAgaW5jcmVtZW50 LCB0cnVlLCBOVUxMLCBOVUxMKTsKLQkJYnJlYWs7Ci0JY2FzZSB2bXdfZHVfbGVnYWN5OgotCQly ZXQgPSB2bXdfa21zX2xkdV9kb19ib19kaXJ0eShkZXZfcHJpdiwgJnZmYmQtPmJhc2UsIDAsIDAs Ci0JCQkJCSAgICAgIGNsaXBzLCBudW1fY2xpcHMsIGluY3JlbWVudCk7Ci0JCWJyZWFrOwotCWRl ZmF1bHQ6Ci0JCXJldCA9IC1FSU5WQUw7Ci0JCVdBUk5fT05DRSh0cnVlLCAiRGlydHkgY2FsbGVk IHdpdGggaW52YWxpZCBkaXNwbGF5IHN5c3RlbS5cbiIpOwotCQlicmVhazsKLQl9Ci0KLQl2bXdf Zmlmb19mbHVzaChkZXZfcHJpdiwgZmFsc2UpOwotCXR0bV9yZWFkX3VubG9jaygmZGV2X3ByaXYt PnJlc2VydmF0aW9uX3NlbSk7Ci0KLQlkcm1fbW9kZXNldF91bmxvY2tfYWxsKGRldl9wcml2LT5k ZXYpOwotCi0JcmV0dXJuIHJldDsKLX0KLQogc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZnJhbWVi dWZmZXJfZnVuY3Mgdm13X2ZyYW1lYnVmZmVyX2JvX2Z1bmNzID0gewogCS5kZXN0cm95ID0gdm13 X2ZyYW1lYnVmZmVyX2JvX2Rlc3Ryb3ksCi0JLmRpcnR5ID0gdm13X2ZyYW1lYnVmZmVyX2JvX2Rp cnR5LAorCS5kaXJ0eSA9IGRybV9hdG9taWNfaGVscGVyX2RpcnR5ZmIsCiB9OwogCiAvKioKLS0g CjIuMTcuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K ZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==