OSDN Git Service

drm: Add drm_connector_mask()
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 26 Jun 2018 19:47:10 +0000 (22:47 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Mon, 2 Jul 2018 15:45:55 +0000 (18:45 +0300)
Add drm_connector_mask() which returns the 1<<index for the connector.
We already have an identical drm_crtc_mask() for crtcs.

Mostly performed with coccinelle:
@@
@@
- (1<<drm_connector_index(
+ drm_connector_mask(
  ...)
-  )

@@
@@
- 1<<drm_connector_index(
+ drm_connector_mask(
  ...)

@@
@@
- BIT(drm_connector_index(
+ drm_connector_mask(
  ...)
- )

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180626194716.12522-4-ville.syrjala@linux.intel.com
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/drm_atomic.c
include/drm/drm_connector.h

index 684c9d3..d5cefb1 100644 (file)
@@ -1700,7 +1700,7 @@ drm_atomic_set_crtc_for_connector(struct drm_connector_state *conn_state,
                                                           conn_state->crtc);
 
                crtc_state->connector_mask &=
-                       ~(1 << drm_connector_index(conn_state->connector));
+                       ~drm_connector_mask(conn_state->connector);
 
                drm_connector_put(conn_state->connector);
                conn_state->crtc = NULL;
@@ -1712,7 +1712,7 @@ drm_atomic_set_crtc_for_connector(struct drm_connector_state *conn_state,
                        return PTR_ERR(crtc_state);
 
                crtc_state->connector_mask |=
-                       1 << drm_connector_index(conn_state->connector);
+                       drm_connector_mask(conn_state->connector);
 
                drm_connector_get(conn_state->connector);
                conn_state->crtc = crtc;
@@ -1839,7 +1839,7 @@ drm_atomic_add_affected_connectors(struct drm_atomic_state *state,
         */
        drm_connector_list_iter_begin(state->dev, &conn_iter);
        drm_for_each_connector_iter(connector, &conn_iter) {
-               if (!(crtc_state->connector_mask & (1 << drm_connector_index(connector))))
+               if (!(crtc_state->connector_mask & drm_connector_mask(connector)))
                        continue;
 
                conn_state = drm_atomic_get_connector_state(state, connector);
index 14ab58a..bf0f0f0 100644 (file)
@@ -1030,11 +1030,17 @@ int drm_mode_connector_attach_encoder(struct drm_connector *connector,
                                      struct drm_encoder *encoder);
 
 void drm_connector_cleanup(struct drm_connector *connector);
-static inline unsigned drm_connector_index(struct drm_connector *connector)
+
+static inline unsigned int drm_connector_index(const struct drm_connector *connector)
 {
        return connector->index;
 }
 
+static inline u32 drm_connector_mask(const struct drm_connector *connector)
+{
+       return 1 << connector->index;
+}
+
 /**
  * drm_connector_lookup - lookup connector object
  * @dev: DRM device