Lines Matching defs:softsp
239 struct ac_soft_state *softsp;
261 softsp = ddi_get_soft_state(acp, instance);
264 softsp->dip = devi;
267 softsp->pdip = ddi_get_parent(softsp->dip);
268 if ((softsp->board = (int)ddi_getprop(DDI_DEV_T_ANY, softsp->pdip,
276 " softsp=0x%p\n", instance, (void *)devi, (void *)softsp));
279 if (ddi_map_regs(softsp->dip, 0, (caddr_t *)&softsp->ac_base, 0, 0)) {
285 softsp->ac_id = (uint32_t *)softsp->ac_base;
286 softsp->ac_memctl = (uint64_t *)((char *)softsp->ac_base +
288 softsp->ac_memdecode0 = (uint64_t *)((char *)softsp->ac_base +
290 softsp->ac_memdecode1 = (uint64_t *)((char *)softsp->ac_base +
292 softsp->ac_counter = (uint64_t *)((char *)softsp->ac_base +
294 softsp->ac_mccr = (uint32_t *)((char *)softsp->ac_base +
302 list = fhc_bdlist_lock(softsp->board);
306 instance, softsp->board);
310 list->sc.ac_compid = *softsp->ac_id;
312 list->ac_softsp = softsp;
332 fhc_del_memloc(softsp->board);
335 ac_get_memory_status(softsp, Bank0);
336 ac_get_memory_status(softsp, Bank1);
338 ac_eval_memory_status(softsp, Bank0);
339 ac_eval_memory_status(softsp, Bank1);
345 ac_add_kstats(softsp);
361 struct ac_soft_state *softsp;
368 softsp = ddi_get_soft_state(acp, instance);
375 list = fhc_bdlist_lock(softsp->board);
377 if (fhc_bd_detachable(softsp->board))
387 ASSERT(list->ac_softsp == softsp);
397 if (softsp->bank[Bank0].busy != 0 ||
398 softsp->bank[Bank0].ostate == SYSC_CFGA_OSTATE_CONFIGURED ||
399 softsp->bank[Bank1].busy != 0 ||
400 softsp->bank[Bank1].ostate == SYSC_CFGA_OSTATE_CONFIGURED) {
424 ac_del_kstats(softsp);
427 ddi_unmap_regs(softsp->dip, 0, (caddr_t *)&softsp->ac_base, 0, 0);
447 struct ac_soft_state *softsp;
453 softsp = AC_GETSOFTC(instance);
456 if (softsp == NULL) {
466 board = fhc_bdlist_lock(softsp->board);
485 struct ac_soft_state *softsp;
489 softsp = AC_GETSOFTC(instance);
490 ASSERT(softsp != NULL);
491 ac_mem_test_stop_on_close(softsp->board, AC_GETBANK(getminor(devt)));
565 struct ac_soft_state *softsp;
571 softsp = AC_GETSOFTC(instance);
572 if (softsp == NULL) {
612 pkt->softsp = softsp;
722 ac_add_kstats(struct ac_soft_state *softsp)
732 if ((ac_ksp = kstat_create("unix", softsp->board,
737 ddi_get_instance(softsp->dip));
773 ac_ksp->ks_private = (void *)softsp;
774 softsp->ac_ksp = ac_ksp;
785 ac_add_picN_kstats(softsp->dip);
798 ddi_get_instance(softsp->dip), "counters",
803 ddi_get_instance(softsp->dip));
820 ac_counters_ksp->ks_private = (void *)softsp;
824 softsp->ac_counters_ksp = ac_counters_ksp;
841 * set to ddi_get_instance(softsp->dip).
978 ac_del_kstats(struct ac_soft_state *softsp)
984 ac_ksp = softsp->ac_ksp;
985 softsp->ac_ksp = NULL;
987 ASSERT(ac_ksp->ks_private == (void *)softsp);
992 ac_ksp = softsp->ac_counters_ksp;
993 softsp->ac_counters_ksp = NULL;
995 ASSERT(ac_ksp->ks_private == (void *)softsp);
1063 struct ac_soft_state *softsp;
1066 softsp = (struct ac_soft_state *)ksp->ks_private;
1068 ASSERT(softsp->ac_ksp == NULL || ksp == softsp->ac_ksp);
1078 acksp->ac_memctl.value.ui64 = *softsp->ac_memctl;
1079 acksp->ac_memdecode0.value.ui64 = *softsp->ac_memdecode0;
1080 acksp->ac_memdecode1.value.ui64 = *softsp->ac_memdecode1;
1081 acksp->ac_mccr.value.ui32 = *softsp->ac_mccr;
1082 acksp->ac_counter.value.ui64 = *softsp->ac_counter;
1084 ac_kstat_stat(softsp->bank[0].rstate,
1085 softsp->bank[0].ostate);
1087 ac_kstat_cond(softsp->bank[0].condition);
1089 ac_kstat_stat(softsp->bank[1].rstate,
1090 softsp->bank[1].ostate);
1092 ac_kstat_cond(softsp->bank[1].condition);
1101 struct ac_soft_state *softsp;
1105 softsp = (struct ac_soft_state *)ksp->ks_private;
1121 * Write the %pcr value to the softsp->ac_mccr.
1125 *softsp->ac_mccr =
1134 ac_counters_data[0].value.ui64 = *softsp->ac_mccr;
1136 pic_register = *softsp->ac_counter;
1157 ac_get_memory_status(struct ac_soft_state *softsp, enum ac_bank_id id)
1163 *(softsp->ac_memdecode0) : *(softsp->ac_memdecode1);
1166 softsp->bank[id].busy = 0;
1167 softsp->bank[id].status_change = ddi_get_time();
1173 softsp->bank[id].real_size = softsp->bank[id].use_size =
1174 (id == Bank0) ? (grp_size / INTLV0(*softsp->ac_memctl)) :
1175 (grp_size / INTLV1(*softsp->ac_memctl));
1177 softsp->bank[id].real_size = softsp->bank[id].use_size = 0;
1184 if (ddi_prop_op(DDI_DEV_T_ANY, softsp->dip, PROP_LEN_AND_VAL_ALLOC,
1188 softsp->bank[id].rstate = SYSC_CFGA_RSTATE_EMPTY;
1189 softsp->bank[id].ostate = SYSC_CFGA_OSTATE_UNCONFIGURED;
1190 softsp->bank[id].condition = SYSC_CFGA_COND_UNKNOWN;
1192 softsp->bank[id].rstate = SYSC_CFGA_RSTATE_CONNECTED;
1193 softsp->bank[id].ostate = SYSC_CFGA_OSTATE_CONFIGURED;
1194 softsp->bank[id].condition = SYSC_CFGA_COND_OK;
1196 softsp->bank[id].rstate = SYSC_CFGA_RSTATE_CONNECTED;
1197 softsp->bank[id].ostate = SYSC_CFGA_OSTATE_UNCONFIGURED;
1198 softsp->bank[id].condition = SYSC_CFGA_COND_UNKNOWN;
1200 softsp->bank[id].rstate = SYSC_CFGA_RSTATE_DISCONNECTED;
1201 softsp->bank[id].ostate = SYSC_CFGA_OSTATE_UNCONFIGURED;
1202 softsp->bank[id].condition = SYSC_CFGA_COND_UNUSABLE;
1206 ddi_get_instance(softsp->dip), softsp->board, id,
1210 softsp->bank[id].rstate =
1212 softsp->bank[id].ostate =
1214 softsp->bank[id].condition =
1217 softsp->bank[id].rstate =
1219 softsp->bank[id].ostate =
1221 softsp->bank[id].condition =
1230 softsp->bank[id].rstate = SYSC_CFGA_RSTATE_CONNECTED;
1231 softsp->bank[id].ostate = SYSC_CFGA_OSTATE_CONFIGURED;
1232 softsp->bank[id].condition = SYSC_CFGA_COND_OK;
1235 softsp->bank[id].rstate = SYSC_CFGA_RSTATE_EMPTY;
1236 softsp->bank[id].ostate = SYSC_CFGA_OSTATE_UNCONFIGURED;
1237 softsp->bank[id].condition = SYSC_CFGA_COND_UNKNOWN;
1242 if (softsp->bank[id].rstate == SYSC_CFGA_RSTATE_CONNECTED) {
1246 ASSERT((*softsp->ac_memctl & AC_CSR_REFEN) != 0);
1249 fhc_add_memloc(softsp->board, base_pa, grp_size);
1255 ac_eval_memory_status(struct ac_soft_state *softsp, enum ac_bank_id id)
1258 *(softsp->ac_memdecode0) : *(softsp->ac_memdecode1);
1265 if (softsp->bank[id].rstate == SYSC_CFGA_RSTATE_CONNECTED &&
1266 softsp->bank[id].ostate == SYSC_CFGA_OSTATE_UNCONFIGURED &&
1270 ddi_get_instance(softsp->dip), softsp->board, id);
1273 softsp->bank[id].rstate = SYSC_CFGA_RSTATE_DISCONNECTED;
1274 softsp->bank[id].ostate = SYSC_CFGA_OSTATE_UNCONFIGURED;
1275 softsp->bank[id].condition = SYSC_CFGA_COND_UNUSABLE;
1280 if (softsp->bank[id].rstate == SYSC_CFGA_RSTATE_CONNECTED) {
1287 ddi_get_instance(softsp->dip),
1288 softsp->board, id, base_pa, softsp->bank[id].real_size,
1289 softsp->bank[id].rstate, softsp->bank[id].ostate,
1290 softsp->bank[id].condition);
1346 struct ac_soft_state *softsp = pkt->softsp;
1354 softsp->board);
1362 softsp->board);
1367 pkt->bank, softsp->board,
1369 softsp->bank[pkt->bank].ostate,
1376 softsp->board,
1385 softsp->board,
1393 pkt->bank, softsp->board);
1408 mem_info = &pkt->softsp->bank[pkt->bank];
1414 *pkt->softsp->ac_memdecode0 : *pkt->softsp->ac_memdecode1;
1563 struct ac_soft_state *softsp;
1582 softsp = board->ac_softsp;
1583 if (softsp == NULL) {
1592 *softsp->ac_mccr = AC_CLEAR_PCR(*softsp->ac_mccr);
1593 *softsp->ac_mccr = AC_SET_HOT_PLUG(*softsp->ac_mccr);
1596 *softsp->ac_counter = AC_SET_PIC_BUS_PAUSE(softsp->board);