Subversion Repositories Kolibri OS

Rev

Rev 1633 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1.  
  2. #include <ddk.h>
  3. #include <linux/errno.h>
  4. #include <mutex.h>
  5. #include <pci.h>
  6. #include <syscall.h>
  7.  
  8. int pci_bus_read_config_byte (struct pci_bus *bus, u32 devfn,
  9.                               int pos, u8 *value)
  10. {
  11. //    raw_spin_lock_irqsave(&pci_lock, flags);
  12.     *value = PciRead8(bus->number, devfn, pos);
  13. //    raw_spin_unlock_irqrestore(&pci_lock, flags);
  14.     return 0;
  15. }
  16.  
  17. int pci_bus_read_config_word (struct pci_bus *bus, u32 devfn,
  18.                               int pos, u16 *value)
  19. {
  20.     if ( pos & 1)
  21.         return PCIBIOS_BAD_REGISTER_NUMBER;
  22.  
  23. //    raw_spin_lock_irqsave(&pci_lock, flags);
  24.     *value = PciRead16(bus->number, devfn, pos);
  25. //    raw_spin_unlock_irqrestore(&pci_lock, flags);
  26.     return 0;
  27. }
  28.  
  29.  
  30. int pci_bus_read_config_dword (struct pci_bus *bus, u32 devfn,
  31.                                int pos, u32 *value)
  32. {
  33.     if ( pos & 3)
  34.         return PCIBIOS_BAD_REGISTER_NUMBER;
  35.  
  36. //    raw_spin_lock_irqsave(&pci_lock, flags);
  37.     *value = PciRead32(bus->number, devfn, pos);
  38. //    raw_spin_unlock_irqrestore(&pci_lock, flags);
  39.     return 0;
  40. }
  41.