+ tmp_dsoc = (di->display_soc +
+ MIN_ROUND_ACCURACY) / 1000;
+ /* if last display_soc invalid, recalc.
+ * otherwise keep this value(in case: plugin and
+ * plugout quickly or wakeup from deep sleep,
+ * we need't init display_soc)
+ */
+ if (tmp_dsoc != di->dsoc)
+ /* first init value should round up,
+ * other wise dsoc will quickly turn to
+ * dsoc-- if MIN_ROUND_ACCURACY value is
+ * small,eg:1.(in case: power on system)
+ */
+ di->display_soc = (di->dsoc + 1) *
+ 1000 - MIN_ROUND_ACCURACY;