diff --git a/drivers/unfinished/agp.asm b/drivers/unfinished/agp.asm index f568d1639..162cf20b3 100644 --- a/drivers/unfinished/agp.asm +++ b/drivers/unfinished/agp.asm @@ -1,6 +1,6 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; -;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; +;; Copyright (C) KolibriOS team 2004-2021. All rights reserved. ;; ;; Distributed under terms of the GNU General Public License ;; ;; ;; ;; simple AGP driver for KolibriOS ;; @@ -121,8 +121,8 @@ proc detect mov [bus], ebx movzx ebx, [eax + PCIDEV.devfn] mov [devfn], ebx - invoke PciRead8, [bus], [devfn], PCI_header00.prog_if - test al, 1 shl 4 ; got capabilities list? + invoke PciRead16, [bus], [devfn], PCI_header00.status + test ax, PCI_STATUS_CAPA ; got capabilities list? jnz .got_capabilities_list ; TODO: Do it the old way: detect device and check with a list of known capabilities diff --git a/drivers/unfinished/cardbus.asm b/drivers/unfinished/cardbus.asm index 3a2abba50..cc1ba6c11 100644 --- a/drivers/unfinished/cardbus.asm +++ b/drivers/unfinished/cardbus.asm @@ -190,15 +190,15 @@ proc detect ; Enable power - invoke PciRead8, [bus], [devfn], 0x14 ; get capabilities offset - movzx eax, al ; (A0 for TI bridges) + invoke PciRead8, [bus], [devfn], PCI_header02.cap_list_offs ; get capabilities offset + movzx eax, al ; (A0 for TI bridges) DEBUGF 1, "Capabilities offset=0x%x\n", eax:2 - add al, 4 ; Power management control/status - invoke PciWrite16, [bus], [devfn], eax, 0x0100 ; Enable PME signaling, power state=D0 + add al, 4 ; Power management control/status + invoke PciWrite16, [bus], [devfn], eax, 0x0100 ; Enable PME signaling, power state=D0 ; Enable Bus master, io space, memory space - invoke PciWrite16, [bus], [devfn], PCI_header02.command, 0x0007 + invoke PciWrite16, [bus], [devfn], PCI_header02.command, PCI_CMD_PIO or PCI_CMD_MMIO or PCI_CMD_MASTER ; Write CardBus Socket/ExCA base address