From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Siqueira Subject: [PATCH] drm/vkms: Add dumb operations Date: Wed, 20 Jun 2018 14:42:29 -0300 Message-ID: <20180620174229.pkkba3fgam52vr3h@smtp.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-qt0-x242.google.com (mail-qt0-x242.google.com [IPv6:2607:f8b0:400d:c0d::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id E268B6E604 for ; Wed, 20 Jun 2018 17:42:33 +0000 (UTC) Received: by mail-qt0-x242.google.com with SMTP id o9-v6so380872qtp.3 for ; Wed, 20 Jun 2018 10:42:33 -0700 (PDT) Content-Disposition: inline List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Gustavo Padovan , Sean Paul , Daniel Vetter , Haneen Mohammed Cc: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org VktNUyBjdXJyZW50bHkgZG9lcyBub3QgaGFuZGxlIGR1bWIgZGF0YSwgYW5kIGFzIGEgY29uc2Vx dWVuY2UsIGl0IGRvZXMKbm90IHByb3ZpZGUgbWVjaGFuaXNtcyBmb3IgaGFuZGxpbmcgZ2VtLiBU aGlzIGNvbW1pdCBhZGRzIHRoZSBuZWNlc3NhcnkKc3VwcG9ydCBmb3IgZ2VtIG9iamVjdC9oYW5k bGVyIGFuZCB0aGUgZHVtYiBmdW5jdGlvbnMuCgpTaWduZWQtb2ZmLWJ5OiBSb2RyaWdvIFNpcXVl aXJhIDxyb2RyaWdvc2lxdWVpcmFtZWxvQGdtYWlsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0v dmttcy9NYWtlZmlsZSAgIHwgICAyICstCiBkcml2ZXJzL2dwdS9kcm0vdmttcy92a21zX2Rydi5j IHwgICA5ICsrCiBkcml2ZXJzL2dwdS9kcm0vdmttcy92a21zX2Rydi5oIHwgIDIxICsrKysKIGRy aXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfZ2VtLmMgfCAxNjggKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKIDQgZmlsZXMgY2hhbmdlZCwgMTk5IGluc2VydGlvbnMoKyksIDEgZGVsZXRp b24oLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vdmttcy92a21zX2dlbS5j CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZrbXMvTWFrZWZpbGUgYi9kcml2ZXJzL2dw dS9kcm0vdmttcy9NYWtlZmlsZQppbmRleCAzZjc3NGE2YTljNTguLjk4NjI5N2RhNTFiZiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZrbXMvTWFrZWZpbGUKKysrIGIvZHJpdmVycy9ncHUv ZHJtL3ZrbXMvTWFrZWZpbGUKQEAgLTEsMyArMSwzIEBACi12a21zLXkgOj0gdmttc19kcnYubyB2 a21zX3BsYW5lLm8gdmttc19vdXRwdXQubyB2a21zX2NydGMubwordmttcy15IDo9IHZrbXNfZHJ2 Lm8gdmttc19wbGFuZS5vIHZrbXNfb3V0cHV0Lm8gdmttc19jcnRjLm8gdmttc19nZW0ubwogCiBv YmotJChDT05GSUdfRFJNX1ZLTVMpICs9IHZrbXMubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL3ZrbXMvdmttc19kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfZHJ2LmMKaW5k ZXggNzQwYTRjYmZlZDkxLi42MzhiYWI5MDgzYjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS92a21zL3ZrbXNfZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmttc19kcnYuYwpA QCAtMzcsNiArMzcsMTIgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgdmtt c19kcml2ZXJfZm9wcyA9IHsKIAkucmVsZWFzZQk9IGRybV9yZWxlYXNlLAogfTsKIAorc3RhdGlj IGNvbnN0IHN0cnVjdCB2bV9vcGVyYXRpb25zX3N0cnVjdCB2a21zX2dlbV92bV9vcHMgPSB7CisJ LmZhdWx0ID0gdmttc19nZW1fZmF1bHQsCisJLm9wZW4gPSBkcm1fZ2VtX3ZtX29wZW4sCisJLmNs b3NlID0gZHJtX2dlbV92bV9jbG9zZSwKK307CisKIHN0YXRpYyB2b2lkIHZrbXNfcmVsZWFzZShz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogewogCXN0cnVjdCB2a21zX2RldmljZSAqdmttcyA9IGNv bnRhaW5lcl9vZihkZXYsIHN0cnVjdCB2a21zX2RldmljZSwgZHJtKTsKQEAgLTUwLDYgKzU2LDkg QEAgc3RhdGljIHN0cnVjdCBkcm1fZHJpdmVyIHZrbXNfZHJpdmVyID0gewogCS5kcml2ZXJfZmVh dHVyZXMJPSBEUklWRVJfTU9ERVNFVCB8IERSSVZFUl9BVE9NSUMgfCBEUklWRVJfR0VNLAogCS5y ZWxlYXNlCQk9IHZrbXNfcmVsZWFzZSwKIAkuZm9wcwkJCT0gJnZrbXNfZHJpdmVyX2ZvcHMsCisJ LmR1bWJfY3JlYXRlCQk9IHZrbXNfZHVtYl9jcmVhdGUsCisJLmR1bWJfbWFwX29mZnNldAk9IHZr bXNfZHVtYl9tYXAsCisJLmdlbV92bV9vcHMJCT0gJnZrbXNfZ2VtX3ZtX29wcywKIAogCS5uYW1l CQkJPSBEUklWRVJfTkFNRSwKIAkuZGVzYwkJCT0gRFJJVkVSX0RFU0MsCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vdmttcy92a21zX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmtt c19kcnYuaAppbmRleCBiMGY5ZDJlNjFhNDIuLjU0YmIzZGQyYjJjMSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL3ZrbXMvdmttc19kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vdmttcy92 a21zX2Rydi5oCkBAIC0zLDYgKzMsNyBAQAogCiAjaW5jbHVkZSA8ZHJtL2RybVAuaD4KICNpbmNs dWRlIDxkcm0vZHJtLmg+CisjaW5jbHVkZSA8ZHJtL2RybV9nZW0uaD4KICNpbmNsdWRlIDxkcm0v ZHJtX2VuY29kZXIuaD4KIAogc3RhdGljIGNvbnN0IHUzMiB2a21zX2Zvcm1hdHNbXSA9IHsKQEAg LTIxLDYgKzIyLDEyIEBAIHN0cnVjdCB2a21zX2RldmljZSB7CiAJc3RydWN0IHZrbXNfb3V0cHV0 IG91dHB1dDsKIH07CiAKK3N0cnVjdCB2a21zX2dlbV9vYmplY3QgeworCXN0cnVjdCBkcm1fZ2Vt X29iamVjdCBnZW07CisJc3RydWN0IG11dGV4IHBhZ2VzX2xvY2s7IC8qIFBhZ2UgbG9jayB1c2Vk IGluIHBhZ2UgZmF1bHQgaGFuZGxlciAqLworCXN0cnVjdCBwYWdlICoqcGFnZXM7Cit9OworCiBp bnQgdmttc19jcnRjX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9jcnRj ICpjcnRjLAogCQkgICBzdHJ1Y3QgZHJtX3BsYW5lICpwcmltYXJ5LCBzdHJ1Y3QgZHJtX3BsYW5l ICpjdXJzb3IpOwogCkBAIC0yOCw0ICszNSwxOCBAQCBpbnQgdmttc19vdXRwdXRfaW5pdChzdHJ1 Y3Qgdmttc19kZXZpY2UgKnZrbXNkZXYpOwogCiBzdHJ1Y3QgZHJtX3BsYW5lICp2a21zX3BsYW5l X2luaXQoc3RydWN0IHZrbXNfZGV2aWNlICp2a21zZGV2KTsKIAorLyogR2VtIHN0dWZmICovCitz dHJ1Y3QgZHJtX2dlbV9vYmplY3QgKnZrbXNfZ2VtX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LAorCQkJCSAgICAgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUsCisJCQkJICAgICAgIHUzMiAq aGFuZGxlLAorCQkJCSAgICAgICB1NjQgc2l6ZSk7CisKK2ludCB2a21zX2dlbV9mYXVsdChzdHJ1 Y3Qgdm1fZmF1bHQgKnZtZik7CisKK2ludCB2a21zX2R1bWJfY3JlYXRlKHN0cnVjdCBkcm1fZmls ZSAqZmlsZSwgc3RydWN0IGRybV9kZXZpY2UgKmRldiwKKwkJICAgICBzdHJ1Y3QgZHJtX21vZGVf Y3JlYXRlX2R1bWIgKmFyZ3MpOworCitpbnQgdmttc19kdW1iX21hcChzdHJ1Y3QgZHJtX2ZpbGUg KmZpbGUsIHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCisJCSAgdTMyIGhhbmRsZSwgdTY0ICpvZmZz ZXQpOworCiAjZW5kaWYgLyogX1ZLTVNfRFJWX0hfICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vdmttcy92a21zX2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmttc19nZW0uYwpu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjlmODIwZjU2YjllMAotLS0g L2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfZ2VtLmMKQEAgLTAsMCAr MSwxNjggQEAKKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wCisvKgorICogVGhp cyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v ciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u OyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9u KSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqLworCisjaW5jbHVkZSA8bGludXgvc2htZW1fZnMuaD4K KworI2luY2x1ZGUgInZrbXNfZHJ2LmgiCisKK3N0YXRpYyBzdHJ1Y3Qgdmttc19nZW1fb2JqZWN0 ICpfX3ZrbXNfZ2VtX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAorCQkJCQkJIHU2NCBz aXplKQoreworCXN0cnVjdCB2a21zX2dlbV9vYmplY3QgKm9iajsKKwlpbnQgcmV0OworCisJb2Jq ID0ga3phbGxvYyhzaXplb2YoKm9iaiksIEdGUF9LRVJORUwpOworCWlmICghb2JqKQorCQlyZXR1 cm4gRVJSX1BUUigtRU5PTUVNKTsKKworCXNpemUgPSByb3VuZHVwKHNpemUsIFBBR0VfU0laRSk7 CisJcmV0ID0gZHJtX2dlbV9vYmplY3RfaW5pdChkZXYsICZvYmotPmdlbSwgc2l6ZSk7CisJaWYg KHJldCkgeworCQlrZnJlZShvYmopOworCQlyZXR1cm4gRVJSX1BUUihyZXQpOworCX0KKworCW11 dGV4X2luaXQoJm9iai0+cGFnZXNfbG9jayk7CisKKwlyZXR1cm4gb2JqOworfQorCitpbnQgdmtt c19nZW1fZmF1bHQoc3RydWN0IHZtX2ZhdWx0ICp2bWYpCit7CisJc3RydWN0IHZtX2FyZWFfc3Ry dWN0ICp2bWEgPSB2bWYtPnZtYTsKKwlzdHJ1Y3Qgdmttc19nZW1fb2JqZWN0ICpvYmogPSB2bWEt PnZtX3ByaXZhdGVfZGF0YTsKKwl1bnNpZ25lZCBsb25nIHZhZGRyID0gdm1mLT5hZGRyZXNzOwor CXBnb2ZmX3QgcGFnZV9vZmZzZXQ7CisJbG9mZl90IG51bV9wYWdlczsKKwlpbnQgcmV0OworCisJ cGFnZV9vZmZzZXQgPSAodmFkZHIgLSB2bWEtPnZtX3N0YXJ0KSA+PiBQQUdFX1NISUZUOworCW51 bV9wYWdlcyA9IERJVl9ST1VORF9VUChvYmotPmdlbS5zaXplLCBQQUdFX1NJWkUpOworCisJaWYg KHBhZ2Vfb2Zmc2V0ID4gbnVtX3BhZ2VzKQorCQlyZXR1cm4gVk1fRkFVTFRfU0lHQlVTOworCisJ cmV0ID0gLUVOT0VOVDsKKwltdXRleF9sb2NrKCZvYmotPnBhZ2VzX2xvY2spOworCWlmIChvYmot PnBhZ2VzKSB7CisJCWdldF9wYWdlKG9iai0+cGFnZXNbcGFnZV9vZmZzZXRdKTsKKwkJdm1mLT5w YWdlID0gb2JqLT5wYWdlc1twYWdlX29mZnNldF07CisJCXJldCA9IDA7CisJfQorCW11dGV4X3Vu bG9jaygmb2JqLT5wYWdlc19sb2NrKTsKKwlpZiAocmV0KSB7CisJCXN0cnVjdCBwYWdlICpwYWdl OworCQlzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZzsKKworCQltYXBwaW5nID0gZmlsZV9p bm9kZShvYmotPmdlbS5maWxwKS0+aV9tYXBwaW5nOworCQlwYWdlID0gc2htZW1fcmVhZF9tYXBw aW5nX3BhZ2UobWFwcGluZywgcGFnZV9vZmZzZXQpOworCisJCWlmICghSVNfRVJSKHBhZ2UpKSB7 CisJCQl2bWYtPnBhZ2UgPSBwYWdlOworCQkJcmV0ID0gMDsKKwkJfSBlbHNlIHsKKwkJCXN3aXRj aCAoUFRSX0VSUihwYWdlKSkgeworCQkJY2FzZSAtRU5PU1BDOgorCQkJY2FzZSAtRU5PTUVNOgor CQkJCXJldCA9IFZNX0ZBVUxUX09PTTsKKwkJCQlicmVhazsKKwkJCWNhc2UgLUVCVVNZOgorCQkJ CXJldCA9IFZNX0ZBVUxUX1JFVFJZOworCQkJCWJyZWFrOworCQkJY2FzZSAtRUZBVUxUOgorCQkJ Y2FzZSAtRUlOVkFMOgorCQkJCXJldCA9IFZNX0ZBVUxUX1NJR0JVUzsKKwkJCQlicmVhazsKKwkJ CWRlZmF1bHQ6CisJCQkJV0FSTl9PTihQVFJfRVJSKHBhZ2UpKTsKKwkJCQlyZXQgPSBWTV9GQVVM VF9TSUdCVVM7CisJCQkJYnJlYWs7CisJCQl9CisJCX0KKwl9CisJcmV0dXJuIHJldDsKK30KKwor c3RydWN0IGRybV9nZW1fb2JqZWN0ICp2a21zX2dlbV9jcmVhdGUoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwKKwkJCQkgICAgICAgc3RydWN0IGRybV9maWxlICpmaWxlLAorCQkJCSAgICAgICB1MzIg KmhhbmRsZSwKKwkJCQkgICAgICAgdTY0IHNpemUpCit7CisJc3RydWN0IHZrbXNfZ2VtX29iamVj dCAqb2JqOworCWludCByZXQ7CisKKwlpZiAoIWZpbGUgfHwgIWRldiB8fCAhaGFuZGxlKQorCQly ZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsKKworCW9iaiA9IF9fdmttc19nZW1fY3JlYXRlKGRldiwg c2l6ZSk7CisJaWYgKElTX0VSUihvYmopKQorCQlyZXR1cm4gRVJSX0NBU1Qob2JqKTsKKworCXJl dCA9IGRybV9nZW1faGFuZGxlX2NyZWF0ZShmaWxlLCAmb2JqLT5nZW0sIGhhbmRsZSk7CisJZHJt X2dlbV9vYmplY3RfcHV0X3VubG9ja2VkKCZvYmotPmdlbSk7CisJaWYgKHJldCkgeworCQlkcm1f Z2VtX29iamVjdF9yZWxlYXNlKCZvYmotPmdlbSk7CisJCWtmcmVlKG9iaik7CisJCXJldHVybiBF UlJfUFRSKHJldCk7CisJfQorCisJcmV0dXJuICZvYmotPmdlbTsKK30KKworaW50IHZrbXNfZHVt Yl9jcmVhdGUoc3RydWN0IGRybV9maWxlICpmaWxlLCBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAor CQkgICAgIHN0cnVjdCBkcm1fbW9kZV9jcmVhdGVfZHVtYiAqYXJncykKK3sKKwlzdHJ1Y3QgZHJt X2dlbV9vYmplY3QgKmdlbV9vYmo7CisJdTY0IHBpdGNoLCBzaXplOworCisJaWYgKCFhcmdzIHx8 ICFkZXYgfHwgIWZpbGUpCisJCXJldHVybiAtRUlOVkFMOworCisJcGl0Y2ggPSBhcmdzLT53aWR0 aCAqIERJVl9ST1VORF9VUChhcmdzLT5icHAsIDgpOworCXNpemUgPSBwaXRjaCAqIGFyZ3MtPmhl aWdodDsKKworCWlmICghc2l6ZSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlnZW1fb2JqID0gdmtt c19nZW1fY3JlYXRlKGRldiwgZmlsZSwgJmFyZ3MtPmhhbmRsZSwgc2l6ZSk7CisJaWYgKElTX0VS UihnZW1fb2JqKSkKKwkJcmV0dXJuIFBUUl9FUlIoZ2VtX29iaik7CisKKwlhcmdzLT5zaXplID0g Z2VtX29iai0+c2l6ZTsKKwlhcmdzLT5waXRjaCA9IHBpdGNoOworCisJRFJNX0RFQlVHX0RSSVZF UigiQ3JlYXRlZCBvYmplY3Qgb2Ygc2l6ZSAlbGxkXG4iLCBzaXplKTsKKworCXJldHVybiAwOwor fQorCitpbnQgdmttc19kdW1iX21hcChzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUsIHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsCisJCSAgdTMyIGhhbmRsZSwgdTY0ICpvZmZzZXQpCit7CisJc3RydWN0IGRy bV9nZW1fb2JqZWN0ICpvYmo7CisJaW50IHJldDsKKworCW9iaiA9IGRybV9nZW1fb2JqZWN0X2xv b2t1cChmaWxlLCBoYW5kbGUpOworCWlmICghb2JqKQorCQlyZXR1cm4gLUVOT0VOVDsKKworCWlm ICghb2JqLT5maWxwKSB7CisJCXJldCA9IC1FSU5WQUw7CisJCWdvdG8gdW5yZWY7CisJfQorCisJ cmV0ID0gZHJtX2dlbV9jcmVhdGVfbW1hcF9vZmZzZXQob2JqKTsKKwlpZiAocmV0KQorCQlnb3Rv IHVucmVmOworCisJKm9mZnNldCA9IGRybV92bWFfbm9kZV9vZmZzZXRfYWRkcigmb2JqLT52bWFf bm9kZSk7Cit1bnJlZjoKKwlkcm1fZ2VtX29iamVjdF9wdXRfdW5sb2NrZWQob2JqKTsKKworCXJl dHVybiByZXQ7Cit9Ci0tIAoyLjE3LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2RyaS1kZXZlbAo=