]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/i915/audio: be explicit about intel_wakeref_t conversions
authorJani Nikula <jani.nikula@intel.com>
Wed, 18 Sep 2024 17:35:47 +0000 (20:35 +0300)
committerJani Nikula <jani.nikula@intel.com>
Mon, 30 Sep 2024 14:54:12 +0000 (17:54 +0300)
Use explicit casts to convert between intel_wakeref_t and unsigned long,
to not rely on intel_wakeref_t underlying type remaining unsigned long,
allowing us to change it as needed. (And yes, this is indeed preparation
for changing the typedef for intel_wakeref_t.)

Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/9d2a2c2399e70f36e0d68d88136ac688f02988fe.1726680898.git.jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/display/intel_audio.c

index f5e7eefab2f160f8dc7965e55cff0ad0c85c0f6f..32aa9ec1a204d2ecde46cad36598aa768a3af671 100644 (file)
@@ -982,12 +982,12 @@ static unsigned long i915_audio_component_get_power(struct device *kdev)
 {
        struct intel_display *display = to_intel_display(kdev);
        struct drm_i915_private *i915 = to_i915(display->drm);
-       intel_wakeref_t ret;
+       intel_wakeref_t wakeref;
 
        /* Catch potential impedance mismatches before they occur! */
        BUILD_BUG_ON(sizeof(intel_wakeref_t) > sizeof(unsigned long));
 
-       ret = intel_display_power_get(i915, POWER_DOMAIN_AUDIO_PLAYBACK);
+       wakeref = intel_display_power_get(i915, POWER_DOMAIN_AUDIO_PLAYBACK);
 
        if (i915->display.audio.power_refcount++ == 0) {
                if (DISPLAY_VER(i915) >= 9) {
@@ -1007,7 +1007,7 @@ static unsigned long i915_audio_component_get_power(struct device *kdev)
                                     0, AUD_PIN_BUF_ENABLE);
        }
 
-       return ret;
+       return (unsigned long)wakeref;
 }
 
 static void i915_audio_component_put_power(struct device *kdev,
@@ -1015,13 +1015,14 @@ static void i915_audio_component_put_power(struct device *kdev,
 {
        struct intel_display *display = to_intel_display(kdev);
        struct drm_i915_private *i915 = to_i915(display->drm);
+       intel_wakeref_t wakeref = (intel_wakeref_t)cookie;
 
        /* Stop forcing CDCLK to 2*BCLK if no need for audio to be powered. */
        if (--i915->display.audio.power_refcount == 0)
                if (IS_GEMINILAKE(i915))
                        glk_force_audio_cdclk(i915, false);
 
-       intel_display_power_put(i915, POWER_DOMAIN_AUDIO_PLAYBACK, cookie);
+       intel_display_power_put(i915, POWER_DOMAIN_AUDIO_PLAYBACK, wakeref);
 }
 
 static void i915_audio_component_codec_wake_override(struct device *kdev,