drm/i915: add for_each_port() and use it
authorJani Nikula <jani.nikula@intel.com>
Fri, 1 Nov 2019 13:43:33 +0000 (15:43 +0200)
committerJani Nikula <jani.nikula@intel.com>
Mon, 4 Nov 2019 12:58:35 +0000 (14:58 +0200)
Add another for_each style macro to the pile of custom looping macros.

Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191101134333.11612-1-jani.nikula@intel.com
drivers/gpu/drm/i915/display/intel_bios.c
drivers/gpu/drm/i915/display/intel_display.h

index 63c1bd4c2954e5a169b4af1bb5efbffc52e30acb..a03f56b7b4ef445519c9db9ec60aa3f465bfe5be 100644 (file)
@@ -1246,7 +1246,7 @@ static enum port get_port_by_ddc_pin(struct drm_i915_private *i915, u8 ddc_pin)
        const struct ddi_vbt_port_info *info;
        enum port port;
 
-       for (port = PORT_A; port < I915_MAX_PORTS; port++) {
+       for_each_port(port) {
                info = &i915->vbt.ddi_port_info[port];
 
                if (info->child && ddc_pin == info->alternate_ddc_pin)
@@ -1297,7 +1297,7 @@ static enum port get_port_by_aux_ch(struct drm_i915_private *i915, u8 aux_ch)
        const struct ddi_vbt_port_info *info;
        enum port port;
 
-       for (port = PORT_A; port < I915_MAX_PORTS; port++) {
+       for_each_port(port) {
                info = &i915->vbt.ddi_port_info[port];
 
                if (info->child && aux_ch == info->alternate_aux_channel)
@@ -1722,7 +1722,7 @@ init_vbt_defaults(struct drm_i915_private *dev_priv)
                        !HAS_PCH_SPLIT(dev_priv));
        DRM_DEBUG_KMS("Set default to SSC at %d kHz\n", dev_priv->vbt.lvds_ssc_freq);
 
-       for (port = PORT_A; port < I915_MAX_PORTS; port++) {
+       for_each_port(port) {
                struct ddi_vbt_port_info *info =
                        &dev_priv->vbt.ddi_port_info[port];
 
@@ -1736,7 +1736,7 @@ init_vbt_missing_defaults(struct drm_i915_private *dev_priv)
 {
        enum port port;
 
-       for (port = PORT_A; port < I915_MAX_PORTS; port++) {
+       for_each_port(port) {
                struct ddi_vbt_port_info *info =
                        &dev_priv->vbt.ddi_port_info[port];
                enum phy phy = intel_port_to_phy(dev_priv, port);
index 476bc71e6a83deb18707ca5f49db5cfdf7ccd129..39796614756173c63a33955f69f85a3e7ce22a25 100644 (file)
@@ -333,8 +333,11 @@ enum phy_fia {
             (__s) < RUNTIME_INFO(__dev_priv)->num_sprites[(__p)];      \
             (__s)++)
 
-#define for_each_port_masked(__port, __ports_mask) \
-       for ((__port) = PORT_A; (__port) < I915_MAX_PORTS; (__port)++)  \
+#define for_each_port(__port) \
+       for ((__port) = PORT_A; (__port) < I915_MAX_PORTS; (__port)++)
+
+#define for_each_port_masked(__port, __ports_mask)                     \
+       for_each_port(__port)                                           \
                for_each_if((__ports_mask) & BIT(__port))
 
 #define for_each_phy_masked(__phy, __phys_mask) \