From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 597663E6DC9 for ; Thu, 23 Apr 2026 10:19:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776939557; cv=none; b=HxgPV+a6uMLCfYSIfoVZ9obqXFXu1DFckgU3muCzNbvtQANKhPC47AloaZgITDCUFO0Ju5S6dIRFHFYf5hnCwhGjFiIKy8EbHBPpI+fmujDcYFfeVclMHegI72HjAUGqZLhyaE067egSAYlykbKx9V/dbwAE4T4FY/YYx6CVwtU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776939557; c=relaxed/simple; bh=eyprmpsHhE9zP3aK4nK5cetaF6TLpXxxpAK4fXRj9zo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ZIJ0G8fyRqvqFolXm/6Ebn0QA4C34ornXp3KDFmw4Be2S4gdKnAILfvyUTW/AvYVx91APdY0D4M0x3H1IdVbGBCy4pU/erm3m21ncyvYIiq+7GiwTGC1px+CfdR5AS/ie0Vv0/EGkSNHEnNnA0vUk/pFIEOQ8CUwws9skRN0oXw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=cuMMuBpH; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="cuMMuBpH" Received: by smtp.kernel.org (Postfix) with ESMTPSA id A9CC3C2BCB2; Thu, 23 Apr 2026 10:19:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1776939557; bh=eyprmpsHhE9zP3aK4nK5cetaF6TLpXxxpAK4fXRj9zo=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=cuMMuBpHeyO11QAgRQLIrkf5++AugEk68m8XGA2GZsjGns/dKEgXENnEtj2LUYu5R e0gZRyUz+XaSdcEGVrl+Bur7rUaI1olbvcO+4CbO0UCer6ayaxcvaoVI4l+zaAZVCW 1snrALsT2Z/V0Tgvp0WeAFfNGUoq1iE7A2gzSr9aJ2gYYEz3Ny32fS94NPWYc5gzbm D9FmX+1Mr72lTN3Mkg9LZMNcufU0SFJ/TwiG15UtW+Cg/WmqWL3b1RmsWRicyOAQqT J3ZT1rdo0COwDCbwPNZWq4bN1qTsTNelf0qWB4aLq3T6NuKo3VGo5uJ+Ng52fhpzV1 DNnfI5wecLiLw== From: Maxime Ripard Date: Thu, 23 Apr 2026 12:18:29 +0200 Subject: [PATCH v2 16/28] drm/mode_config: Read out hardware state in drm_mode_config_create_state Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260423-drm-state-readout-v2-16-8549f87cb978@kernel.org> References: <20260423-drm-state-readout-v2-0-8549f87cb978@kernel.org> In-Reply-To: <20260423-drm-state-readout-v2-0-8549f87cb978@kernel.org> To: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Jyri Sarha , Tomi Valkeinen Cc: Devarsh Thakkar , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Maxime Ripard X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=1276; i=mripard@kernel.org; h=from:subject:message-id; bh=eyprmpsHhE9zP3aK4nK5cetaF6TLpXxxpAK4fXRj9zo=; b=owGbwMvMwCmsHn9OcpHtvjLG02pJDJkvP76TurT3ksGqX3of7f1MBf3+y98/1Vv/0MLintmM8 M8nP6y50DGVhUGYk0FWTJHliUzY6eXti6sc7Ff+gJnDygQyhIGLUwAmUricsU4z89iBI4FWISkS offX2er+ss14opVZt27Gvjd/D3lX85WurpzbF3/N+LZSeUidqI78McaGT2zNzscaz0Sden/v+e7 P8vF5CeKH1E69uTXzXMLH6Z279ny2PsXd7b619O4b401BGSnOAA== X-Developer-Key: i=mripard@kernel.org; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D drm_mode_config_create_state() creates the initial state for all KMS objects at driver registration time. Call the drm_mode_config_funcs.atomic_sro_readout_state hook from it so that the initial state is populated from the hardware rather than being left as a pristine default. Signed-off-by: Maxime Ripard --- drivers/gpu/drm/drm_mode_config.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/gpu/drm/drm_mode_config.c b/drivers/gpu/drm/drm_mode_config.c index 61c3ba5d3901..6bae788c30cc 100644 --- a/drivers/gpu/drm/drm_mode_config.c +++ b/drivers/gpu/drm/drm_mode_config.c @@ -22,10 +22,11 @@ #include #include #include +#include #include #include #include #include #include @@ -364,10 +365,14 @@ int drm_mode_config_create_state(struct drm_device *dev) if (ret) return ret; } drm_connector_list_iter_end(&conn_iter); + ret = dev->mode_config.funcs->atomic_sro_readout_state(dev); + if (ret) + return ret; + return 0; } EXPORT_SYMBOL(drm_mode_config_create_state); /* -- 2.53.0