From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hans de Goede Subject: [PATCH resend 09/15] staging: vboxvideo: Atomic phase 3: Switch last bits over to atomic Date: Sat, 29 Sep 2018 14:18:19 +0200 Message-ID: <20180929121825.25765-10-hdegoede@redhat.com> References: <20180929121825.25765-1-hdegoede@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by gabe.freedesktop.org (Postfix) with ESMTPS id 690E36E1F6 for ; Sat, 29 Sep 2018 12:18:41 +0000 (UTC) In-Reply-To: <20180929121825.25765-1-hdegoede@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Greg Kroah-Hartman Cc: devel@driverdev.osuosl.org, Hans de Goede , Michael Thayer , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org Tm93IHRoYXQgdGhlIHN0YXRlIG9iamVjdHMgYXJlIHdpcmVkIHVwLCB3ZSBjYW46CgoxKSBNb3Zl IHRvIHRoZSBmaW5hbCBhdG9taWMgaGFuZGxlcnMKMikgV2lyZSB1cCBhdG9taWMgc2V0X2NvbmZp ZyBoZWxwZXIKMykgU3dpdGNoIHRvIGRybV9tb2RlX2NvbmZpZ19oZWxwZXJfc3VzcGVuZC9yZXN1 bWUgZm9yIHN1c3BlbmQvcmVzdW1lCjQpIEVuYWJsZSBhdG9taWMgbW9kZXNldHRpbmcgaW9jdGwK ClRoaXMgaXMgYWxsIGRvbmUgaW4gb25lIGNvbW1pdCBiZWNhdXNlIGRvaW5nIHRoaXMgcGllY2Vt ZWFsIGxlYWRzIHRvCmFuIGludGVybWVkaWF0ZSBzdGF0ZSB3aGljaCB0cmlnZ2VycyBXQVJOX09O cyBpbiB0aGUgYXRvbWljIGNvZGUgYmVjYXVzZQplLmcuIHBsYW5lLT5mYiBpcyBzdGlsbCBiZWlu ZyBzZXQuCgpTaWduZWQtb2ZmLWJ5OiBIYW5zIGRlIEdvZWRlIDxoZGVnb2VkZUByZWRoYXQuY29t PgotLS0KIGRyaXZlcnMvc3RhZ2luZy92Ym94dmlkZW8vVE9ETyAgICAgICAgfCAgMSAtCiBkcml2 ZXJzL3N0YWdpbmcvdmJveHZpZGVvL3Zib3hfZHJ2LmMgIHwgNDAgKysrKystLS0tLS0tLS0tLS0t LS0tLS0tLS0tCiBkcml2ZXJzL3N0YWdpbmcvdmJveHZpZGVvL3Zib3hfbW9kZS5jIHwgMzUgKysr KysrKy0tLS0tLS0tLS0tLS0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgMTcgaW5zZXJ0aW9ucygrKSwg NTkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL3Zib3h2aWRlby9U T0RPIGIvZHJpdmVycy9zdGFnaW5nL3Zib3h2aWRlby9UT0RPCmluZGV4IDQ2OGVlYTg1NmNhNi4u MmUwZjk5YzNmMTBjIDEwMDY0NAotLS0gYS9kcml2ZXJzL3N0YWdpbmcvdmJveHZpZGVvL1RPRE8K KysrIGIvZHJpdmVycy9zdGFnaW5nL3Zib3h2aWRlby9UT0RPCkBAIC0xLDUgKzEsNCBAQAogVE9E TzoKLS1Nb3ZlIHRoZSBkcml2ZXIgb3ZlciB0byB0aGUgYXRvbWljIEFQSQogLUdldCBhIGZ1bGwg cmV2aWV3IGZyb20gdGhlIGRybS1tYWludGFpbmVycyBvbiBkcmktZGV2ZWwgZG9uZSBvbiB0aGlz IGRyaXZlcgogLUV4dGVuZCB0aGlzIFRPRE8gd2l0aCB0aGUgcmVzdWx0cyBvZiB0aGF0IHJldmll dwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3N0YWdpbmcvdmJveHZpZGVvL3Zib3hfZHJ2LmMgYi9k cml2ZXJzL3N0YWdpbmcvdmJveHZpZGVvL3Zib3hfZHJ2LmMKaW5kZXggYzZhNTNiMGFkNjZjLi5j M2UxNDEwN2RhMGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc3RhZ2luZy92Ym94dmlkZW8vdmJveF9k cnYuYworKysgYi9kcml2ZXJzL3N0YWdpbmcvdmJveHZpZGVvL3Zib3hfZHJ2LmMKQEAgLTEzMiwz NSArMTMyLDE2IEBAIHN0YXRpYyB2b2lkIHZib3hfcGNpX3JlbW92ZShzdHJ1Y3QgcGNpX2RldiAq cGRldikKIAlkcm1fZGV2X3B1dCgmdmJveC0+ZGRldik7CiB9CiAKLXN0YXRpYyBpbnQgdmJveF9k cm1fZnJlZXplKHN0cnVjdCB2Ym94X3ByaXZhdGUgKnZib3gpCi17Ci0JZHJtX2ttc19oZWxwZXJf cG9sbF9kaXNhYmxlKCZ2Ym94LT5kZGV2KTsKLQotCXBjaV9zYXZlX3N0YXRlKHZib3gtPmRkZXYu cGRldik7Ci0KLQlkcm1fZmJfaGVscGVyX3NldF9zdXNwZW5kX3VubG9ja2VkKCZ2Ym94LT5mYmRl di0+aGVscGVyLCB0cnVlKTsKLQotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IHZib3hfZHJt X3RoYXcoc3RydWN0IHZib3hfcHJpdmF0ZSAqdmJveCkKLXsKLQlkcm1fbW9kZV9jb25maWdfcmVz ZXQoJnZib3gtPmRkZXYpOwotCWRybV9oZWxwZXJfcmVzdW1lX2ZvcmNlX21vZGUoJnZib3gtPmRk ZXYpOwotCWRybV9mYl9oZWxwZXJfc2V0X3N1c3BlbmRfdW5sb2NrZWQoJnZib3gtPmZiZGV2LT5o ZWxwZXIsIGZhbHNlKTsKLQotCXJldHVybiAwOwotfQotCiBzdGF0aWMgaW50IHZib3hfcG1fc3Vz cGVuZChzdHJ1Y3QgZGV2aWNlICpkZXYpCiB7CiAJc3RydWN0IHZib3hfcHJpdmF0ZSAqdmJveCA9 IGRldl9nZXRfZHJ2ZGF0YShkZXYpOwogCWludCBlcnJvcjsKIAotCWVycm9yID0gdmJveF9kcm1f ZnJlZXplKHZib3gpOworCWVycm9yID0gZHJtX21vZGVfY29uZmlnX2hlbHBlcl9zdXNwZW5kKCZ2 Ym94LT5kZGV2KTsKIAlpZiAoZXJyb3IpCiAJCXJldHVybiBlcnJvcjsKIAorCXBjaV9zYXZlX3N0 YXRlKHZib3gtPmRkZXYucGRldik7CiAJcGNpX2Rpc2FibGVfZGV2aWNlKHZib3gtPmRkZXYucGRl dik7CiAJcGNpX3NldF9wb3dlcl9zdGF0ZSh2Ym94LT5kZGV2LnBkZXYsIFBDSV9EM2hvdCk7CiAK QEAgLTE3MCwzOSArMTUxLDMyIEBAIHN0YXRpYyBpbnQgdmJveF9wbV9zdXNwZW5kKHN0cnVjdCBk ZXZpY2UgKmRldikKIHN0YXRpYyBpbnQgdmJveF9wbV9yZXN1bWUoc3RydWN0IGRldmljZSAqZGV2 KQogewogCXN0cnVjdCB2Ym94X3ByaXZhdGUgKnZib3ggPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsK LQlpbnQgcmV0OwogCiAJaWYgKHBjaV9lbmFibGVfZGV2aWNlKHZib3gtPmRkZXYucGRldikpCiAJ CXJldHVybiAtRUlPOwogCi0JcmV0ID0gdmJveF9kcm1fdGhhdyh2Ym94KTsKLQlpZiAocmV0KQot CQlyZXR1cm4gcmV0OwotCi0JZHJtX2ttc19oZWxwZXJfcG9sbF9lbmFibGUoJnZib3gtPmRkZXYp OwotCi0JcmV0dXJuIDA7CisJcmV0dXJuIGRybV9tb2RlX2NvbmZpZ19oZWxwZXJfcmVzdW1lKCZ2 Ym94LT5kZGV2KTsKIH0KIAogc3RhdGljIGludCB2Ym94X3BtX2ZyZWV6ZShzdHJ1Y3QgZGV2aWNl ICpkZXYpCiB7CiAJc3RydWN0IHZib3hfcHJpdmF0ZSAqdmJveCA9IGRldl9nZXRfZHJ2ZGF0YShk ZXYpOwogCi0JcmV0dXJuIHZib3hfZHJtX2ZyZWV6ZSh2Ym94KTsKKwlyZXR1cm4gZHJtX21vZGVf Y29uZmlnX2hlbHBlcl9zdXNwZW5kKCZ2Ym94LT5kZGV2KTsKIH0KIAogc3RhdGljIGludCB2Ym94 X3BtX3RoYXcoc3RydWN0IGRldmljZSAqZGV2KQogewogCXN0cnVjdCB2Ym94X3ByaXZhdGUgKnZi b3ggPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKIAotCXJldHVybiB2Ym94X2RybV90aGF3KHZib3gp OworCXJldHVybiBkcm1fbW9kZV9jb25maWdfaGVscGVyX3Jlc3VtZSgmdmJveC0+ZGRldik7CiB9 CiAKIHN0YXRpYyBpbnQgdmJveF9wbV9wb3dlcm9mZihzdHJ1Y3QgZGV2aWNlICpkZXYpCiB7CiAJ c3RydWN0IHZib3hfcHJpdmF0ZSAqdmJveCA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOwogCi0JcmV0 dXJuIHZib3hfZHJtX2ZyZWV6ZSh2Ym94KTsKKwlyZXR1cm4gZHJtX21vZGVfY29uZmlnX2hlbHBl cl9zdXNwZW5kKCZ2Ym94LT5kZGV2KTsKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCBkZXZfcG1f b3BzIHZib3hfcG1fb3BzID0gewpAQCAtMjgwLDcgKzI1NCw3IEBAIHN0YXRpYyB2b2lkIHZib3hf bWFzdGVyX2Ryb3Aoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpmaWxl X3ByaXYpCiBzdGF0aWMgc3RydWN0IGRybV9kcml2ZXIgZHJpdmVyID0gewogCS5kcml2ZXJfZmVh dHVyZXMgPQogCSAgICBEUklWRVJfTU9ERVNFVCB8IERSSVZFUl9HRU0gfCBEUklWRVJfSEFWRV9J UlEgfCBEUklWRVJfSVJRX1NIQVJFRCB8Ci0JICAgIERSSVZFUl9QUklNRSwKKwkgICAgRFJJVkVS X1BSSU1FIHwgRFJJVkVSX0FUT01JQywKIAkuZGV2X3ByaXZfc2l6ZSA9IDAsCiAKIAkubGFzdGNs b3NlID0gdmJveF9kcml2ZXJfbGFzdGNsb3NlLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5n L3Zib3h2aWRlby92Ym94X21vZGUuYyBiL2RyaXZlcnMvc3RhZ2luZy92Ym94dmlkZW8vdmJveF9t b2RlLmMKaW5kZXggNTRlNmFhYzc4NGY3Li42OWExZTZjMTYzYjkgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvc3RhZ2luZy92Ym94dmlkZW8vdmJveF9tb2RlLmMKKysrIGIvZHJpdmVycy9zdGFnaW5nL3Zi b3h2aWRlby92Ym94X21vZGUuYwpAQCAtMTQ4LDEzICsxNDgsNiBAQCBzdGF0aWMgdm9pZCB2Ym94 X2NydGNfZHBtcyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIGludCBtb2RlKQogCW11dGV4X3VubG9j aygmdmJveC0+aHdfbXV0ZXgpOwogfQogCi1zdGF0aWMgYm9vbCB2Ym94X2NydGNfbW9kZV9maXh1 cChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCi0JCQkJIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9t b2RlICptb2RlLAotCQkJCSBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSkK LXsKLQlyZXR1cm4gdHJ1ZTsKLX0KLQogLyoKICAqIFRyeSB0byBtYXAgdGhlIGxheW91dCBvZiB2 aXJ0dWFsIHNjcmVlbnMgdG8gdGhlIHJhbmdlIG9mIHRoZSBpbnB1dCBkZXZpY2UuCiAgKiBSZXR1 cm4gdHJ1ZSBpZiB3ZSBuZWVkIHRvIHJlLXNldCB0aGUgY3J0YyBtb2RlcyBkdWUgdG8gc2NyZWVu IG9mZnNldApAQCAtMjYwLDE5ICsyNTMsMTAgQEAgc3RhdGljIHZvaWQgdmJveF9jcnRjX2Rpc2Fi bGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQogewogfQogCi1zdGF0aWMgdm9pZCB2Ym94X2NydGNf cHJlcGFyZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCi17Ci19Ci0KIHN0YXRpYyB2b2lkIHZib3hf Y3J0Y19jb21taXQoc3RydWN0IGRybV9jcnRjICpjcnRjKQogewogfQogCi1zdGF0aWMgdm9pZCB2 Ym94X2NydGNfbW9kZV9zZXRfbm9mYihzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCi17Ci0JLyogV2Ug YWx3YXlzIHNldCB0aGUgbW9kZSB3aGVuIHdlIHNldCB0aGUgZmIvYmFzZSAqLwotfQotCiBzdGF0 aWMgdm9pZCB2Ym94X2NydGNfYXRvbWljX2ZsdXNoKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJ CQkgICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlKQogewpAQCAtMjkxLDEx ICsyNzUsNyBAQCBzdGF0aWMgdm9pZCB2Ym94X2NydGNfYXRvbWljX2ZsdXNoKHN0cnVjdCBkcm1f Y3J0YyAqY3J0YywKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY3J0Y19oZWxwZXJfZnVuY3Mg dmJveF9jcnRjX2hlbHBlcl9mdW5jcyA9IHsKIAkuZHBtcyA9IHZib3hfY3J0Y19kcG1zLAotCS5t b2RlX2ZpeHVwID0gdmJveF9jcnRjX21vZGVfZml4dXAsCi0JLm1vZGVfc2V0ID0gZHJtX2hlbHBl cl9jcnRjX21vZGVfc2V0LAotCS5tb2RlX3NldF9ub2ZiID0gdmJveF9jcnRjX21vZGVfc2V0X25v ZmIsCiAJLmRpc2FibGUgPSB2Ym94X2NydGNfZGlzYWJsZSwKLQkucHJlcGFyZSA9IHZib3hfY3J0 Y19wcmVwYXJlLAogCS5jb21taXQgPSB2Ym94X2NydGNfY29tbWl0LAogCS5hdG9taWNfZmx1c2gg PSB2Ym94X2NydGNfYXRvbWljX2ZsdXNoLAogfTsKQEAgLTMwNyw3ICsyODcsNyBAQCBzdGF0aWMg dm9pZCB2Ym94X2NydGNfZGVzdHJveShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiB9CiAKIHN0YXRp YyBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfZnVuY3MgdmJveF9jcnRjX2Z1bmNzID0gewotCS5zZXRf Y29uZmlnID0gZHJtX2NydGNfaGVscGVyX3NldF9jb25maWcsCisJLnNldF9jb25maWcgPSBkcm1f YXRvbWljX2hlbHBlcl9zZXRfY29uZmlnLAogCS8qIC5nYW1tYV9zZXQgPSB2Ym94X2NydGNfZ2Ft bWFfc2V0LCAqLwogCS5kZXN0cm95ID0gdmJveF9jcnRjX2Rlc3Ryb3ksCiAJLnJlc2V0ID0gZHJt X2F0b21pY19oZWxwZXJfY3J0Y19yZXNldCwKQEAgLTUyMSw4ICs1MDEsOCBAQCBzdGF0aWMgY29u c3Qgc3RydWN0IGRybV9wbGFuZV9oZWxwZXJfZnVuY3MgdmJveF9jdXJzb3JfaGVscGVyX2Z1bmNz ID0gewogfTsKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfZnVuY3MgdmJveF9jdXJz b3JfcGxhbmVfZnVuY3MgPSB7Ci0JLnVwZGF0ZV9wbGFuZQk9IGRybV9wbGFuZV9oZWxwZXJfdXBk YXRlLAotCS5kaXNhYmxlX3BsYW5lCT0gZHJtX3BsYW5lX2hlbHBlcl9kaXNhYmxlLAorCS51cGRh dGVfcGxhbmUJPSBkcm1fYXRvbWljX2hlbHBlcl91cGRhdGVfcGxhbmUsCisJLmRpc2FibGVfcGxh bmUJPSBkcm1fYXRvbWljX2hlbHBlcl9kaXNhYmxlX3BsYW5lLAogCS5kZXN0cm95CT0gZHJtX3By aW1hcnlfaGVscGVyX2Rlc3Ryb3ksCiAJLnJlc2V0CQk9IGRybV9hdG9taWNfaGVscGVyX3BsYW5l X3Jlc2V0LAogCS5hdG9taWNfZHVwbGljYXRlX3N0YXRlID0gZHJtX2F0b21pY19oZWxwZXJfcGxh bmVfZHVwbGljYXRlX3N0YXRlLApAQCAtNTQzLDggKzUyMyw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgZHJtX3BsYW5lX2hlbHBlcl9mdW5jcyB2Ym94X3ByaW1hcnlfaGVscGVyX2Z1bmNzID0gewog fTsKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfZnVuY3MgdmJveF9wcmltYXJ5X3Bs YW5lX2Z1bmNzID0gewotCS51cGRhdGVfcGxhbmUJPSBkcm1fcGxhbmVfaGVscGVyX3VwZGF0ZSwK LQkuZGlzYWJsZV9wbGFuZQk9IGRybV9wcmltYXJ5X2hlbHBlcl9kaXNhYmxlLAorCS51cGRhdGVf cGxhbmUJPSBkcm1fYXRvbWljX2hlbHBlcl91cGRhdGVfcGxhbmUsCisJLmRpc2FibGVfcGxhbmUJ PSBkcm1fYXRvbWljX2hlbHBlcl9kaXNhYmxlX3BsYW5lLAogCS5kZXN0cm95CT0gZHJtX3ByaW1h cnlfaGVscGVyX2Rlc3Ryb3ksCiAJLnJlc2V0CQk9IGRybV9hdG9taWNfaGVscGVyX3BsYW5lX3Jl c2V0LAogCS5hdG9taWNfZHVwbGljYXRlX3N0YXRlID0gZHJtX2F0b21pY19oZWxwZXJfcGxhbmVf ZHVwbGljYXRlX3N0YXRlLApAQCAtODgyLDYgKzg2Miw5IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg ZHJtX2Nvbm5lY3Rvcl9mdW5jcyB2Ym94X2Nvbm5lY3Rvcl9mdW5jcyA9IHsKIAkuZGV0ZWN0ID0g dmJveF9jb25uZWN0b3JfZGV0ZWN0LAogCS5maWxsX21vZGVzID0gdmJveF9maWxsX21vZGVzLAog CS5kZXN0cm95ID0gdmJveF9jb25uZWN0b3JfZGVzdHJveSwKKwkucmVzZXQgPSBkcm1fYXRvbWlj X2hlbHBlcl9jb25uZWN0b3JfcmVzZXQsCisJLmF0b21pY19kdXBsaWNhdGVfc3RhdGUgPSBkcm1f YXRvbWljX2hlbHBlcl9jb25uZWN0b3JfZHVwbGljYXRlX3N0YXRlLAorCS5hdG9taWNfZGVzdHJv eV9zdGF0ZSA9IGRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9kZXN0cm95X3N0YXRlLAogfTsK IAogc3RhdGljIGludCB2Ym94X2Nvbm5lY3Rvcl9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs CkBAIC05NTAsNiArOTMzLDggQEAgc3RhdGljIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKnZib3hf dXNlcl9mcmFtZWJ1ZmZlcl9jcmVhdGUoCiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX21vZGVf Y29uZmlnX2Z1bmNzIHZib3hfbW9kZV9mdW5jcyA9IHsKIAkuZmJfY3JlYXRlID0gdmJveF91c2Vy X2ZyYW1lYnVmZmVyX2NyZWF0ZSwKKwkuYXRvbWljX2NoZWNrID0gZHJtX2F0b21pY19oZWxwZXJf Y2hlY2ssCisJLmF0b21pY19jb21taXQgPSBkcm1fYXRvbWljX2hlbHBlcl9jb21taXQsCiB9Owog CiBpbnQgdmJveF9tb2RlX2luaXQoc3RydWN0IHZib3hfcHJpdmF0ZSAqdmJveCkKLS0gCjIuMTku MAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRl dmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==