Lines Matching defs:k10p
167 /* Set k10p->v->chipId to the CPU NodeID, to which this instance belongs to.
168 * @param k10p the per instance data record. Required members: dip, chipId
172 fillChipId(k10sensor_t *k10p) {
178 if (ddi_prop_lookup_string(DDI_DEV_T_ANY, k10p->dip, DDI_PROP_DONTPASS,
187 k10p->v->chipId = unitaddr - MC_AMD_DEV_OFFSET;
188 return (k10p->v->chipId < 0) ? (DDI_FAILURE) : (DDI_SUCCESS);
192 fetchProperties(k10sensor_t *k10p) {
193 int val = ddi_prop_get_int(DDI_DEV_T_ANY, k10p->dip, DDI_PROP_NOTPROM,
196 k10p->v->diode_offset = val;
198 val = ddi_prop_get_int(DDI_DEV_T_ANY, k10p->dip, DDI_PROP_NOTPROM,
201 k10p->v->t_case_max = val;
205 /* Populate k10p->v with CPU/temperature specific "static" data.
209 fillChipInfo(k10sensor_t *k10p) {
212 cpu_vars_t *v = k10p->v;
235 fillNBcapabilities(k10p->pci_hdl, v);
236 fillThermtrip(k10p->pci_hdl, v);
237 fillHtc(k10p->pci_hdl, v);
238 fillStc(k10p->pci_hdl, v);
239 fetchProperties(k10p);
245 destroyState(k10sensor_t *k10p, void *statep) {
246 if (k10p == NULL) {
249 k10s_kstat_destroy(k10p);
250 mutex_enter(k10p->lock);
251 ddi_remove_minor_node(k10p->dip, NULL);
252 if (k10p->pci_hdl) {
253 pci_config_teardown(&k10p->pci_hdl);
255 ddi_set_driver_private(k10p->dip, NULL);
256 mutex_exit(k10p->lock);
257 mutex_destroy(k10p->lock);
258 ddi_soft_state_free(statep, DIP2INST(k10p->dip));
265 k10sensor_t *k10p;
287 k10p = ddi_get_soft_state(statep, inst);
288 ddi_set_driver_private(dip, k10p);
289 k10p->dip = dip;
290 if (fillChipId(k10p) != DDI_SUCCESS) {
294 if (pci_config_setup(dip, &k10p->pci_hdl) != DDI_SUCCESS) {
298 if (fillChipInfo(k10p) != DDI_SUCCESS) {
308 k10s_kstat_create(k10p);
309 mutex_init(k10p->lock, NULL, MUTEX_DRIVER, NULL);
311 if (k10p->v->erratum != 0) {
314 k10p->v->erratum, cat_range_map[k10p->v->catIdx].name);
319 destroyState(k10p, statep);
326 k10sensor_t *k10p = ddi_get_driver_private(dip);
336 destroyState(k10p, statep);
345 k10sensor_t *k10p;
350 k10p = ddi_get_soft_state(statep, DEV2INST(dev));
351 if (k10p != NULL) {
352 mutex_enter(k10p->lock);
353 *resp = k10p->dip;
354 mutex_exit(k10p->lock);
394 k10sensor_t *k10p = ddi_get_soft_state(statep, inst);
397 if (len == 0 || k10p == NULL) {
401 str = dumpCpuInfo(buf, k10p->v);
403 dumpTctrl(str, k10p->pci_hdl, k10p->v);
424 k10sensor_t *k10p = ddi_get_soft_state(statep, inst);
426 if (k10p == NULL) {
432 v = k10p->v;
448 t[0] = getControlTemp(k10p->pci_hdl, v, 0);
451 t[1] = getControlTemp(k10p->pci_hdl, v, 1);
460 fillHtc(k10p->pci_hdl, v);
463 fillStc(k10p->pci_hdl, v);
466 fetchProperties(k10p);