From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id B2162FA1FD7 for ; Wed, 22 Apr 2026 16:50:30 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 28A6510EEDE; Wed, 22 Apr 2026 16:50:30 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=bootlin.com header.i=@bootlin.com header.b="ZLsL26ss"; dkim-atps=neutral Received: from smtpout-04.galae.net (smtpout-04.galae.net [185.171.202.116]) by gabe.freedesktop.org (Postfix) with ESMTPS id 294A310EEE0 for ; Wed, 22 Apr 2026 16:50:26 +0000 (UTC) Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-04.galae.net (Postfix) with ESMTPS id DEE65C5EF07; Wed, 22 Apr 2026 16:51:05 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id 091755FA8F; Wed, 22 Apr 2026 16:50:25 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 7EF4C10460BF3; Wed, 22 Apr 2026 18:50:20 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1776876623; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=QZVcGvUufNYmeDV6o2kpMdHjPPf3F67u9Lux32iDHyA=; b=ZLsL26sshsnOSkzrEQaCRuNQi4oEXZZu1qu8j9aCsAViKSobQjKHXiqdRiQ4epHc/FW+Yh YX+bfJ39WKytWwr7jw5vO07caZU9c8XVjR8kNVxOjAtQrb2kkVCTShrT6rrJRj+oQaEL4T atfRc7iWL/mXJBhYUVHfUItFsY85u4lR+acxBK79DTZw1hivgzxZOtP6I9t7jwHW1FnVQb +kFUi/c8/w9qhlIry4gERk5Kbv1aj/Q/qSbwx0YsCtYiRf3FTepuJZMH8yunBV8a1Ky7bD FCVO/pFQyoy7NVpULxt7esgKUmmkg7mk8KP5aBxB0089bTHb/6re9sP++J5nEA== From: Louis Chauvet Date: Wed, 22 Apr 2026 18:48:31 +0200 Subject: [PATCH v4 34/37] drm/vkms: Allow to hot-add connectors MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Message-Id: <20260422-vkms-all-config-v4-34-dbb52e9aadc3@bootlin.com> References: <20260422-vkms-all-config-v4-0-dbb52e9aadc3@bootlin.com> In-Reply-To: <20260422-vkms-all-config-v4-0-dbb52e9aadc3@bootlin.com> To: Haneen Mohammed , Simona Vetter , Melissa Wen , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , jose.exposito89@gmail.com, Jonathan Corbet , Shuah Khan , Miguel Ojeda , Nathan Chancellor , Nick Desaulniers , Bill Wendling , Justin Stitt Cc: victoria@system76.com, sebastian.wick@redhat.com, victoria@system76.com, airlied@gmail.com, thomas.petazzoni@bootlin.com, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, Louis Chauvet , llvm@lists.linux.dev X-Mailer: b4 0.16-dev X-Last-TLS-Session-Version: TLSv1.3 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" SW4gb3JkZXIgdG8gYWxsb3cgY3JlYXRpbmcgZHluYW1pYyBjb25uZWN0b3IsIGFkZCB0aGUgcmVx dWlyZWQKaW5mcmFzdHJ1Y3R1cmUgaW4gdmttc19jb25uZWN0b3IuCgpbTG91aXMgQ2hhdXZldDog dXNlIGRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9yZXNldCBpbnN0ZWFkIG9mCmRybV9tb2Rl X2NvbmZpZ19yZXNldCBiZWNhdXNlIGNvbm5lY3RvciBpcyBub3QgeWV0IHJlZ2lzdGVyZWRdCgpD by1kZXZlbG9wZWQtYnk6IEpvc8OpIEV4cMOzc2l0byA8am9zZS5leHBvc2l0bzg5QGdtYWlsLmNv bT4KU2lnbmVkLW9mZi1ieTogSm9zw6kgRXhww7NzaXRvIDxqb3NlLmV4cG9zaXRvODlAZ21haWwu Y29tPgpTaWduZWQtb2ZmLWJ5OiBMb3VpcyBDaGF1dmV0IDxsb3Vpcy5jaGF1dmV0QGJvb3RsaW4u Y29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfY29ubmVjdG9yLmMgfCA4OSArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmtt c19jb25uZWN0b3IuaCB8IDMzICsrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS92a21zL3Zr bXNfb3V0cHV0LmMgICAgfCAgOSArKysrCiAzIGZpbGVzIGNoYW5nZWQsIDEzMSBpbnNlcnRpb25z KCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmttc19jb25uZWN0b3IuYyBi L2RyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfY29ubmVjdG9yLmMKaW5kZXggZjcyNmM3OTk1NTI0 Li5hMDEzYjUzYmQ5MTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfY29u bmVjdG9yLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmttc19jb25uZWN0b3IuYwpAQCAt MTgxLDkgKzE4MSw5OCBAQCBzdHJ1Y3Qgdmttc19jb25uZWN0b3IgKnZrbXNfY29ubmVjdG9yX2lu aXRfc3RhdGljKHN0cnVjdCB2a21zX2RldmljZSAqdmttc2RldiwKIAlyZXR1cm4gY29ubmVjdG9y OwogfQogCitzdGF0aWMgdm9pZCB2a21zX2Nvbm5lY3Rvcl9keW5hbWljX2Rlc3Ryb3koc3RydWN0 IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKK3sKKwlzdHJ1Y3Qgdmttc19jb25uZWN0b3IgKnZr bXNfY29ubmVjdG9yOworCisJZHJtX2Nvbm5lY3Rvcl9jbGVhbnVwKGNvbm5lY3Rvcik7CisKKwl2 a21zX2Nvbm5lY3RvciA9IGRybV9jb25uZWN0b3JfdG9fdmttc19jb25uZWN0b3IoY29ubmVjdG9y KTsKKwlrZnJlZSh2a21zX2Nvbm5lY3Rvcik7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZHJt X2Nvbm5lY3Rvcl9mdW5jcyB2a21zX2R5bmFtaWNfY29ubmVjdG9yX2Z1bmNzID0geworCS5maWxs X21vZGVzID0gZHJtX2hlbHBlcl9wcm9iZV9zaW5nbGVfY29ubmVjdG9yX21vZGVzLAorCS5yZXNl dCA9IGRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9yZXNldCwKKwkuYXRvbWljX2R1cGxpY2F0 ZV9zdGF0ZSA9IGRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9kdXBsaWNhdGVfc3RhdGUsCisJ LmF0b21pY19kZXN0cm95X3N0YXRlID0gZHJtX2F0b21pY19oZWxwZXJfY29ubmVjdG9yX2Rlc3Ry b3lfc3RhdGUsCisJLmRlc3Ryb3kgPSB2a21zX2Nvbm5lY3Rvcl9keW5hbWljX2Rlc3Ryb3ksCisJ LmRldGVjdCA9IHZrbXNfY29ubmVjdG9yX2RldGVjdCwKK307CisKIHZvaWQgdmttc190cmlnZ2Vy X2Nvbm5lY3Rvcl9ob3RwbHVnKHN0cnVjdCB2a21zX2RldmljZSAqdmttc2RldikKIHsKIAlzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2ID0gJnZrbXNkZXYtPmRybTsKIAogCWRybV9rbXNfaGVscGVyX2hv dHBsdWdfZXZlbnQoZGV2KTsKIH0KKworc3RydWN0IHZrbXNfY29ubmVjdG9yICp2a21zX2Nvbm5l Y3Rvcl9ob3RfYWRkKHN0cnVjdCB2a21zX2RldmljZSAqdmttc2RldiwKKwkJCQkJICAgICAgc3Ry dWN0IHZrbXNfY29uZmlnX2Nvbm5lY3RvciAqY29ubmVjdG9yX2NmZykKK3sKKwlzdHJ1Y3Qgdmtt c19jb25maWdfZW5jb2RlciAqZW5jb2Rlcl9jZmc7CisJc3RydWN0IHZrbXNfY29ubmVjdG9yIF9f ZnJlZShrZnJlZSkgKiBjb25uZWN0b3IgPSBOVUxMOworCWludCByZXQ7CisJdW5zaWduZWQgbG9u ZyBpZHggPSAwOworCisJY29ubmVjdG9yID0ga3phbGxvY19vYmooKmNvbm5lY3RvciwgR0ZQX0tF Uk5FTCk7CisJaWYgKElTX0VSUihjb25uZWN0b3IpKQorCQlyZXR1cm4gY29ubmVjdG9yOworCXJl dCA9IGRybV9jb25uZWN0b3JfZHluYW1pY19pbml0KCZ2a21zZGV2LT5kcm0sCisJCQkJCSAmY29u bmVjdG9yLT5iYXNlLAorCQkJCQkgJnZrbXNfZHluYW1pY19jb25uZWN0b3JfZnVuY3MsCisJCQkJ CSBjb25uZWN0b3JfY2ZnLT50eXBlLAorCQkJCQkgTlVMTCk7CisJaWYgKHJldCkKKwkJcmV0dXJu IEVSUl9QVFIocmV0KTsKKwlkcm1fY29ubmVjdG9yX2hlbHBlcl9hZGQoJmNvbm5lY3Rvci0+YmFz ZSwgJnZrbXNfY29ubl9oZWxwZXJfZnVuY3MpOworCisJdmttc19jb25maWdfY29ubmVjdG9yX2Zv cl9lYWNoX3Bvc3NpYmxlX2VuY29kZXIoY29ubmVjdG9yX2NmZywgaWR4LCBlbmNvZGVyX2NmZykg eworCQlyZXQgPSBkcm1fY29ubmVjdG9yX2F0dGFjaF9lbmNvZGVyKCZjb25uZWN0b3ItPmJhc2Us CisJCQkJCQkgICBlbmNvZGVyX2NmZy0+ZW5jb2Rlcik7CisJCWlmIChyZXQpCisJCQlyZXR1cm4g RVJSX1BUUihyZXQpOworCX0KKworCWRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9yZXNldCgm Y29ubmVjdG9yLT5iYXNlKTsKKworCXJldCA9IHZrbXNfY29ubmVjdG9yX2luaXQoY29ubmVjdG9y LCBjb25uZWN0b3JfY2ZnKTsKKwlpZiAocmV0KQorCQlyZXR1cm4gRVJSX1BUUihyZXQpOworCisJ cmV0ID0gZHJtX2Nvbm5lY3Rvcl9keW5hbWljX3JlZ2lzdGVyKCZjb25uZWN0b3ItPmJhc2UpOwor CWlmIChyZXQpIHsKKwkJaWYgKGNvbm5lY3Rvcl9jZmctPnR5cGUgPT0gRFJNX01PREVfQ09OTkVD VE9SX0hETUlBIHx8CisJCSAgICBjb25uZWN0b3JfY2ZnLT50eXBlID09IERSTV9NT0RFX0NPTk5F Q1RPUl9EaXNwbGF5UG9ydCB8fAorCQkgICAgY29ubmVjdG9yX2NmZy0+dHlwZSA9PSBEUk1fTU9E RV9DT05ORUNUT1JfZURQKSB7CisJCQlkcm1fcHJvcGVydHlfZGVzdHJveShjb25uZWN0b3ItPmJh c2UuZGV2LAorCQkJCQkgICAgIGNvbm5lY3Rvci0+YmFzZS5jb2xvcnNwYWNlX3Byb3BlcnR5KTsK KwkJfQorCQlyZXR1cm4gRVJSX1BUUihyZXQpOworCX0KKworCXJldHVybl9wdHIoY29ubmVjdG9y KTsKK30KKwordm9pZCB2a21zX2Nvbm5lY3Rvcl9ob3RfcmVtb3ZlKHN0cnVjdCB2a21zX2Rldmlj ZSAqdmttc2RldiwKKwkJCSAgICAgICBzdHJ1Y3Qgdmttc19jb25uZWN0b3IgKmNvbm5lY3RvcikK K3sKKwlkcm1fY29ubmVjdG9yX3VucmVnaXN0ZXIoJmNvbm5lY3Rvci0+YmFzZSk7CisJZHJtX21v ZGVfY29uZmlnX3Jlc2V0KCZ2a21zZGV2LT5kcm0pOworCWRybV9jb25uZWN0b3JfcHV0KCZjb25u ZWN0b3ItPmJhc2UpOworfQorCitpbnQgdmttc19jb25uZWN0b3JfaG90X2F0dGFjaF9lbmNvZGVy KHN0cnVjdCB2a21zX2RldmljZSAqdmttc2RldiwKKwkJCQkgICAgICBzdHJ1Y3Qgdmttc19jb25u ZWN0b3IgKmNvbm5lY3RvciwKKwkJCQkgICAgICBzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIp Cit7CisJaW50IHJldDsKKworCXJldCA9IGRybV9jb25uZWN0b3JfYXR0YWNoX2VuY29kZXIoJmNv bm5lY3Rvci0+YmFzZSwgZW5jb2Rlcik7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKworCWRy bV9tb2RlX2NvbmZpZ19yZXNldCgmdmttc2Rldi0+ZHJtKTsKKworCXJldHVybiByZXQ7Cit9CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdmttcy92a21zX2Nvbm5lY3Rvci5oIGIvZHJpdmVy cy9ncHUvZHJtL3ZrbXMvdmttc19jb25uZWN0b3IuaAppbmRleCA4NWY5MDgyYzcxMGUuLmEyMzVh NTE4ZDVhMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmttc19jb25uZWN0b3Iu aAorKysgYi9kcml2ZXJzL2dwdS9kcm0vdmttcy92a21zX2Nvbm5lY3Rvci5oCkBAIC0zNCw0ICsz NCwzNyBAQCBzdHJ1Y3Qgdmttc19jb25uZWN0b3IgKnZrbXNfY29ubmVjdG9yX2luaXRfc3RhdGlj KHN0cnVjdCB2a21zX2RldmljZSAqdmttc2RldiwKICAqLwogdm9pZCB2a21zX3RyaWdnZXJfY29u bmVjdG9yX2hvdHBsdWcoc3RydWN0IHZrbXNfZGV2aWNlICp2a21zZGV2KTsKIAorLyoqCisgKiB2 a21zX2Nvbm5lY3Rvcl9ob3RfYWRkKCkgLSBDcmVhdGUgYSBjb25uZWN0b3IgYWZ0ZXIgdGhlIGRl dmljZSBpcyBjcmVhdGVkCisgKiBAdmttc2RldjogRGV2aWNlIHRvIGhvdC1hZGQgdGhlIGNvbm5l Y3RvciB0bworICogQGNvbm5lY3Rvcl9jZmc6IENvbm5lY3RvcidzIGNvbmZpZ3VyYXRpb24KKyAq CisgKiBSZXR1cm5zOgorICogQSBwb2ludGVyIHRvIHRoZSBuZXdseSBjcmVhdGVkIGNvbm5lY3Rv ciBvciBhIFBUUl9FUlIgb24gZmFpbHVyZS4KKyAqLworc3RydWN0IHZrbXNfY29ubmVjdG9yICp2 a21zX2Nvbm5lY3Rvcl9ob3RfYWRkKHN0cnVjdCB2a21zX2RldmljZSAqdmttc2RldiwKKwkJCQkJ ICAgICAgc3RydWN0IHZrbXNfY29uZmlnX2Nvbm5lY3RvciAqY29ubmVjdG9yX2NmZyk7CisKKy8q KgorICogdmttc19jb25uZWN0b3JfaG90X3JlbW92ZSgpIC0gUmVtb3ZlIGEgY29ubmVjdG9yIGFm dGVyIGEgZGV2aWNlIGlzIGNyZWF0ZWQKKyAqIEB2a21zZGV2OiBEZXZpY2UgdG8gY29udGFpbmlu ZyB0aGUgY29ubmVjdG9yIHRvIGJlIHJlbW92ZWQKKyAqIEBjb25uZWN0b3I6IFRoZSBjb25uZWN0 b3IgdG8gaG90LXJlbW92ZQorICovCit2b2lkIHZrbXNfY29ubmVjdG9yX2hvdF9yZW1vdmUoc3Ry dWN0IHZrbXNfZGV2aWNlICp2a21zZGV2LAorCQkJICAgICAgIHN0cnVjdCB2a21zX2Nvbm5lY3Rv ciAqY29ubmVjdG9yKTsKKworLyoqCisgKiB2a21zX2Nvbm5lY3Rvcl9ob3RfYXR0YWNoX2VuY29k ZXIoKSAtIEF0dGFjaCBhIGNvbm5lY3RvciB0byBhIGVuY29kZXIgYWZ0ZXIKKyAqIHRoZSBkZXZp Y2UgaXMgY3JlYXRlZC4KKyAqIEB2a21zZGV2OiBEZXZpY2UgY29udGFpbmluZyB0aGUgY29ubmVj dG9yIGFuZCB0aGUgZW5jb2RlcgorICogQGNvbm5lY3RvcjogQ29ubmVjdG9yIHRvIGF0dGFjaCB0 byBAZW5jb2RlcgorICogQGVuY29kZXI6IFRhcmdldCBlbmNvZGVyCisgKgorICogUmV0dXJuczoK KyAqIDAgb24gc3VjY2VzcyBvciBhbiBlcnJvciBvbiBmYWlsdXJlLgorICovCitpbnQgdmttc19j b25uZWN0b3JfaG90X2F0dGFjaF9lbmNvZGVyKHN0cnVjdCB2a21zX2RldmljZSAqdmttc2RldiwK KwkJCQkgICAgICBzdHJ1Y3Qgdmttc19jb25uZWN0b3IgKmNvbm5lY3RvciwKKwkJCQkgICAgICBz dHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpOworCiAjZW5kaWYgLyogX1ZLTVNfQ09OTkVDVE9S X0hfICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdmttcy92a21zX291dHB1dC5jIGIv ZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmttc19vdXRwdXQuYwppbmRleCAxM2M0Y2E1ZmQzOWQuLjUw ZjdkODhkZWU4YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmttc19vdXRwdXQu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vdmttcy92a21zX291dHB1dC5jCkBAIC0xMTcsNSArMTE3 LDE0IEBAIGludCB2a21zX291dHB1dF9pbml0KHN0cnVjdCB2a21zX2RldmljZSAqdmttc2RldikK IAogCWRybV9tb2RlX2NvbmZpZ19yZXNldChkZXYpOwogCisJdmttc19jb25maWdfZm9yX2VhY2hf Y29ubmVjdG9yX2R5bmFtaWModmttc2Rldi0+Y29uZmlnLCBjb25uZWN0b3JfY2ZnKSB7CisJCWlm IChjb25uZWN0b3JfY2ZnLT5lbmFibGVkKSB7CisJCQljb25uZWN0b3JfY2ZnLT5jb25uZWN0b3Ig PSB2a21zX2Nvbm5lY3Rvcl9ob3RfYWRkKHZrbXNkZXYsIGNvbm5lY3Rvcl9jZmcpOworCisJCQlp ZiAoSVNfRVJSKGNvbm5lY3Rvcl9jZmctPmNvbm5lY3RvcikpCisJCQkJcmV0dXJuIFBUUl9FUlIo Y29ubmVjdG9yX2NmZy0+Y29ubmVjdG9yKTsKKwkJfQorCX0KKwogCXJldHVybiAwOwogfQoKLS0g CjIuNTQuMAoK