diff mbox

RFC: libdrm: Support Iris Graphics 540 & 550 (Skylake GT3e)

Message ID a849a518-307b-3f66-78d8-305f44531f4d@leemhuis.info (mailing list archive)
State New, archived
Headers show

Commit Message

Thorsten Leemhuis April 26, 2016, 11:41 a.m. UTC
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

Comments

Thorsten Leemhuis April 27, 2016, 7:37 a.m. UTC | #1
Thorsten Leemhuis wrote on 26.04.2016 13:41:
> 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.

Forget that patch -- a way better one was submitted weeks ago my Michal
already:
https://lists.freedesktop.org/archives/intel-gfx/2016-February/087819.html

Did that patch simply fall through the cracks or is there a reason why
it wasn't applied to libdrm master? It is pretty obvious it would fix
the problem I saw and tried to address with that rough patch I send
yesterday.

CU, knurd

P.S.: Added intel-gfx and michal.winiarski to CC
Kenneth Graunke April 28, 2016, 1:05 a.m. UTC | #2
On Wednesday, April 27, 2016 9:37:07 AM PDT Thorsten Leemhuis wrote:
> Thorsten Leemhuis wrote on 26.04.2016 13:41:
> > 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.
> 
> Forget that patch -- a way better one was submitted weeks ago my Michal
> already:
> https://lists.freedesktop.org/archives/intel-gfx/2016-February/087819.html
> 
> Did that patch simply fall through the cracks or is there a reason why
> it wasn't applied to libdrm master? It is pretty obvious it would fix
> the problem I saw and tried to address with that rough patch I send
> yesterday.
> 
> CU, knurd
> 
> P.S.: Added intel-gfx and michal.winiarski to CC

It looks like it fell through the cracks.  Roland just mentioned this on
IRC...I've reviewed and pushed the patch to master.  I'm also making a
release.
Thorsten Leemhuis April 28, 2016, 8:37 a.m. UTC | #3
Kenneth Graunke wrote on 28.04.2016 03:05:
> On Wednesday, April 27, 2016 9:37:07 AM PDT Thorsten Leemhuis wrote:
>> Thorsten Leemhuis wrote on 26.04.2016 13:41:
>> > 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 – 
> […]
>> Forget that patch -- a way better one was submitted weeks ago my Michal
>> already:
>> https://lists.freedesktop.org/archives/intel-gfx/2016-February/087819.html
> It looks like it fell through the cracks.  Roland just mentioned this on
> IRC...I've reviewed and pushed the patch to master.  I'm also making a
> release.

Many thx. Side note, while at it: I think this linux-drm patch from
Micha? fell through the cracks, too:
https://lists.freedesktop.org/archives/intel-gfx/2016-February/087855.html

Whole story:  That libdrm patch you applied contained this line:

+#define PCI_CHIP_SKYLAKE_SRV_GT3 0x192D

This id for the Iris Graphics P555 is also present in Mesa master
i965(¹), but missing in Linux master afaics:
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/include/drm/i915_pciids.h#n279
And it's not in drm-intel-next either afaics:
https://cgit.freedesktop.org/drm-intel/tree/include/drm/i915_pciids.h?h=drm-intel-next#n279

CU, knurd

(¹)
https://cgit.freedesktop.org/mesa/mesa/tree/include/pci_ids/i965_pci_ids.h#n132
diff mbox

Patch

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	|| \