[Intel-gfx] [PATCH] drm/i915: print a message when we detect an early Haswell SDV

Rodrigo Vivi rodrigo.vivi at gmail.com
Tue Aug 13 19:41:15 CEST 2013


Reviewed-by: Rodrigo Vivi <rodrigo.vivi at gmail.com>

On Mon, Aug 12, 2013 at 2:34 PM, Paulo Zanoni <przanoni at gmail.com> wrote:
> From: Paulo Zanoni <paulo.r.zanoni at intel.com>
>
> The machines that fall in this category are the SDVs that have a PCI
> ID starting with 0x0C. These are very early pre-production machines
> and may not fully work. Other Haswell SDVs have PCI IDs that match the
> real Haswell machines and we expect them to work better.
>
> Even though they have problems, they still mostly work so I don't see
> a reason to refuse loading our driver. But I do see a reason to reject
> bug reports from these machines, so the message should help the bug
> triagers.
>
> As far as I know, we don't implement some workarounds that are
> specific to these machines and suspend/resume may not work on most of
> them, but besides this, they may work.
>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=61508
> Signed-off-by: Paulo Zanoni <paulo.r.zanoni at intel.com>
> ---
>  drivers/gpu/drm/i915/i915_dma.c | 8 ++++++++
>  drivers/gpu/drm/i915/i915_drv.h | 2 ++
>  2 files changed, 10 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
> index 0adfe40..908442e 100644
> --- a/drivers/gpu/drm/i915/i915_dma.c
> +++ b/drivers/gpu/drm/i915/i915_dma.c
> @@ -1485,6 +1485,14 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
>
>         i915_dump_device_info(dev_priv);
>
> +       /* Not all pre-production machines fall into this category, only the
> +        * very first ones. Almost everything should work, except for maybe
> +        * suspend/resume. And we don't implement workarounds that affect only
> +        * pre-production machines. */
> +       if (IS_HSW_EARLY_SDV(dev))
> +               DRM_INFO("This is an early pre-production Haswell machine. "
> +                        "It may not be fully functional.\n");
> +
>         if (i915_get_bridge_dev(dev)) {
>                 ret = -EIO;
>                 goto free_priv;
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index cccd608..3f1f067 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -1510,6 +1510,8 @@ struct drm_i915_file_private {
>  #define IS_VALLEYVIEW(dev)     (INTEL_INFO(dev)->is_valleyview)
>  #define IS_HASWELL(dev)        (INTEL_INFO(dev)->is_haswell)
>  #define IS_MOBILE(dev)         (INTEL_INFO(dev)->is_mobile)
> +#define IS_HSW_EARLY_SDV(dev)  (IS_HASWELL(dev) && \
> +                                ((dev)->pci_device & 0xFF00) == 0x0C00)
>  #define IS_ULT(dev)            (IS_HASWELL(dev) && \
>                                  ((dev)->pci_device & 0xFF00) == 0x0A00)
>
> --
> 1.8.1.2
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx



-- 
Rodrigo Vivi
Blog: http://blog.vivi.eng.br



More information about the Intel-gfx mailing list