[PATCH] drm/i915: Insert i915_preliminary_hw_support variable.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Oct 16, 2012 at 6:16 AM, Rodrigo Vivi <rodrigo.vivi at gmail.com> wrote:
> On the worst scenario, users with new hardwares and old kernel from enabling times can get black screens.
> So, now on, this i915_perliminary_hw_support variable shall be used by all upcoming platforms that are still under enabling.
>
> Although it is uncomfortable for developers use this extra variable it brings more stability for end users.
>
> Signed-off-by: Rodrigo Vivi <rodrigo.vivi at gmail.com>

I like this idea, since I've got to ship known broken kernels on HSW by default.

The biggest issue is when we consider it working, I suppose if it can
successfully light up most of its output, since I know we'll always be
plagued with eDP randomly not working.

Reviewed-by: Dave Airlie <airlied at redhat.com>

> ---
>  drivers/gpu/drm/i915/i915_drv.c | 13 +++++++++++++
>  drivers/gpu/drm/i915/i915_drv.h |  1 +
>  2 files changed, 14 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
> index a7837e5..41bee22 100644
> --- a/drivers/gpu/drm/i915/i915_drv.c
> +++ b/drivers/gpu/drm/i915/i915_drv.c
> @@ -119,6 +119,13 @@ module_param_named(i915_enable_ppgtt, i915_enable_ppgtt, int, 0600);
>  MODULE_PARM_DESC(i915_enable_ppgtt,
>                 "Enable PPGTT (default: true)");
>
> +unsigned int i915_preliminary_hw_support __read_mostly = 0;
> +module_param_named(i915_preliminary_hw_support, i915_preliminary_hw_support, int, 0600);
> +MODULE_PARM_DESC(i915_preliminary_hw_support,
> +               "Enable preliminary hardware support. "
> +               "Enable Haswell and ValleyView Support. "
> +               "(default: false)");
> +
>  static struct drm_driver driver;
>  extern int intel_agp_enabled;
>
> @@ -827,6 +834,12 @@ i915_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
>         struct intel_device_info *intel_info =
>                 (struct intel_device_info *) ent->driver_data;
>
> +       if (intel_info->is_haswell || intel_info->is_valleyview)
> +               if(!i915_preliminary_hw_support) {
> +                       DRM_ERROR("Preliminary hardware support disabled\n");
> +                       return -ENODEV;
> +               }
> +
>         /* Only bind to function 0 of the device. Early generations
>          * used function 1 as a placeholder for multi-head. This causes
>          * us confusion instead, especially on the systems where both
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 9e446b6..5617881 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -1225,6 +1225,7 @@ extern int i915_enable_rc6 __read_mostly;
>  extern int i915_enable_fbc __read_mostly;
>  extern bool i915_enable_hangcheck __read_mostly;
>  extern int i915_enable_ppgtt __read_mostly;
> +extern unsigned int i915_preliminary_hw_support __read_mostly;
>
>  extern int i915_suspend(struct drm_device *dev, pm_message_t state);
>  extern int i915_resume(struct drm_device *dev);
> --
> 1.7.11.4
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx


[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux