drm/amdgpu: fix amdgpu pmu to use hwc->config instead of hwc->conf
authorJonathan Kim <jonathan.kim@amd.com>
Thu, 6 Feb 2020 16:57:11 +0000 (11:57 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 11 Feb 2020 20:35:54 +0000 (15:35 -0500)
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>
drivers/gpu/drm/amd/amdgpu/amdgpu_pmu.c

index 07914e3..1311d6a 100644 (file)
@@ -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;