Commit 42d708db authored by Jonathan Kim's avatar Jonathan Kim Committed by Alex Deucher

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: default avatarJonathan Kim <Jonathan.Kim@amd.com>
Reviewed-by: default avatarFelix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent f9f3e9e0
...@@ -52,7 +52,7 @@ static int amdgpu_perf_event_init(struct perf_event *event) ...@@ -52,7 +52,7 @@ static int amdgpu_perf_event_init(struct perf_event *event)
return -ENOENT; return -ENOENT;
/* update the hw_perf_event struct with config data */ /* update the hw_perf_event struct with config data */
hwc->conf = event->attr.config; hwc->config = event->attr.config;
return 0; return 0;
} }
...@@ -74,9 +74,9 @@ static void amdgpu_perf_start(struct perf_event *event, int flags) ...@@ -74,9 +74,9 @@ static void amdgpu_perf_start(struct perf_event *event, int flags)
switch (pe->pmu_perf_type) { switch (pe->pmu_perf_type) {
case PERF_TYPE_AMDGPU_DF: case PERF_TYPE_AMDGPU_DF:
if (!(flags & PERF_EF_RELOAD)) 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; break;
default: default:
break; break;
...@@ -101,7 +101,7 @@ static void amdgpu_perf_read(struct perf_event *event) ...@@ -101,7 +101,7 @@ static void amdgpu_perf_read(struct perf_event *event)
switch (pe->pmu_perf_type) { switch (pe->pmu_perf_type) {
case PERF_TYPE_AMDGPU_DF: 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); &count);
break; break;
default: default:
...@@ -126,7 +126,7 @@ static void amdgpu_perf_stop(struct perf_event *event, int flags) ...@@ -126,7 +126,7 @@ static void amdgpu_perf_stop(struct perf_event *event, int flags)
switch (pe->pmu_perf_type) { switch (pe->pmu_perf_type) {
case PERF_TYPE_AMDGPU_DF: 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; break;
default: default:
break; break;
...@@ -156,7 +156,8 @@ static int amdgpu_perf_add(struct perf_event *event, int flags) ...@@ -156,7 +156,8 @@ static int amdgpu_perf_add(struct perf_event *event, int flags)
switch (pe->pmu_perf_type) { switch (pe->pmu_perf_type) {
case PERF_TYPE_AMDGPU_DF: 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; break;
default: default:
return 0; return 0;
...@@ -184,7 +185,7 @@ static void amdgpu_perf_del(struct perf_event *event, int flags) ...@@ -184,7 +185,7 @@ static void amdgpu_perf_del(struct perf_event *event, int flags)
switch (pe->pmu_perf_type) { switch (pe->pmu_perf_type) {
case PERF_TYPE_AMDGPU_DF: 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; break;
default: default:
break; break;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment