Commit Graph

23 Commits

Author SHA1 Message Date
Chris Wilson 2cd7cb9e93 sna: Allow user override of EDID for an output
As a slightly more convenient approach than loading the EDID on the
kernel command line, allow the user to specify the EDID path in the
Device section of xorg.conf, e.g.

Section "Device"
	Identifier "igfx"
	Option "CustomEDID" "DP1:/path/to/dp1.edid,DP2:/path/to/dp2.edid"
EndSection

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89945
2015-07-18 12:07:48 +01:00
Chris Wilson 5054e22712 Remove the driver option to delete connectors on unplugging
With a MST topology change, we can find outputs may disappear. We offered
a choice as to whether to simply disable them or completely remove them
from the listing of available outputs.  However, clients never expected
that their operation on any output could trigger a BadID XError (or that
there is anyway to prevent race conditions). As such an option was made to
disable by default, but allow testing complete removal. Now the RandR
protocol has been clarified such that XID assigned to outputs are now
permanent, as such the option breaks the spec, so drop it.

See randrproto commit 895ee5264524c7c239ee4ef5e39c4e295323fb51
Author: Dave Airlie <airlied@redhat.com>
Date:   Wed Apr 22 10:58:18 2015 +1000

    randrproto: clarify output XID lifetimes.

    This just makes a note that randr won't make outputs disappear
    dynamically.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Dave Airlie <airlied@redhat.com>
2015-05-04 14:05:27 +01:00
Chris Wilson 6d2754b190 Unify Option "DRI" parsing
Allow Option "DRI" "[23]" to also work with UXA.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-01-31 21:46:09 +00:00
Chris Wilson d27c948a43 intel: Add common routines and configure probing for DRI3
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-02 08:32:11 +01:00
Chris Wilson e78a00c5da sna: Add an xorg.conf option for removing unused outputs
Clients are not yet ready for outputs that disappear at runtime, often
unexpectedly dieing with asynchronous BadOutput errors. A simple
workaround is to not remove any output just yet - but allow users to opt
in via xorg.conf, i.e.

Section "Device"
  Option "DeleteUnusedDP12Displays" "true"
EndSection

The name chosen is to be consistent with the nvidia driver, which did
MST first and encountered all of these issues first, and has also been
adopted for -modesetting. If this is combined with persistent output
naming (i.e. based on DisplayPort branch topology), the number of
outputs presented to the user should be static.

Instead of removing the outputs, we have to mark them detached instead
to avoid throwing errors from the kernel.

Based on the patch for -modesetting by Dave Airlie.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-05-08 13:48:43 +01:00
Chris Wilson 6316905983 intel: Fix includes for intel_options
In commit dcf9b5ae18
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue Sep 17 22:27:45 2013 +0100

    intel: Compile fixes for base install of SLED11.sp3

the includes were juggled around to avoid pulling in xorg-server.h
outside of the driver. However, missing xorg-server.h leads to subtle
bugs in the layout of structures, in this case breaking xf86Options.

Reported-by: FBrown <francisbrwn9@gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=69555
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-09-19 11:28:30 +01:00
Chris Wilson f99e49f764 intel: Make the option to control VSync and PageFlip explict
Too often our implementation of vsync or pageflip is buggy, or for some
other reason it is desired by the user to disable those code paths. Make
it possible once again by restoring the Options for the user to control.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-09-17 09:29:42 +01:00
Chris Wilson 68d139388a sna: Allow user specification of number of VirtualHeads
Previously, we instantiated a fake output in case we had a machine with
no output. (For certain server-class products.) The Bumblee project were
also doing something very similar in order to fake an extended desktop
on the Intel igfx and copy portions onto a discrete GPU. (The preferred
method for doing this upstream is through the use of PRIME). As the code
is very similar, we can support both use-cases simultaneously.

This adds the option:

Section "Device"
  Driver "intel"
  Option "VirtualHeads" "<count>"
EndSection

to allow the user to specify an additional set of fake outputs, which
can then be controlled using xrandr.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-08-30 08:57:25 +01:00
Chris Wilson 1445a62da8 intel: Add an option for forced rediscovery of output status on startup
Specifying
  Section "Device"
    Option "ReprobeOutputs" "true"
  EndSection
will restore the old behaviour of scanning each output on startup and
picking a spanning mode.

