Lines Matching +full:n +full:- +full:factor
1 /*-
130 device_printf(dev, "cannot get EC base address\n"); in acpi_smbat_attach()
133 sc->sb_base_addr = (base >> 8) & 0xff; in acpi_smbat_attach()
136 sc->ec_dev = devclass_get_device(devclass_find("acpi_ec"), 0); in acpi_smbat_attach()
137 if (sc->ec_dev == NULL) { in acpi_smbat_attach()
138 device_printf(dev, "cannot find EC device\n"); in acpi_smbat_attach()
142 timespecclear(&sc->bix_lastupdated); in acpi_smbat_attach()
143 timespecclear(&sc->bst_lastupdated); in acpi_smbat_attach()
146 device_printf(dev, "cannot register battery\n"); in acpi_smbat_attach()
201 error = ACPI_EC_WRITE(sc->ec_dev, sc->sb_base_addr + SMBUS_ADDR, in acpi_smbus_read_2()
207 error = ACPI_EC_WRITE(sc->ec_dev, sc->sb_base_addr + SMBUS_CMD, in acpi_smbus_read_2()
213 error = ACPI_EC_WRITE(sc->ec_dev, sc->sb_base_addr + SMBUS_PRTCL, in acpi_smbus_read_2()
221 for (to = SMBUS_TIMEOUT; to != 0; to--) { in acpi_smbus_read_2()
222 error = ACPI_EC_READ(sc->ec_dev, sc->sb_base_addr + SMBUS_PRTCL, in acpi_smbus_read_2()
235 error = ACPI_EC_READ(sc->ec_dev, sc->sb_base_addr + SMBUS_STS, &val, 1); in acpi_smbus_read_2()
239 printf("%s: AE_ERROR 0x%x\n", in acpi_smbus_read_2()
245 error = ACPI_EC_READ(sc->ec_dev, sc->sb_base_addr + SMBUS_DATA, in acpi_smbus_read_2()
270 error = ACPI_EC_WRITE(sc->ec_dev, sc->sb_base_addr + SMBUS_ADDR, in acpi_smbus_read_multi_1()
276 error = ACPI_EC_WRITE(sc->ec_dev, sc->sb_base_addr + SMBUS_CMD, in acpi_smbus_read_multi_1()
282 error = ACPI_EC_WRITE(sc->ec_dev, sc->sb_base_addr + SMBUS_PRTCL, in acpi_smbus_read_multi_1()
290 for (to = SMBUS_TIMEOUT; to != 0; to--) { in acpi_smbus_read_multi_1()
291 error = ACPI_EC_READ(sc->ec_dev, sc->sb_base_addr + SMBUS_PRTCL, in acpi_smbus_read_multi_1()
304 error = ACPI_EC_READ(sc->ec_dev, sc->sb_base_addr + SMBUS_STS, &val, 1); in acpi_smbus_read_multi_1()
308 printf("%s: AE_ERROR 0x%x\n", in acpi_smbus_read_multi_1()
315 error = ACPI_EC_READ(sc->ec_dev, sc->sb_base_addr + SMBUS_BCNT, in acpi_smbus_read_multi_1()
328 while (len--) { in acpi_smbus_read_multi_1()
329 error = ACPI_EC_READ(sc->ec_dev, sc->sb_base_addr + SMBUS_DATA in acpi_smbus_read_multi_1()
348 uint32_t factor; in acpi_smbat_get_bst() local
358 if (!acpi_smbat_info_expired(&sc->bst_lastupdated)) { in acpi_smbat_get_bst()
366 factor = 10; in acpi_smbat_get_bst()
368 factor = 1; in acpi_smbat_get_bst()
374 sc->bst.state = 0; in acpi_smbat_get_bst()
376 sc->bst.state |= ACPI_BATT_STAT_DISCHARG; in acpi_smbat_get_bst()
379 sc->bst.state |= ACPI_BATT_STAT_CRITICAL; in acpi_smbat_get_bst()
389 sc->bst.rate = val * factor; in acpi_smbat_get_bst()
390 sc->bst.state &= ~SMBATT_BS_DISCHARGING; in acpi_smbat_get_bst()
391 sc->bst.state |= ACPI_BATT_STAT_CHARGING; in acpi_smbat_get_bst()
393 sc->bst.rate = (-val) * factor; in acpi_smbat_get_bst()
395 sc->bst.rate = 0; in acpi_smbat_get_bst()
399 sc->bst.cap = val * factor; in acpi_smbat_get_bst()
403 sc->bst.volt = val; in acpi_smbat_get_bst()
405 acpi_smbat_info_updated(&sc->bst_lastupdated); in acpi_smbat_get_bst()
410 memcpy(bst, &sc->bst, sizeof(sc->bst)); in acpi_smbat_get_bst()
420 uint32_t factor; in acpi_smbat_get_bix() local
426 return (-1); in acpi_smbat_get_bix()
434 if (!acpi_smbat_info_expired(&sc->bix_lastupdated)) { in acpi_smbat_get_bix()
439 sc->bix.rev = ACPI_BIX_REV_BIF; in acpi_smbat_get_bix()
444 factor = 10; in acpi_smbat_get_bix()
445 sc->bix.units = ACPI_BIX_UNITS_MW; in acpi_smbat_get_bix()
447 factor = 1; in acpi_smbat_get_bix()
448 sc->bix.units = ACPI_BIX_UNITS_MA; in acpi_smbat_get_bix()
453 sc->bix.dcap = val * factor; in acpi_smbat_get_bix()
457 sc->bix.lfcap = val * factor; in acpi_smbat_get_bix()
458 sc->bix.btech = 1; /* secondary (rechargeable) */ in acpi_smbat_get_bix()
462 sc->bix.dvol = val; in acpi_smbat_get_bix()
464 sc->bix.wcap = sc->bix.dcap / 10; in acpi_smbat_get_bix()
465 sc->bix.lcap = sc->bix.dcap / 10; in acpi_smbat_get_bix()
467 sc->bix.gra1 = factor; /* not supported */ in acpi_smbat_get_bix()
468 sc->bix.gra2 = factor; /* not supported */ in acpi_smbat_get_bix()
471 sc->bix.model, sizeof(sc->bix.model))) in acpi_smbat_get_bix()
476 snprintf(sc->bix.serial, sizeof(sc->bix.serial), "0x%04x", val); in acpi_smbat_get_bix()
479 sc->bix.type, sizeof(sc->bix.type))) in acpi_smbat_get_bix()
483 sc->bix.oeminfo, sizeof(sc->bix.oeminfo))) in acpi_smbat_get_bix()
488 acpi_smbat_info_updated(&sc->bix_lastupdated); in acpi_smbat_get_bix()
493 memcpy(bix, &sc->bix, len); in acpi_smbat_get_bix()