Message ID | 20240722210648.80892-5-lucas.demarchi@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Fix i915 pmu on bind/unbind | expand |
On Mon, 22 Jul 2024 14:06:45 -0700, 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(). Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com> > Signed-off-by: Lucas De Marchi <lucas.demarchi@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); > } > -- > 2.43.0 >
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 <tursulin@ursulin.net> AuthorDate: Wed Oct 16 10:38:02 2019 +0100 Commit: Tvrtko Ursulin <tursulin@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.souza@intel.com> AuthorDate: Thu Oct 24 12:51:19 2019 -0700 Commit: Lucas De Marchi <lucas.demarchi@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.demarchi@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); > }
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); }
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(). Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com> --- drivers/gpu/drm/i915/i915_pmu.c | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-)