Unverified Commit 941731a2 authored by Maxime Ripard's avatar Maxime Ripard
Browse files

drm/atomic: Add TV subconnector property to get/set_property



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.

Reviewed-by: default avatarNoralf Trønnes <noralf@tronnes.org>
Link: https://lore.kernel.org/r/20220728-rpi-analog-tv-properties-v4-6-60d38873f782@cerno.tech


Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
parent d0236008
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -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) {
+2 −0
Original line number Diff line number Diff line
@@ -693,6 +693,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
@@ -704,6 +705,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;