summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkettenis <kettenis@openbsd.org>2016-01-01 15:28:26 +0000
committerkettenis <kettenis@openbsd.org>2016-01-01 15:28:26 +0000
commitec031e48ec36c2c110a8f72ecfb561678131a8e2 (patch)
tree0193721a49038179f36998ea10c693d22b23dcb8
parentdoas.conf lives in /etc. from Amit Kulkarni (diff)
downloadwireguard-openbsd-ec031e48ec36c2c110a8f72ecfb561678131a8e2.tar.xz
wireguard-openbsd-ec031e48ec36c2c110a8f72ecfb561678131a8e2.zip
Reimplement vga_put() such that it compiles on i386 as well.
-rw-r--r--sys/dev/pci/drm/drm_linux.c32
1 files changed, 11 insertions, 21 deletions
diff --git a/sys/dev/pci/drm/drm_linux.c b/sys/dev/pci/drm/drm_linux.c
index 51f25d68dc3..68a42ca7345 100644
--- a/sys/dev/pci/drm/drm_linux.c
+++ b/sys/dev/pci/drm/drm_linux.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: drm_linux.c,v 1.6 2015/12/31 13:01:00 kettenis Exp $ */
+/* $OpenBSD: drm_linux.c,v 1.7 2016/01/01 15:28:26 kettenis Exp $ */
/*
* Copyright (c) 2013 Jonathan Gray <jsg@openbsd.org>
*
@@ -247,24 +247,6 @@ vga_disable_bridge(struct pci_attach_args *pa)
return 1;
}
-int
-vga_enable_bridge(struct pci_attach_args *pa)
-{
- pcireg_t bc;
-
- if (!vga_bridge_disabled)
- return 0;
-
- if (pa->pa_tag != vga_bridge_tag)
- return 0;
-
- bc = pci_conf_read(pa->pa_pc, pa->pa_tag, PPB_REG_BRIDGECONTROL);
- bc |= PPB_BC_VGA_ENABLE;
- pci_conf_write(pa->pa_pc, pa->pa_tag, PPB_REG_BRIDGECONTROL, bc);
-
- return 1;
-}
-
void
vga_get_uninterruptible(struct pci_dev *pdev, int rsrc)
{
@@ -275,8 +257,16 @@ vga_get_uninterruptible(struct pci_dev *pdev, int rsrc)
void
vga_put(struct pci_dev *pdev, int rsrc)
{
- KASSERT(pdev->pci->sc_bridgetag == NULL);
- pci_enumerate_bus(pdev->pci, vga_enable_bridge, NULL);
+ pcireg_t bc;
+
+ if (!vga_bridge_disabled)
+ return;
+
+ bc = pci_conf_read(pdev->pc, vga_bridge_tag, PPB_REG_BRIDGECONTROL);
+ bc |= PPB_BC_VGA_ENABLE;
+ pci_conf_write(pdev->pc, vga_bridge_tag, PPB_REG_BRIDGECONTROL, bc);
+
+ vga_bridge_disabled = 0;
}
#endif