drm/amdgpu: export gfxhub sw_init into gmc
authorHuang Rui <ray.huang@amd.com>
Wed, 31 May 2017 14:57:18 +0000 (22:57 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 6 Jun 2017 20:58:36 +0000 (16:58 -0400)
Signed-off-by: Huang Rui <ray.huang@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/gfxhub_v1_0.c
drivers/gpu/drm/amd/amdgpu/gfxhub_v1_0.h
drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c

index bbc310c970700b7eb64887e3d91e262659f36f01..9198eb538ebbea366e02a5a807020f820066c739 100644 (file)
@@ -337,19 +337,8 @@ void gfxhub_v1_0_set_fault_enable_default(struct amdgpu_device *adev,
        WREG32(SOC15_REG_OFFSET(GC, 0, mmVM_L2_PROTECTION_FAULT_CNTL), tmp);
 }
 
-static int gfxhub_v1_0_early_init(void *handle)
-{
-       return 0;
-}
-
-static int gfxhub_v1_0_late_init(void *handle)
+void gfxhub_v1_0_init(struct amdgpu_device *adev)
 {
-       return 0;
-}
-
-static int gfxhub_v1_0_sw_init(void *handle)
-{
-       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
        struct amdgpu_vmhub *hub = &adev->vmhub[AMDGPU_GFXHUB];
 
        hub->ctx0_ptb_addr_lo32 =
@@ -368,7 +357,20 @@ static int gfxhub_v1_0_sw_init(void *handle)
                SOC15_REG_OFFSET(GC, 0, mmVM_L2_PROTECTION_FAULT_STATUS);
        hub->vm_l2_pro_fault_cntl =
                SOC15_REG_OFFSET(GC, 0, mmVM_L2_PROTECTION_FAULT_CNTL);
+}
 
+static int gfxhub_v1_0_early_init(void *handle)
+{
+       return 0;
+}
+
+static int gfxhub_v1_0_late_init(void *handle)
+{
+       return 0;
+}
+
+static int gfxhub_v1_0_sw_init(void *handle)
+{
        return 0;
 }
 
index 15418489162325451982f36afdfa25764867fca1..d2dbb085f4802249fcaceaed5f8bab266c6ca6ed 100644 (file)
@@ -28,6 +28,7 @@ int gfxhub_v1_0_gart_enable(struct amdgpu_device *adev);
 void gfxhub_v1_0_gart_disable(struct amdgpu_device *adev);
 void gfxhub_v1_0_set_fault_enable_default(struct amdgpu_device *adev,
                                          bool value);
+void gfxhub_v1_0_init(struct amdgpu_device *adev);
 u64 gfxhub_v1_0_get_mc_fb_offset(struct amdgpu_device *adev);
 extern const struct amd_ip_funcs gfxhub_v1_0_ip_funcs;
 extern const struct amdgpu_ip_block_version gfxhub_v1_0_ip_block;
index 047b1a7d20b579e31633b9746128436cba2f340d..1dc6816c87b291ffda30a58f4b40b2917beedf7a 100644 (file)
@@ -532,6 +532,8 @@ static int gmc_v9_0_sw_init(void *handle)
        int dma_bits;
        struct amdgpu_device *adev = (struct amdgpu_device *)handle;
 
+       gfxhub_v1_0_init(adev);
+
        spin_lock_init(&adev->mc.invalidate_lock);
 
        if (adev->flags & AMD_IS_APU) {