All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jike Song <jike.song@intel.com>
To: Chris Wilson <chris@chris-wilson.co.uk>,
	daniel.vetter@intel.com, intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 8/8] drm/i915: Support alias ppgtt in VM if ppgtt is enabled
Date: Mon, 22 Sep 2014 19:17:41 +0800	[thread overview]
Message-ID: <54200555.4050008@intel.com> (raw)
In-Reply-To: <20140919082539.GG21738@nuc-i3427.alporthouse.com>

On 09/19/2014 04:25 PM, Chris Wilson wrote:
>
> This should be moved to sanitize_enable_ppgtt(), probably by expanding
> HAS_PPGTT(), e.g.:
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 07dafa2c2d8c..b1fa13942d14 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -2139,8 +2139,6 @@ struct drm_i915_cmd_table {
>
>   #define HAS_HW_CONTEXTS(dev)   (INTEL_INFO(dev)->gen >= 6)
>   #define HAS_LOGICAL_RING_CONTEXTS(dev) (INTEL_INFO(dev)->gen >= 8)
> -#define HAS_ALIASING_PPGTT(dev)        (INTEL_INFO(dev)->gen >= 6)
> -#define HAS_PPGTT(dev)         (INTEL_INFO(dev)->gen >= 7 && !IS_GEN8(dev))
>   #define USES_PPGTT(dev)                (i915.enable_ppgtt)
>   #define USES_FULL_PPGTT(dev)   (i915.enable_ppgtt == 2)
>
> diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c
> index a234446a8678..3bea0bdfd276 100644
> --- a/drivers/gpu/drm/i915/i915_gem_gtt.c
> +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
> @@ -35,13 +35,23 @@ static void chv_setup_private_ppat(struct drm_i915_private *dev_priv);
>
>   static int sanitize_enable_ppgtt(struct drm_device *dev, int enable_ppgtt)
>   {
> -       if (enable_ppgtt == 0 || !HAS_ALIASING_PPGTT(dev))
> +       bool has_aliasing_ppgtt;
> +       bool has_full_ppgtt;
> +
> +       has_aliasing_ppgtt = INTEL_INFO(dev)->gen >= 6;
> +       has_full_ppgtt = INTEL_INFO(dev)->gen >= 7;
> +       if (IS_GEN8(dev))
> +               has_full_ppgtt = false; /* XXX why? */
> +       if (intel_vgpu_active(dev))
> +               has_full_ppgtt = false; /* emulation is too hard */
> +
> +       if (enable_ppgtt == 0 || !has_aliasing_ppgtt)
>                  return 0;
>
>          if (enable_ppgtt == 1)
>                  return 1;
>
> -       if (enable_ppgtt == 2 && HAS_PPGTT(dev))
> +       if (enable_ppgtt == 2 && has_full_ppgtt)
>                  return 2;
>
>   #ifdef CONFIG_INTEL_IOMMU
> @@ -59,7 +69,7 @@ static int sanitize_enable_ppgtt(struct drm_device *dev, int enable_ppgtt)
>                  return 0;
>          }
>
> -       return HAS_PPGTT(dev) ? 2 : HAS_ALIASING_PPGTT(dev) ? 1 : 0;
> +       return has_full_ppgtt ? 2 : has_aliasing_ppgtt ? 1 : 0;
>   }

Thanks for the demo. Currently sanitize_enable_ppgtt() is called by i915_gem_gtt_init(), before
intel_check_vgpu().

I'm trying to detect VGPU as early as possible, maybe between intel_detect_pch() and intel_uncore_init(),
using bare readq/readw instead of I915_READxx.


>
> -Chris
>
--
Thanks,
Jike

  reply	other threads:[~2014-09-22 11:21 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-19 18:47 [PATCH 0/8] Add enlightenments for vGPU Jike Song
2014-09-19 18:47 ` [PATCH 1/8] drm/i915: Introduce a PV INFO page structure for Intel GVT-g Jike Song
2014-09-19  7:25   ` Chris Wilson
2014-09-19 10:23     ` Jike Song
2014-09-29 11:44     ` Jike Song
2014-09-29 12:08       ` Yu, Zhang
2014-09-29 12:16       ` Chris Wilson
2014-09-29 12:40         ` Jike Song
2014-10-10  8:23           ` Yu, Zhang
2014-09-19 16:02   ` Daniel Vetter
2014-09-19 16:07     ` Daniel Vetter
2014-09-19 21:39     ` Tian, Kevin
2014-09-19 18:47 ` [PATCH 2/8] drm/i915: Adds graphic address space ballooning logic Jike Song
2014-09-19  8:05   ` Chris Wilson
2014-09-19 16:04     ` Daniel Vetter
2014-09-19 18:21     ` Tian, Kevin
2014-09-19 20:00       ` Chris Wilson
2014-09-23  8:26         ` Daniel Vetter
2014-09-23  9:19           ` Chris Wilson
2014-09-23 11:25             ` Daniel Vetter
2014-09-24 12:35               ` Zhang, Yu
2014-09-24 13:21                 ` Chris Wilson
2014-09-26  8:26                   ` Zhang, Yu
2014-09-26  8:48                     ` Chris Wilson
2014-09-26  8:46                       ` Yu, Zhang
2014-09-24 13:23                 ` Daniel Vetter
2014-09-19 18:47 ` [PATCH 3/8] drm/i915: Partition the fence registers for vgpu in i915 driver Jike Song
2014-09-19 18:47 ` [PATCH 4/8] drm/i915: Disable framebuffer compression for i915 driver in VM Jike Song
2014-09-19  8:07   ` Chris Wilson
2014-09-22  7:10     ` Jike Song
2014-09-22 11:28       ` Chris Wilson
2014-09-19 18:47 ` [PATCH 5/8] drm/i915: Add the display switch logic for vgpu in i915 driver Jike Song
2014-09-19  8:14   ` Chris Wilson
2014-09-19 11:37     ` Wang, Zhi A
2014-09-19 16:09   ` Daniel Vetter
2014-09-29  6:31     ` Zhiyuan Lv
2014-09-29 12:30       ` Daniel Vetter
2014-09-30 10:25         ` Zhiyuan Lv
2014-09-30 10:56           ` Daniel Vetter
2014-09-19 18:47 ` [PATCH 6/8] drm/i915: Disable power management for i915 driver in VM Jike Song
2014-09-19  8:16   ` Chris Wilson
2014-09-19 18:47 ` [PATCH 7/8] drm/i915: Create vgpu specific write MMIO to reduce traps Jike Song
2014-09-19  6:59   ` Chris Wilson
2014-09-19  7:43     ` Jike Song
2014-09-19 18:47 ` [PATCH 8/8] drm/i915: Support alias ppgtt in VM if ppgtt is enabled Jike Song
2014-09-19  8:25   ` Chris Wilson
2014-09-22 11:17     ` Jike Song [this message]
2014-09-22 11:27       ` Chris Wilson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54200555.4050008@intel.com \
    --to=jike.song@intel.com \
    --cc=chris@chris-wilson.co.uk \
    --cc=daniel.vetter@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.