Lines Matching refs:pcibus_info
115 int pcibr_ate_alloc(struct pcibus_info *pcibus_info, int count) in pcibr_ate_alloc() argument
120 spin_lock_irqsave(&pcibus_info->pbi_lock, flags); in pcibr_ate_alloc()
121 status = alloc_ate_resource(&pcibus_info->pbi_int_ate_resource, count); in pcibr_ate_alloc()
122 spin_unlock_irqrestore(&pcibus_info->pbi_lock, flags); in pcibr_ate_alloc()
131 static inline u64 __iomem *pcibr_ate_addr(struct pcibus_info *pcibus_info, in pcibr_ate_addr() argument
134 if (ate_index < pcibus_info->pbi_int_ate_size) { in pcibr_ate_addr()
135 return pcireg_int_ate_addr(pcibus_info, ate_index); in pcibr_ate_addr()
144 ate_write(struct pcibus_info *pcibus_info, int ate_index, int count, in ate_write() argument
148 if (ate_index < pcibus_info->pbi_int_ate_size) { in ate_write()
149 pcireg_int_ate_set(pcibus_info, ate_index, ate); in ate_write()
157 pcireg_tflush_get(pcibus_info); /* wait until Bridge PIO complete */ in ate_write()
160 void pcibr_ate_free(struct pcibus_info *pcibus_info, int index) in pcibr_ate_free() argument
169 ate = *pcibr_ate_addr(pcibus_info, index); in pcibr_ate_free()
170 count = pcibus_info->pbi_int_ate_resource.ate[index]; in pcibr_ate_free()
171 ate_write(pcibus_info, index, count, (ate & ~PCI32_ATE_V)); in pcibr_ate_free()
174 spin_lock_irqsave(&pcibus_info->pbi_lock, flags); in pcibr_ate_free()
175 free_ate_resource(&pcibus_info->pbi_int_ate_resource, index); in pcibr_ate_free()
176 spin_unlock_irqrestore(&pcibus_info->pbi_lock, flags); in pcibr_ate_free()