From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Zimmermann Subject: [PATCH 3/4] drm/hisilicon/hibmc: Implement hibmc_dumb_create() with generic helpers Date: Fri, 22 Nov 2019 09:30:43 +0100 Message-ID: <20191122083044.6627-4-tzimmermann@suse.de> References: <20191122083044.6627-1-tzimmermann@suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx1.suse.de (mx2.suse.de [195.135.220.15]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9987A6E2BD for ; Fri, 22 Nov 2019 08:30:49 +0000 (UTC) In-Reply-To: <20191122083044.6627-1-tzimmermann@suse.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: daniel@ffwll.ch, maarten.lankhorst@linux.intel.com, mripard@kernel.org, airlied@linux.ie, z.liuxinliang@hisilicon.com, zourongrong@gmail.com, kong.kongxinwei@hisilicon.com, puck.chen@hisilicon.com, sam@ravnborg.org, kraxel@redhat.com, hslester96@gmail.com, yuehaibing@huawei.com Cc: Thomas Zimmermann , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org VGhlIGhpYm1jIGRyaXZlciBhbGlnbnMgc2NhbmxpbmVzIHRvIDE2IGJ5dGVzLiBBZGRpbmcgdGhl IHBpdGNoIGFsaWdubWVudAphcyBhbiBhcmd1bWVudCB0byBkcm1fZ2VtX3ZyYW1fZmlsbF9jcmVh dGVfZHVtYigpIGFsbG93cyB0byB1c2UgdGhlIGdlbmVyaWMKaW1wbGVtZW50YXRpb24gd2l0aCBo aWJtYy4gQSB2YWx1ZSBvZiAwIGRpc2FibGVzIHNjYW5saW5lIHBpdGNoZXMuCgpTaWduZWQtb2Zm LWJ5OiBUaG9tYXMgWmltbWVybWFubiA8dHppbW1lcm1hbm5Ac3VzZS5kZT4KLS0tCiBkcml2ZXJz L2dwdS9kcm0vZHJtX2dlbV92cmFtX2hlbHBlci5jICAgICAgICAgfCAxMCArKy0tCiAuLi4vZ3B1 L2RybS9oaXNpbGljb24vaGlibWMvaGlibWNfZHJtX2Rydi5oICAgfCAgNCAtLQogZHJpdmVycy9n cHUvZHJtL2hpc2lsaWNvbi9oaWJtYy9oaWJtY190dG0uYyAgIHwgNDggKy0tLS0tLS0tLS0tLS0t LS0tLQogaW5jbHVkZS9kcm0vZHJtX2dlbV92cmFtX2hlbHBlci5oICAgICAgICAgICAgIHwgIDEg KwogNCBmaWxlcyBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCA1MyBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2dlbV92cmFtX2hlbHBlci5jIGIvZHJpdmVy cy9ncHUvZHJtL2RybV9nZW1fdnJhbV9oZWxwZXIuYwppbmRleCA2NjZjYjRjMjJiYjkuLmYwOTg3 ODRlN2RmZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9nZW1fdnJhbV9oZWxwZXIu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2dlbV92cmFtX2hlbHBlci5jCkBAIC00ODUsNiAr NDg1LDcgQEAgRVhQT1JUX1NZTUJPTChkcm1fZ2VtX3ZyYW1fdnVubWFwKTsKICAqIEBkZXY6CQl0 aGUgRFJNIGRldmljZQogICogQGJkZXY6CQl0aGUgVFRNIEJPIGRldmljZSBtYW5hZ2luZyB0aGUg YnVmZmVyIG9iamVjdAogICogQHBnX2FsaWduOgkJdGhlIGJ1ZmZlcidzIGFsaWdubWVudCBpbiBt dWx0aXBsZXMgb2YgdGhlIHBhZ2Ugc2l6ZQorICogQHBpdGNoX2FsaWduOgl0aGUgc2NhbmxpbmUn cyBhbGlnbm1lbnQgaW4gcG93ZXJzIG9mIDIKICAqIEBpbnRlcnJ1cHRpYmxlOglzbGVlcCBpbnRl cnJ1cHRpYmxlIGlmIHdhaXRpbmcgZm9yIG1lbW9yeQogICogQGFyZ3M6CQl0aGUgYXJndW1lbnRz IGFzIHByb3ZpZGVkIHRvIFwKIAkJCQkmc3RydWN0IGRybV9kcml2ZXIuZHVtYl9jcmVhdGUKQEAg LTUwMiw2ICs1MDMsNyBAQCBpbnQgZHJtX2dlbV92cmFtX2ZpbGxfY3JlYXRlX2R1bWIoc3RydWN0 IGRybV9maWxlICpmaWxlLAogCQkJCSAgc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCQkgIHN0 cnVjdCB0dG1fYm9fZGV2aWNlICpiZGV2LAogCQkJCSAgdW5zaWduZWQgbG9uZyBwZ19hbGlnbiwK KwkJCQkgIHVuc2lnbmVkIGxvbmcgcGl0Y2hfYWxpZ24sCiAJCQkJICBib29sIGludGVycnVwdGli bGUsCiAJCQkJICBzdHJ1Y3QgZHJtX21vZGVfY3JlYXRlX2R1bWIgKmFyZ3MpCiB7CkBAIC01MTAs NyArNTEyLDkgQEAgaW50IGRybV9nZW1fdnJhbV9maWxsX2NyZWF0ZV9kdW1iKHN0cnVjdCBkcm1f ZmlsZSAqZmlsZSwKIAlpbnQgcmV0OwogCXUzMiBoYW5kbGU7CiAKLQlwaXRjaCA9IGFyZ3MtPndp ZHRoICogKChhcmdzLT5icHAgKyA3KSAvIDgpOworCXBpdGNoID0gYXJncy0+d2lkdGggKiBESVZf Uk9VTkRfVVAoYXJncy0+YnBwLCA4KTsKKwlpZiAocGl0Y2hfYWxpZ24pCisJCXBpdGNoID0gQUxJ R04ocGl0Y2gsIHBpdGNoX2FsaWduKTsKIAlzaXplID0gcGl0Y2ggKiBhcmdzLT5oZWlnaHQ7CiAK IAlzaXplID0gcm91bmR1cChzaXplLCBQQUdFX1NJWkUpOwpAQCAtNjEyLDggKzYxNiw4IEBAIGlu dCBkcm1fZ2VtX3ZyYW1fZHJpdmVyX2R1bWJfY3JlYXRlKHN0cnVjdCBkcm1fZmlsZSAqZmlsZSwK IAlpZiAoV0FSTl9PTkNFKCFkZXYtPnZyYW1fbW0sICJWUkFNIE1NIG5vdCBpbml0aWFsaXplZCIp KQogCQlyZXR1cm4gLUVJTlZBTDsKIAotCXJldHVybiBkcm1fZ2VtX3ZyYW1fZmlsbF9jcmVhdGVf ZHVtYihmaWxlLCBkZXYsICZkZXYtPnZyYW1fbW0tPmJkZXYsIDAsCi0JCQkJCSAgICAgZmFsc2Us IGFyZ3MpOworCXJldHVybiBkcm1fZ2VtX3ZyYW1fZmlsbF9jcmVhdGVfZHVtYihmaWxlLCBkZXYs ICZkZXYtPnZyYW1fbW0tPmJkZXYsCisJCQkJCSAgICAgMCwgMCwgZmFsc2UsIGFyZ3MpOwogfQog RVhQT1JUX1NZTUJPTChkcm1fZ2VtX3ZyYW1fZHJpdmVyX2R1bWJfY3JlYXRlKTsKIApkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2hpc2lsaWNvbi9oaWJtYy9oaWJtY19kcm1fZHJ2LmggYi9k cml2ZXJzL2dwdS9kcm0vaGlzaWxpY29uL2hpYm1jL2hpYm1jX2RybV9kcnYuaAppbmRleCA4ZWI3 MjU4YjIzNmEuLjUwYTBjMWY5ZDIxMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2hpc2ls aWNvbi9oaWJtYy9oaWJtY19kcm1fZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2hpc2lsaWNv bi9oaWJtYy9oaWJtY19kcm1fZHJ2LmgKQEAgLTE4LDcgKzE4LDYgQEAKICNpbmNsdWRlIDxkcm0v ZHJtX2ZyYW1lYnVmZmVyLmg+CiAKIHN0cnVjdCBkcm1fZGV2aWNlOwotc3RydWN0IGRybV9nZW1f b2JqZWN0OwogCiBzdHJ1Y3QgaGlibWNfZHJtX3ByaXZhdGUgewogCS8qIGh3ICovCkBAIC00MSw5 ICs0MCw2IEBAIHZvaWQgaGlibWNfc2V0X2N1cnJlbnRfZ2F0ZShzdHJ1Y3QgaGlibWNfZHJtX3By aXZhdGUgKnByaXYsCiBpbnQgaGlibWNfZGVfaW5pdChzdHJ1Y3QgaGlibWNfZHJtX3ByaXZhdGUg KnByaXYpOwogaW50IGhpYm1jX3ZkYWNfaW5pdChzdHJ1Y3QgaGlibWNfZHJtX3ByaXZhdGUgKnBy aXYpOwogCi1pbnQgaGlibWNfZ2VtX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1MzIg c2l6ZSwgYm9vbCBpc2tlcm5lbCwKLQkJICAgICBzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKipvYmop OwotCiBpbnQgaGlibWNfbW1faW5pdChzdHJ1Y3QgaGlibWNfZHJtX3ByaXZhdGUgKmhpYm1jKTsK IHZvaWQgaGlibWNfbW1fZmluaShzdHJ1Y3QgaGlibWNfZHJtX3ByaXZhdGUgKmhpYm1jKTsKIGlu dCBoaWJtY19kdW1iX2NyZWF0ZShzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUsIHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaGlzaWxpY29uL2hpYm1jL2hp Ym1jX3R0bS5jIGIvZHJpdmVycy9ncHUvZHJtL2hpc2lsaWNvbi9oaWJtYy9oaWJtY190dG0uYwpp bmRleCBmNmQyNWI4NWMyMDkuLjBhZjVkOTY2YTQ4MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2hpc2lsaWNvbi9oaWJtYy9oaWJtY190dG0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaGlz aWxpY29uL2hpYm1jL2hpYm1jX3R0bS5jCkBAIC00Nyw1NSArNDcsMTEgQEAgdm9pZCBoaWJtY19t bV9maW5pKHN0cnVjdCBoaWJtY19kcm1fcHJpdmF0ZSAqaGlibWMpCiAJZHJtX3ZyYW1faGVscGVy X3JlbGVhc2VfbW0oaGlibWMtPmRldik7CiB9CiAKLWludCBoaWJtY19nZW1fY3JlYXRlKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsIHUzMiBzaXplLCBib29sIGlza2VybmVsLAotCQkgICAgIHN0cnVj dCBkcm1fZ2VtX29iamVjdCAqKm9iaikKLXsKLQlzdHJ1Y3QgZHJtX2dlbV92cmFtX29iamVjdCAq Z2JvOwotCWludCByZXQ7Ci0KLQkqb2JqID0gTlVMTDsKLQotCXNpemUgPSByb3VuZHVwKHNpemUs IFBBR0VfU0laRSk7Ci0JaWYgKHNpemUgPT0gMCkKLQkJcmV0dXJuIC1FSU5WQUw7Ci0KLQlnYm8g PSBkcm1fZ2VtX3ZyYW1fY3JlYXRlKGRldiwgJmRldi0+dnJhbV9tbS0+YmRldiwgc2l6ZSwgMCwg ZmFsc2UpOwotCWlmIChJU19FUlIoZ2JvKSkgewotCQlyZXQgPSBQVFJfRVJSKGdibyk7Ci0JCWlm IChyZXQgIT0gLUVSRVNUQVJUU1lTKQotCQkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gYWxsb2NhdGUg R0VNIG9iamVjdDogJWRcbiIsIHJldCk7Ci0JCXJldHVybiByZXQ7Ci0JfQotCSpvYmogPSAmZ2Jv LT5iby5iYXNlOwotCXJldHVybiAwOwotfQotCiBpbnQgaGlibWNfZHVtYl9jcmVhdGUoc3RydWN0 IGRybV9maWxlICpmaWxlLCBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQkgICAgICBzdHJ1Y3Qg ZHJtX21vZGVfY3JlYXRlX2R1bWIgKmFyZ3MpCiB7Ci0Jc3RydWN0IGRybV9nZW1fb2JqZWN0ICpn b2JqOwotCXUzMiBoYW5kbGU7Ci0JaW50IHJldDsKLQotCWFyZ3MtPnBpdGNoID0gQUxJR04oYXJn cy0+d2lkdGggKiBESVZfUk9VTkRfVVAoYXJncy0+YnBwLCA4KSwgMTYpOwotCWFyZ3MtPnNpemUg PSBhcmdzLT5waXRjaCAqIGFyZ3MtPmhlaWdodDsKLQotCXJldCA9IGhpYm1jX2dlbV9jcmVhdGUo ZGV2LCBhcmdzLT5zaXplLCBmYWxzZSwKLQkJCSAgICAgICAmZ29iaik7Ci0JaWYgKHJldCkgewot CQlEUk1fRVJST1IoImZhaWxlZCB0byBjcmVhdGUgR0VNIG9iamVjdDogJWRcbiIsIHJldCk7Ci0J CXJldHVybiByZXQ7Ci0JfQotCi0JcmV0ID0gZHJtX2dlbV9oYW5kbGVfY3JlYXRlKGZpbGUsIGdv YmosICZoYW5kbGUpOwotCWRybV9nZW1fb2JqZWN0X3B1dF91bmxvY2tlZChnb2JqKTsKLQlpZiAo cmV0KSB7Ci0JCURSTV9FUlJPUigiZmFpbGVkIHRvIHVucmVmZXJlbmNlIEdFTSBvYmplY3Q6ICVk XG4iLCByZXQpOwotCQlyZXR1cm4gcmV0OwotCX0KLQotCWFyZ3MtPmhhbmRsZSA9IGhhbmRsZTsK LQlyZXR1cm4gMDsKKwlyZXR1cm4gZHJtX2dlbV92cmFtX2ZpbGxfY3JlYXRlX2R1bWIoZmlsZSwg ZGV2LCAmZGV2LT52cmFtX21tLT5iZGV2LAorCQkJCQkgICAgIDAsIDE2LCBmYWxzZSwgYXJncyk7 CiB9CiAKIGNvbnN0IHN0cnVjdCBkcm1fbW9kZV9jb25maWdfZnVuY3MgaGlibWNfbW9kZV9mdW5j cyA9IHsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9nZW1fdnJhbV9oZWxwZXIuaCBiL2lu Y2x1ZGUvZHJtL2RybV9nZW1fdnJhbV9oZWxwZXIuaAppbmRleCBlMDQwNTQxYTEwNWYuLmM2NDJi NGNiNjYwMCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2dlbV92cmFtX2hlbHBlci5oCisr KyBiL2luY2x1ZGUvZHJtL2RybV9nZW1fdnJhbV9oZWxwZXIuaApAQCAtMTEzLDYgKzExMyw3IEBA IGludCBkcm1fZ2VtX3ZyYW1fZmlsbF9jcmVhdGVfZHVtYihzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUs CiAJCQkJICBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQkJCSAgc3RydWN0IHR0bV9ib19kZXZp Y2UgKmJkZXYsCiAJCQkJICB1bnNpZ25lZCBsb25nIHBnX2FsaWduLAorCQkJCSAgdW5zaWduZWQg bG9uZyBwaXRjaF9hbGlnbiwKIAkJCQkgIGJvb2wgaW50ZXJydXB0aWJsZSwKIAkJCQkgIHN0cnVj dCBkcm1fbW9kZV9jcmVhdGVfZHVtYiAqYXJncyk7CiAKLS0gCjIuMjMuMAoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlz dApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs