Lines Matching defs:sc

76 	struct pwmbl_softc *sc = (struct pwmbl_softc *)self;
87 sc->sc_pwm = malloc(len, M_DEVBUF, M_WAITOK);
88 OF_getpropintarray(faa->fa_node, "pwms", sc->sc_pwm, len);
89 sc->sc_pwm_len = len;
102 sc->sc_levels = malloc(len, M_DEVBUF, M_WAITOK);
104 sc->sc_levels, len);
105 sc->sc_nlevels = len / sizeof(uint32_t);
106 sc->sc_max_level = sc->sc_levels[sc->sc_nlevels - 1];
107 sc->sc_def_level = OF_getpropint(faa->fa_node,
108 "default-brightness-level", sc->sc_nlevels - 1);
109 if (sc->sc_def_level >= sc->sc_nlevels)
110 sc->sc_def_level = sc->sc_nlevels - 1;
111 sc->sc_def_level = sc->sc_levels[sc->sc_def_level];
114 sc->sc_nlevels = 256;
115 sc->sc_max_level = sc->sc_def_level = sc->sc_nlevels - 1;
120 pwmbl_set_brightness(sc, sc->sc_def_level);
122 sc_pwmbl = sc;
130 struct pwmbl_softc *sc = (struct pwmbl_softc *)self;
136 error = pwm_get_state(sc->sc_pwm, &sc->sc_ps_saved);
140 pwm_init_state(sc->sc_pwm, &ps);
143 return pwm_set_state(sc->sc_pwm, &ps);
145 return pwm_set_state(sc->sc_pwm, &sc->sc_ps_saved);
153 struct pwmbl_softc *sc = cookie;
156 if (pwm_get_state(sc->sc_pwm, &ps))
159 *level = (ps.ps_pulse_width * sc->sc_max_level) / ps.ps_period;
164 pwmbl_find_brightness(struct pwmbl_softc *sc, uint32_t level)
169 if (sc->sc_levels == NULL)
170 return level < sc->sc_nlevels ? level : sc->sc_nlevels - 1;
172 for (i = 0; i < sc->sc_nlevels - 1; i++) {
173 mid = (sc->sc_levels[i] + sc->sc_levels[i + 1]) / 2;
174 if (sc->sc_levels[i] <= level && level <= mid)
175 return sc->sc_levels[i];
176 if (mid < level && level <= sc->sc_levels[i + 1])
177 return sc->sc_levels[i + 1];
179 if (level < sc->sc_levels[0])
180 return sc->sc_levels[0];
182 return sc->sc_levels[i];
188 struct pwmbl_softc *sc = cookie;
191 if (pwm_init_state(sc->sc_pwm, &ps))
194 level = pwmbl_find_brightness(sc, level);
197 ps.ps_pulse_width = (ps.ps_period * level) / sc->sc_max_level;
198 return pwm_set_state(sc->sc_pwm, &ps);
204 struct pwmbl_softc *sc = (struct pwmbl_softc *)sc_pwmbl;
209 if (pwmbl_get_brightness(sc, &level))
213 dp->max = sc->sc_max_level;
224 struct pwmbl_softc *sc = (struct pwmbl_softc *)sc_pwmbl;
228 if (pwmbl_set_brightness(sc, dp->curval))