The behaviour was changed in
commit 8a6a21bff8 [2.21.11]
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Jun 26 13:29:48 2013 +0100

    sna: Use the existing configuration for initial modes

Please do notify us of any circumstances that force you to use this
flag.

References: https://bugs.freedesktop.org/show_bug.cgi?id=66494
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-07-03 13:05:49 +01:00
Chris Wilson 2ecff61d36 intel: Retire Option "RelaxedFencing"
The kernel bugs have long since been fixed and should have been
propagated to all stable kernels long ago. Now there should be no need
to workaround those bugs.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-07-03 12:45:10 +01:00
Chris Wilson 372c14aae8 sna: Remove some obsolete Options
Throttling and delayed-flush are now redundant.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-01-01 20:42:41 +00:00
Chris Wilson 2c71a8e08a sna/dri: Honour TripleBuffer Option
In case anyone ever wants to disable the default.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-15 09:27:07 +00:00
Chris Wilson c2ca1c5abc Reorder INTEL_XVMC define so that we pick up Option "XvMC"
Otherwise it will remain disabled.

Reported-by: Giacomo Comes <comes@naic.edu>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-23 08:56:50 +01:00
Chris Wilson 414e87255c Add Option "Backlight" to override the probed backlight control interface
The automatic selection may not correspond with the correct backlight
(such as in a multi-gpu, multi-panel device) or the user may simply
prefer another control interface. This allows them to override the
chosen interface using

  Option "Backlight" "my-backlight"

to specify '/sys/class/backlight/my-backlight' as the interface to use
instead.

Suggested-by: Alon Levy <alevy@redhat.com>
References: https://bugs.freedesktop.org/show_bug.cgi?id=29273
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-26 19:47:31 +01:00
Chris Wilson 0fd680ff52 Don't disable acceleration on 830/845g by default
Run the risk of a GPU hang (it shouldn't endanger the entire machine
normally) and let the user elect to disable it through

  Option "NoAccel" "true"

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-29 22:51:26 +01:00
Chris Wilson 0c32be15b0 uxa: Remove Shadow hack
This was an incomplete hack so deprecate in favour of Shadow-on-Steriods,
SNA.

References: https://bugs.freedesktop.org/show_bug.cgi?id=47324
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-15 20:56:58 +01:00
Chris Wilson 0f086acb25 sna: Fallback to attaching a shadow fb if we fail to setup the crtc
As we've chosen to fix the kernel to handle CRTC offsets > 4096, drop
the automatic workaround. However, allow the user to force creation of
PerCrtcPixmaps for the purpose of debugging (and to workaround the bug
in older kernels) and to fallback to trying a shadow fb if the setcrtc
fails with the composite fb.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-05 12:52:51 +01:00
Chris Wilson 1e9319d5f5 sna: extend RandR to support super sized monitor configurations
With the introduction of the third pipe on IvyBridge it is possible to
encounter situations where the combination of the three monitors exceed
the limits of the scanout engine and so prevent them being used at their
native resolutions. (It is conceivable to hit similar issues on earlier
generation, especially gen2/3.) One workaround, this patch, is to extend
the RandR shadow support to break the extended framebuffer into per-crtc
pixmaps.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-06-23 14:16:50 +01:00
Chris Wilson ea0209fbc1 sna: Remove option to disable vmap
It works everywhere, so when it is finally enabled, let it be.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-06-08 22:46:10 +01:00
Chris Wilson 18baa1428b Make the enum list of options consistent with the actual table.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-06-08 22:45:58 +01:00
Chris Wilson 8a9a585341 Only create a single instance of the intel_options array
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-05-25 10:06:57 +01:00
Chris Wilson e456291350 Allow runtime switching of AccelMethod between uxa/sna and even glamor
Section "Device"
  Option "AccelMethod" "uxa/glamor/sna"
EndSection

The appropriate backend must also be enabled at compile time for the
runtime option to be available (i.e. --enable-uxa (default) --enable-sna
--enable-glamor)

Demanded-by: Adam Jackson <ajax@redhat.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=50290
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-05-24 19:01:22 +01:00
Eugeni Dodonov df6ab02c36 Unify options handling between UXA and SNA
Unifies available options for both UXA and SNA drivers, and
moves them into a common header file, intel_opts.h.

Signed-off-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
2012-05-24 18:47:41 +01:00