diff options
author | Dave Airlie <airlied@redhat.com> | 2016-10-10 02:40:16 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2016-10-10 02:40:16 -0400 |
commit | b89857852656f016328d2d7ccec5fff57445fa85 (patch) | |
tree | 1eef71273ad92cb1f5874acdb94c7b5a0b1ee958 /drivers/gpu/drm/amd/amdgpu | |
parent | 9c704d14386dc1deeb695f2a180f9a00f23fa650 (diff) | |
parent | 8036617e92e3fad49eef9bbe868b661c58249aff (diff) |
Merge branch 'drm-next-4.9' of git://people.freedesktop.org/~agd5f/linux into drm-next
Just some misc bug fixes for 4.9.
* 'drm-next-4.9' of git://people.freedesktop.org/~agd5f/linux:
drm/amdgpu: revert "use more than 64KB fragment size if possible"
drm/amdgpu: warn if dp aux is still attached on free
drm/amdgpu/dce11: add missing drm_mode_config_cleanup call
drm/amdgpu: also track late init state
drm/amdgpu/virtual_dce: adjust config ifdef
drm/amdgpu/vce: add support for hw config packet (v2)
drm/amdgpu: clean up to set fw_offset as 0 twice
drm/amdgpu: remove DRM_AMD_POWERPLAY
drm/radeon: Prevent races on pre DCE4 between flip submission and completion.
drm/radeon: Slightly more robust flip completion handling for < DCE-4
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/Kconfig | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/Makefile | 4 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu.h | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c | 4 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 4 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_powerplay.c | 13 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | 14 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 12 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/dce_v11_0.c | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/dce_virtual.c | 4 |
13 files changed, 31 insertions, 31 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/Kconfig b/drivers/gpu/drm/amd/amdgpu/Kconfig index 53cf3971dfc3..61360e27715f 100644 --- a/drivers/gpu/drm/amd/amdgpu/Kconfig +++ b/drivers/gpu/drm/amd/amdgpu/Kconfig | |||
@@ -32,5 +32,4 @@ config DRM_AMDGPU_GART_DEBUGFS | |||
32 | Selecting this option creates a debugfs file to inspect the mapped | 32 | Selecting this option creates a debugfs file to inspect the mapped |
33 | pages. Uses more memory for housekeeping, enable only for debugging. | 33 | pages. Uses more memory for housekeeping, enable only for debugging. |
34 | 34 | ||
35 | source "drivers/gpu/drm/amd/powerplay/Kconfig" | ||
36 | source "drivers/gpu/drm/amd/acp/Kconfig" | 35 | source "drivers/gpu/drm/amd/acp/Kconfig" |
diff --git a/drivers/gpu/drm/amd/amdgpu/Makefile b/drivers/gpu/drm/amd/amdgpu/Makefile index 9ec262d4b8a2..248a05d02917 100644 --- a/drivers/gpu/drm/amd/amdgpu/Makefile +++ b/drivers/gpu/drm/amd/amdgpu/Makefile | |||
@@ -111,14 +111,10 @@ amdgpu-$(CONFIG_VGA_SWITCHEROO) += amdgpu_atpx_handler.o | |||
111 | amdgpu-$(CONFIG_ACPI) += amdgpu_acpi.o | 111 | amdgpu-$(CONFIG_ACPI) += amdgpu_acpi.o |
112 | amdgpu-$(CONFIG_MMU_NOTIFIER) += amdgpu_mn.o | 112 | amdgpu-$(CONFIG_MMU_NOTIFIER) += amdgpu_mn.o |
113 | 113 | ||
114 | ifneq ($(CONFIG_DRM_AMD_POWERPLAY),) | ||
115 | |||
116 | include $(FULL_AMD_PATH)/powerplay/Makefile | 114 | include $(FULL_AMD_PATH)/powerplay/Makefile |
117 | 115 | ||
118 | amdgpu-y += $(AMD_POWERPLAY_FILES) | 116 | amdgpu-y += $(AMD_POWERPLAY_FILES) |
119 | 117 | ||
120 | endif | ||
121 | |||
122 | obj-$(CONFIG_DRM_AMDGPU)+= amdgpu.o | 118 | obj-$(CONFIG_DRM_AMDGPU)+= amdgpu.o |
123 | 119 | ||
124 | CFLAGS_amdgpu_trace_points.o := -I$(src) | 120 | CFLAGS_amdgpu_trace_points.o := -I$(src) |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h index 235f3902643a..039b57e4644c 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h | |||
@@ -1943,6 +1943,7 @@ struct amdgpu_ip_block_status { | |||
1943 | bool valid; | 1943 | bool valid; |
1944 | bool sw; | 1944 | bool sw; |
1945 | bool hw; | 1945 | bool hw; |
1946 | bool late_initialized; | ||
1946 | bool hang; | 1947 | bool hang; |
1947 | }; | 1948 | }; |
1948 | 1949 | ||
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c index 22c11e7698c8..2e3a0543760d 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c | |||
@@ -769,8 +769,10 @@ static void amdgpu_connector_destroy(struct drm_connector *connector) | |||
769 | { | 769 | { |
770 | struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); | 770 | struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); |
771 | 771 | ||
772 | if (amdgpu_connector->ddc_bus->has_aux) | 772 | if (amdgpu_connector->ddc_bus->has_aux) { |
773 | drm_dp_aux_unregister(&amdgpu_connector->ddc_bus->aux); | 773 | drm_dp_aux_unregister(&amdgpu_connector->ddc_bus->aux); |
774 | amdgpu_connector->ddc_bus->has_aux = false; | ||
775 | } | ||
774 | amdgpu_connector_free_edid(connector); | 776 | amdgpu_connector_free_edid(connector); |
775 | kfree(amdgpu_connector->con_priv); | 777 | kfree(amdgpu_connector->con_priv); |
776 | drm_connector_unregister(connector); | 778 | drm_connector_unregister(connector); |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c index 99a15cad6789..a58513f271e3 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | |||
@@ -1424,6 +1424,7 @@ static int amdgpu_late_init(struct amdgpu_device *adev) | |||
1424 | DRM_ERROR("late_init of IP block <%s> failed %d\n", adev->ip_blocks[i].funcs->name, r); | 1424 | DRM_ERROR("late_init of IP block <%s> failed %d\n", adev->ip_blocks[i].funcs->name, r); |
1425 | return r; | 1425 | return r; |
1426 | } | 1426 | } |
1427 | adev->ip_block_status[i].late_initialized = true; | ||
1427 | } | 1428 | } |
1428 | } | 1429 | } |
1429 | 1430 | ||
@@ -1469,8 +1470,11 @@ static int amdgpu_fini(struct amdgpu_device *adev) | |||
1469 | } | 1470 | } |
1470 | 1471 | ||
1471 | for (i = adev->num_ip_blocks - 1; i >= 0; i--) { | 1472 | for (i = adev->num_ip_blocks - 1; i >= 0; i--) { |
1473 | if (!adev->ip_block_status[i].late_initialized) | ||
1474 | continue; | ||
1472 | if (adev->ip_blocks[i].funcs->late_fini) | 1475 | if (adev->ip_blocks[i].funcs->late_fini) |
1473 | adev->ip_blocks[i].funcs->late_fini((void *)adev); | 1476 | adev->ip_blocks[i].funcs->late_fini((void *)adev); |
1477 | adev->ip_block_status[i].late_initialized = false; | ||
1474 | } | 1478 | } |
1475 | 1479 | ||
1476 | return 0; | 1480 | return 0; |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c index dbe89fb25694..71ed27eb3dde 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | |||
@@ -174,7 +174,6 @@ module_param_named(sched_jobs, amdgpu_sched_jobs, int, 0444); | |||
174 | MODULE_PARM_DESC(sched_hw_submission, "the max number of HW submissions (default 2)"); | 174 | MODULE_PARM_DESC(sched_hw_submission, "the max number of HW submissions (default 2)"); |
175 | module_param_named(sched_hw_submission, amdgpu_sched_hw_submission, int, 0444); | 175 | module_param_named(sched_hw_submission, amdgpu_sched_hw_submission, int, 0444); |
176 | 176 | ||
177 | #ifdef CONFIG_DRM_AMD_POWERPLAY | ||
178 | MODULE_PARM_DESC(powerplay, "Powerplay component (1 = enable, 0 = disable, -1 = auto (default))"); | 177 | MODULE_PARM_DESC(powerplay, "Powerplay component (1 = enable, 0 = disable, -1 = auto (default))"); |
179 | module_param_named(powerplay, amdgpu_powerplay, int, 0444); | 178 | module_param_named(powerplay, amdgpu_powerplay, int, 0444); |
180 | 179 | ||
@@ -183,7 +182,6 @@ module_param_named(powercontainment, amdgpu_powercontainment, int, 0444); | |||
183 | 182 | ||
184 | MODULE_PARM_DESC(ppfeaturemask, "all power features enabled (default))"); | 183 | MODULE_PARM_DESC(ppfeaturemask, "all power features enabled (default))"); |
185 | module_param_named(ppfeaturemask, amdgpu_pp_feature_mask, int, 0444); | 184 | module_param_named(ppfeaturemask, amdgpu_pp_feature_mask, int, 0444); |
186 | #endif | ||
187 | 185 | ||
188 | MODULE_PARM_DESC(sclkdeepsleep, "SCLK Deep Sleep (1 = enable (default), 0 = disable)"); | 186 | MODULE_PARM_DESC(sclkdeepsleep, "SCLK Deep Sleep (1 = enable (default), 0 = disable)"); |
189 | module_param_named(sclkdeepsleep, amdgpu_sclk_deep_sleep_en, int, 0444); | 187 | module_param_named(sclkdeepsleep, amdgpu_sclk_deep_sleep_en, int, 0444); |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c index 34bab616588c..91d367399956 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c | |||
@@ -220,6 +220,7 @@ void amdgpu_i2c_destroy(struct amdgpu_i2c_chan *i2c) | |||
220 | { | 220 | { |
221 | if (!i2c) | 221 | if (!i2c) |
222 | return; | 222 | return; |
223 | WARN_ON(i2c->has_aux); | ||
223 | i2c_del_adapter(&i2c->adapter); | 224 | i2c_del_adapter(&i2c->adapter); |
224 | kfree(i2c); | 225 | kfree(i2c); |
225 | } | 226 | } |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_powerplay.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_powerplay.c index 68ad24101a36..7532ff822aa7 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_powerplay.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_powerplay.c | |||
@@ -42,7 +42,6 @@ static int amdgpu_powerplay_init(struct amdgpu_device *adev) | |||
42 | amd_pp = &(adev->powerplay); | 42 | amd_pp = &(adev->powerplay); |
43 | 43 | ||
44 | if (adev->pp_enabled) { | 44 | if (adev->pp_enabled) { |
45 | #ifdef CONFIG_DRM_AMD_POWERPLAY | ||
46 | struct amd_pp_init *pp_init; | 45 | struct amd_pp_init *pp_init; |
47 | 46 | ||
48 | pp_init = kzalloc(sizeof(struct amd_pp_init), GFP_KERNEL); | 47 | pp_init = kzalloc(sizeof(struct amd_pp_init), GFP_KERNEL); |
@@ -55,7 +54,6 @@ static int amdgpu_powerplay_init(struct amdgpu_device *adev) | |||
55 | pp_init->device = amdgpu_cgs_create_device(adev); | 54 | pp_init->device = amdgpu_cgs_create_device(adev); |
56 | ret = amd_powerplay_init(pp_init, amd_pp); | 55 | ret = amd_powerplay_init(pp_init, amd_pp); |
57 | kfree(pp_init); | 56 | kfree(pp_init); |
58 | #endif | ||
59 | } else { | 57 | } else { |
60 | amd_pp->pp_handle = (void *)adev; | 58 | amd_pp->pp_handle = (void *)adev; |
61 | 59 | ||
@@ -97,7 +95,6 @@ static int amdgpu_pp_early_init(void *handle) | |||
97 | struct amdgpu_device *adev = (struct amdgpu_device *)handle; | 95 | struct amdgpu_device *adev = (struct amdgpu_device *)handle; |
98 | int ret = 0; | 96 | int ret = 0; |
99 | 97 | ||
100 | #ifdef CONFIG_DRM_AMD_POWERPLAY | ||
101 | switch (adev->asic_type) { | 98 | switch (adev->asic_type) { |
102 | case CHIP_POLARIS11: | 99 | case CHIP_POLARIS11: |
103 | case CHIP_POLARIS10: | 100 | case CHIP_POLARIS10: |
@@ -120,9 +117,6 @@ static int amdgpu_pp_early_init(void *handle) | |||
120 | adev->pp_enabled = false; | 117 | adev->pp_enabled = false; |
121 | break; | 118 | break; |
122 | } | 119 | } |
123 | #else | ||
124 | adev->pp_enabled = false; | ||
125 | #endif | ||
126 | 120 | ||
127 | ret = amdgpu_powerplay_init(adev); | 121 | ret = amdgpu_powerplay_init(adev); |
128 | if (ret) | 122 | if (ret) |
@@ -144,12 +138,11 @@ static int amdgpu_pp_late_init(void *handle) | |||
144 | ret = adev->powerplay.ip_funcs->late_init( | 138 | ret = adev->powerplay.ip_funcs->late_init( |
145 | adev->powerplay.pp_handle); | 139 | adev->powerplay.pp_handle); |
146 | 140 | ||
147 | #ifdef CONFIG_DRM_AMD_POWERPLAY | ||
148 | if (adev->pp_enabled && adev->pm.dpm_enabled) { | 141 | if (adev->pp_enabled && adev->pm.dpm_enabled) { |
149 | amdgpu_pm_sysfs_init(adev); | 142 | amdgpu_pm_sysfs_init(adev); |
150 | amdgpu_dpm_dispatch_task(adev, AMD_PP_EVENT_COMPLETE_INIT, NULL, NULL); | 143 | amdgpu_dpm_dispatch_task(adev, AMD_PP_EVENT_COMPLETE_INIT, NULL, NULL); |
151 | } | 144 | } |
152 | #endif | 145 | |
153 | return ret; | 146 | return ret; |
154 | } | 147 | } |
155 | 148 | ||
@@ -162,10 +155,8 @@ static int amdgpu_pp_sw_init(void *handle) | |||
162 | ret = adev->powerplay.ip_funcs->sw_init( | 155 | ret = adev->powerplay.ip_funcs->sw_init( |
163 | adev->powerplay.pp_handle); | 156 | adev->powerplay.pp_handle); |
164 | 157 | ||
165 | #ifdef CONFIG_DRM_AMD_POWERPLAY | ||
166 | if (adev->pp_enabled) | 158 | if (adev->pp_enabled) |
167 | adev->pm.dpm_enabled = true; | 159 | adev->pm.dpm_enabled = true; |
168 | #endif | ||
169 | 160 | ||
170 | return ret; | 161 | return ret; |
171 | } | 162 | } |
@@ -216,7 +207,6 @@ static int amdgpu_pp_hw_fini(void *handle) | |||
216 | 207 | ||
217 | static void amdgpu_pp_late_fini(void *handle) | 208 | static void amdgpu_pp_late_fini(void *handle) |
218 | { | 209 | { |
219 | #ifdef CONFIG_DRM_AMD_POWERPLAY | ||
220 | struct amdgpu_device *adev = (struct amdgpu_device *)handle; | 210 | struct amdgpu_device *adev = (struct amdgpu_device *)handle; |
221 | 211 | ||
222 | if (adev->pp_enabled) { | 212 | if (adev->pp_enabled) { |
@@ -227,7 +217,6 @@ static void amdgpu_pp_late_fini(void *handle) | |||
227 | if (adev->powerplay.ip_funcs->late_fini) | 217 | if (adev->powerplay.ip_funcs->late_fini) |
228 | adev->powerplay.ip_funcs->late_fini( | 218 | adev->powerplay.ip_funcs->late_fini( |
229 | adev->powerplay.pp_handle); | 219 | adev->powerplay.pp_handle); |
230 | #endif | ||
231 | } | 220 | } |
232 | 221 | ||
233 | static int amdgpu_pp_suspend(void *handle) | 222 | static int amdgpu_pp_suspend(void *handle) |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c index 7a05f79818f1..cb3d252f3c78 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c | |||
@@ -273,7 +273,6 @@ int amdgpu_ucode_init_bo(struct amdgpu_device *adev) | |||
273 | 273 | ||
274 | amdgpu_bo_unreserve(*bo); | 274 | amdgpu_bo_unreserve(*bo); |
275 | 275 | ||
276 | fw_offset = 0; | ||
277 | for (i = 0; i < AMDGPU_UCODE_ID_MAXIMUM; i++) { | 276 | for (i = 0; i < AMDGPU_UCODE_ID_MAXIMUM; i++) { |
278 | ucode = &adev->firmware.ucode[i]; | 277 | ucode = &adev->firmware.ucode[i]; |
279 | if (ucode->fw) { | 278 | if (ucode->fw) { |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c index 3b03558ddb01..7fe8fd884f06 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | |||
@@ -699,6 +699,20 @@ int amdgpu_vce_ring_parse_cs(struct amdgpu_cs_parser *p, uint32_t ib_idx) | |||
699 | case 0x05000009: /* clock table */ | 699 | case 0x05000009: /* clock table */ |
700 | break; | 700 | break; |
701 | 701 | ||
702 | case 0x0500000c: /* hw config */ | ||
703 | switch (p->adev->asic_type) { | ||
704 | #ifdef CONFIG_DRM_AMDGPU_CIK | ||
705 | case CHIP_KAVERI: | ||
706 | case CHIP_MULLINS: | ||
707 | #endif | ||
708 | case CHIP_CARRIZO: | ||
709 | break; | ||
710 | default: | ||
711 | r = -EINVAL; | ||
712 | goto out; | ||
713 | } | ||
714 | break; | ||
715 | |||
702 | case 0x03000001: /* encode */ | 716 | case 0x03000001: /* encode */ |
703 | r = amdgpu_vce_cs_reloc(p, ib_idx, idx + 10, idx + 9, | 717 | r = amdgpu_vce_cs_reloc(p, ib_idx, idx + 10, idx + 9, |
704 | *size, 0); | 718 | *size, 0); |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c index bc4b22c6fc08..06f24322e7c3 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | |||
@@ -878,13 +878,13 @@ static void amdgpu_vm_frag_ptes(struct amdgpu_pte_update_params *params, | |||
878 | * allocation size to the fragment size. | 878 | * allocation size to the fragment size. |
879 | */ | 879 | */ |
880 | 880 | ||
881 | const uint64_t frag_align = 1 << AMDGPU_LOG2_PAGES_PER_FRAG; | 881 | /* SI and newer are optimized for 64KB */ |
882 | uint64_t frag_flags = AMDGPU_PTE_FRAG(AMDGPU_LOG2_PAGES_PER_FRAG); | ||
883 | uint64_t frag_align = 1 << AMDGPU_LOG2_PAGES_PER_FRAG; | ||
882 | 884 | ||
883 | uint64_t frag_start = ALIGN(start, frag_align); | 885 | uint64_t frag_start = ALIGN(start, frag_align); |
884 | uint64_t frag_end = end & ~(frag_align - 1); | 886 | uint64_t frag_end = end & ~(frag_align - 1); |
885 | 887 | ||
886 | uint32_t frag; | ||
887 | |||
888 | /* system pages are non continuously */ | 888 | /* system pages are non continuously */ |
889 | if (params->src || !(flags & AMDGPU_PTE_VALID) || | 889 | if (params->src || !(flags & AMDGPU_PTE_VALID) || |
890 | (frag_start >= frag_end)) { | 890 | (frag_start >= frag_end)) { |
@@ -893,10 +893,6 @@ static void amdgpu_vm_frag_ptes(struct amdgpu_pte_update_params *params, | |||
893 | return; | 893 | return; |
894 | } | 894 | } |
895 | 895 | ||
896 | /* use more than 64KB fragment size if possible */ | ||
897 | frag = lower_32_bits(frag_start | frag_end); | ||
898 | frag = likely(frag) ? __ffs(frag) : 31; | ||
899 | |||
900 | /* handle the 4K area at the beginning */ | 896 | /* handle the 4K area at the beginning */ |
901 | if (start != frag_start) { | 897 | if (start != frag_start) { |
902 | amdgpu_vm_update_ptes(params, vm, start, frag_start, | 898 | amdgpu_vm_update_ptes(params, vm, start, frag_start, |
@@ -906,7 +902,7 @@ static void amdgpu_vm_frag_ptes(struct amdgpu_pte_update_params *params, | |||
906 | 902 | ||
907 | /* handle the area in the middle */ | 903 | /* handle the area in the middle */ |
908 | amdgpu_vm_update_ptes(params, vm, frag_start, frag_end, dst, | 904 | amdgpu_vm_update_ptes(params, vm, frag_start, frag_end, dst, |
909 | flags | AMDGPU_PTE_FRAG(frag)); | 905 | flags | frag_flags); |
910 | 906 | ||
911 | /* handle the 4K area at the end */ | 907 | /* handle the 4K area at the end */ |
912 | if (frag_end != end) { | 908 | if (frag_end != end) { |
diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c index 678f5eb6cbc2..f264b8f17ad1 100644 --- a/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c +++ b/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c | |||
@@ -3159,6 +3159,7 @@ static int dce_v11_0_sw_fini(void *handle) | |||
3159 | 3159 | ||
3160 | dce_v11_0_afmt_fini(adev); | 3160 | dce_v11_0_afmt_fini(adev); |
3161 | 3161 | ||
3162 | drm_mode_config_cleanup(adev->ddev); | ||
3162 | adev->mode_info.mode_config_initialized = false; | 3163 | adev->mode_info.mode_config_initialized = false; |
3163 | 3164 | ||
3164 | return 0; | 3165 | return 0; |
diff --git a/drivers/gpu/drm/amd/amdgpu/dce_virtual.c b/drivers/gpu/drm/amd/amdgpu/dce_virtual.c index a754f2522ba2..c2bd9f045532 100644 --- a/drivers/gpu/drm/amd/amdgpu/dce_virtual.c +++ b/drivers/gpu/drm/amd/amdgpu/dce_virtual.c | |||
@@ -99,15 +99,15 @@ static void dce_virtual_stop_mc_access(struct amdgpu_device *adev, | |||
99 | struct amdgpu_mode_mc_save *save) | 99 | struct amdgpu_mode_mc_save *save) |
100 | { | 100 | { |
101 | switch (adev->asic_type) { | 101 | switch (adev->asic_type) { |
102 | #ifdef CONFIG_DRM_AMDGPU_CIK | ||
102 | case CHIP_BONAIRE: | 103 | case CHIP_BONAIRE: |
103 | case CHIP_HAWAII: | 104 | case CHIP_HAWAII: |
104 | case CHIP_KAVERI: | 105 | case CHIP_KAVERI: |
105 | case CHIP_KABINI: | 106 | case CHIP_KABINI: |
106 | case CHIP_MULLINS: | 107 | case CHIP_MULLINS: |
107 | #ifdef CONFIG_DRM_AMDGPU_CIK | ||
108 | dce_v8_0_disable_dce(adev); | 108 | dce_v8_0_disable_dce(adev); |
109 | #endif | ||
110 | break; | 109 | break; |
110 | #endif | ||
111 | case CHIP_FIJI: | 111 | case CHIP_FIJI: |
112 | case CHIP_TONGA: | 112 | case CHIP_TONGA: |
113 | dce_v10_0_disable_dce(adev); | 113 | dce_v10_0_disable_dce(adev); |