RE: [RESEND RFC 06/18] drm/display/dp_mst: Add some missing kdocs for atomic MST structs

From: Lin, Wayne
Date: Wed Jun 15 2022 - 00:50:19 EST


[Public]



> -----Original Message-----
> From: Lyude Paul <lyude@xxxxxxxxxx>
> Sent: Wednesday, June 8, 2022 3:29 AM
> To: dri-devel@xxxxxxxxxxxxxxxxxxxxx; nouveau@xxxxxxxxxxxxxxxxxxxxx; amd-
> gfx@xxxxxxxxxxxxxxxxxxxxx
> Cc: Lin, Wayne <Wayne.Lin@xxxxxxx>; Ville Syrjälä
> <ville.syrjala@xxxxxxxxxxxxxxx>; Zuo, Jerry <Jerry.Zuo@xxxxxxx>; Jani Nikula
> <jani.nikula@xxxxxxxxx>; Imre Deak <imre.deak@xxxxxxxxx>; Daniel Vetter
> <daniel.vetter@xxxxxxxx>; Sean Paul <sean@xxxxxxxxxx>; David Airlie
> <airlied@xxxxxxxx>; Daniel Vetter <daniel@xxxxxxxx>; Thomas Zimmermann
> <tzimmermann@xxxxxxx>; Deucher, Alexander
> <Alexander.Deucher@xxxxxxx>; Lakha, Bhawanpreet
> <Bhawanpreet.Lakha@xxxxxxx>; open list <linux-kernel@xxxxxxxxxxxxxxx>
> Subject: [RESEND RFC 06/18] drm/display/dp_mst: Add some missing kdocs
> for atomic MST structs
>
> Since we're about to start adding some stuff here, we may as well fill in any
> missing documentation that we forgot to write.
>
> Signed-off-by: Lyude Paul <lyude@xxxxxxxxxx>
> Cc: Wayne Lin <Wayne.Lin@xxxxxxx>
> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
> Cc: Fangzhi Zuo <Jerry.Zuo@xxxxxxx>
> Cc: Jani Nikula <jani.nikula@xxxxxxxxx>
> Cc: Imre Deak <imre.deak@xxxxxxxxx>
> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx>
> Cc: Sean Paul <sean@xxxxxxxxxx>
> ---
> include/drm/display/drm_dp_mst_helper.h | 24
> ++++++++++++++++++++++++
> 1 file changed, 24 insertions(+)
>
> diff --git a/include/drm/display/drm_dp_mst_helper.h
> b/include/drm/display/drm_dp_mst_helper.h
> index 8ab4f14f2344..eb0ea578b227 100644
> --- a/include/drm/display/drm_dp_mst_helper.h
> +++ b/include/drm/display/drm_dp_mst_helper.h
> @@ -542,19 +542,43 @@ struct drm_dp_payload {
>
> #define to_dp_mst_topology_state(x) container_of(x, struct
> drm_dp_mst_topology_state, base)
>
> +/**
> + * struct drm_dp_mst_atomic_payload - Atomic state struct for an MST
> +payload
> + *
> + * The primary atomic state structure for a given MST payload. Stores
> +information like current
> + * bandwidth allocation, intended action for this payload, etc.
> + */
> struct drm_dp_mst_atomic_payload {
> + /** @port: The MST port assigned to this payload */
> struct drm_dp_mst_port *port;
> + /** @time_slots: The number of timeslots allocated to this payload

Hi Lyude,
Would like to also indicate that the timeslots is allocated from source DP Tx
to immediate downstream DP Rx.

> */
> int time_slots;
> + /** @pbn: The payload bandwidth for this payload */
> int pbn;
> + /** @dsc_enabled: Whether or not this payload has DSC enabled */
> bool dsc_enabled;
> +
> + /** @next: The list node for this payload */
> struct list_head next;
> };
>
> +/**
> + * struct drm_dp_mst_topology_state - DisplayPort MST topology atomic
> +state
> + *
> + * This struct represents the atomic state of the toplevel DisplayPort
> +MST manager */
> struct drm_dp_mst_topology_state {
> + /** @base: Base private state for atomic */
> struct drm_private_state base;
> +
> + /** @payloads: The list of payloads being created/destroyed in this
> +state */
> struct list_head payloads;
> + /** @mgr: The topology manager */
> struct drm_dp_mst_topology_mgr *mgr;
> +
> + /** @total_avail_slots: The total number of slots this topology can
> +handle (63 or 64) */
> u8 total_avail_slots;

I would prefer not using the term "available" which is a bit conflicting with
the idea in the reply of ENUM_PATH_RESOURCES - full PBN & available PBN.
Maybe better to change to use "full_slots"?

Not yet finish all the patches. Will try to go through all the patches recently : )

> + /** @start_slot: The first usable time slot in this topology (1 or 0)
> +*/
> u8 start_slot;
> };
>
> --
> 2.35.3

--
Regards,
Wayne Lin