[Intel-gfx] [PATCH] drm/i915: add for_each_port() and use it
Ville Syrjälä
ville.syrjala at linux.intel.com
Fri Nov 1 14:10:32 UTC 2019
On Fri, Nov 01, 2019 at 03:43:33PM +0200, Jani Nikula wrote:
> Add another for_each style macro to the pile of custom looping macros.
>
> Signed-off-by: Jani Nikula <jani.nikula at intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_bios.c | 8 ++++----
> drivers/gpu/drm/i915/display/intel_display.h | 7 +++++--
> 2 files changed, 9 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
> index 63c1bd4c2954..a03f56b7b4ef 100644
> --- a/drivers/gpu/drm/i915/display/intel_bios.c
> +++ b/drivers/gpu/drm/i915/display/intel_bios.c
> @@ -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);
> diff --git a/drivers/gpu/drm/i915/display/intel_display.h b/drivers/gpu/drm/i915/display/intel_display.h
> index 355c50088589..4522ef167a91 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.h
> +++ b/drivers/gpu/drm/i915/display/intel_display.h
> @@ -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) \
> --
> 2.20.1
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Ville Syrjälä
Intel
More information about the Intel-gfx
mailing list