mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-18 09:44:18 +08:00
drm/amdgpu: fix amdgpu pmu to use hwc->config instead of hwc->conf
hwc->conf was designated specifically for AMD APU IOMMU purposes. This could cause problems in performance and/or function since APU IOMMU implementation is elsewhere. Also hwc->conf and hwc->config are different members of an anonymous union so hwc->conf aliases as hw->last_tag. Signed-off-by: Jonathan Kim <Jonathan.Kim@amd.com> Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
416611d9b6
commit
46d1da733f
@ -52,7 +52,7 @@ static int amdgpu_perf_event_init(struct perf_event *event)
|
||||
return -ENOENT;
|
||||
|
||||
/* update the hw_perf_event struct with config data */
|
||||
hwc->conf = event->attr.config;
|
||||
hwc->config = event->attr.config;
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -74,9 +74,9 @@ static void amdgpu_perf_start(struct perf_event *event, int flags)
|
||||
switch (pe->pmu_perf_type) {
|
||||
case PERF_TYPE_AMDGPU_DF:
|
||||
if (!(flags & PERF_EF_RELOAD))
|
||||
pe->adev->df.funcs->pmc_start(pe->adev, hwc->conf, 1);
|
||||
pe->adev->df.funcs->pmc_start(pe->adev, hwc->config, 1);
|
||||
|
||||
pe->adev->df.funcs->pmc_start(pe->adev, hwc->conf, 0);
|
||||
pe->adev->df.funcs->pmc_start(pe->adev, hwc->config, 0);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@ -101,7 +101,7 @@ static void amdgpu_perf_read(struct perf_event *event)
|
||||
|
||||
switch (pe->pmu_perf_type) {
|
||||
case PERF_TYPE_AMDGPU_DF:
|
||||
pe->adev->df.funcs->pmc_get_count(pe->adev, hwc->conf,
|
||||
pe->adev->df.funcs->pmc_get_count(pe->adev, hwc->config,
|
||||
&count);
|
||||
break;
|
||||
default:
|
||||
@ -126,7 +126,7 @@ static void amdgpu_perf_stop(struct perf_event *event, int flags)
|
||||
|
||||
switch (pe->pmu_perf_type) {
|
||||
case PERF_TYPE_AMDGPU_DF:
|
||||
pe->adev->df.funcs->pmc_stop(pe->adev, hwc->conf, 0);
|
||||
pe->adev->df.funcs->pmc_stop(pe->adev, hwc->config, 0);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@ -156,7 +156,8 @@ static int amdgpu_perf_add(struct perf_event *event, int flags)
|
||||
|
||||
switch (pe->pmu_perf_type) {
|
||||
case PERF_TYPE_AMDGPU_DF:
|
||||
retval = pe->adev->df.funcs->pmc_start(pe->adev, hwc->conf, 1);
|
||||
retval = pe->adev->df.funcs->pmc_start(pe->adev,
|
||||
hwc->config, 1);
|
||||
break;
|
||||
default:
|
||||
return 0;
|
||||
@ -184,7 +185,7 @@ static void amdgpu_perf_del(struct perf_event *event, int flags)
|
||||
|
||||
switch (pe->pmu_perf_type) {
|
||||
case PERF_TYPE_AMDGPU_DF:
|
||||
pe->adev->df.funcs->pmc_stop(pe->adev, hwc->conf, 1);
|
||||
pe->adev->df.funcs->pmc_stop(pe->adev, hwc->config, 1);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user