Lines Matching refs:bus

24 static uint8_t qpci_pc_pio_readb(QPCIBus *bus, uint32_t addr)  in qpci_pc_pio_readb()  argument
26 return qtest_inb(bus->qts, addr); in qpci_pc_pio_readb()
29 static void qpci_pc_pio_writeb(QPCIBus *bus, uint32_t addr, uint8_t val) in qpci_pc_pio_writeb() argument
31 qtest_outb(bus->qts, addr, val); in qpci_pc_pio_writeb()
34 static uint16_t qpci_pc_pio_readw(QPCIBus *bus, uint32_t addr) in qpci_pc_pio_readw() argument
36 return qtest_inw(bus->qts, addr); in qpci_pc_pio_readw()
39 static void qpci_pc_pio_writew(QPCIBus *bus, uint32_t addr, uint16_t val) in qpci_pc_pio_writew() argument
41 qtest_outw(bus->qts, addr, val); in qpci_pc_pio_writew()
44 static uint32_t qpci_pc_pio_readl(QPCIBus *bus, uint32_t addr) in qpci_pc_pio_readl() argument
46 return qtest_inl(bus->qts, addr); in qpci_pc_pio_readl()
49 static void qpci_pc_pio_writel(QPCIBus *bus, uint32_t addr, uint32_t val) in qpci_pc_pio_writel() argument
51 qtest_outl(bus->qts, addr, val); in qpci_pc_pio_writel()
54 static uint64_t qpci_pc_pio_readq(QPCIBus *bus, uint32_t addr) in qpci_pc_pio_readq() argument
56 return (uint64_t)qtest_inl(bus->qts, addr) + in qpci_pc_pio_readq()
57 ((uint64_t)qtest_inl(bus->qts, addr + 4) << 32); in qpci_pc_pio_readq()
60 static void qpci_pc_pio_writeq(QPCIBus *bus, uint32_t addr, uint64_t val) in qpci_pc_pio_writeq() argument
62 qtest_outl(bus->qts, addr, val & 0xffffffff); in qpci_pc_pio_writeq()
63 qtest_outl(bus->qts, addr + 4, val >> 32); in qpci_pc_pio_writeq()
66 static void qpci_pc_memread(QPCIBus *bus, uint32_t addr, void *buf, size_t len) in qpci_pc_memread() argument
68 qtest_memread(bus->qts, addr, buf, len); in qpci_pc_memread()
71 static void qpci_pc_memwrite(QPCIBus *bus, uint32_t addr, in qpci_pc_memwrite() argument
74 qtest_memwrite(bus->qts, addr, buf, len); in qpci_pc_memwrite()
77 static uint8_t qpci_pc_config_readb(QPCIBus *bus, int devfn, uint8_t offset) in qpci_pc_config_readb() argument
79 qtest_outl(bus->qts, 0xcf8, (1U << 31) | (devfn << 8) | offset); in qpci_pc_config_readb()
80 return qtest_inb(bus->qts, 0xcfc); in qpci_pc_config_readb()
83 static uint16_t qpci_pc_config_readw(QPCIBus *bus, int devfn, uint8_t offset) in qpci_pc_config_readw() argument
85 qtest_outl(bus->qts, 0xcf8, (1U << 31) | (devfn << 8) | offset); in qpci_pc_config_readw()
86 return qtest_inw(bus->qts, 0xcfc); in qpci_pc_config_readw()
89 static uint32_t qpci_pc_config_readl(QPCIBus *bus, int devfn, uint8_t offset) in qpci_pc_config_readl() argument
91 qtest_outl(bus->qts, 0xcf8, (1U << 31) | (devfn << 8) | offset); in qpci_pc_config_readl()
92 return qtest_inl(bus->qts, 0xcfc); in qpci_pc_config_readl()
95 static void qpci_pc_config_writeb(QPCIBus *bus, int devfn, uint8_t offset, uint8_t value) in qpci_pc_config_writeb() argument
97 qtest_outl(bus->qts, 0xcf8, (1U << 31) | (devfn << 8) | offset); in qpci_pc_config_writeb()
98 qtest_outb(bus->qts, 0xcfc, value); in qpci_pc_config_writeb()
101 static void qpci_pc_config_writew(QPCIBus *bus, int devfn, uint8_t offset, uint16_t value) in qpci_pc_config_writew() argument
103 qtest_outl(bus->qts, 0xcf8, (1U << 31) | (devfn << 8) | offset); in qpci_pc_config_writew()
104 qtest_outw(bus->qts, 0xcfc, value); in qpci_pc_config_writew()
107 static void qpci_pc_config_writel(QPCIBus *bus, int devfn, uint8_t offset, uint32_t value) in qpci_pc_config_writel() argument
109 qtest_outl(bus->qts, 0xcf8, (1U << 31) | (devfn << 8) | offset); in qpci_pc_config_writel()
110 qtest_outl(bus->qts, 0xcfc, value); in qpci_pc_config_writel()
117 return &qpci->bus; in qpci_pc_get_driver()
128 qpci->bus.has_buggy_msi = false; in qpci_init_pc()
130 qpci->bus.pio_readb = qpci_pc_pio_readb; in qpci_init_pc()
131 qpci->bus.pio_readw = qpci_pc_pio_readw; in qpci_init_pc()
132 qpci->bus.pio_readl = qpci_pc_pio_readl; in qpci_init_pc()
133 qpci->bus.pio_readq = qpci_pc_pio_readq; in qpci_init_pc()
135 qpci->bus.pio_writeb = qpci_pc_pio_writeb; in qpci_init_pc()
136 qpci->bus.pio_writew = qpci_pc_pio_writew; in qpci_init_pc()
137 qpci->bus.pio_writel = qpci_pc_pio_writel; in qpci_init_pc()
138 qpci->bus.pio_writeq = qpci_pc_pio_writeq; in qpci_init_pc()
140 qpci->bus.memread = qpci_pc_memread; in qpci_init_pc()
141 qpci->bus.memwrite = qpci_pc_memwrite; in qpci_init_pc()
143 qpci->bus.config_readb = qpci_pc_config_readb; in qpci_init_pc()
144 qpci->bus.config_readw = qpci_pc_config_readw; in qpci_init_pc()
145 qpci->bus.config_readl = qpci_pc_config_readl; in qpci_init_pc()
147 qpci->bus.config_writeb = qpci_pc_config_writeb; in qpci_init_pc()
148 qpci->bus.config_writew = qpci_pc_config_writew; in qpci_init_pc()
149 qpci->bus.config_writel = qpci_pc_config_writel; in qpci_init_pc()
151 qpci->bus.qts = qts; in qpci_init_pc()
152 qpci->bus.pio_alloc_ptr = 0xc000; in qpci_init_pc()
153 qpci->bus.pio_limit = 0x10000; in qpci_init_pc()
154 qpci->bus.mmio_alloc_ptr = 0xE0000000; in qpci_init_pc()
155 qpci->bus.mmio_limit = 0x100000000ULL; in qpci_init_pc()
165 return &qpci->bus; in qpci_new_pc()
168 void qpci_free_pc(QPCIBus *bus) in qpci_free_pc() argument
172 if (!bus) { in qpci_free_pc()
175 s = container_of(bus, QPCIBusPC, bus); in qpci_free_pc()