- Add support for default vga arb device selection
- Update libpciaccess VGA arb code for newer kernel API
This commit is contained in:
parent
dc71c21f80
commit
af0cce255c
@ -1,6 +1,6 @@
|
||||
diff -up libpciaccess-0.10.6/src/common_interface.c.da libpciaccess-0.10.6/src/common_interface.c
|
||||
--- libpciaccess-0.10.6/src/common_interface.c.da 2009-08-03 09:57:13.000000000 +1000
|
||||
+++ libpciaccess-0.10.6/src/common_interface.c 2009-08-03 09:57:21.000000000 +1000
|
||||
--- libpciaccess-0.10.6/src/common_interface.c.da 2009-08-03 15:54:43.000000000 +1000
|
||||
+++ libpciaccess-0.10.6/src/common_interface.c 2009-08-03 15:54:54.000000000 +1000
|
||||
@@ -124,6 +124,21 @@ pci_device_is_boot_vga( struct pci_devic
|
||||
}
|
||||
|
||||
@ -24,8 +24,8 @@ diff -up libpciaccess-0.10.6/src/common_interface.c.da libpciaccess-0.10.6/src/c
|
||||
*
|
||||
* Probes a PCI device to learn various information about the device. Before
|
||||
diff -up /dev/null libpciaccess-0.10.6/src/common_vgaarb_stub.c
|
||||
--- /dev/null 2009-08-03 09:43:13.273251881 +1000
|
||||
+++ libpciaccess-0.10.6/src/common_vgaarb_stub.c 2009-08-03 09:57:21.000000000 +1000
|
||||
--- /dev/null 2009-08-03 15:36:43.267252950 +1000
|
||||
+++ libpciaccess-0.10.6/src/common_vgaarb_stub.c 2009-08-03 15:54:54.000000000 +1000
|
||||
@@ -0,0 +1,73 @@
|
||||
+/*
|
||||
+ * Copyright (c) 2009 Tiago Vignatti
|
||||
@ -101,8 +101,8 @@ diff -up /dev/null libpciaccess-0.10.6/src/common_vgaarb_stub.c
|
||||
+ return 0;
|
||||
+}
|
||||
diff -up libpciaccess-0.10.6/src/linux_sysfs.c.da libpciaccess-0.10.6/src/linux_sysfs.c
|
||||
--- libpciaccess-0.10.6/src/linux_sysfs.c.da 2009-08-03 09:57:13.000000000 +1000
|
||||
+++ libpciaccess-0.10.6/src/linux_sysfs.c 2009-08-03 09:57:21.000000000 +1000
|
||||
--- libpciaccess-0.10.6/src/linux_sysfs.c.da 2009-08-03 15:54:43.000000000 +1000
|
||||
+++ libpciaccess-0.10.6/src/linux_sysfs.c 2009-08-03 15:54:54.000000000 +1000
|
||||
@@ -78,6 +78,7 @@ static int pci_device_linux_sysfs_write(
|
||||
pciaddr_t * bytes_written );
|
||||
|
||||
@ -143,9 +143,9 @@ diff -up libpciaccess-0.10.6/src/linux_sysfs.c.da libpciaccess-0.10.6/src/linux_
|
||||
+ return 1;
|
||||
+}
|
||||
diff -up /dev/null libpciaccess-0.10.6/src/common_vgaarb.c
|
||||
--- /dev/null 2009-08-03 09:43:13.273251881 +1000
|
||||
+++ libpciaccess-0.10.6/src/common_vgaarb.c 2009-08-03 09:57:21.000000000 +1000
|
||||
@@ -0,0 +1,314 @@
|
||||
--- /dev/null 2009-08-03 15:36:43.267252950 +1000
|
||||
+++ libpciaccess-0.10.6/src/common_vgaarb.c 2009-08-03 15:54:54.000000000 +1000
|
||||
@@ -0,0 +1,323 @@
|
||||
+/*
|
||||
+ * Copyright (c) 2007 Paulo R. Zanoni, Tiago Vignatti
|
||||
+ * 2009 Tiago Vignatti
|
||||
@ -460,9 +460,18 @@ diff -up /dev/null libpciaccess-0.10.6/src/common_vgaarb.c
|
||||
+
|
||||
+ return vgaarb_write(pci_sys->vgaarb_fd, buf, len);
|
||||
+}
|
||||
+
|
||||
+int pci_device_vgaarb_get_info(struct pci_device *dev, int *vga_count, int *rsrc_decodes)
|
||||
+{
|
||||
+ *vga_count = pci_sys->vga_count;
|
||||
+ if (!dev)
|
||||
+ return 0;
|
||||
+ *rsrc_decodes = dev->vgaarb_rsrc;
|
||||
+ return 0;
|
||||
+}
|
||||
diff -up libpciaccess-0.10.6/src/Makefile.am.da libpciaccess-0.10.6/src/Makefile.am
|
||||
--- libpciaccess-0.10.6/src/Makefile.am.da 2009-04-18 15:01:36.000000000 +1000
|
||||
+++ libpciaccess-0.10.6/src/Makefile.am 2009-08-03 09:57:21.000000000 +1000
|
||||
+++ libpciaccess-0.10.6/src/Makefile.am 2009-08-03 15:54:54.000000000 +1000
|
||||
@@ -45,6 +45,12 @@ if SOLARIS
|
||||
OS_SUPPORT = solx_devfs.c pci_tools.h
|
||||
endif
|
||||
@ -485,8 +494,8 @@ diff -up libpciaccess-0.10.6/src/Makefile.am.da libpciaccess-0.10.6/src/Makefile
|
||||
|
||||
INCLUDES = -I$(top_srcdir)/include
|
||||
diff -up libpciaccess-0.10.6/src/pciaccess_private.h.da libpciaccess-0.10.6/src/pciaccess_private.h
|
||||
--- libpciaccess-0.10.6/src/pciaccess_private.h.da 2009-08-03 09:57:13.000000000 +1000
|
||||
+++ libpciaccess-0.10.6/src/pciaccess_private.h 2009-08-03 09:57:21.000000000 +1000
|
||||
--- libpciaccess-0.10.6/src/pciaccess_private.h.da 2009-08-03 15:54:43.000000000 +1000
|
||||
+++ libpciaccess-0.10.6/src/pciaccess_private.h 2009-08-03 15:54:54.000000000 +1000
|
||||
@@ -61,6 +61,7 @@ struct pci_system_methods {
|
||||
int (*fill_capabilities)( struct pci_device * dev );
|
||||
void (*enable)( struct pci_device *dev );
|
||||
@ -507,8 +516,8 @@ diff -up libpciaccess-0.10.6/src/pciaccess_private.h.da libpciaccess-0.10.6/src/
|
||||
|
||||
extern struct pci_system * pci_sys;
|
||||
diff -up libpciaccess-0.10.6/include/pciaccess.h.da libpciaccess-0.10.6/include/pciaccess.h
|
||||
--- libpciaccess-0.10.6/include/pciaccess.h.da 2009-08-03 09:57:13.000000000 +1000
|
||||
+++ libpciaccess-0.10.6/include/pciaccess.h 2009-08-03 09:57:21.000000000 +1000
|
||||
--- libpciaccess-0.10.6/include/pciaccess.h.da 2009-08-03 15:54:43.000000000 +1000
|
||||
+++ libpciaccess-0.10.6/include/pciaccess.h 2009-08-03 15:54:54.000000000 +1000
|
||||
@@ -21,6 +21,31 @@
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
* DEALINGS IN THE SOFTWARE.
|
||||
@ -562,7 +571,7 @@ diff -up libpciaccess-0.10.6/include/pciaccess.h.da libpciaccess-0.10.6/include/
|
||||
};
|
||||
|
||||
|
||||
@@ -449,4 +481,26 @@ struct pci_pcmcia_bridge_info {
|
||||
@@ -449,4 +481,28 @@ struct pci_pcmcia_bridge_info {
|
||||
|
||||
};
|
||||
|
||||
@ -587,5 +596,7 @@ diff -up libpciaccess-0.10.6/include/pciaccess.h.da libpciaccess-0.10.6/include/
|
||||
+int pci_device_vgaarb_lock (void);
|
||||
+int pci_device_vgaarb_trylock (void);
|
||||
+int pci_device_vgaarb_unlock (void);
|
||||
+/* return the current device count + resource decodes for the device */
|
||||
+int pci_device_vgaarb_get_info (struct pci_device *dev, int *vga_count, int *rsrc_decodes);
|
||||
+
|
||||
#endif /* PCIACCESS_H */
|
||||
|
Loading…
Reference in New Issue
Block a user