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 |
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);
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 --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);
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(-)