]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
drm/nouveau: replace drm_device* with nouveau_drm* as dev drvdata
authorBen Skeggs <bskeggs@nvidia.com>
Fri, 26 Jul 2024 04:37:54 +0000 (14:37 +1000)
committerDanilo Krummrich <dakr@kernel.org>
Sat, 27 Jul 2024 01:05:19 +0000 (03:05 +0200)
We almost always want to cast the pointer from dev_get_drvdata() to
'struct nouveau_drm *', so just directly store that pointer instead,
simplifying callers, and fixing some clumsy naming of dev/drm_dev
variables at the same time.

Signed-off-by: Ben Skeggs <bskeggs@nvidia.com>
Signed-off-by: Danilo Krummrich <dakr@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20240726043828.58966-4-bskeggs@nvidia.com
drivers/gpu/drm/nouveau/dispnv50/disp.c
drivers/gpu/drm/nouveau/nouveau_display.c
drivers/gpu/drm/nouveau/nouveau_display.h
drivers/gpu/drm/nouveau/nouveau_drm.c
drivers/gpu/drm/nouveau/nouveau_drv.h
drivers/gpu/drm/nouveau/nouveau_platform.c
drivers/gpu/drm/nouveau/nouveau_vga.c

index 6d20d3c68fa7c14eecf6ab8e5dd0c9361224b7cf..58c986528ff692b92560fde6e9e593ebabdcd2bb 100644 (file)
@@ -593,8 +593,7 @@ static int
 nv50_audio_component_get_eld(struct device *kdev, int port, int dev_id,
                             bool *enabled, unsigned char *buf, int max_bytes)
 {
-       struct drm_device *drm_dev = dev_get_drvdata(kdev);
-       struct nouveau_drm *drm = nouveau_drm(drm_dev);
+       struct nouveau_drm *drm = dev_get_drvdata(kdev);
        struct drm_encoder *encoder;
        struct nouveau_encoder *nv_encoder;
        struct nouveau_crtc *nv_crtc;
@@ -639,18 +638,17 @@ static int
 nv50_audio_component_bind(struct device *kdev, struct device *hda_kdev,
                          void *data)
 {
-       struct drm_device *drm_dev = dev_get_drvdata(kdev);
-       struct nouveau_drm *drm = nouveau_drm(drm_dev);
+       struct nouveau_drm *drm = dev_get_drvdata(kdev);
        struct drm_audio_component *acomp = data;
 
        if (WARN_ON(!device_link_add(hda_kdev, kdev, DL_FLAG_STATELESS)))
                return -ENOMEM;
 
-       drm_modeset_lock_all(drm_dev);
+       drm_modeset_lock_all(drm->dev);
        acomp->ops = &nv50_audio_component_ops;
        acomp->dev = kdev;
        drm->audio.component = acomp;
-       drm_modeset_unlock_all(drm_dev);
+       drm_modeset_unlock_all(drm->dev);
        return 0;
 }
 
@@ -658,15 +656,14 @@ static void
 nv50_audio_component_unbind(struct device *kdev, struct device *hda_kdev,
                            void *data)
 {
-       struct drm_device *drm_dev = dev_get_drvdata(kdev);
-       struct nouveau_drm *drm = nouveau_drm(drm_dev);
+       struct nouveau_drm *drm = dev_get_drvdata(kdev);
        struct drm_audio_component *acomp = data;
 
-       drm_modeset_lock_all(drm_dev);
+       drm_modeset_lock_all(drm->dev);
        drm->audio.component = NULL;
        acomp->ops = NULL;
        acomp->dev = NULL;
-       drm_modeset_unlock_all(drm_dev);
+       drm_modeset_unlock_all(drm->dev);
 }
 
 static const struct component_ops nv50_audio_component_bind_ops = {
index aed5d5b51b43d623fd90e9f2cde3925e8d58bad9..fa30c97bcf9080450496b154976caab60004f920 100644 (file)
@@ -446,10 +446,8 @@ static struct nouveau_drm_prop_enum_list dither_depth[] = {
 } while(0)
 
 void
-nouveau_display_hpd_resume(struct drm_device *dev)
+nouveau_display_hpd_resume(struct nouveau_drm *drm)
 {
-       struct nouveau_drm *drm = nouveau_drm(dev);
-
        spin_lock_irq(&drm->hpd_lock);
        drm->hpd_pending = ~0;
        spin_unlock_irq(&drm->hpd_lock);
index 2ab2ddb1eadf7ece96ada2fc0b4971f46efb7100..1f506f8b289c931ee66bfce577781bb41e06c534 100644 (file)
@@ -45,7 +45,7 @@ nouveau_display(struct drm_device *dev)
 int  nouveau_display_create(struct drm_device *dev);
 void nouveau_display_destroy(struct drm_device *dev);
 int  nouveau_display_init(struct drm_device *dev, bool resume, bool runtime);
-void nouveau_display_hpd_resume(struct drm_device *dev);
+void nouveau_display_hpd_resume(struct nouveau_drm *);
 void nouveau_display_fini(struct drm_device *dev, bool suspend, bool runtime);
 int  nouveau_display_suspend(struct drm_device *dev, bool runtime);
 void nouveau_display_resume(struct drm_device *dev, bool runtime);
index 9beff8737617f7703a5d79dd6a69251b7e4f09f7..0687bc59d486f7e70117f37fc709c3e22cfb461f 100644 (file)
@@ -579,10 +579,10 @@ nouveau_parent = {
 };
 
 static void
-nouveau_drm_device_fini(struct drm_device *dev)
+nouveau_drm_device_fini(struct nouveau_drm *drm)
 {
+       struct drm_device *dev = drm->dev;
        struct nouveau_cli *cli, *temp_cli;
-       struct nouveau_drm *drm = nouveau_drm(dev);
 
        if (nouveau_pmops_runtime()) {
                pm_runtime_get_sync(dev->dev);
@@ -707,7 +707,7 @@ nouveau_drm_device_init(struct nouveau_drm *drm)
 
        ret = drm_dev_register(drm->dev, 0);
        if (ret) {
-               nouveau_drm_device_fini(drm->dev);
+               nouveau_drm_device_fini(drm);
                return ret;
        }
 
@@ -758,7 +758,7 @@ nouveau_drm_device_new(const struct drm_driver *drm_driver, struct device *paren
        }
 
        drm->dev->dev_private = drm;
-       dev_set_drvdata(parent, drm->dev);
+       dev_set_drvdata(parent, drm);
 
 done:
        if (ret) {
@@ -811,8 +811,7 @@ done:
 
 static void quirk_broken_nv_runpm(struct pci_dev *pdev)
 {
-       struct drm_device *dev = pci_get_drvdata(pdev);
-       struct nouveau_drm *drm = nouveau_drm(dev);
+       struct nouveau_drm *drm = pci_get_drvdata(pdev);
        struct pci_dev *bridge = pci_upstream_bridge(pdev);
 
        if (!bridge || bridge->vendor != PCI_VENDOR_ID_INTEL)
@@ -894,18 +893,17 @@ fail_nvkm:
 }
 
 void
-nouveau_drm_device_remove(struct drm_device *dev)
+nouveau_drm_device_remove(struct nouveau_drm *drm)
 {
-       struct nouveau_drm *drm = nouveau_drm(dev);
        struct nvkm_client *client;
        struct nvkm_device *device;
 
-       drm_dev_unplug(dev);
+       drm_dev_unplug(drm->dev);
 
        client = nvxx_client(&drm->client.base);
        device = nvkm_device_find(client->device);
 
-       nouveau_drm_device_fini(dev);
+       nouveau_drm_device_fini(drm);
        nouveau_drm_device_del(drm);
        nvkm_device_del(&device);
 }
@@ -913,20 +911,19 @@ nouveau_drm_device_remove(struct drm_device *dev)
 static void
 nouveau_drm_remove(struct pci_dev *pdev)
 {
-       struct drm_device *dev = pci_get_drvdata(pdev);
-       struct nouveau_drm *drm = nouveau_drm(dev);
+       struct nouveau_drm *drm = pci_get_drvdata(pdev);
 
        /* revert our workaround */
        if (drm->old_pm_cap)
                pdev->pm_cap = drm->old_pm_cap;
-       nouveau_drm_device_remove(dev);
+       nouveau_drm_device_remove(drm);
        pci_disable_device(pdev);
 }
 
 static int
-nouveau_do_suspend(struct drm_device *dev, bool runtime)
+nouveau_do_suspend(struct nouveau_drm *drm, bool runtime)
 {
-       struct nouveau_drm *drm = nouveau_drm(dev);
+       struct drm_device *dev = drm->dev;
        struct ttm_resource_manager *man;
        int ret;
 
@@ -987,10 +984,10 @@ fail_display:
 }
 
 static int
-nouveau_do_resume(struct drm_device *dev, bool runtime)
+nouveau_do_resume(struct nouveau_drm *drm, bool runtime)
 {
+       struct drm_device *dev = drm->dev;
        int ret = 0;
-       struct nouveau_drm *drm = nouveau_drm(dev);
 
        NV_DEBUG(drm, "resuming object tree...\n");
        ret = nvif_client_resume(&drm->master.base);
@@ -1020,14 +1017,14 @@ int
 nouveau_pmops_suspend(struct device *dev)
 {
        struct pci_dev *pdev = to_pci_dev(dev);
-       struct drm_device *drm_dev = pci_get_drvdata(pdev);
+       struct nouveau_drm *drm = pci_get_drvdata(pdev);
        int ret;
 
-       if (drm_dev->switch_power_state == DRM_SWITCH_POWER_OFF ||
-           drm_dev->switch_power_state == DRM_SWITCH_POWER_DYNAMIC_OFF)
+       if (drm->dev->switch_power_state == DRM_SWITCH_POWER_OFF ||
+           drm->dev->switch_power_state == DRM_SWITCH_POWER_DYNAMIC_OFF)
                return 0;
 
-       ret = nouveau_do_suspend(drm_dev, false);
+       ret = nouveau_do_suspend(drm, false);
        if (ret)
                return ret;
 
@@ -1042,11 +1039,11 @@ int
 nouveau_pmops_resume(struct device *dev)
 {
        struct pci_dev *pdev = to_pci_dev(dev);
-       struct drm_device *drm_dev = pci_get_drvdata(pdev);
+       struct nouveau_drm *drm = pci_get_drvdata(pdev);
        int ret;
 
-       if (drm_dev->switch_power_state == DRM_SWITCH_POWER_OFF ||
-           drm_dev->switch_power_state == DRM_SWITCH_POWER_DYNAMIC_OFF)
+       if (drm->dev->switch_power_state == DRM_SWITCH_POWER_OFF ||
+           drm->dev->switch_power_state == DRM_SWITCH_POWER_DYNAMIC_OFF)
                return 0;
 
        pci_set_power_state(pdev, PCI_D0);
@@ -1056,10 +1053,10 @@ nouveau_pmops_resume(struct device *dev)
                return ret;
        pci_set_master(pdev);
 
-       ret = nouveau_do_resume(drm_dev, false);
+       ret = nouveau_do_resume(drm, false);
 
        /* Monitors may have been connected / disconnected during suspend */
-       nouveau_display_hpd_resume(drm_dev);
+       nouveau_display_hpd_resume(drm);
 
        return ret;
 }
@@ -1067,17 +1064,17 @@ nouveau_pmops_resume(struct device *dev)
 static int
 nouveau_pmops_freeze(struct device *dev)
 {
-       struct pci_dev *pdev = to_pci_dev(dev);
-       struct drm_device *drm_dev = pci_get_drvdata(pdev);
-       return nouveau_do_suspend(drm_dev, false);
+       struct nouveau_drm *drm = dev_get_drvdata(dev);
+
+       return nouveau_do_suspend(drm, false);
 }
 
 static int
 nouveau_pmops_thaw(struct device *dev)
 {
-       struct pci_dev *pdev = to_pci_dev(dev);
-       struct drm_device *drm_dev = pci_get_drvdata(pdev);
-       return nouveau_do_resume(drm_dev, false);
+       struct nouveau_drm *drm = dev_get_drvdata(dev);
+
+       return nouveau_do_resume(drm, false);
 }
 
 bool
@@ -1092,7 +1089,7 @@ static int
 nouveau_pmops_runtime_suspend(struct device *dev)
 {
        struct pci_dev *pdev = to_pci_dev(dev);
-       struct drm_device *drm_dev = pci_get_drvdata(pdev);
+       struct nouveau_drm *drm = pci_get_drvdata(pdev);
        int ret;
 
        if (!nouveau_pmops_runtime()) {
@@ -1101,12 +1098,12 @@ nouveau_pmops_runtime_suspend(struct device *dev)
        }
 
        nouveau_switcheroo_optimus_dsm();
-       ret = nouveau_do_suspend(drm_dev, true);
+       ret = nouveau_do_suspend(drm, true);
        pci_save_state(pdev);
        pci_disable_device(pdev);
        pci_ignore_hotplug(pdev);
        pci_set_power_state(pdev, PCI_D3cold);
-       drm_dev->switch_power_state = DRM_SWITCH_POWER_DYNAMIC_OFF;
+       drm->dev->switch_power_state = DRM_SWITCH_POWER_DYNAMIC_OFF;
        return ret;
 }
 
@@ -1114,9 +1111,8 @@ static int
 nouveau_pmops_runtime_resume(struct device *dev)
 {
        struct pci_dev *pdev = to_pci_dev(dev);
-       struct drm_device *drm_dev = pci_get_drvdata(pdev);
-       struct nouveau_drm *drm = nouveau_drm(drm_dev);
-       struct nvif_device *device = &nouveau_drm(drm_dev)->client.device;
+       struct nouveau_drm *drm = pci_get_drvdata(pdev);
+       struct nvif_device *device = &drm->client.device;
        int ret;
 
        if (!nouveau_pmops_runtime()) {
@@ -1131,7 +1127,7 @@ nouveau_pmops_runtime_resume(struct device *dev)
                return ret;
        pci_set_master(pdev);
 
-       ret = nouveau_do_resume(drm_dev, true);
+       ret = nouveau_do_resume(drm, true);
        if (ret) {
                NV_ERROR(drm, "resume failed with: %d\n", ret);
                return ret;
@@ -1139,10 +1135,10 @@ nouveau_pmops_runtime_resume(struct device *dev)
 
        /* do magic */
        nvif_mask(&device->object, 0x088488, (1 << 25), (1 << 25));
-       drm_dev->switch_power_state = DRM_SWITCH_POWER_ON;
+       drm->dev->switch_power_state = DRM_SWITCH_POWER_ON;
 
        /* Monitors may have been connected / disconnected during suspend */
-       nouveau_display_hpd_resume(drm_dev);
+       nouveau_display_hpd_resume(drm);
 
        return ret;
 }
index e239c6bf4afa4f75d4ca30c63583af82f2ab9621..7e624c587fc03c679f2e82c8d3f80f4319984025 100644 (file)
@@ -325,7 +325,7 @@ bool nouveau_pmops_runtime(void);
 struct drm_device *
 nouveau_platform_device_create(const struct nvkm_device_tegra_func *,
                               struct platform_device *, struct nvkm_device **);
-void nouveau_drm_device_remove(struct drm_device *dev);
+void nouveau_drm_device_remove(struct nouveau_drm *);
 
 #define NV_PRINTK(l,c,f,a...) do {                                             \
        struct nouveau_cli *_cli = (c);                                        \
index d0a63f0f54a2cdb24735fb0d6cb0fc6ba85d5163..3194b110eff8717e9dfd2921f49453b61f002abe 100644 (file)
@@ -39,8 +39,9 @@ static int nouveau_platform_probe(struct platform_device *pdev)
 
 static void nouveau_platform_remove(struct platform_device *pdev)
 {
-       struct drm_device *dev = platform_get_drvdata(pdev);
-       nouveau_drm_device_remove(dev);
+       struct nouveau_drm *drm = platform_get_drvdata(pdev);
+
+       nouveau_drm_device_remove(drm);
 }
 
 #if IS_ENABLED(CONFIG_OF)
index f8bf0ec26844d65747032addf2c4a72ee361df00..2525e08938b3c1496c9e44836d89829da69c6dda 100644 (file)
@@ -11,7 +11,7 @@
 static unsigned int
 nouveau_vga_set_decode(struct pci_dev *pdev, bool state)
 {
-       struct nouveau_drm *drm = nouveau_drm(pci_get_drvdata(pdev));
+       struct nouveau_drm *drm = pci_get_drvdata(pdev);
        struct nvif_object *device = &drm->client.device.object;
 
        if (drm->client.device.info.family == NV_DEVICE_INFO_V0_CURIE &&
@@ -34,7 +34,8 @@ static void
 nouveau_switcheroo_set_state(struct pci_dev *pdev,
                             enum vga_switcheroo_state state)
 {
-       struct drm_device *dev = pci_get_drvdata(pdev);
+       struct nouveau_drm *drm = pci_get_drvdata(pdev);
+       struct drm_device *dev = drm->dev;
 
        if ((nouveau_is_optimus() || nouveau_is_v1_dsm()) && state == VGA_SWITCHEROO_OFF)
                return;
@@ -56,21 +57,22 @@ nouveau_switcheroo_set_state(struct pci_dev *pdev,
 static void
 nouveau_switcheroo_reprobe(struct pci_dev *pdev)
 {
-       struct drm_device *dev = pci_get_drvdata(pdev);
-       drm_fb_helper_output_poll_changed(dev);
+       struct nouveau_drm *drm = pci_get_drvdata(pdev);
+
+       drm_fb_helper_output_poll_changed(drm->dev);
 }
 
 static bool
 nouveau_switcheroo_can_switch(struct pci_dev *pdev)
 {
-       struct drm_device *dev = pci_get_drvdata(pdev);
+       struct nouveau_drm *drm = pci_get_drvdata(pdev);
 
        /*
         * 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 atomic_read(&dev->open_count) == 0;
+       return atomic_read(&drm->dev->open_count) == 0;
 }
 
 static const struct vga_switcheroo_client_ops