diff mbox series

[2/2] drm/i915/display: Make POWER_DOMAIN_*() always result in enum intel_display_power_domain

Message ID 20250212132658.323640-3-gustavo.sousa@intel.com (mailing list archive)
State New
Headers show
Series Improve type-safety on POWER_DOMAIN_*() macros | expand

Commit Message

Gustavo Sousa Feb. 12, 2025, 1:26 p.m. UTC
In the hope of contributing to type safety in our code, let's ensure
that the type returned by the POWER_DOMAIN_*() macros is always of type
enum intel_display_power_domain.

Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
---
 drivers/gpu/drm/i915/display/intel_display_power.h | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

Comments

Jani Nikula Feb. 12, 2025, 5:11 p.m. UTC | #1
On Wed, 12 Feb 2025, Gustavo Sousa <gustavo.sousa@intel.com> wrote:
> In the hope of contributing to type safety in our code, let's ensure
> that the type returned by the POWER_DOMAIN_*() macros is always of type
> enum intel_display_power_domain.
>
> Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_display_power.h | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_power.h b/drivers/gpu/drm/i915/display/intel_display_power.h
> index 3caa3f517a32..ab4c9a1e7e02 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_power.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_power.h
> @@ -117,12 +117,13 @@ enum intel_display_power_domain {
>  	POWER_DOMAIN_INVALID = POWER_DOMAIN_NUM,
>  };
>  
> -#define POWER_DOMAIN_PIPE(pipe) ((int)(pipe) + POWER_DOMAIN_PIPE_A)
> +#define POWER_DOMAIN_PIPE(pipe) \
> +	((enum intel_display_power_domain)((int)(pipe) +  1 + POWER_DOMAIN_PIPE_A))
                                                        ^^^^^^^

What's with the +1?


>  #define POWER_DOMAIN_PIPE_PANEL_FITTER(pipe) \
> -		((int)(pipe) + POWER_DOMAIN_PIPE_PANEL_FITTER_A)
> +	((enum intel_display_power_domain)((int)(pipe) + POWER_DOMAIN_PIPE_PANEL_FITTER_A))
>  #define POWER_DOMAIN_TRANSCODER(tran) \
>  	((tran) == TRANSCODER_EDP ? POWER_DOMAIN_TRANSCODER_EDP : \
> -	 (int)(tran) + POWER_DOMAIN_TRANSCODER_A)
> +	 (enum intel_display_power_domain)((int)(tran) + POWER_DOMAIN_TRANSCODER_A))
>  
>  struct intel_power_domain_mask {
>  	DECLARE_BITMAP(bits, POWER_DOMAIN_NUM);
Gustavo Sousa Feb. 12, 2025, 5:18 p.m. UTC | #2
Quoting Jani Nikula (2025-02-12 14:11:29-03:00)
>On Wed, 12 Feb 2025, Gustavo Sousa <gustavo.sousa@intel.com> wrote:
>> In the hope of contributing to type safety in our code, let's ensure
>> that the type returned by the POWER_DOMAIN_*() macros is always of type
>> enum intel_display_power_domain.
>>
>> Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
>> ---
>>  drivers/gpu/drm/i915/display/intel_display_power.h | 7 ++++---
>>  1 file changed, 4 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/display/intel_display_power.h b/drivers/gpu/drm/i915/display/intel_display_power.h
>> index 3caa3f517a32..ab4c9a1e7e02 100644
>> --- a/drivers/gpu/drm/i915/display/intel_display_power.h
>> +++ b/drivers/gpu/drm/i915/display/intel_display_power.h
>> @@ -117,12 +117,13 @@ enum intel_display_power_domain {
>>          POWER_DOMAIN_INVALID = POWER_DOMAIN_NUM,
>>  };
>>  
>> -#define POWER_DOMAIN_PIPE(pipe) ((int)(pipe) + POWER_DOMAIN_PIPE_A)
>> +#define POWER_DOMAIN_PIPE(pipe) \
>> +        ((enum intel_display_power_domain)((int)(pipe) +  1 + POWER_DOMAIN_PIPE_A))
>                                                        ^^^^^^^
>
>What's with the +1?

Ughh... That's an ugly left over of something I was checking before.

Sorry about that!

--
Gustavo Sousa

>
>
>>  #define POWER_DOMAIN_PIPE_PANEL_FITTER(pipe) \
>> -                ((int)(pipe) + POWER_DOMAIN_PIPE_PANEL_FITTER_A)
>> +        ((enum intel_display_power_domain)((int)(pipe) + POWER_DOMAIN_PIPE_PANEL_FITTER_A))
>>  #define POWER_DOMAIN_TRANSCODER(tran) \
>>          ((tran) == TRANSCODER_EDP ? POWER_DOMAIN_TRANSCODER_EDP : \
>> -         (int)(tran) + POWER_DOMAIN_TRANSCODER_A)
>> +         (enum intel_display_power_domain)((int)(tran) + POWER_DOMAIN_TRANSCODER_A))
>>  
>>  struct intel_power_domain_mask {
>>          DECLARE_BITMAP(bits, POWER_DOMAIN_NUM);
>
>-- 
>Jani Nikula, Intel
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/display/intel_display_power.h b/drivers/gpu/drm/i915/display/intel_display_power.h
index 3caa3f517a32..ab4c9a1e7e02 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power.h
+++ b/drivers/gpu/drm/i915/display/intel_display_power.h
@@ -117,12 +117,13 @@  enum intel_display_power_domain {
 	POWER_DOMAIN_INVALID = POWER_DOMAIN_NUM,
 };
 
-#define POWER_DOMAIN_PIPE(pipe) ((int)(pipe) + POWER_DOMAIN_PIPE_A)
+#define POWER_DOMAIN_PIPE(pipe) \
+	((enum intel_display_power_domain)((int)(pipe) +  1 + POWER_DOMAIN_PIPE_A))
 #define POWER_DOMAIN_PIPE_PANEL_FITTER(pipe) \
-		((int)(pipe) + POWER_DOMAIN_PIPE_PANEL_FITTER_A)
+	((enum intel_display_power_domain)((int)(pipe) + POWER_DOMAIN_PIPE_PANEL_FITTER_A))
 #define POWER_DOMAIN_TRANSCODER(tran) \
 	((tran) == TRANSCODER_EDP ? POWER_DOMAIN_TRANSCODER_EDP : \
-	 (int)(tran) + POWER_DOMAIN_TRANSCODER_A)
+	 (enum intel_display_power_domain)((int)(tran) + POWER_DOMAIN_TRANSCODER_A))
 
 struct intel_power_domain_mask {
 	DECLARE_BITMAP(bits, POWER_DOMAIN_NUM);