Changeset 8d2760f in mainline for kernel/genarch/src/ofw/pci.c
- Timestamp:
- 2008-11-29T20:24:47Z (16 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 57e76cb
- Parents:
- dfd77382
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/genarch/src/ofw/pci.c
rdfd77382 r8d2760f 50 50 #define PCI_IGN 0x1f 51 51 52 bool ofw_pci_apply_ranges(ofw_tree_node_t *node, ofw_pci_reg_t *reg, uintptr_t *pa) 52 bool 53 ofw_pci_apply_ranges(ofw_tree_node_t *node, ofw_pci_reg_t *reg, uintptr_t *pa) 53 54 { 54 55 ofw_tree_property_t *prop; … … 69 70 70 71 for (i = 0; i < ranges; i++) { 71 if ((reg->space & PCI_SPACE_MASK) != (range[i].space & PCI_SPACE_MASK)) 72 if ((reg->space & PCI_SPACE_MASK) != 73 (range[i].space & PCI_SPACE_MASK)) 72 74 continue; 73 if (overlaps(reg->addr, reg->size, range[i].child_base, range[i].size)) { 74 *pa = range[i].parent_base + (reg->addr - range[i].child_base); 75 if (overlaps(reg->addr, reg->size, range[i].child_base, 76 range[i].size)) { 77 *pa = range[i].parent_base + 78 (reg->addr - range[i].child_base); 75 79 return true; 76 80 } … … 80 84 } 81 85 82 bool ofw_pci_reg_absolutize(ofw_tree_node_t *node, ofw_pci_reg_t *reg, ofw_pci_reg_t *out) 86 bool 87 ofw_pci_reg_absolutize(ofw_tree_node_t *node, ofw_pci_reg_t *reg, 88 ofw_pci_reg_t *out) 83 89 { 84 90 if (reg->space & PCI_ABS_MASK) { … … 104 110 105 111 for (i = 0; i < assigned_addresses; i++) { 106 if ((assigned_address[i].space & PCI_REG_MASK) == (reg->space & PCI_REG_MASK)) { 112 if ((assigned_address[i].space & PCI_REG_MASK) == 113 (reg->space & PCI_REG_MASK)) { 107 114 out->space = assigned_address[i].space; 108 115 out->addr = reg->addr + assigned_address[i].addr; … … 120 127 * to a PCI bridge. 121 128 */ 122 bool ofw_pci_map_interrupt(ofw_tree_node_t *node, ofw_pci_reg_t *reg, int ino, int *inr) 129 bool 130 ofw_pci_map_interrupt(ofw_tree_node_t *node, ofw_pci_reg_t *reg, int ino, 131 int *inr, cir_t *cir, void **cir_arg) 123 132 { 124 133 pci_t *pci = node->device; … … 133 142 134 143 *inr = (PCI_IGN << IGN_SHIFT) | ino; 144 *cir = pci_clear_interrupt; 145 *cir_arg = pci; 135 146 136 147 return true;
Note:
See TracChangeset
for help on using the changeset viewer.