Re: [PATCH] drm/i915: add for_each_port() and use it

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxx>

Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>

> ---
>  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@xxxxxxxxxxxxxxxxxxxxx
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Ville Syrjälä
Intel
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux