]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/i915: use NULL for zero wakeref_t instead of plain integer 0
authorJani Nikula <jani.nikula@intel.com>
Wed, 2 Oct 2024 18:16:55 +0000 (21:16 +0300)
committerJani Nikula <jani.nikula@intel.com>
Fri, 4 Oct 2024 07:29:24 +0000 (10:29 +0300)
As of commit 2edc6a75f26c ("drm/i915: switch intel_wakeref_t underlying
type to struct ref_tracker *") we gained quite a few sparse warnings
about "Using plain integer as NULL pointer" for using 0 to initialize
wakeref_t. Switch to NULL everywhere.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Chaitanya Kumar Borah <chaitanya.kumar.borah@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241002181655.582597-1-jani.nikula@intel.com
15 files changed:
drivers/gpu/drm/i915/display/intel_display.c
drivers/gpu/drm/i915/display/intel_display_power.c
drivers/gpu/drm/i915/display/intel_display_power.h
drivers/gpu/drm/i915/display/intel_pps.c
drivers/gpu/drm/i915/gem/i915_gem_shrinker.c
drivers/gpu/drm/i915/gem/i915_gem_ttm.c
drivers/gpu/drm/i915/gt/intel_breadcrumbs.c
drivers/gpu/drm/i915/gt/intel_gt_pm.h
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
drivers/gpu/drm/i915/i915_vma.c
drivers/gpu/drm/i915/intel_runtime_pm.c
drivers/gpu/drm/i915/intel_runtime_pm.h
drivers/gpu/drm/i915/intel_wakeref.c
drivers/gpu/drm/i915/pxp/intel_pxp.c
drivers/gpu/drm/xe/compat-i915-headers/intel_runtime_pm.h

index f2b3b73c5432e3806fadf257f04701b6e122023f..2b36ae6444d96271d65acfbcc5247dbe13eb8b79 100644 (file)
@@ -7694,7 +7694,7 @@ static void intel_atomic_commit_tail(struct intel_atomic_state *state)
        struct intel_crtc_state *new_crtc_state, *old_crtc_state;
        struct intel_crtc *crtc;
        struct intel_power_domain_mask put_domains[I915_MAX_PIPES] = {};
-       intel_wakeref_t wakeref = 0;
+       intel_wakeref_t wakeref = NULL;
        int i;
 
        for_each_new_intel_crtc_in_state(state, crtc, new_crtc_state, i)
index 7b16ba1a822642060c9bfc37005a48c01745668d..c2bc80f5bf6b6ddab7550805315a7b5011c7772e 100644 (file)
@@ -545,7 +545,7 @@ intel_display_power_get_if_enabled(struct drm_i915_private *dev_priv,
 
        wakeref = intel_runtime_pm_get_if_in_use(&dev_priv->runtime_pm);
        if (!wakeref)
-               return 0;
+               return NULL;
 
        mutex_lock(&power_domains->lock);
 
@@ -560,7 +560,7 @@ intel_display_power_get_if_enabled(struct drm_i915_private *dev_priv,
 
        if (!is_enabled) {
                intel_runtime_pm_put(&dev_priv->runtime_pm, wakeref);
-               wakeref = 0;
+               wakeref = NULL;
        }
 
        return wakeref;
@@ -648,7 +648,7 @@ intel_display_power_put_async_work(struct work_struct *work)
        struct i915_power_domains *power_domains = &dev_priv->display.power.domains;
        struct intel_runtime_pm *rpm = &dev_priv->runtime_pm;
        intel_wakeref_t new_work_wakeref = intel_runtime_pm_get_raw(rpm);
-       intel_wakeref_t old_work_wakeref = 0;
+       intel_wakeref_t old_work_wakeref = NULL;
 
        mutex_lock(&power_domains->lock);
 
index 3b7c1a0bb1decbabb7907589ab65c01cbe3a96d9..3f8f84df47334b3dd1e4a5fcaf9841946497e9dc 100644 (file)
@@ -297,10 +297,10 @@ void gen9_dbuf_slices_update(struct drm_i915_private *dev_priv,
 
 #define with_intel_display_power(i915, domain, wf) \
        for ((wf) = intel_display_power_get((i915), (domain)); (wf); \
-            intel_display_power_put_async((i915), (domain), (wf)), (wf) = 0)
+            intel_display_power_put_async((i915), (domain), (wf)), (wf) = NULL)
 
 #define with_intel_display_power_if_enabled(i915, domain, wf) \
        for ((wf) = intel_display_power_get_if_enabled((i915), (domain)); (wf); \
-            intel_display_power_put_async((i915), (domain), (wf)), (wf) = 0)
+            intel_display_power_put_async((i915), (domain), (wf)), (wf) = NULL)
 
 #endif /* __INTEL_DISPLAY_POWER_H__ */
index 88abc4c7cda16c3707286dad451ac6381a8aa7ca..ffeee9daa56891b05b7b470ba75100f22200dbdd 100644 (file)
@@ -87,7 +87,7 @@ intel_wakeref_t intel_pps_unlock(struct intel_dp *intel_dp,
        mutex_unlock(&display->pps.mutex);
        intel_display_power_put(dev_priv, POWER_DOMAIN_DISPLAY_CORE, wakeref);
 
-       return 0;
+       return NULL;
 }
 
 static void
index d166052eb2ce3f2b0471cec3135ef3bcda2b7aee..9117e94228440b1f83312f7c527694eb0dbeb743 100644 (file)
@@ -117,7 +117,7 @@ i915_gem_shrink(struct i915_gem_ww_ctx *ww,
                },
                { NULL, 0 },
        }, *phase;
-       intel_wakeref_t wakeref = 0;
+       intel_wakeref_t wakeref = NULL;
        unsigned long count = 0;
        unsigned long scanned = 0;
        int err = 0, i = 0;
index b22e2019768f047bee965a4570f3b8aea712f318..abb82be0d0aa3714a2c64b53283046d4387b0ac2 100644 (file)
@@ -1038,7 +1038,7 @@ static vm_fault_t vm_fault_ttm(struct vm_fault *vmf)
        struct ttm_buffer_object *bo = area->vm_private_data;
        struct drm_device *dev = bo->base.dev;
        struct drm_i915_gem_object *obj = i915_ttm_to_gem(bo);
-       intel_wakeref_t wakeref = 0;
+       intel_wakeref_t wakeref = NULL;
        vm_fault_t ret;
        int idx;
 
@@ -1195,7 +1195,7 @@ static u64 i915_ttm_mmap_offset(struct drm_i915_gem_object *obj)
 static void i915_ttm_unmap_virtual(struct drm_i915_gem_object *obj)
 {
        struct ttm_buffer_object *bo = i915_gem_to_ttm(obj);
-       intel_wakeref_t wakeref = 0;
+       intel_wakeref_t wakeref = NULL;
 
        assert_object_held_shared(obj);
 
index 20b9b04ec1e0bf1e8152b9f546a857632ec66381..cc866773ba6f566b7c36dbcd7fd569bb5c791a5f 100644 (file)
@@ -70,7 +70,7 @@ static void __intel_breadcrumbs_disarm_irq(struct intel_breadcrumbs *b)
        if (!--b->irq_enabled)
                b->irq_disable(b);
 
-       WRITE_ONCE(b->irq_armed, 0);
+       WRITE_ONCE(b->irq_armed, NULL);
        intel_gt_pm_put_async(b->irq_engine->gt, wakeref);
 }
 
index dcbfc09194b7816bd97a056ef154cd3b9bae117a..6f25c747bc29b1c4be0760859fb83f6610d6f615 100644 (file)
@@ -35,7 +35,7 @@ static inline void __intel_gt_pm_get(struct intel_gt *gt)
 static inline intel_wakeref_t intel_gt_pm_get_if_awake(struct intel_gt *gt)
 {
        if (!intel_wakeref_get_if_active(&gt->wakeref))
-               return 0;
+               return NULL;
 
        return intel_wakeref_track(&gt->wakeref);
 }
@@ -73,7 +73,7 @@ static inline void intel_gt_pm_put_async(struct intel_gt *gt, intel_wakeref_t ha
 }
 
 #define with_intel_gt_pm(gt, wf) \
-       for (wf = intel_gt_pm_get(gt); wf; intel_gt_pm_put(gt, wf), wf = 0)
+       for ((wf) = intel_gt_pm_get(gt); (wf); intel_gt_pm_put((gt), (wf)), (wf) = NULL)
 
 /**
  * with_intel_gt_pm_if_awake - if GT is PM awake, get a reference to prevent
@@ -84,7 +84,7 @@ static inline void intel_gt_pm_put_async(struct intel_gt *gt, intel_wakeref_t ha
  * @wf: pointer to a temporary wakeref.
  */
 #define with_intel_gt_pm_if_awake(gt, wf) \
-       for (wf = intel_gt_pm_get_if_awake(gt); wf; intel_gt_pm_put_async(gt, wf), wf = 0)
+       for ((wf) = intel_gt_pm_get_if_awake(gt); (wf); intel_gt_pm_put_async((gt), (wf)), (wf) = NULL)
 
 static inline int intel_gt_pm_wait_for_idle(struct intel_gt *gt)
 {
index ed979847187f5322cea11f1bdce9371086d92c03..9ede6f240d7936e48853e8a59db69be23a9b745a 100644 (file)
@@ -1339,7 +1339,7 @@ static ktime_t guc_engine_busyness(struct intel_engine_cs *engine, ktime_t *now)
         * start_gt_clk is derived from GuC state. To get a consistent
         * view of activity, we query the GuC state only if gt is awake.
         */
-       wakeref = in_reset ? 0 : intel_gt_pm_get_if_awake(gt);
+       wakeref = in_reset ? NULL : intel_gt_pm_get_if_awake(gt);
        if (wakeref) {
                stats_saved = *stats;
                gt_stamp_saved = guc->timestamp.gt_stamp;
index d2f064d2525cc310e3c15b757e3f3f69de412328..776f8cc51b2fc0d9cd9242a60d746f902e62c0d5 100644 (file)
@@ -2157,7 +2157,7 @@ static struct dma_fence *__i915_vma_unbind_async(struct i915_vma *vma)
 int i915_vma_unbind(struct i915_vma *vma)
 {
        struct i915_address_space *vm = vma->vm;
-       intel_wakeref_t wakeref = 0;
+       intel_wakeref_t wakeref = NULL;
        int err;
 
        assert_object_held_shared(vma->obj);
@@ -2196,7 +2196,7 @@ int i915_vma_unbind_async(struct i915_vma *vma, bool trylock_vm)
 {
        struct drm_i915_gem_object *obj = vma->obj;
        struct i915_address_space *vm = vma->vm;
-       intel_wakeref_t wakeref = 0;
+       intel_wakeref_t wakeref = NULL;
        struct dma_fence *fence;
        int err;
 
index a21f5a1c89bc5d816830c84cce815f78bad7e3d6..1a47ecfd3fd875eac03629dba5aba95cbc5f773c 100644 (file)
@@ -250,7 +250,7 @@ static intel_wakeref_t __intel_runtime_pm_get_if_active(struct intel_runtime_pm
                     pm_runtime_get_if_active(rpm->kdev) <= 0) ||
                    (!ignore_usecount &&
                     pm_runtime_get_if_in_use(rpm->kdev) <= 0))
-                       return 0;
+                       return NULL;
        }
 
        intel_runtime_pm_acquire(rpm, true);
index 796a2dcb307e840c336ad265ae57ca51c5d41c42..126f8320f86ebf98a97fce076e14a8951b4c92f1 100644 (file)
@@ -188,15 +188,15 @@ intel_wakeref_t intel_runtime_pm_get_raw(struct intel_runtime_pm *rpm);
 
 #define with_intel_runtime_pm(rpm, wf) \
        for ((wf) = intel_runtime_pm_get(rpm); (wf); \
-            intel_runtime_pm_put((rpm), (wf)), (wf) = 0)
+            intel_runtime_pm_put((rpm), (wf)), (wf) = NULL)
 
 #define with_intel_runtime_pm_if_in_use(rpm, wf) \
        for ((wf) = intel_runtime_pm_get_if_in_use(rpm); (wf); \
-            intel_runtime_pm_put((rpm), (wf)), (wf) = 0)
+            intel_runtime_pm_put((rpm), (wf)), (wf) = NULL)
 
 #define with_intel_runtime_pm_if_active(rpm, wf) \
        for ((wf) = intel_runtime_pm_get_if_active(rpm); (wf); \
-            intel_runtime_pm_put((rpm), (wf)), (wf) = 0)
+            intel_runtime_pm_put((rpm), (wf)), (wf) = NULL)
 
 void intel_runtime_pm_put_unchecked(struct intel_runtime_pm *rpm);
 #if IS_ENABLED(CONFIG_DRM_I915_DEBUG_RUNTIME_PM)
