Commit Graph

194 Commits

Author SHA1 Message Date
Dave Airlie 02811f1a9c modesetting: add output slave support.
This allows the driver to operate as an output slave.

It adds scan out pixmap, and the capability
checks to make sure they available.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-07-25 16:01:42 +10:00
Dave Airlie fa171c5a81 modesetting: add platform bus support 2012-07-25 16:01:41 +10:00
Dave Airlie 71b86ea8dd modesetting: drop useless xf86PciInfo include
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-07-25 16:01:41 +10:00
Dave Airlie 30ab80ef54 modesetting: pci probing requires interface version 1.4
Set the drm interface version to 1.4 so we get the bus id correctly.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-06-22 15:26:28 +01:00
Dave Airlie e07c945ab9 modesetting: bump to latest X server compat api.
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-06-01 12:34:42 +01:00
Dave Airlie ef47a1b3bf modesetting: convert to new scrn conversion APIs.
Generated with util/modular/x-driver-screen-scrn-conv.sh

Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-05-23 11:21:55 +01:00
Dave Airlie 3e46d578d8 modesetting: add compat header file
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-05-23 11:21:39 +01:00
Dave Airlie 7dc22b7911 modesetting: make sure the pci device corresponds to the drm device
If we get asked to pci open a device with a kms path override,
make sure they match, otherwise this driver can steal the primary
device binding for a usb adaptor.

The driver should fallback to the old probe entry point in this case.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-05-09 09:32:05 +01:00
Dave Airlie d063f64b5c modesetting: attempt to work out if we want 24 or 32bpp
the cirrus driver presents certain challenges, and this is a
workaround, until we can possibly agree some sane interface
for exposing this information.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-05-01 17:12:29 +01:00
Dave Airlie 610f532e6a modesetting: move opening kernel device to before setting depth
due to interaction between option handling and set depth, we need
to what fbdev does to get the device path early.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-05-01 16:52:18 +01:00
Dave Airlie 00c663a3bc modesetting: add set/drop master around VT switch 2012-04-17 11:50:40 +01:00
Dave Airlie 001dec8980 cursor: hide cursors on LeaveVT 2012-04-17 11:48:03 +01:00
Dave Airlie d5d5b40743 dirty: check malloc return
Suggested by keithp.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-04-14 19:21:47 +01:00
Dave Airlie 6c1b5cb903 drop use of alloca, just use malloc/free
Reported-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-04-14 15:01:33 +01:00
Sascha Hauer 53204d5c8b make busID non mandatory
Currently the driver only probes a device when it has a
busID. The busID is optional so don't depend on it.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-03-05 15:19:26 +00:00
Sascha Hauer bb7e39c1f2 do not bail out on non pci devices
To make the driver work on nin PCI devices we shouldn't bail
out in this case.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-03-05 15:19:22 +00:00
Sascha Hauer 2b6848fcb3 Fix non PCI device probing
When no devicename is found in the option then the driver probes
by PciInfo no matter if it's valid or not. Instead of doing this
use PciInfo only when it's valid and fall back to the devicename
otherwise. With devicename probing use open_hw() to fall back
on the KMSDEVICE environment variable or to the default device.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-03-05 15:19:09 +00:00
Sascha Hauer 456a001e3f introduce open_hw() function
probe_hw opens the hardware in the order we want it:
first try devname, if this is NULL then try the KMSDEVICE
environment variable and as a last fallback use "/dev/dri/card0".
Instead of implementing the same code again when really opening
the device move the code to a open_hw() function and let probe_hw
use it.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-03-05 15:18:36 +00:00
Sascha Hauer aa6ceaaa84 fix if() brackets in Probe function
in Probe() the indention shows what's meant but there are no
brackets. Add them.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-03-05 15:18:28 +00:00
Dave Airlie b0e12e250d modesetting: disable dirty updates for ENOSYS
the kernel can also return ENOSYS for this to say its not used.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-02-20 11:08:40 +00:00
Dave Airlie f3b9e52b29 modesetting: move shadow stuff to other structure
we need this for resize to work properly.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-02-20 11:00:56 +00:00
Dave Airlie 2150cbda8c shadowfb: dump shadowfb state at startup 2012-02-20 10:54:21 +00:00
Dave Airlie 86080a5f7a use a cap to decide if shadow is preferred or not. 2012-02-17 15:54:14 +00:00
Dave Airlie d94b3eaba9 modesetting: add cursor fallback if kernel rejects cursor.
If the kernel rejects a cursor, cause a fallback, this isn't 100% as
we can lose the initial cursor, but it works fine once wm starts.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-02-17 15:55:38 +00:00
Dave Airlie 594b3c4d6f fix some whitespace 2012-02-16 19:31:33 +00:00
Dave Airlie 2e297978c9 fixup device open
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-02-16 18:41:22 +00:00
James Simmons f47f6b6a53 don't map cursors in sw cursor mode 2011-11-03 13:20:18 +00:00
Dave Airlie 6f581e3fde fix fb_id for dirty reporting 2011-10-03 16:09:12 +01:00
Dave Airlie 1f37991dec add shadowfb support, default to on.
we should probably expose a bit from kernel to say if shadow is preferred
or wasteful.
2011-09-29 15:56:15 +01:00
Dave Airlie 0b5e574dff remove unused debug 2011-09-29 15:55:24 +01:00
Dave Airlie d686130c17 add -Wall, cleanup warnings 2011-09-29 14:13:58 +01:00
Dave Airlie a4f6e661b5 fix server recycling 2011-09-29 14:05:43 +01:00
Dave Airlie 7847321138 port damage tracking code from st/xorg 2011-09-29 13:32:38 +01:00
Dave Airlie 4d3aadb22f drop loading dri2 2011-09-29 12:34:27 +01:00
Dave Airlie 1b1382c9e1 update authors/copyright 2011-09-29 12:34:17 +01:00
Dave Airlie 263597dbb3 gut some more unneeded code 2011-09-29 12:30:46 +01:00
Dave Airlie a72bdf170c modesetting: rewrite probing based on fbdev.
This isn't perfect, it should really do more with bus id matching
and finding the write drm device using sysfs if it can. but it removes
lots of hardcoding of pci ids.
2011-09-29 12:28:59 +01:00
Dave Airlie 2a46189054 modesetting: restart driver effort from other codebases
This starts a randr 1.2 compatible driver with cursors.

TODO:
libkms
dirty handling
server recycling.
2011-09-29 11:49:26 +01:00
Dave Airlie e2f8315dae drop exa
don't provide accel in this framework
2011-03-10 09:15:55 +10:00
Alan Hourihane ccd0c76472 Add EXA winsys for gallium pipe driver interface.
Plug in the EXA framework into the pipe driver
for surface_copy & surface_fill.

Back pixmaps with drmBO's including the front buffer.
2008-06-26 22:27:44 +01:00
Alan Hourihane 47969d7928 Add DRI2 support.
Add EXA stubs.

Currently tested with i915.
2008-06-16 15:08:30 +01:00
Alan Hourihane 000ead4503 Plug in hardware cursor support 2008-05-28 19:59:38 +01:00
Alan Hourihane f9f7a872bf Run indent 2008-05-28 15:55:36 +01:00
Alan Hourihane 106bea5ad1 Initial commit of new modesetting driver 2008-05-28 13:33:07 +01:00