[Intel-gfx] [PATCH 03/28] drm/i915: Keep ggtt->probe() as a local
Chris Wilson
chris at chris-wilson.co.uk
Wed Aug 3 13:42:56 UTC 2016
The ggtt->probe() vfunc is only called once during GGTT initialisation.
We can keep it in a local for the function, sparing a few bytes in our
i915_ggtt persistent struct.
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
---
drivers/gpu/drm/i915/i915_gem_gtt.c | 15 ++++++++-------
drivers/gpu/drm/i915/i915_gem_gtt.h | 2 --
2 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c
index 3fc77776d89b..70178a77d0c8 100644
--- a/drivers/gpu/drm/i915/i915_gem_gtt.c
+++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
@@ -3215,13 +3215,17 @@ int i915_ggtt_probe_hw(struct drm_device *dev)
{
struct drm_i915_private *dev_priv = to_i915(dev);
struct i915_ggtt *ggtt = &dev_priv->ggtt;
+ int (*probe)(struct i915_ggtt *ggtt);
int ret;
+ ggtt->base.dev = dev;
+ ggtt->base.is_ggtt = true;
+
if (INTEL_INFO(dev)->gen <= 5) {
- ggtt->probe = i915_gmch_probe;
+ probe = i915_gmch_probe;
ggtt->base.cleanup = i915_gmch_remove;
} else if (INTEL_INFO(dev)->gen < 8) {
- ggtt->probe = gen6_gmch_probe;
+ probe = gen6_gmch_probe;
ggtt->base.cleanup = gen6_gmch_remove;
if (HAS_EDRAM(dev))
@@ -3235,14 +3239,11 @@ int i915_ggtt_probe_hw(struct drm_device *dev)
else
ggtt->base.pte_encode = snb_pte_encode;
} else {
- ggtt->probe = gen8_gmch_probe;
+ probe = gen8_gmch_probe;
ggtt->base.cleanup = gen6_gmch_remove;
}
- ggtt->base.dev = dev;
- ggtt->base.is_ggtt = true;
-
- ret = ggtt->probe(ggtt);
+ ret = probe(ggtt);
if (ret)
return ret;
diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.h b/drivers/gpu/drm/i915/i915_gem_gtt.h
index 5b6744a5c944..defb274f3ba5 100644
--- a/drivers/gpu/drm/i915/i915_gem_gtt.h
+++ b/drivers/gpu/drm/i915/i915_gem_gtt.h
@@ -365,8 +365,6 @@ struct i915_ggtt {
bool do_idle_maps;
int mtrr;
-
- int (*probe)(struct i915_ggtt *ggtt);
};
struct i915_hw_ppgtt {
--
2.8.1
More information about the Intel-gfx
mailing list