index dea2f63184f893cfabf454300a79971b8bfb4cee..87f2460473127af65a9a793c7f1934fafe41e79e 100644 (file)
@@ -27,11 +27,11 @@ int __intel_wakeref_get_first(struct intel_wakeref *wf)
        if (!atomic_read(&wf->count)) {
                INTEL_WAKEREF_BUG_ON(wf->wakeref);
                wf->wakeref = wakeref;
-               wakeref = 0;
+               wakeref = NULL;
 
                ret = wf->ops->get(wf);
                if (ret) {
-                       wakeref = xchg(&wf->wakeref, 0);
+                       wakeref = xchg(&wf->wakeref, NULL);
                        wake_up_var(&wf->wakeref);
                        goto unlock;
                }
@@ -52,7 +52,7 @@ unlock:
 
 static void ____intel_wakeref_put_last(struct intel_wakeref *wf)
 {
-       intel_wakeref_t wakeref = 0;
+       intel_wakeref_t wakeref = NULL;
 
        INTEL_WAKEREF_BUG_ON(atomic_read(&wf->count) <= 0);
        if (unlikely(!atomic_dec_and_test(&wf->count)))
@@ -61,7 +61,7 @@ static void ____intel_wakeref_put_last(struct intel_wakeref *wf)
        /* ops->put() must reschedule its own release on error/deferral */
        if (likely(!wf->ops->put(wf))) {
                INTEL_WAKEREF_BUG_ON(!wf->wakeref);
-               wakeref = xchg(&wf->wakeref, 0);
+               wakeref = xchg(&wf->wakeref, NULL);
                wake_up_var(&wf->wakeref);
        }
 
@@ -107,7 +107,7 @@ void __intel_wakeref_init(struct intel_wakeref *wf,
 
        __mutex_init(&wf->mutex, "wakeref.mutex", &key->mutex);
        atomic_set(&wf->count, 0);
-       wf->wakeref = 0;
+       wf->wakeref = NULL;
 
        INIT_DELAYED_WORK(&wf->work, __intel_wakeref_put_work);
        lockdep_init_map(&wf->work.work.lockdep_map,
@@ -142,7 +142,7 @@ static void wakeref_auto_timeout(struct timer_list *t)
        if (!refcount_dec_and_lock_irqsave(&wf->count, &wf->lock, &flags))
                return;
 
-       wakeref = fetch_and_zero(&wf->wakeref);
+       wakeref = xchg(&wf->wakeref, NULL);
        spin_unlock_irqrestore(&wf->lock, flags);
 
        intel_runtime_pm_put(&wf->i915->runtime_pm, wakeref);
@@ -154,7 +154,7 @@ void intel_wakeref_auto_init(struct intel_wakeref_auto *wf,
        spin_lock_init(&wf->lock);
        timer_setup(&wf->timer, wakeref_auto_timeout, 0);
        refcount_set(&wf->count, 0);
-       wf->wakeref = 0;
+       wf->wakeref = NULL;
        wf->i915 = i915;
 }
 
index 3a40e4ece92573bfc70f41e897238724b868cc3f..da3577149769901b01138cd9af038a8111f90a93 100644 (file)
@@ -531,7 +531,7 @@ void intel_pxp_invalidate(struct intel_pxp *pxp)
                if (ctx->pxp_wakeref) {
                        intel_runtime_pm_put(&i915->runtime_pm,
                                             ctx->pxp_wakeref);
-                       ctx->pxp_wakeref = 0;
+                       ctx->pxp_wakeref = NULL;
                }
 
                spin_lock_irq(&i915->gem.contexts.lock);
index 380d25428bdb3cbfded430e6d5efa8d4ba5d7d20..cba587ceba1b6262c45bb51cfdadb292ff2b05ab 100644 (file)
@@ -24,14 +24,14 @@ static inline intel_wakeref_t intel_runtime_pm_get(struct xe_runtime_pm *pm)
 {
        struct xe_device *xe = container_of(pm, struct xe_device, runtime_pm);
 
-       return xe_pm_runtime_resume_and_get(xe) ? INTEL_WAKEREF_DEF : 0;
+       return xe_pm_runtime_resume_and_get(xe) ? INTEL_WAKEREF_DEF : NULL;
 }
 
 static inline intel_wakeref_t intel_runtime_pm_get_if_in_use(struct xe_runtime_pm *pm)
 {
        struct xe_device *xe = container_of(pm, struct xe_device, runtime_pm);
 
-       return xe_pm_runtime_get_if_in_use(xe) ? INTEL_WAKEREF_DEF : 0;
+       return xe_pm_runtime_get_if_in_use(xe) ? INTEL_WAKEREF_DEF : NULL;
 }
 
 static inline intel_wakeref_t intel_runtime_pm_get_noresume(struct xe_runtime_pm *pm)
@@ -63,6 +63,6 @@ static inline void intel_runtime_pm_put(struct xe_runtime_pm *pm, intel_wakeref_
 
 #define with_intel_runtime_pm(rpm, wf) \
        for ((wf) = intel_runtime_pm_get(rpm); (wf); \
-            intel_runtime_pm_put((rpm), (wf)), (wf) = 0)
+            intel_runtime_pm_put((rpm), (wf)), (wf) = NULL)
 
 #endif