drm/i915/pmu: Remove conditional HOTPLUG_CPU registration
authorChris Wilson <[email protected]>
Thu, 23 Nov 2017 12:34:31 +0000 (12:34 +0000)
committerTvrtko Ursulin <[email protected]>
Fri, 24 Nov 2017 09:54:43 +0000 (09:54 +0000)
Even for static CPU configurations, the hotplug CPU framework is still
used to determine the CPU topology, and is still being used by the perf
event register to check for valid CPUs.

Fixes: b46a33e271ed ("drm/i915/pmu: Expose a PMU interface for perf queries")
Signed-off-by: Chris Wilson <[email protected]>
Cc: Tvrtko Ursulin <[email protected]>
Cc: Dmitry Rogozhkin <[email protected]>
Reviewed-by: Tvrtko Ursulin <[email protected]>
Signed-off-by: Tvrtko Ursulin <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
drivers/gpu/drm/i915/i915_pmu.c

index 5170a46893d792e8cdeb2aa996d4c3fccdc4687d..21006e8065a030c085e676dd1d5ce98182d5b8d2 100644 (file)
@@ -40,7 +40,7 @@
 
 #define ENGINE_SAMPLE_BITS (1 << I915_PMU_SAMPLE_BITS)
 
-static cpumask_t i915_pmu_cpumask = CPU_MASK_NONE;
+static cpumask_t i915_pmu_cpumask;
 
 static u8 engine_config_sample(u64 config)
 {
@@ -770,7 +770,6 @@ static const struct attribute_group *i915_pmu_attr_groups[] = {
        NULL
 };
 
-#ifdef CONFIG_HOTPLUG_CPU
 static int i915_pmu_cpu_online(unsigned int cpu, struct hlist_node *node)
 {
        struct i915_pmu *pmu = hlist_entry_safe(node, typeof(*pmu), node);
@@ -806,11 +805,9 @@ static int i915_pmu_cpu_offline(unsigned int cpu, struct hlist_node *node)
 }
 
 static enum cpuhp_state cpuhp_slot = CPUHP_INVALID;
-#endif
 
 static int i915_pmu_register_cpuhp_state(struct drm_i915_private *i915)
 {
-#ifdef CONFIG_HOTPLUG_CPU
        enum cpuhp_state slot;
        int ret;
 
@@ -829,17 +826,14 @@ static int i915_pmu_register_cpuhp_state(struct drm_i915_private *i915)
        }
 
        cpuhp_slot = slot;
-#endif
        return 0;
 }
 
 static void i915_pmu_unregister_cpuhp_state(struct drm_i915_private *i915)
 {
-#ifdef CONFIG_HOTPLUG_CPU
        WARN_ON(cpuhp_slot == CPUHP_INVALID);
        WARN_ON(cpuhp_state_remove_instance(cpuhp_slot, &i915->pmu.node));
        cpuhp_remove_multi_state(cpuhp_slot);
-#endif
 }
 
 void i915_pmu_register(struct drm_i915_private *i915)