drm/i915: Assert that device info bitmasks have enough bits
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 16 Jun 2023 14:08:16 +0000 (17:08 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 20 Jun 2023 16:07:41 +0000 (19:07 +0300)
Sprinkle in some BUILD_BUG_ON()s to make sure some of
the bitmasks used in the device info have enough bits.

Do we have a better place for this sort of stuff?

v2: Relocate to the new place

Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230616140820.11726-4-ville.syrjala@linux.intel.com
drivers/gpu/drm/i915/display/intel_display_device.c

index b2f6f05..f87470d 100644 (file)
@@ -858,6 +858,10 @@ void intel_display_device_info_runtime_init(struct drm_i915_private *i915)
        struct intel_display_runtime_info *display_runtime = DISPLAY_RUNTIME_INFO(i915);
        enum pipe pipe;
 
+       BUILD_BUG_ON(BITS_PER_TYPE(display_runtime->pipe_mask) < I915_MAX_PIPES);
+       BUILD_BUG_ON(BITS_PER_TYPE(display_runtime->cpu_transcoder_mask) < I915_MAX_TRANSCODERS);
+       BUILD_BUG_ON(BITS_PER_TYPE(display_runtime->port_mask) < I915_MAX_PORTS);
+
        /* Wa_14011765242: adl-s A0,A1 */
        if (IS_ADLS_DISPLAY_STEP(i915, STEP_A0, STEP_A2))
                for_each_pipe(i915, pipe)