diff mbox series

[14/39] drm/i915: Add for_each_new_intel_connector_in_state()

Message ID 20190816080503.28594-15-lucas.demarchi@intel.com (mailing list archive)
State New, archived
Headers show
Series Tiger Lake batch 3 | expand

Commit Message

Lucas De Marchi Aug. 16, 2019, 8:04 a.m. UTC
From: José Roberto de Souza <jose.souza@intel.com>

The same macro as for_each_new_connector_in_state() but it uses
intel/i915 types instead of the drm ones.

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
---
 drivers/gpu/drm/i915/display/intel_display.h | 8 ++++++++
 1 file changed, 8 insertions(+)

Comments

Maarten Lankhorst Aug. 22, 2019, 12:55 p.m. UTC | #1
Op 16-08-2019 om 10:04 schreef Lucas De Marchi:
> From: José Roberto de Souza <jose.souza@intel.com>
>
> The same macro as for_each_new_connector_in_state() but it uses
> intel/i915 types instead of the drm ones.
>
> Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_display.h | 8 ++++++++
>  1 file changed, 8 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display.h b/drivers/gpu/drm/i915/display/intel_display.h
> index e57e6969051d..fd3043e77b50 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.h
> +++ b/drivers/gpu/drm/i915/display/intel_display.h
> @@ -411,6 +411,14 @@ enum phy_fia {
>  	     (__i)++) \
>  		for_each_if(crtc)
>  
> +#define for_each_new_intel_connector_in_state(__state, connector, new_connector_state, __i) \
> +	for ((__i) = 0; \
> +	     (__i) < (__state)->base.num_connector; \
> +	     (__i)++) \
> +		for_each_if ((__state)->base.connectors[__i].ptr && \
> +			     ((connector) = to_intel_connector((__state)->base.connectors[__i].ptr), \
> +			     (new_connector_state) = to_intel_digital_connector_state((__state)->base.connectors[__i].new_state), 1))
> +
>  void intel_link_compute_m_n(u16 bpp, int nlanes,
>  			    int pixel_clock, int link_clock,
>  			    struct intel_link_m_n *m_n,

Hey,

This is slightly invalid, as intel_tv_connector_state doesn't subclass intel_digital_connector_state, it subclasses drm_connector_state directly.

I would at least fix intel_tv.c to take a intel_digital_connector_state as base class.

With that patch as prerequisite:

Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/display/intel_display.h b/drivers/gpu/drm/i915/display/intel_display.h
index e57e6969051d..fd3043e77b50 100644
--- a/drivers/gpu/drm/i915/display/intel_display.h
+++ b/drivers/gpu/drm/i915/display/intel_display.h
@@ -411,6 +411,14 @@  enum phy_fia {
 	     (__i)++) \
 		for_each_if(crtc)
 
+#define for_each_new_intel_connector_in_state(__state, connector, new_connector_state, __i) \
+	for ((__i) = 0; \
+	     (__i) < (__state)->base.num_connector; \
+	     (__i)++) \
+		for_each_if ((__state)->base.connectors[__i].ptr && \
+			     ((connector) = to_intel_connector((__state)->base.connectors[__i].ptr), \
+			     (new_connector_state) = to_intel_digital_connector_state((__state)->base.connectors[__i].new_state), 1))
+
 void intel_link_compute_m_n(u16 bpp, int nlanes,
 			    int pixel_clock, int link_clock,
 			    struct intel_link_m_n *m_n,