Den 29.07.2022 18.34, skrev Maxime Ripard: > The subconnector property was created by drm_mode_create_tv_properties(), > but wasn't exposed to the userspace through the generic > atomic_get/set_property implementation, and wasn't stored in any generic > state structure. > > Let's solve this. > > Signed-off-by: Maxime Ripard <maxime@xxxxxxxxxx> > I just realised that this and the select_subconnector property isn't used by any drivers. Do you plan to use them? Maybe they don't need to be wired up at all. Anyways, up to you: Reviewed-by: Noralf Trønnes <noralf@xxxxxxxxxxx> > diff --git a/drivers/gpu/drm/drm_atomic_uapi.c b/drivers/gpu/drm/drm_atomic_uapi.c > index c74c78a28171..c06d0639d552 100644 > --- a/drivers/gpu/drm/drm_atomic_uapi.c > +++ b/drivers/gpu/drm/drm_atomic_uapi.c > @@ -688,6 +688,8 @@ static int drm_atomic_connector_set_property(struct drm_connector *connector, > return -EINVAL; > } else if (property == config->tv_select_subconnector_property) { > state->tv.select_subconnector = val; > + } else if (property == config->tv_subconnector_property) { > + state->tv.subconnector = val; > } else if (property == config->tv_left_margin_property) { > state->tv.margins.left = val; > } else if (property == config->tv_right_margin_property) { > @@ -796,6 +798,8 @@ drm_atomic_connector_get_property(struct drm_connector *connector, > *val = connector->dpms; > } else if (property == config->tv_select_subconnector_property) { > *val = state->tv.select_subconnector; > + } else if (property == config->tv_subconnector_property) { > + *val = state->tv.subconnector; > } else if (property == config->tv_left_margin_property) { > *val = state->tv.margins.left; > } else if (property == config->tv_right_margin_property) { > diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h > index f8091edf9a33..1e9996b33cc8 100644 > --- a/include/drm/drm_connector.h > +++ b/include/drm/drm_connector.h > @@ -672,6 +672,7 @@ struct drm_connector_tv_margins { > /** > * struct drm_tv_connector_state - TV connector related states > * @select_subconnector: selected subconnector > + * @subconnector: detected subconnector > * @margins: TV margins > * @mode: TV mode > * @brightness: brightness in percent > @@ -683,6 +684,7 @@ struct drm_connector_tv_margins { > */ > struct drm_tv_connector_state { > enum drm_mode_subconnector select_subconnector; > + enum drm_mode_subconnector subconnector; > struct drm_connector_tv_margins margins; > unsigned int mode; > unsigned int brightness; >