]> Git Repo - linux.git/blobdiff - drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
Merge tag 'drm-intel-next-fixes-2020-10-22' of git://anongit.freedesktop.org/drm...
[linux.git] / drivers / gpu / drm / amd / amdgpu / amdgpu_connectors.c
index 8955c4fed8cbf74824f214b77dec5db7f08c082b..65d1b23d7e746727358216f36f967a2163f2575c 100644 (file)
@@ -42,7 +42,7 @@
 void amdgpu_connector_hotplug(struct drm_connector *connector)
 {
        struct drm_device *dev = connector->dev;
-       struct amdgpu_device *adev = dev->dev_private;
+       struct amdgpu_device *adev = drm_to_adev(dev);
        struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector);
 
        /* bail if the connector does not have hpd pin, e.g.,
@@ -280,7 +280,7 @@ amdgpu_connector_get_hardcoded_edid(struct amdgpu_device *adev)
 static void amdgpu_connector_get_edid(struct drm_connector *connector)
 {
        struct drm_device *dev = connector->dev;
-       struct amdgpu_device *adev = dev->dev_private;
+       struct amdgpu_device *adev = drm_to_adev(dev);
        struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector);
 
        if (amdgpu_connector->edid)
@@ -464,7 +464,7 @@ static int amdgpu_connector_set_property(struct drm_connector *connector,
                                          uint64_t val)
 {
        struct drm_device *dev = connector->dev;
-       struct amdgpu_device *adev = dev->dev_private;
+       struct amdgpu_device *adev = drm_to_adev(dev);
        struct drm_encoder *encoder;
        struct amdgpu_encoder *amdgpu_encoder;
 
@@ -717,8 +717,10 @@ amdgpu_connector_lvds_detect(struct drm_connector *connector, bool force)
 
        if (!drm_kms_helper_is_poll_worker()) {
                r = pm_runtime_get_sync(connector->dev->dev);
-               if (r < 0)
+               if (r < 0) {
+                       pm_runtime_put_autosuspend(connector->dev->dev);
                        return connector_status_disconnected;
+               }
        }
 
        if (encoder) {
@@ -833,7 +835,7 @@ static enum drm_mode_status amdgpu_connector_vga_mode_valid(struct drm_connector
                                            struct drm_display_mode *mode)
 {
        struct drm_device *dev = connector->dev;
-       struct amdgpu_device *adev = dev->dev_private;
+       struct amdgpu_device *adev = drm_to_adev(dev);
 
        /* XXX check mode bandwidth */
 
@@ -855,8 +857,10 @@ amdgpu_connector_vga_detect(struct drm_connector *connector, bool force)
 
        if (!drm_kms_helper_is_poll_worker()) {
                r = pm_runtime_get_sync(connector->dev->dev);
-               if (r < 0)
+               if (r < 0) {
+                       pm_runtime_put_autosuspend(connector->dev->dev);
                        return connector_status_disconnected;
+               }
        }
 
        encoder = amdgpu_connector_best_single_encoder(connector);
@@ -938,7 +942,7 @@ static bool
 amdgpu_connector_check_hpd_status_unchanged(struct drm_connector *connector)
 {
        struct drm_device *dev = connector->dev;
-       struct amdgpu_device *adev = dev->dev_private;
+       struct amdgpu_device *adev = drm_to_adev(dev);
        struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector);
        enum drm_connector_status status;
 
@@ -969,7 +973,7 @@ static enum drm_connector_status
 amdgpu_connector_dvi_detect(struct drm_connector *connector, bool force)
 {
        struct drm_device *dev = connector->dev;
-       struct amdgpu_device *adev = dev->dev_private;
+       struct amdgpu_device *adev = drm_to_adev(dev);
        struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector);
        const struct drm_encoder_helper_funcs *encoder_funcs;
        int r;
@@ -978,8 +982,10 @@ amdgpu_connector_dvi_detect(struct drm_connector *connector, bool force)
 
        if (!drm_kms_helper_is_poll_worker()) {
                r = pm_runtime_get_sync(connector->dev->dev);
-               if (r < 0)
+               if (r < 0) {
+                       pm_runtime_put_autosuspend(connector->dev->dev);
                        return connector_status_disconnected;
+               }
        }
 
        if (!force && amdgpu_connector_check_hpd_status_unchanged(connector)) {
@@ -1154,7 +1160,7 @@ static enum drm_mode_status amdgpu_connector_dvi_mode_valid(struct drm_connector
                                            struct drm_display_mode *mode)
 {
        struct drm_device *dev = connector->dev;
-       struct amdgpu_device *adev = dev->dev_private;
+       struct amdgpu_device *adev = drm_to_adev(dev);
        struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector);
 
        /* XXX check mode bandwidth */
@@ -1306,7 +1312,7 @@ static bool amdgpu_connector_encoder_is_hbr2(struct drm_connector *connector)
 bool amdgpu_connector_is_dp12_capable(struct drm_connector *connector)
 {
        struct drm_device *dev = connector->dev;
-       struct amdgpu_device *adev = dev->dev_private;
+       struct amdgpu_device *adev = drm_to_adev(dev);
 
        if ((adev->clock.default_dispclk >= 53900) &&
            amdgpu_connector_encoder_is_hbr2(connector)) {
@@ -1320,7 +1326,7 @@ static enum drm_connector_status
 amdgpu_connector_dp_detect(struct drm_connector *connector, bool force)
 {
        struct drm_device *dev = connector->dev;
-       struct amdgpu_device *adev = dev->dev_private;
+       struct amdgpu_device *adev = drm_to_adev(dev);
        struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector);
        enum drm_connector_status ret = connector_status_disconnected;
        struct amdgpu_connector_atom_dig *amdgpu_dig_connector = amdgpu_connector->con_priv;
@@ -1329,8 +1335,10 @@ amdgpu_connector_dp_detect(struct drm_connector *connector, bool force)
 
        if (!drm_kms_helper_is_poll_worker()) {
                r = pm_runtime_get_sync(connector->dev->dev);
-               if (r < 0)
+               if (r < 0) {
+                       pm_runtime_put_autosuspend(connector->dev->dev);
                        return connector_status_disconnected;
+               }
        }
 
        if (!force && amdgpu_connector_check_hpd_status_unchanged(connector)) {
@@ -1518,7 +1526,7 @@ amdgpu_connector_add(struct amdgpu_device *adev,
                      struct amdgpu_hpd *hpd,
                      struct amdgpu_router *router)
 {
-       struct drm_device *dev = adev->ddev;
+       struct drm_device *dev = adev_to_drm(adev);
        struct drm_connector *connector;
        struct drm_connector_list_iter iter;
        struct amdgpu_connector *amdgpu_connector;
This page took 0.039281 seconds and 4 git commands to generate.