Lines Matching refs:at

108 	amdnbtemp_t *at = arg;  in amdnbtemp_read()  local
110 mutex_enter(&at->at_mutex); in amdnbtemp_read()
111 at->at_raw = pci_config_get32(at->at_cfgspace, AMDNBTEMP_TEMPREG); in amdnbtemp_read()
112 if (at->at_raw == PCI_EINVAL32) { in amdnbtemp_read()
113 mutex_exit(&at->at_mutex); in amdnbtemp_read()
117 at->at_temp = AMDNBTEMP_TEMPREG_CURTMP(at->at_raw); in amdnbtemp_read()
118 if (at->at_tjsel && in amdnbtemp_read()
119 AMDNBTEMP_TEMPREG_TJSEL(at->at_raw) == AMDNBTEMP_TJSEL_ADJUST) { in amdnbtemp_read()
120 at->at_temp -= AMDNBTEMP_TEMP_ADJUST; in amdnbtemp_read()
125 scalar->sis_value = at->at_temp; in amdnbtemp_read()
126 mutex_exit(&at->at_mutex); in amdnbtemp_read()
137 amdnbtemp_cleanup(amdnbtemp_t *at) in amdnbtemp_cleanup() argument
140 inst = ddi_get_instance(at->at_dip); in amdnbtemp_cleanup()
142 if ((at->at_state & AMDNBTMEP_S_KSENSOR) != 0) { in amdnbtemp_cleanup()
143 (void) ksensor_remove(at->at_dip, KSENSOR_ALL_IDS); in amdnbtemp_cleanup()
144 at->at_state &= ~AMDNBTMEP_S_KSENSOR; in amdnbtemp_cleanup()
147 if ((at->at_state & AMDNBTEMP_S_MUTEX) != 0) { in amdnbtemp_cleanup()
148 mutex_destroy(&at->at_mutex); in amdnbtemp_cleanup()
149 at->at_state &= ~AMDNBTEMP_S_MUTEX; in amdnbtemp_cleanup()
152 if ((at->at_state & AMDNBTEMP_S_CFGSPACE) != 0) { in amdnbtemp_cleanup()
153 pci_config_teardown(&at->at_cfgspace); in amdnbtemp_cleanup()
154 at->at_state &= ~AMDNBTEMP_S_CFGSPACE; in amdnbtemp_cleanup()
157 ASSERT0(at->at_state); in amdnbtemp_cleanup()
196 amdnbtemp_t *at; in amdnbtemp_attach() local
216 at = ddi_get_soft_state(amdnbtemp_state, inst); in amdnbtemp_attach()
217 if (at == NULL) { in amdnbtemp_attach()
223 at->at_dip = dip; in amdnbtemp_attach()
225 if (pci_config_setup(dip, &at->at_cfgspace) != DDI_SUCCESS) { in amdnbtemp_attach()
229 at->at_state |= AMDNBTEMP_S_CFGSPACE; in amdnbtemp_attach()
237 mutex_init(&at->at_mutex, NULL, MUTEX_DRIVER, NULL); in amdnbtemp_attach()
238 at->at_state |= AMDNBTEMP_S_MUTEX; in amdnbtemp_attach()
252 at->at_bus = PCI_REG_BUS_G(regs[0]); in amdnbtemp_attach()
253 at->at_dev = PCI_REG_DEV_G(regs[0]); in amdnbtemp_attach()
254 at->at_func = PCI_REG_DEV_G(regs[0]); in amdnbtemp_attach()
257 if (at->at_dev < AMDNBTEMP_FIRST_DEV) { in amdnbtemp_attach()
259 at->at_dev); in amdnbtemp_attach()
263 id = at->at_dev - AMDNBTEMP_FIRST_DEV; in amdnbtemp_attach()
276 at->at_tjsel = B_TRUE; in amdnbtemp_attach()
279 if ((ret = ksensor_create(dip, &amdnbtemp_temp_ops, at, buf, in amdnbtemp_attach()
280 DDI_NT_SENSOR_TEMP_CPU, &at->at_ksensor)) != 0) { in amdnbtemp_attach()
285 at->at_state |= AMDNBTMEP_S_KSENSOR; in amdnbtemp_attach()
290 amdnbtemp_cleanup(at); in amdnbtemp_attach()
298 amdnbtemp_t *at; in amdnbtemp_detach() local
310 at = ddi_get_soft_state(amdnbtemp_state, inst); in amdnbtemp_detach()
311 if (at == NULL) { in amdnbtemp_detach()
317 amdnbtemp_cleanup(at); in amdnbtemp_detach()