On 22/07/2024 22:06, Lucas De Marchi wrote:
There's no reason to hardcode checking for integrated graphics on a
specific pci slot. That information is already available per platform an
can be checked with IS_DGFX().

Hmm probably reason was this, added is_igp:

commit 05488673a4d41383f9dd537f298e525e6b00fb93
Author:     Tvrtko Ursulin <tursu...@ursulin.net>
AuthorDate: Wed Oct 16 10:38:02 2019 +0100
Commit:     Tvrtko Ursulin <tursu...@ursulin.net>
CommitDate: Thu Oct 17 10:50:47 2019 +0100

    drm/i915/pmu: Support multiple GPUs

Added IS_DGFX:

commit dc90fe3fd219c7693617ba09a9467e4aadc2e039
Author:     José Roberto de Souza <jose.so...@intel.com>
AuthorDate: Thu Oct 24 12:51:19 2019 -0700
Commit:     Lucas De Marchi <lucas.demar...@intel.com>
CommitDate: Fri Oct 25 13:53:51 2019 -0700

    drm/i915: Add is_dgfx to device info

So innocently arrived just a bit before.

Regards,

Tvrtko

Signed-off-by: Lucas De Marchi <lucas.demar...@intel.com>
---
  drivers/gpu/drm/i915/i915_pmu.c | 17 +++--------------
  1 file changed, 3 insertions(+), 14 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_pmu.c b/drivers/gpu/drm/i915/i915_pmu.c
index 3a8bd11b87e7..b5d14dd318e4 100644
--- a/drivers/gpu/drm/i915/i915_pmu.c
+++ b/drivers/gpu/drm/i915/i915_pmu.c
@@ -1235,17 +1235,6 @@ static void i915_pmu_unregister_cpuhp_state(struct 
i915_pmu *pmu)
        cpuhp_state_remove_instance(cpuhp_slot, &pmu->cpuhp.node);
  }
-static bool is_igp(struct drm_i915_private *i915)
-{
-       struct pci_dev *pdev = to_pci_dev(i915->drm.dev);
-
-       /* IGP is 0000:00:02.0 */
-       return pci_domain_nr(pdev->bus) == 0 &&
-              pdev->bus->number == 0 &&
-              PCI_SLOT(pdev->devfn) == 2 &&
-              PCI_FUNC(pdev->devfn) == 0;
-}
-
  void i915_pmu_register(struct drm_i915_private *i915)
  {
        struct i915_pmu *pmu = &i915->pmu;
@@ -1269,7 +1258,7 @@ void i915_pmu_register(struct drm_i915_private *i915)
        pmu->cpuhp.cpu = -1;
        init_rc6(pmu);
- if (!is_igp(i915)) {
+       if (IS_DGFX(i915)) {
                pmu->name = kasprintf(GFP_KERNEL,
                                      "i915_%s",
                                      dev_name(i915->drm.dev));
@@ -1323,7 +1312,7 @@ void i915_pmu_register(struct drm_i915_private *i915)
        pmu->base.event_init = NULL;
        free_event_attributes(pmu);
  err_name:
-       if (!is_igp(i915))
+       if (IS_DGFX(i915))
                kfree(pmu->name);
  err:
        drm_notice(&i915->drm, "Failed to register PMU!\n");
@@ -1351,7 +1340,7 @@ void i915_pmu_unregister(struct drm_i915_private *i915)
        perf_pmu_unregister(&pmu->base);
        pmu->base.event_init = NULL;
        kfree(pmu->base.attr_groups);
-       if (!is_igp(i915))
+       if (IS_DGFX(i915))
                kfree(pmu->name);
        free_event_attributes(pmu);
  }

Reply via email to