Commit Graph

124 Commits

Author SHA1 Message Date
Chris Wilson e9cd8c211d pciids: Update for missing Skylake IDs
Sync with kernel commit ca7a45ba6fb9e7ceca56d10b91db29c2f3451a2e
Author: Michał Winiarski <michal.winiarski@intel.com>
Date:   Mon Feb 27 12:22:56 2017 +0100

    drm/i915/skl: Add missing SKL ID

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-02-27 20:43:06 +00:00
Rodrigo Vivi 169c74fa6c intel: Adding Marketing names for Skylake, Kabylake and Apollolake/Broxton.
This commit adding all known marketing names for latest gen9 platforms.

v2: On top of simplified generic string names.

Cc: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2016-12-06 09:38:57 +00:00
Rodrigo Vivi 2948cf0531 intel: Simplify new platform names.
Modern Intel (R) platforms with integrated graphics comes with common
names varying the range numbers. So instead of listing all supported
platforms let's start using the generic marketing strings without
the numbers.

And for the specific board we list it's actual marketing name if
available on detection.

Cc: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2016-12-06 09:38:56 +00:00
Ander Conselvan de Oliveira fcf943f45b Add Geminialke PCI IDs
Same ids from kernel's

commit 8363e3c3947d0e22955f94a6a87e4f17ce5087b4
Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Date:   Thu Nov 10 17:23:08 2016 +0200

    drm/i915/glk: Add Geminilake PCI IDs

Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
2016-12-05 21:37:52 +00:00
Hans de Goede df0b2ce823 intel: Fix fd (and mem) leak when intel_scrn_create fails
The probe functions in intel_module.c call intel_open_device() before
calling intel_scrn_create(), but if the later fails because of e.g.
an allocation failure they were not cleaning up the resources
claimed by intel_open_device(), esp. leaking the fd is a problem
because this breaks the fallback to the modesetting driver.

This commit fixes this by adding a intel_close_device() cleanup
function and calling that when intel_scrn_create() fails.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2016-07-14 21:49:27 +01:00
Wayne Boyer c446a7ccc7 Add Kabylake PCI IDs
Add the Kabylake PCI IDs based on the following kernel patches:

commit d97044b661d0d56b2a2ae9b2b95ab0b359b417dc
Author: Deepak S <deepak.s@intel.com>
Date:   Wed Oct 28 12:19:51 2015 -0700

    drm/i915/kbl: Add Kabylake PCI ID

commit 8b10c0cf21ec84618d4bf02c73c0543500ece68d
Author: Deepak S <deepak.s@intel.com>
Date:   Wed Oct 28 12:21:12 2015 -0700

    drm/i915/kbl: Add Kabylake GT4 PCI ID

Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Wayne Boyer <wayne.boyer@intel.com>
[ickle: Copy across the real i915_pciids.h from the kernel]
2015-11-19 10:45:50 +00:00
Damien Lespiau 6651a03e62 Add Broxton PCI ids
Syncs up to

kernel commit ee87697f8bc4da0aea6fe1a825c734fb5e4a5b3b
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Fri May 15 19:43:56 2015 +0100

    drm/i915/bxt: Update the Broxton PCI ids

and, importantly, including

