Re: [RFC 16/31] drm/i915: Compartmentalize i915_ggtt_probe_hw

Rodrigo Vivi
2019-06-14T15:58:37Z

On Fri, Jun 14, 2019 at 04:17:16PM +0100, Tvrtko Ursulin wrote:
> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>
> Having made start to better code compartmentalization by introducing
> struct intel_gt, continue the theme elsewhere in code by making functions
> take parameters take what logically makes most sense for them instead of
> the global struct drm_i915_private.
>
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>

Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

> ---
> drivers/gpu/drm/i915/i915_gem_gtt.c | 31 +++++++++++++++++++----------
> 1 file changed, 21 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c
> index 0810c1655224..c88213fa18af 100644
> --- a/drivers/gpu/drm/i915/i915_gem_gtt.c
> +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
> @@ -3507,21 +3507,16 @@ static int i915_gmch_probe(struct i915_ggtt *ggtt)
> return 0;
> }
>
> -/**
> - * i915_ggtt_probe_hw - Probe GGTT hardware location
> - * @dev_priv: i915 device
> - */
> -int i915_ggtt_probe_hw(struct drm_i915_private *dev_priv)
> +static int ggtt_probe_hw(struct i915_ggtt *ggtt, struct drm_i915_private *i915)
> {
> - struct i915_ggtt *ggtt = &dev_priv->ggtt;
> int ret;
>
> - ggtt->vm.i915 = dev_priv;
> - ggtt->vm.dma = &dev_priv->drm.pdev->dev;
> + ggtt->vm.i915 = i915;
> + ggtt->vm.dma = &i915->drm.pdev->dev;
>
> - if (INTEL_GEN(dev_priv) <= 5)
> + if (INTEL_GEN(i915) <= 5)
> ret = i915_gmch_probe(ggtt);
> - else if (INTEL_GEN(dev_priv) < 8)
> + else if (INTEL_GEN(i915) < 8)
> ret = gen6_gmch_probe(ggtt);
> else
> ret = gen8_gmch_probe(ggtt);
> @@ -3549,6 +3544,22 @@ int i915_ggtt_probe_hw(struct drm_i915_private *dev_priv)
> DRM_DEBUG_DRIVER("GMADR size = %lluM\n", (u64)ggtt->mappable_end >> 20);
> DRM_DEBUG_DRIVER("DSM size = %lluM\n",
> (u64)resource_size(&intel_graphics_stolen_res) >> 20);
> +
> + return 0;
> +}
> +
> +/**
> + * i915_ggtt_probe_hw - Probe GGTT hardware location
> + * @dev_priv: i915 device
> + */
> +int i915_ggtt_probe_hw(struct drm_i915_private *i915)
> +{
> + int ret;
> +
> + ret = ggtt_probe_hw(&i915->ggtt, i915);
> + if (ret)
> + return ret;
> +
> if (intel_vtd_active())
> DRM_INFO("VT-d active for gfx access\n");
>
> --
> 2.20.1
>