drm/radeon: add a vce flag to know if need to initialize vce or not.
authorJérome Glisse <jglisse@redhat.com>
Fri, 18 Mar 2016 15:58:32 +0000 (16:58 +0100)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 2 May 2016 17:08:50 +0000 (13:08 -0400)
This will later on serve for module option to disable vce.

Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Jérôme Glisse <jglisse@redhat.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/radeon/radeon.h
drivers/gpu/drm/radeon/radeon_asic.c

index 007be29a0020090600c102220373a16c5fc47227..8ac3e072dcd8ab066db93dbf05df40dcc4a421b6 100644 (file)
@@ -2423,6 +2423,7 @@ struct radeon_device {
        int num_crtc; /* number of crtcs */
        struct mutex dc_hw_i2c_mutex; /* display controller hw i2c mutex */
        bool has_uvd;
+       bool has_vce;
        struct r600_audio audio; /* audio stuff */
        struct notifier_block acpi_nb;
        /* only one userspace can use Hyperz features or CMASK at a time */
index 7d5a36dd509451015dc64b42278c9d9deec60a18..46a4ced338a474fe8672d1faafac524f293ec480 100644 (file)
@@ -2324,6 +2324,7 @@ int radeon_asic_init(struct radeon_device *rdev)
                rdev->num_crtc = 2;
 
        rdev->has_uvd = false;
+       rdev->has_vce = false;
 
        switch (rdev->family) {
        case CHIP_R100:
@@ -2454,6 +2455,7 @@ int radeon_asic_init(struct radeon_device *rdev)
                /* set num crtcs */
                rdev->num_crtc = 4;
                rdev->has_uvd = true;
+               rdev->has_vce = true;
                rdev->cg_flags =
                        RADEON_CG_SUPPORT_VCE_MGCG;
                break;
@@ -2470,10 +2472,13 @@ int radeon_asic_init(struct radeon_device *rdev)
                        rdev->num_crtc = 2;
                else
                        rdev->num_crtc = 6;
-               if (rdev->family == CHIP_HAINAN)
+               if (rdev->family == CHIP_HAINAN) {
                        rdev->has_uvd = false;
-               else
+                       rdev->has_vce = false;
+               } else {
                        rdev->has_uvd = true;
+                       rdev->has_vce = true;
+               }
                switch (rdev->family) {
                case CHIP_TAHITI:
                        rdev->cg_flags =
@@ -2578,6 +2583,7 @@ int radeon_asic_init(struct radeon_device *rdev)
                rdev->asic = &ci_asic;
                rdev->num_crtc = 6;
                rdev->has_uvd = true;
+               rdev->has_vce = true;
                if (rdev->family == CHIP_BONAIRE) {
                        rdev->cg_flags =
                                RADEON_CG_SUPPORT_GFX_MGCG |
@@ -2678,6 +2684,7 @@ int radeon_asic_init(struct radeon_device *rdev)
                                RADEON_PG_SUPPORT_SAMU;*/
                }
                rdev->has_uvd = true;
+               rdev->has_vce = true;
                break;
        default:
                /* FIXME: not supported yet */