Lines Matching defs:ipa

289     struct isapnp_attach_args *ipa, int alloc)
295 isapnp_print_attach(ipa);
298 for (; nio < ipa->ipa_nio; nio++) {
299 error = isapnp_alloc_region(iot, &ipa->ipa_io[nio]);
304 for (; nmem < ipa->ipa_nmem; nmem++) {
305 error = isapnp_alloc_region(memt, &ipa->ipa_mem[nmem]);
310 for (; nmem32 < ipa->ipa_nmem32; nmem32++) {
311 error = isapnp_alloc_region(memt, &ipa->ipa_mem32[nmem32]);
316 for (; nirq < ipa->ipa_nirq; nirq++) {
317 error = isapnp_alloc_irq(ipa->ipa_ic, &ipa->ipa_irq[nirq]);
322 for (; ndrq < ipa->ipa_ndrq; ndrq++) {
323 error = isapnp_alloc_drq(ipa->ipa_ic, &ipa->ipa_drq[ndrq]);
334 isapnp_free_pin(&ipa->ipa_drq[ndrq]);
337 isapnp_free_pin(&ipa->ipa_irq[nirq]);
341 isapnp_free_region(memt, &ipa->ipa_mem32[nmem32]);
344 isapnp_free_region(memt, &ipa->ipa_mem[nmem]);
347 isapnp_free_region(iot, &ipa->ipa_io[nio]);
358 struct isapnp_attach_args *ipa)
360 return isapnp_testconfig(iot, memt, ipa, 1);
369 struct isapnp_attach_args *ipa)
374 for (i = 0; i < ipa->ipa_ndrq; i++)
375 isapnp_free_pin(&ipa->ipa_drq[i]);
377 for (i = 0; i < ipa->ipa_nirq; i++)
378 isapnp_free_pin(&ipa->ipa_irq[i]);
381 for (i = 0; i < ipa->ipa_nmem32; i++)
382 isapnp_free_region(memt, &ipa->ipa_mem32[i]);
384 for (i = 0; i < ipa->ipa_nmem; i++)
385 isapnp_free_region(memt, &ipa->ipa_mem[i]);
387 for (i = 0; i < ipa->ipa_nio; i++)
388 isapnp_free_region(iot, &ipa->ipa_io[i]);
397 isapnp_bestconfig(struct isapnp_softc *sc, struct isapnp_attach_args **ipa)
399 struct isapnp_attach_args *c, *best, *f = *ipa;
442 *ipa = f;
472 *ipa = f;
547 struct isapnp_attach_args *ipa = aux;
551 str, ipa->ipa_devident, ipa->ipa_devlogic,
552 ipa->ipa_devcompat, ipa->ipa_devclass);
554 isapnp_print_region("port", ipa->ipa_io, ipa->ipa_nio);
555 isapnp_print_region("mem", ipa->ipa_mem, ipa->ipa_nmem);
556 isapnp_print_region("mem32", ipa->ipa_mem32, ipa->ipa_nmem32);
557 isapnp_print_pin("irq", ipa->ipa_irq, ipa->ipa_nirq);
558 isapnp_print_pin("drq", ipa->ipa_drq, ipa->ipa_ndrq);
580 isapnp_devmatch(const struct isapnp_attach_args *ipa,
587 if (strcmp(match->name, ipa->ipa_devlogic) == 0) {
593 if (strcmp(match->name, ipa->ipa_devcompat) == 0) {
708 isapnp_configure(struct isapnp_softc *sc, const struct isapnp_attach_args *ipa)
730 if (i < ipa->ipa_nio)
731 r = &ipa->ipa_io[i];
742 if (i < ipa->ipa_nmem)
743 r = &ipa->ipa_mem[i];
763 if (i < ipa->ipa_nirq)
764 p = &ipa->ipa_irq[i];
796 if (i < ipa->ipa_ndrq)
797 v = ipa->ipa_drq[i].num;
805 if (i < ipa->ipa_nmem32)
806 r = &ipa->ipa_mem32[i];
936 struct isapnp_attach_args *ipa, *lpa;
957 if ((ipa = isapnp_get_resource(sc, c)) == NULL)
962 (lpa = isapnp_bestconfig(sc, &ipa)) != NULL; d++) {