From patchwork Mon Oct 15 20:16:23 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rodrigo Vivi X-Patchwork-Id: 1596381 Return-Path: X-Original-To: patchwork-intel-gfx@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by patchwork1.kernel.org (Postfix) with ESMTP id 83C333FD86 for ; Mon, 15 Oct 2012 20:20:52 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 5752D9EB42 for ; Mon, 15 Oct 2012 13:20:52 -0700 (PDT) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from mail-gh0-f177.google.com (mail-gh0-f177.google.com [209.85.160.177]) by gabe.freedesktop.org (Postfix) with ESMTP id A8BCE9E996 for ; Mon, 15 Oct 2012 13:19:39 -0700 (PDT) Received: by mail-gh0-f177.google.com with SMTP id f20so1379117ghb.36 for ; Mon, 15 Oct 2012 13:19:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:x-mailer; bh=t0svWzIPnIQ/WoW9yNKBvXxxCxjiMXtApeJ1KvuAsBo=; b=vWMw61AU5BeHqSF5AcScRoh9l/dNXq3tpje+oRSjKyNeIy8BcsUsylrp3+edvYAQG4 /0ZX7JlZkdQz8pbpMbh1eztn3k8CLDGvL4HSh4ZGl3kgEO2VGyo67DfvGfPomuA0ZQbd FYVNPthDnPC7i+Ow5JvM772wZamGhET3Nf/5i8uOnyYJbux8N/Yv9EbVFhNmdsMD+608 7PkrEDx1PaI7zH7gidXxobMPCX+KXreBEV71LSuwGF/OrgjdxcYmL3vDIAMTyUgY4nu2 IrGLV/cdrKssaXUEkuIHIml5JzFgTBex+B3XNLA1CNy45sY5BSYpJLQjuYb4ER6WxMrf DN7w== Received: by 10.236.150.1 with SMTP id y1mr11577297yhj.96.1350332379098; Mon, 15 Oct 2012 13:19:39 -0700 (PDT) Received: from localhost.localdomain (200.188.217.18.dedicated.neoviatelecom.com.br. [200.188.217.18]) by mx.google.com with ESMTPS id u13sm14513473anl.5.2012.10.15.13.19.37 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 15 Oct 2012 13:19:38 -0700 (PDT) From: Rodrigo Vivi To: intel-gfx@lists.freedesktop.org Date: Mon, 15 Oct 2012 17:16:23 -0300 Message-Id: <1350332183-1418-1-git-send-email-rodrigo.vivi@gmail.com> X-Mailer: git-send-email 1.7.11.4 Subject: [Intel-gfx] [PATCH] drm/i915: Insert i915_preliminary_hw_support variable. X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: intel-gfx-bounces+patchwork-intel-gfx=patchwork.kernel.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+patchwork-intel-gfx=patchwork.kernel.org@lists.freedesktop.org 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 Reviewed-by: Dave Airlie --- 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);