Lines Matching refs:rp
64 struct regspec tmp_reg, *rp;
82 rp = i_ddi_rnumber_to_regspec(rdip, rnumber);
83 if (rp == (struct regspec *)0) {
96 mp->map_obj.rp = rp;
105 tmp_reg = *(mp->map_obj.rp); /* Preserve underlying data */
106 rp = mp->map_obj.rp = &tmp_reg; /* Use tmp_reg in request */
108 rp->regspec_addr += (uintptr_t)offset;
110 rp->regspec_size = (uint_t)len;
131 if ((error = i_ddi_apply_range(dip, rdip, mp->map_obj.rp)) != 0)
178 reg_is_enclosed_in_range(struct regspec *rp, struct rangespec *rangep)
180 if (rp->regspec_bustype != rangep->rng_cbustype)
183 if (rp->regspec_addr < rangep->rng_coffset)
189 if ((rp->regspec_addr + rp->regspec_size - 1) <=
198 * Apply range of dp to struct regspec *rp, if applicable.
202 i_ddi_apply_range(dev_info_t *dp, dev_info_t *rdip, struct regspec *rp)
224 if (reg_is_enclosed_in_range(rp, rangep))
233 ddi_map_debug(" Input: %x.%x.%x\n", rp->regspec_bustype,
234 rp->regspec_addr, rp->regspec_size);
240 rp->regspec_bustype = rangep->rng_bustype;
241 rp->regspec_addr += rangep->rng_offset - rangep->rng_coffset;
244 ddi_map_debug(" Return: %x.%x.%x\n", rp->regspec_bustype,
245 rp->regspec_addr, rp->regspec_size);