[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