From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Zimmermann Subject: [PATCH v2 11/15] drm/fbconv: Add helpers for init and cleanup of fb_info structures Date: Mon, 14 Oct 2019 16:04:12 +0200 Message-ID: <20191014140416.28517-12-tzimmermann@suse.de> References: <20191014140416.28517-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 C2E926E2DE for ; Mon, 14 Oct 2019 14:04:25 +0000 (UTC) In-Reply-To: <20191014140416.28517-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: airlied@linux.ie, daniel@ffwll.ch, maarten.lankhorst@linux.intel.com, mripard@kernel.org, sean@poorly.run, b.zolnierkie@samsung.com, ajax@redhat.com, ville.syrjala@linux.intel.com, malat@debian.org, michel@daenzer.net Cc: gregkh@linuxfoundation.org, linux-fbdev@vger.kernel.org, Thomas Zimmermann , dri-devel@lists.freedesktop.org, corbet@lwn.net List-Id: dri-devel@lists.freedesktop.org VGhlIGltcGxlbWVudGF0aW9uIG9mIGRybV9mYmNvbnZfZmlsbF9mYl9pbmZvKCkgc2V0cyB1cCBh biBmYmRldiBkcml2ZXIncwpmYl9pbmZvIHN0cnVjdHVyZSBmb3IgdXNlLiBJdCdzIHNpbWlsYXIg dG8gcmVnaXN0ZXJfZnJhbWVidWZmZXIoKSwgYnV0IGRvZXMKbm90IGNyZWF0ZSBkZXZpY2UgZmls ZXMsIHJlZ2lzdGVyIHRoZSBkcml2ZXIgd2l0aCB0aGUgZmJkZXYgY29kZSBvciBjcmVhdGUKYSBj b25zb2xlLiBkcm1fZmJjb252X2NsZWFudXBfZmJfaW5mbygpIGRvZXMgdGhlIGludmVyc2UuCgpT aWduZWQtb2ZmLWJ5OiBUaG9tYXMgWmltbWVybWFubiA8dHppbW1lcm1hbm5Ac3VzZS5kZT4KLS0t CiBkcml2ZXJzL2dwdS9kcm0vZHJtX2ZiY29udl9oZWxwZXIuYyB8IDEyMyArKysrKysrKysrKysr KysrKysrKysrKysrKysrCiBpbmNsdWRlL2RybS9kcm1fZmJjb252X2hlbHBlci5oICAgICB8ICAg NyArKwogMiBmaWxlcyBjaGFuZ2VkLCAxMzAgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9kcm1fZmJjb252X2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9m YmNvbnZfaGVscGVyLmMKaW5kZXggZjdmMjQ3ZTMwYTNkLi43ZDdlNGRhMmEyOWUgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmJjb252X2hlbHBlci5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9kcm1fZmJjb252X2hlbHBlci5jCkBAIC0zLDYgKzMsNyBAQAogI2luY2x1ZGUgPGFzbS9i eXRlb3JkZXIuaD4KIAogI2luY2x1ZGUgPGxpbnV4L2ZiLmg+CisjaW5jbHVkZSA8bGludXgvbWFq b3IuaD4KIAogI2luY2x1ZGUgPGRybS9kcm1fYXRvbWljX2hlbHBlci5oPgogI2luY2x1ZGUgPGRy bS9kcm1fZGFtYWdlX2hlbHBlci5oPgpAQCAtMTcyMiw2ICsxNzIzLDkgQEAgaW50IGRybV9mYmNv bnZfbW9kZXNldF9pbml0KHN0cnVjdCBkcm1fZmJjb252X21vZGVzZXQgKm1vZGVzZXQsCiB7CiAJ c3RydWN0IGRybV9tb2RlX2NvbmZpZyAqbW9kZV9jb25maWcgPSAmZGV2LT5tb2RlX2NvbmZpZzsK IAorCWlmIChXQVJOX09OKGZiX2luZm8tPm5vZGUgIT0gRkJfTUFYKSkKKwkJcmV0dXJuIC1FSU5W QUw7IC8qIGZvcmdvdCB0byBydW4gZHJtX2ZiY29udl9maWxsX2ZiX2luZm8oKT8gKi8KKwogCW1v ZGVzZXQtPmRldiA9IGRldjsKIAltb2Rlc2V0LT5mYl9pbmZvID0gZmJfaW5mbzsKIApAQCAtMTgy MCwzICsxODI0LDEyMiBAQCBkcm1fZmJjb252X21vZGVzZXRfc2V0dXBfcGlwZShzdHJ1Y3QgZHJt X2ZiY29udl9tb2Rlc2V0ICptb2Rlc2V0LAogCXJldHVybiAwOwogfQogRVhQT1JUX1NZTUJPTChk cm1fZmJjb252X21vZGVzZXRfc2V0dXBfcGlwZSk7CisKKy8qCisgKiBIZWxwZXJzIGZvciBzdHJ1 Y3QgZmJfaW5mbworICoKKyAqIFRoaXMgaXMgdGhlIHNldHVwIGFuZCBjbGVhbnVwIGNvZGUgZm9y IHN0cnVjdCBmYl9pbmZvLiBJdCBoYXMgYmVlbgorICogYWRhcHRlZCBmcm9tIHRoZSBmYmRldiBj b3JlIG1vZHVsZXMuCisgKgorICogVGhlIG9yaWdpbmFsIGltcGxlbWVudGF0aW9uIGluIGZiZGV2 IGFsc28gaGFuZGxlcyBkZXZpY2UgZmlsZXMsIGNvbnNvbGUsCisgKiBhbmQgZnJhbWVidWZmZXIg ZXZlbnRzLiBBcyBEUk0gZHJpdmVycyB1c2UgRFJNJ3MgZnJhbWVidWZmZXIgZW11bGF0aW9uLAor ICogdGhlIHJlc3BlY3RpdmUgY29kZSBoYXMgYmVlbiByZW1vdmVkIGhlcmUuCisgKgorICogSW4g Y29udHJhc3QgdG8gdGhlIGZiZGV2IGNvcmUsIHdlIGRvbid0IG5lZWQgbG9ja2luZyBoZXJlLiBU aGVzZSBkb24ndAorICogaW50ZXJhY3Qgd2l0aCBmYmRldidzIGludGVybmFsIHN0YXRlLgorICov CisKK3N0YXRpYyBib29sIGlzX21hdHJveGZiKGNvbnN0IHN0cnVjdCBmYl9pbmZvICpmYl9pbmZv KQoreworCXJldHVybiAhIShmYl9pbmZvLT5maXguYWNjZWwgJiAoRkJfQUNDRUxfTUFUUk9YX01H QTIwNjRXIHwKKwkJCQkJRkJfQUNDRUxfTUFUUk9YX01HQTEwNjRTRyB8CisJCQkJCUZCX0FDQ0VM X01BVFJPWF9NR0EyMTY0VyB8CisJCQkJCUZCX0FDQ0VMX01BVFJPWF9NR0EyMTY0V19BR1AgfAor CQkJCQlGQl9BQ0NFTF9NQVRST1hfTUdBRzEwMCB8CisJCQkJCUZCX0FDQ0VMX01BVFJPWF9NR0FH MjAwIHwKKwkJCQkJRkJfQUNDRUxfTUFUUk9YX01HQUc0MDApKTsKK30KKworLyoqCisgKiBkcm1f ZmJjb252X2ZpbGxfZmJfaW5mbyAtIHByZXBhcmVzIGFuIGZiZGV2IGRyaXZlcidzIGZiX2luZm8g c3RydWN0dXJlCisgKglmb3IgdXNlCisgKiBAZmJfaW5mbzoJdGhlIGZiX2luZm8gc3RydWN0dXJl IHRvIHNldCB1cAorICogUmV0dXJuczoKKyAqCTAgb24gc3VjY2Vzcywgb3IKKyAqCWEgbmVnYXRp dmUgZXJyb3IgY29kZSBvdGhlcndpc2UuCisgKgorICogVGhlIGZiZGV2IGRyaXZlciBwcm92aWRl cyBmYmNvbnYgaGVscGVycyB3aXRoIGFuIGZiX2luZm8gc3RydWN0dXJlLiBCZWZvcmUKKyAqIHVz ZSwgdGhlIHN0cnVjdHVyZSBoYXMgdG8gYmUgc2V0IHVwIGNvcnJlY3RseS4gSW4gZmJkZXYgY29y ZSwKKyAqIHJlZ2lzdGVyX2ZyYW1lYnVmZmVyKCkgZG9lcyB0aGlzOyBoZXJlIGl0J3MgcHJvdmlk ZWQgYnkKKyAqIGRybV9mYmNvbnZfZmlsbF9mYl9pbmZvKCkuCisgKgorICogQ2FsbCBkcm1fZmJj b252X2NsZWFudXBfZmJfaW5mbygpIGR1cmluZyBzaHV0ZG93biB0byBjbGVhbiB1cCB0aGUgZmJf aW5mbworICogc3RydWN0dXJlLgorICovCitpbnQgZHJtX2ZiY29udl9maWxsX2ZiX2luZm8oc3Ry dWN0IGZiX2luZm8gKmZiX2luZm8pCit7CisJc3RydWN0IGZiX3ZpZGVvbW9kZSBtb2RlOworCisJ LyogUmV0dXJpbmcgLUVOT1NZUyBvbiBlcnJvciBpcyB0ZWNobmljYWxseSB3cm9uZywgYnV0IGl0 J3MKKwkgKiB3aGF0IHRoZSBmYmRldiBjb3JlIGNvZGUgd291bGQgZG8uIFNvIHdlIGRvIHRoZSBz YW1lLgorCSAqLworCWlmIChmYl9jaGVja19mb3JlaWdubmVzcyhmYl9pbmZvKSkKKwkJcmV0dXJu IC1FTk9TWVM7CisKKwlmYl9pbmZvLT5ub2RlID0gRkJfTUFYOyAvKiBub3QgcmVnaXN0ZXJlZDsg ZmlsbGVkIGJ5IGZiY29udiBoZWxwZXJzICovCisJYXRvbWljX3NldCgmZmJfaW5mby0+Y291bnQs IDEpOworCW11dGV4X2luaXQoJmZiX2luZm8tPmxvY2spOworCW11dGV4X2luaXQoJmZiX2luZm8t Pm1tX2xvY2spOworCisJZmJfaW5mby0+ZGV2ID0gTlVMTDsgLyogZGV2aWNlIGZpbGUgbm90IG5l ZWRlZCBmb3IgZmJjb252LiAqLworCisJaWYgKGZiX2luZm8tPnBpeG1hcC5hZGRyID09IE5VTEwp IHsKKwkJZmJfaW5mby0+cGl4bWFwLmFkZHIgPSBrbWFsbG9jKEZCUElYTUFQU0laRSwgR0ZQX0tF Uk5FTCk7CisJCWlmIChmYl9pbmZvLT5waXhtYXAuYWRkcikgeworCQkJZmJfaW5mby0+cGl4bWFw LnNpemUgPSBGQlBJWE1BUFNJWkU7CisJCQlmYl9pbmZvLT5waXhtYXAuYnVmX2FsaWduID0gMTsK KwkJCWZiX2luZm8tPnBpeG1hcC5zY2FuX2FsaWduID0gMTsKKwkJCWZiX2luZm8tPnBpeG1hcC5h Y2Nlc3NfYWxpZ24gPSAzMjsKKwkJCWZiX2luZm8tPnBpeG1hcC5mbGFncyA9IEZCX1BJWE1BUF9E RUZBVUxUOworCQl9CisJfQorCWZiX2luZm8tPnBpeG1hcC5vZmZzZXQgPSAwOworCisJaWYgKCFm Yl9pbmZvLT5waXhtYXAuYmxpdF94KQorCQlmYl9pbmZvLT5waXhtYXAuYmxpdF94ID0gfih1MzIp MDsKKworCWlmICghZmJfaW5mby0+cGl4bWFwLmJsaXRfeSkKKwkJZmJfaW5mby0+cGl4bWFwLmJs aXRfeSA9IH4odTMyKTA7CisKKwlpZiAoIWZiX2luZm8tPm1vZGVsaXN0LnByZXYgfHwgIWZiX2lu Zm8tPm1vZGVsaXN0Lm5leHQpCisJCUlOSVRfTElTVF9IRUFEKCZmYl9pbmZvLT5tb2RlbGlzdCk7 CisKKwlmYl92YXJfdG9fdmlkZW9tb2RlKCZtb2RlLCAmZmJfaW5mby0+dmFyKTsKKwlmYl9hZGRf dmlkZW9tb2RlKCZtb2RlLCAmZmJfaW5mby0+bW9kZWxpc3QpOworCisJLyogbWF0cm94ZmI6IFJl cXVyaWVzIGEgY2FsbCB0byBmYl9zZXRfcGFyKCkgdG8gaW5pdGlhbGl6ZQorCSAqIGZiaW5mby0+ Zml4LntzbWVtX3N0YXJ0LHNtZW1fbGVufS4gT3RoZXJ3aXNlLCB3ZSB3b24ndCBiZQorCSAqIGFi bGUgdG8gaW5pdGlhbGl6ZSBmcmFtZWJ1ZmZlciBtZW1vcnkgbWFuYWdlbWVudC4KKwkgKi8KKwlp ZiAoaXNfbWF0cm94ZmIoZmJfaW5mbykpIHsKKwkJaWYgKGZiX2luZm8tPmZib3BzLT5mYl9zZXRf cGFyKQorCQkJZmJfaW5mby0+ZmJvcHMtPmZiX3NldF9wYXIoZmJfaW5mbyk7CisJfQorCisJcmV0 dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MKGRybV9mYmNvbnZfZmlsbF9mYl9pbmZvKTsKKworLyoq CisgKiBkcm1fZmJjb252X2NsZWFudXBfZmJfaW5mbyAtIGNsZWFucyB1cCBhbiBmYmRldiBkcml2 ZXIncyBmYl9pbmZvIHN0cnVjdHVyZQorICoJYWZ0ZXIgdXNlCisgKiBAZmJfaW5mbzoJdGhlIGZi X2luZm8gc3RydWN0dXJlIHRvIGNsZWFuIHVwCisgKi8KK3ZvaWQgZHJtX2ZiY29udl9jbGVhbnVw X2ZiX2luZm8oc3RydWN0IGZiX2luZm8gKmZiX2luZm8pCit7CisJaWYgKGZiX2luZm8tPm5vZGUg IT0gRkJfTUFYKQorCQlyZXR1cm47CisKKwlpZiAoZmJfaW5mby0+cGl4bWFwLmFkZHIgJiYKKwkg ICAgKGZiX2luZm8tPnBpeG1hcC5mbGFncyAmIEZCX1BJWE1BUF9ERUZBVUxUKSkKKwkJa2ZyZWUo ZmJfaW5mby0+cGl4bWFwLmFkZHIpOworCisJZmJfZGVzdHJveV9tb2RlbGlzdCgmZmJfaW5mby0+ bW9kZWxpc3QpOworCisJaWYgKCFhdG9taWNfZGVjX2FuZF90ZXN0KCZmYl9pbmZvLT5jb3VudCkp CisJCXJldHVybjsKKworCWlmIChmYl9pbmZvLT5mYm9wcy0+ZmJfZGVzdHJveSkKKwkJZmJfaW5m by0+ZmJvcHMtPmZiX2Rlc3Ryb3koZmJfaW5mbyk7Cit9CitFWFBPUlRfU1lNQk9MKGRybV9mYmNv bnZfY2xlYW51cF9mYl9pbmZvKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9mYmNvbnZf aGVscGVyLmggYi9pbmNsdWRlL2RybS9kcm1fZmJjb252X2hlbHBlci5oCmluZGV4IGM3ZDIxMWY0 MDQ2Mi4uMjNkMTdhZDE0YjgxIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fZmJjb252X2hl bHBlci5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9mYmNvbnZfaGVscGVyLmgKQEAgLTE0MCw0ICsx NDAsMTEgQEAgaW50IGRybV9mYmNvbnZfbW9kZXNldF9zZXR1cF9waXBlKAogCWNvbnN0IHVpbnQz Ml90ICpmb3JtYXRzLCB1bnNpZ25lZCBpbnQgZm9ybWF0X2NvdW50LAogCWNvbnN0IHVpbnQ2NF90 ICpmb3JtYXRfbW9kaWZpZXJzLCBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKIAor LyoKKyAqIEhlbHBlcnMgZm9yIHN0cnVjdCBmYl9pbmZvCisgKi8KKworaW50IGRybV9mYmNvbnZf ZmlsbF9mYl9pbmZvKHN0cnVjdCBmYl9pbmZvICpmYl9pbmZvKTsKK3ZvaWQgZHJtX2ZiY29udl9j bGVhbnVwX2ZiX2luZm8oc3RydWN0IGZiX2luZm8gKmZiX2luZm8pOworCiAjZW5kaWYKLS0gCjIu MjMuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJp LWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs