Lines Matching refs:rp

186 	fco_handle_t rp;
190 rp = kmem_zalloc(sizeof (struct fc_resource_list), KM_SLEEP);
191 rp->next_handle = fc_ops_alloc_handle(ap, child, fcode, fcode_size,
193 rp->ap = ap;
194 rp->child = child;
195 rp->fcode = fcode;
196 rp->fcode_size = fcode_size;
202 rp->unit_address = buf;
207 rp->bus_args = bp;
212 h = ddi_get_nodeid(rp->child);
213 fc_add_dip_to_phandle(fc_handle_to_phandle_head(rp), rp->child, h);
215 return (rp);
219 pci_fc_ops_free_handle(fco_handle_t rp)
224 ASSERT(rp);
226 if (rp->next_handle)
227 fc_ops_free_handle(rp->next_handle);
228 if (rp->unit_address)
229 kmem_free(rp->unit_address, strlen(rp->unit_address) + 1);
230 if ((bp = rp->bus_args) != NULL)
237 for (ip = rp->head; ip != NULL; ip = np) {
255 fc_rem_resource(rp, ip);
258 kmem_free(rp, sizeof (struct fc_resource_list));
262 pci_fc_ops(dev_info_t *ap, fco_handle_t rp, fc_ci_t *cp)
267 ASSERT(rp);
273 if (fc_ops(ap, rp->next_handle, cp) == 0) {
276 return (pv->f(ap, rp, cp));
282 return (pv->f(ap, rp, cp));
293 pfc_dma_map_in(dev_info_t *ap, fco_handle_t rp, fc_ci_t *cp)
376 fc_add_resource(rp, ip);
378 return (fc_success_op(ap, rp, cp));
382 pfc_dma_sync(dev_info_t *ap, fco_handle_t rp, fc_ci_t *cp)
400 fc_lock_resource_list(rp);
401 for (ip = rp->head; ip != NULL; ip = ip->next) {
411 fc_unlock_resource_list(rp);
432 return (fc_success_op(ap, rp, cp));
436 pfc_dma_map_out(dev_info_t *ap, fco_handle_t rp, fc_ci_t *cp)
454 fc_lock_resource_list(rp);
455 for (ip = rp->head; ip != NULL; ip = ip->next) {
465 fc_unlock_resource_list(rp);
488 fc_rem_resource(rp, ip);
492 return (fc_success_op(ap, rp, cp));
496 next_dma_resource(fco_handle_t rp)
500 fc_lock_resource_list(rp);
501 for (ip = rp->head; ip != NULL; ip = ip->next)
504 fc_unlock_resource_list(rp);
510 pfc_dma_cleanup(dev_info_t *ap, fco_handle_t rp, fc_ci_t *cp)
515 while ((ip = next_dma_resource(rp)) != NULL) {
535 fc_rem_resource(rp, ip);
540 return (fc_success_op(ap, rp, cp));
544 pfc_map_in(dev_info_t *ap, fco_handle_t rp, fc_ci_t *cp)
578 error = pci_alloc_resource(rp->child, p);
584 error = pci_map_phys(rp->child, &p, &virt, &acc, &h);
604 fc_add_resource(rp, ip);
606 return (fc_success_op(ap, rp, cp));
610 pfc_map_out(dev_info_t *ap, fco_handle_t rp, fc_ci_t *cp)
626 fc_lock_resource_list(rp);
627 for (ip = rp->head; ip != NULL; ip = ip->next) {
635 fc_unlock_resource_list(rp);
648 fc_rem_resource(rp, ip);
652 return (fc_success_op(ap, rp, cp));
656 pfc_register_fetch(dev_info_t *ap, fco_handle_t rp, fc_ci_t *cp)
696 fc_lock_resource_list(rp);
697 for (ip = rp->head; ip != NULL; ip = ip->next) {
704 fc_unlock_resource_list(rp);
718 error = ddi_peek64(rp->child, (int64_t *)virt, (int64_t *)&x);
721 error = ddi_peek32(rp->child, (int32_t *)virt, (int32_t *)&l);
724 error = ddi_peek16(rp->child, (int16_t *)virt, (int16_t *)&w);
727 error = ddi_peek8(rp->child, (int8_t *)virt, (int8_t *)&b);
742 return (fc_success_op(ap, rp, cp));
746 pfc_register_store(dev_info_t *ap, fco_handle_t rp, fc_ci_t *cp)
783 fc_lock_resource_list(rp);
784 for (ip = rp->head; ip != NULL; ip = ip->next) {
791 fc_unlock_resource_list(rp);
805 error = ddi_poke64(rp->child, (int64_t *)virt, x);
808 error = ddi_poke32(rp->child, (int32_t *)virt, l);
811 error = ddi_poke16(rp->child, (int16_t *)virt, w);
814 error = ddi_poke8(rp->child, (int8_t *)virt, b);
823 return (fc_success_op(ap, rp, cp));
827 pfc_config_fetch(dev_info_t *ap, fco_handle_t rp, fc_ci_t *cp)
897 error = pci_map_phys(rp->child, &p, &virt, &acc, &h);
903 if (fcpci_indirect_map(rp->child) == DDI_SUCCESS)
910 error = ddi_peek32(rp->child, (int32_t *)virt, (int32_t *)&tmp);
958 return (fc_success_op(ap, rp, cp));
962 pfc_config_store(dev_info_t *ap, fco_handle_t rp, fc_ci_t *cp)
1028 error = pci_map_phys(rp->child, &p, &virt, &acc, &h);
1034 if (fcpci_indirect_map(rp->child) == DDI_SUCCESS)
1041 error = ddi_peek32(rp->child, (int32_t *)virt, (int32_t *)&tmp);
1083 return (fc_success_op(ap, rp, cp));
1088 pfc_get_fcode(dev_info_t *ap, fco_handle_t rp, fc_ci_t *cp)
1133 return (fc_success_op(ap, rp, cp));
1137 pfc_get_fcode_size(dev_info_t *ap, fco_handle_t rp, fc_ci_t *cp)
1165 return (fc_success_op(ap, rp, cp));
1172 pfc_probe_address(dev_info_t *ap, fco_handle_t rp, fc_ci_t *cp)
1184 return (fc_success_op(ap, rp, cp));
1191 pfc_probe_space(dev_info_t *ap, fco_handle_t rp, fc_ci_t *cp)
1193 struct pci_ops_bus_args *ba = rp->bus_args;
1206 return (fc_success_op(ap, rp, cp));
1210 pfc_config_child(dev_info_t *ap, fco_handle_t rp, fc_ci_t *cp)
1220 h = fc_dip_to_phandle(fc_handle_to_phandle_head(rp), rp->child);
1225 return (fc_success_op(ap, rp, cp));
1711 mr.map_obj.rp = (struct regspec *)phys_spec;
1740 mr.map_obj.rp = (struct regspec *)ph;