Lines Matching refs:c
48 static void i2o_pci_dispose(struct i2o_controller *c) in i2o_pci_dispose() argument
50 I2O_IRQ_WRITE32(c,0xFFFFFFFF); in i2o_pci_dispose()
51 if(c->bus.pci.irq > 0) in i2o_pci_dispose()
52 free_irq(c->bus.pci.irq, c); in i2o_pci_dispose()
53 iounmap(((u8 *)c->post_port)-0x40); in i2o_pci_dispose()
56 if(c->bus.pci.mtrr_reg0 > 0) in i2o_pci_dispose()
57 mtrr_del(c->bus.pci.mtrr_reg0, 0, 0); in i2o_pci_dispose()
58 if(c->bus.pci.mtrr_reg1 > 0) in i2o_pci_dispose()
59 mtrr_del(c->bus.pci.mtrr_reg1, 0, 0); in i2o_pci_dispose()
72 static int i2o_pci_bind(struct i2o_controller *c, struct i2o_device *dev) in i2o_pci_bind() argument
88 static int i2o_pci_unbind(struct i2o_controller *c, struct i2o_device *dev) in i2o_pci_unbind() argument
103 static void i2o_pci_enable(struct i2o_controller *c) in i2o_pci_enable() argument
105 I2O_IRQ_WRITE32(c, 0); in i2o_pci_enable()
106 c->enabled = 1; in i2o_pci_enable()
118 static void i2o_pci_disable(struct i2o_controller *c) in i2o_pci_disable() argument
120 I2O_IRQ_WRITE32(c, 0xFFFFFFFF); in i2o_pci_disable()
121 c->enabled = 0; in i2o_pci_disable()
135 struct i2o_controller *c = dev_id; in i2o_pci_interrupt() local
136 i2o_run_queue(c); in i2o_pci_interrupt()
152 struct i2o_controller *c=kmalloc(sizeof(struct i2o_controller), in i2o_pci_install() local
160 if(c==NULL) in i2o_pci_install()
165 memset(c, 0, sizeof(*c)); in i2o_pci_install()
180 kfree(c); in i2o_pci_install()
192 kfree(c); in i2o_pci_install()
196 c->bus.pci.irq = -1; in i2o_pci_install()
197 c->bus.pci.dpt = 0; in i2o_pci_install()
198 c->bus.pci.short_req = 0; in i2o_pci_install()
199 c->pdev = dev; in i2o_pci_install()
201 c->irq_mask = mem+0x34; in i2o_pci_install()
202 c->post_port = mem+0x40; in i2o_pci_install()
203 c->reply_port = mem+0x44; in i2o_pci_install()
205 c->mem_phys = memptr; in i2o_pci_install()
206 c->mem_offset = mem; in i2o_pci_install()
207 c->destructor = i2o_pci_dispose; in i2o_pci_install()
209 c->bind = i2o_pci_bind; in i2o_pci_install()
210 c->unbind = i2o_pci_unbind; in i2o_pci_install()
211 c->bus_enable = i2o_pci_enable; in i2o_pci_install()
212 c->bus_disable = i2o_pci_disable; in i2o_pci_install()
214 c->type = I2O_TYPE_PCI; in i2o_pci_install()
223 c->bus.pci.short_req = 1; in i2o_pci_install()
228 c->bus.pci.promise = 1; in i2o_pci_install()
238 c->bus.pci.dpt=1; in i2o_pci_install()
244 c->bus.pci.mtrr_reg0 = in i2o_pci_install()
245 mtrr_add(c->mem_phys, size, MTRR_TYPE_WRCOMB, 1); in i2o_pci_install()
251 c->bus.pci.mtrr_reg1 = -1; in i2o_pci_install()
255 c->bus.pci.mtrr_reg1 = mtrr_add(c->mem_phys, 65536, MTRR_TYPE_UNCACHABLE, 1); in i2o_pci_install()
256 if(c->bus.pci.mtrr_reg1< 0) in i2o_pci_install()
259 mtrr_del(c->bus.pci.mtrr_reg0, c->mem_phys, size); in i2o_pci_install()
260 c->bus.pci.mtrr_reg0 = -1; in i2o_pci_install()
266 I2O_IRQ_WRITE32(c,0xFFFFFFFF); in i2o_pci_install()
268 i = i2o_install_controller(c); in i2o_pci_install()
273 kfree(c); in i2o_pci_install()
278 c->bus.pci.irq = dev->irq; in i2o_pci_install()
279 if(c->bus.pci.irq) in i2o_pci_install()
282 c->name, c); in i2o_pci_install()
286 c->name, dev->irq); in i2o_pci_install()
287 c->bus.pci.irq = -1; in i2o_pci_install()
288 i2o_delete_controller(c); in i2o_pci_install()
294 printk(KERN_INFO "%s: Installed at IRQ%d\n", c->name, dev->irq); in i2o_pci_install()
295 I2O_IRQ_WRITE32(c,0x0); in i2o_pci_install()
296 c->enabled = 1; in i2o_pci_install()