From patchwork Tue Apr 26 11:41:16 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Thorsten Leemhuis X-Patchwork-Id: 8938111 Return-Path: X-Original-To: patchwork-dri-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 4E5FF9F39D for ; Tue, 26 Apr 2016 12:08:24 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 774FF20114 for ; Tue, 26 Apr 2016 12:08:23 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by mail.kernel.org (Postfix) with ESMTP id 0433520142 for ; Tue, 26 Apr 2016 12:08:21 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 68E906E273; Tue, 26 Apr 2016 12:08:16 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org X-Greylist: delayed 468 seconds by postgrey-1.35 at gabe; Tue, 26 Apr 2016 11:49:07 UTC Received: from basicbox7.server-home.net (basicbox7.server-home.net [195.137.212.29]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9855D6E7D3 for ; Tue, 26 Apr 2016 11:49:07 +0000 (UTC) Received: from thl.ct.heise.de (gatekeeper.heise.de [193.99.145.162]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by basicbox7.server-home.net (Postfix) with ESMTPSA id 343D45EE7F3; Tue, 26 Apr 2016 13:41:17 +0200 (CEST) From: Thorsten Leemhuis Subject: RFC: libdrm: Support Iris Graphics 540 & 550 (Skylake GT3e) To: dri-devel@lists.freedesktop.org Message-ID: Date: Tue, 26 Apr 2016 13:41:16 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.0 MIME-Version: 1.0 X-Mailman-Approved-At: Tue, 26 Apr 2016 12:08:14 +0000 Cc: Emil Velikov , Ben Widawsky X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Spam-Status: No, score=-5.2 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_MED, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Lo! Below patch adds the PCI-ID for the Intel(R) Iris Graphics 550 (Skylake GT3e mobile) to libdrm. It afaics is the last piece that is missing to make those GPUs work properly, as Linux 4.6-rc(¹) and Mesa 11.2 already support it – but without this patch I get a "error initializing buffer manager" message from i965 when it tries to load. I tested it on a laptop with a Core i5-6267U and it seems to work -- but I only did a few quick tests so far. Could someone @Intel please comment if this patch should be enough to make libdrm support this GPU properly? And while at it could you please tell me proper code identifiers for the Iris Graphics 540 and 550? Then I can update the patch to use a better name (I assume the "SKYLAKE_GT3E" I used in my patch is misleading) and add support for the 540 (0x1923) as well. tia, cu, knurd (¹) https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=7157bb27e79875db5603aa1e30f56e873a8300f9 diff -Naur libdrm-2.4.67.org/intel/intel_chipset.h libdrm-2.4.67/intel/intel_chipset.h --- libdrm-2.4.67.org/intel/intel_chipset.h 2016-01-17 22:22:14.000000000 +0100 +++ libdrm-2.4.67/intel/intel_chipset.h 2016-04-26 10:53:02.937389821 +0200 @@ -180,6 +180,7 @@ #define PCI_CHIP_SKYLAKE_ULX_GT2 0x191E #define PCI_CHIP_SKYLAKE_MOBILE_GT2 0x1921 /* Reserved */ #define PCI_CHIP_SKYLAKE_GT3 0x1926 +#define PCI_CHIP_SKYLAKE_GT3E 0x1927 #define PCI_CHIP_SKYLAKE_HALO_GT3 0x192B /* Reserved */ #define PCI_CHIP_SKYLAKE_SRV_GT4 0x192A #define PCI_CHIP_SKYLAKE_DT_GT4 0x1932 @@ -390,6 +391,7 @@ (devid) == PCI_CHIP_SKYLAKE_MOBILE_GT2) #define IS_SKL_GT3(devid) ((devid) == PCI_CHIP_SKYLAKE_GT3 || \ + (devid) == PCI_CHIP_SKYLAKE_GT3E || \ (devid) == PCI_CHIP_SKYLAKE_HALO_GT3) #define IS_SKL_GT4(devid) ((devid) == PCI_CHIP_SKYLAKE_SRV_GT4 || \