]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/i915/switcheroo: pass display to HAS_DISPLAY()
authorJani Nikula <jani.nikula@intel.com>
Wed, 6 Aug 2025 16:55:11 +0000 (19:55 +0300)
committerJani Nikula <jani.nikula@intel.com>
Thu, 14 Aug 2025 10:12:23 +0000 (13:12 +0300)
Underneath, HAS_DISPLAY() really expects a struct intel_display. Switch
to it in preparation for removing the transitional __to_intel_display()
macro.

Reviewed-by: Gustavo Sousa <gustavo.sousa@intel.com>
Link: https://lore.kernel.org/r/c9828991eb8870c45271141bf0912880a3a65c44.1754499175.git.jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/i915_switcheroo.c

index 4c02a04be681796912dd713ce3d1c7ec3bdb722f..231d274977069d28777bd348324bf2bef9cd4172 100644 (file)
@@ -15,13 +15,14 @@ static void i915_switcheroo_set_state(struct pci_dev *pdev,
                                      enum vga_switcheroo_state state)
 {
        struct drm_i915_private *i915 = pdev_to_i915(pdev);
+       struct intel_display *display = i915->display;
        pm_message_t pmm = { .event = PM_EVENT_SUSPEND };
 
        if (!i915) {
                dev_err(&pdev->dev, "DRM not initialized, aborting switch.\n");
                return;
        }
-       if (!HAS_DISPLAY(i915)) {
+       if (!HAS_DISPLAY(display)) {
                dev_err(&pdev->dev, "Device state not initialized, aborting switch.\n");
                return;
        }
@@ -44,13 +45,14 @@ static void i915_switcheroo_set_state(struct pci_dev *pdev,
 static bool i915_switcheroo_can_switch(struct pci_dev *pdev)
 {
        struct drm_i915_private *i915 = pdev_to_i915(pdev);
+       struct intel_display *display = i915->display;
 
        /*
         * FIXME: open_count is protected by drm_global_mutex but that would lead to
         * locking inversion with the driver load path. And the access here is
         * completely racy anyway. So don't bother with locking for now.
         */
-       return i915 && HAS_DISPLAY(i915) && atomic_read(&i915->drm.open_count) == 0;
+       return i915 && HAS_DISPLAY(display) && atomic_read(&i915->drm.open_count) == 0;
 }
 
 static const struct vga_switcheroo_client_ops i915_switcheroo_ops = {