On Thu, Jan 26, 2023 at 08:36:20PM +0200, Ville Syrjälä wrote:
On Wed, Jan 25, 2023 at 01:48:46PM +0200, Imre Deak wrote:
Add a function to get the old MST topology state, required by a follow-up i915 patch.
While at it clarify the code comment of drm_atomic_get_new_mst_topology_state().
Cc: Lyude Paul lyude@redhat.com Cc: stable@vger.kernel.org # 6.1 Cc: dri-devel@lists.freedesktop.org Signed-off-by: Imre Deak imre.deak@intel.com
drivers/gpu/drm/display/drm_dp_mst_topology.c | 29 +++++++++++++++++-- include/drm/display/drm_dp_mst_helper.h | 3 ++ 2 files changed, 30 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/display/drm_dp_mst_topology.c b/drivers/gpu/drm/display/drm_dp_mst_topology.c index ebf6e31e156e0..81cc0c3b1e000 100644 --- a/drivers/gpu/drm/display/drm_dp_mst_topology.c +++ b/drivers/gpu/drm/display/drm_dp_mst_topology.c @@ -5362,18 +5362,43 @@ struct drm_dp_mst_topology_state *drm_atomic_get_mst_topology_state(struct drm_a } EXPORT_SYMBOL(drm_atomic_get_mst_topology_state); +/**
- drm_atomic_get_old_mst_topology_state: get old MST topology state in atomic state, if any
- @state: global atomic state
- @mgr: MST topology manager, also the private object in this case
- This function wraps drm_atomic_get_old_private_obj_state() passing in the MST atomic
- state vtable so that the private object state returned is that of a MST
- topology object.
- Returns:
- The old MST topology state, or NULL if there's no topology state for this MST mgr
- in the global atomic state
- */
+struct drm_dp_mst_topology_state * +drm_atomic_get_old_mst_topology_state(struct drm_atomic_state *state,
struct drm_dp_mst_topology_mgr *mgr)
+{
- struct drm_private_state *priv_state =
I would include 'old_' in the variable name to remind the reader what it is.
Ok, will change it.
Reviewed-by: Ville Syrjälä ville.syrjala@linux.intel.com
drm_atomic_get_old_private_obj_state(state, &mgr->base);
- return priv_state ? to_dp_mst_topology_state(priv_state) : NULL;
+} +EXPORT_SYMBOL(drm_atomic_get_old_mst_topology_state);
/**
- drm_atomic_get_new_mst_topology_state: get new MST topology state in atomic state, if any
- @state: global atomic state
- @mgr: MST topology manager, also the private object in this case
- This function wraps drm_atomic_get_priv_obj_state() passing in the MST atomic
- This function wraps drm_atomic_get_new_private_obj_state() passing in the MST atomic
- state vtable so that the private object state returned is that of a MST
- topology object.
- Returns:
- The MST topology state, or NULL if there's no topology state for this MST mgr
*/
- The new MST topology state, or NULL if there's no topology state for this MST mgr
- in the global atomic state
struct drm_dp_mst_topology_state * diff --git a/include/drm/display/drm_dp_mst_helper.h b/include/drm/display/drm_dp_mst_helper.h index f5eb9aa152b14..32c764fb9cb56 100644 --- a/include/drm/display/drm_dp_mst_helper.h +++ b/include/drm/display/drm_dp_mst_helper.h @@ -868,6 +868,9 @@ struct drm_dp_mst_topology_state * drm_atomic_get_mst_topology_state(struct drm_atomic_state *state, struct drm_dp_mst_topology_mgr *mgr); struct drm_dp_mst_topology_state * +drm_atomic_get_old_mst_topology_state(struct drm_atomic_state *state,
struct drm_dp_mst_topology_mgr *mgr);
+struct drm_dp_mst_topology_state * drm_atomic_get_new_mst_topology_state(struct drm_atomic_state *state, struct drm_dp_mst_topology_mgr *mgr); struct drm_dp_mst_atomic_payload * -- 2.37.1
-- Ville Syrjälä Intel