kernel commit 1347f5b46a270db1991625f9f57af91e23a4b512
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Tue Mar 17 11:39:27 2015 +0200

    drm/i915/bxt: Add BXT PCI id

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-06-11 10:11:54 +01:00
Chris Wilson aa44ba990a intel: Prevent crash with X -configure
When run with -configure, xf86configptr is NULL, so be careful and do
not dereference it.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-05-16 22:15:31 +01:00
Chris Wilson 4b4bcbfcff intel: Fix inconsistent captilisation of "graphics"
As we treat it as a name we should capitilize each word, but we forgot
that rule (sometimes!) for Broadwell.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-04-16 21:11:01 +01:00
Ville Syrjälä 1e1a7875cf intel: Add marketing names for CHV
All CHV devices will be branded as "Intel(r) HD Graphics".

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2015-04-16 21:06:03 +01:00
Chris Wilson 5edab91b1e intel: Try to load one AccelMethod if the .conf doesn't match
If you mistype or make the wrong selection in the AccelMethod override,
you can end up with a non-booting system, so lets always try to start
something!

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-01-31 01:30:09 +00:00
Chris Wilson 0aa2edbd29 Remove defunct glamor support
It never was a stable or complete replacement, and now it is
incorporated in Xorg itself!

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-11-06 16:55:46 +00:00
Chris Wilson c139e2fb95 intel: Store pointer to struct intel_device
Beware the barbarians at the gate, who invade and steal your ScrnInfoPtr
and its Entity from underneath you. In some configurations, we lose
access to the struct intel_device stored on the Entity after
initialisation, causing havoc. Workaround this by storing the
intel_device that we open in our driverPrivate.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-10-08 13:59:55 +01:00
Chris Wilson abc9b3f575 Add Skylake PCI IDs
From kernel commit 72bbf0af0c76cbefe9cecbd2ed670b7555e03625
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Wed Feb 13 15:27:37 2013 +0000

    drm/i915/skl: Add the Skylake PCI ids

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-09-26 09:22:50 +01:00
Chris Wilson f36b7a4aac intel: Use NOACCEL to avoid a symbol clash on old Xorg
Old Xorg xf86str.h defines NONE preventing us from using it within an
enum. Use NOACCEL instead.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-08-05 16:38:42 +01:00
Chris Wilson 997a5d2802 configure: Expose no acceleration by default (--with-default-accel=none)
Why? I am not sure, but it seems equally as valid as allowing the switch
to uxa/glamor as default. The runtime equivalent is Option "AccelMethod".

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-27 07:15:19 +01:00
Chris Wilson dcf9ce4a9f Fix compile failure on old Xorg with XF86_ALLOCATE_GPU_SCREEN
Sigh, a late fix was not compile checked against xorg-1.7.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-23 15:44:21 +01:00
Chris Wilson d6830190bc sna: Disable all outputs when initializing as a slaved output provider
When we are constructed as a slaved device, we need to disable all
outputs or else they are not correctly hooked into the master device
upon startup.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-23 11:04:54 +01:00
Damien Lespiau e6e5330857 intel: Use the i845 info structure for INTEL_I845G_IDS()
I assume the intention was to provide a different structure for each of
the gen 2 devices.

This doesn't change anything really.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2014-06-30 21:20:27 +01:00
Rodrigo Vivi 43ad5dbc60 Add marketing names for Broadwell
Even the unknown/reserved ones will stay with HD Graphics.

v2: Add missing names to intel.man and README files as well. (Chris)

Cc: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2014-06-24 20:54:30 +01:00
Chris Wilson d14d7efb28 intel: Add a note about the myriad places we have identifier strings
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-24 16:33:43 +01:00
Chris Wilson b21fc65b23 intel: Update PCI IDs for Cherryview
Copied from kernel commit 7d87a7f709650bde4d7d63117f25ee1c095da5dd
Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
Date:   Wed Apr 9 18:19:04 2014 +0300

    srm/i915/chv: Add Cherryview PCI IDs

and also includes non-functional changes from

commit fd3c269f8ff940cc0fbb3b7f7e84c0572f6f759a
Author: Zhao Yakui <yakui.zhao@intel.com>
Date:   Thu Apr 17 10:37:35 2014 +0800

    drm/i915: Split the BDW device definition to prepare for dual BSD rings on BDW GT3

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-05-16 10:02:16 +01:00
Chris Wilson 59f2f4885d intel: Fix versioning of SUPPORTS_SERVER_FD
The current snapshot is 1.15.99.901, which means that the new feature
will first be available in 1.15.99.902.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-03-11 10:01:04 +00:00
Hans de Goede 28cab948f5 intel: Add support for server managed fds
In the post-modern world, the platform device nodes are handed to a
non-privileged Xserver by systemd/logind. We can then query the core for
our assigned fd rather than try to open the device for ourselves (which
would fail when trying to obtain DRM_MASTER status). A consequence is
that we then do not directly control DRM_MASTER status and must act as a
delegate of systemd.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2014-03-10 22:19:25 +00:00
Chris Wilson 9f3fc9ec49 Allow selection of glamor as the default acceleration method
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=74162
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-01-28 21:56:23 +00:00
Chris Wilson 7e76f21a4d intel: Recognise gen8
Assign gen=8 to the Broadwell PCI IDs, no marketing names are known at
this point in time.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-12-11 21:39:40 +00:00
Chris Wilson 255025d8d3 intel: Tidy up driver identification string
Split the identification strings between the older integrated graphic
chipsets and the more recent integrated processor graphics. This helps
to emphasis the recent branding and should reduce confusion about which
processors are supported by the driver.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-12-04 11:56:44 +00:00
Chris Wilson 04d2cad65d Add identification strings for new Atoms
All of the new Atom (Baytrail) products ship with "HD Graphics".

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-11-12 14:43:56 +00:00
Chris Wilson a0476ee6d0 intel: Allow opening the device only through platform information
Only fail to open the device based on the PCI address, if and only if we
do not have sufficient platform information to find the correct system
device.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-03 16:15:22 +01:00
Chris Wilson a47f8683fe intel: Handle fallback probing without match_data
One extreme fallback path through the xf86PlatformProbe results in a
call without any match data. As we have a device by this point, we can
simply do a reverse match.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-03 16:15:22 +01:00
Chris Wilson 6c157a925f intel: Remove dependence upon having PciInfo
After some probing mechanisms, we may end up with a valid device without
knowing its PCI address a priori. Having a valid device, we can just
query it for the correct device id, and can safely abort any path that
requires PCI information that we don't have. (Those paths are not valid
under such hosting anyway - if it may be required, we could reconstruct
the address.)

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-03 16:13:38 +01:00
Chris Wilson 4685e79d11 intel: And restore PlatformProbe to working order
In the saga of the untested WIP patches for hosted device probing, was
the failure in logic to detect a valid device during probing. Yikes.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-03 14:42:45 +01:00
Chris Wilson 7978592048 intel: Pass the platform device along to the open routines
This allows us to pass along more metadata along with the platform
device in future. Currently we pass the device path, but in a hosted
environment we should be passing along the authorized fd from the host.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-02 18:24:47 +01:00
Chris Wilson dcf9b5ae18 intel: Compile fixes for base install of SLED11.sp3
Highlights of that distribution include xorg-xserver-1.6.5, kernel
3.0.76 and gcc-4.3.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-09-18 12:49:41 +01:00
Chris Wilson 6f49a413aa configure: Check for required UMS headers before enabling
Prevents the build failing with i810 if we can not find vgaHW.h

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-09-04 15:18:28 +01:00
Chris Wilson 8da8c88e99 intel: Check for HW_SKIP_CONSOLE before use
For the older xserver.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-08-12 13:12:21 +01:00
Chris Wilson b6b5c3f009 intel: Disable incompatible features whilst hosted
Start adding the infrastructure to disable direct hardware access if X
is being run under a system compositor (aka "hosted").

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-08-09 11:46:24 +01:00
Chris Wilson 208282d316 Suppress a bunch of compiler warnings for using constant strings
We want these allocated in ro memory even if the antique API complains.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-07-30 13:26:14 +01:00
Chris Wilson a12c352b56 intel: Remove some unused macros
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-07-28 14:49:07 +01:00
Chris Wilson 45d4e8dcf9 uxa: Clear up the common intel directory
Move all the UXA backend specifc files into their own subdirectory.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-07-28 14:49:07 +01:00
Chris Wilson ab28526ea4 intel: Only print the unique chipset names
When printing out the list of supported chipsets, remove the (many
times) repeated names as they are very confusing and obscure the product
name you may be searching for.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-07-28 14:49:06 +01:00
Chris Wilson 6fd37e644d intel: Replace the codename in the user facing string for unknown Haswell parts
For these parts we do not yet known the correct marketing name, so
replace our use of the codename with the generic term.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-07-28 14:49:06 +01:00
Chris Wilson 7567c99ee9 intel: Set the correct marketing names for Ironlake, Sandybridge and Ivybridge
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-07-28 14:49:06 +01:00
Chris Wilson 17873be335 intel: Remove the SDV from the list of identified chipsets
These devices are not for retail and so have no marketing names.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-07-28 14:49:06 +01:00
Chris Wilson 4c6871684b intel: Cross-check an unnamed chipset against the list of known PCI-IDs
If we recognise the PCI-ID but do not have a marketing name for it, it
means we are deliberating ignoring it - presumably because it is an
engineering sample. In this case, we do not want to print out a warning
into the logfile so replace the "Unknown chipset" with some info
about the future product.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-07-28 14:49:06 +01:00
Chris Wilson b6bcb7ae20 intel: Source our PCI IDs table from the copy in the kernel
Rather than duplicating the information we already use in the kernel, we
can reuse the pci-id tables so long as we apply a little fuzz.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-07-28 14:49:06 +01:00
Chris Wilson 282507af8e intel: Move the validation of the KMS device into the open routine
Currently we leak the fd should we open the device node and decide that
is not a GEM/KMS kernel driver. The simplest way to perform the cleanup
upon failure is to move the checking for GEM/KMS into the device open
routine.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-07-02 09:38:07 +01:00
Chris Wilson 9eabe28a40 Tidy version query for i915.ko
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-06-23 07:33:56 +01:00
Chris Wilson 7ec0378b64 sna: Only open the /dev/dri/cardX device once
Merge the device open in the main driver with the probing so that we can
open the path explicitly passed in by the PlatformProbe and keep that fd
around for the main driver and so avoid a later search.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-06-23 07:33:56 +01:00
Rodrigo Vivi 45c09bfe58 Add more correct names for Haswell.
As we find out more of the final product names for Haswell chipsets, we
need to update the user visible identification strings.

Signed-off-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
2013-06-05 23:34:28 +01:00