Lines Matching refs:occ
31 struct occ *occ = dev_get_drvdata(dev);
37 rc = occ_active(occ, active);
49 struct occ *occ = dev_get_drvdata(dev);
53 if (occ->active) {
54 rc = occ_update_response(occ);
58 header = (struct occ_poll_response_header *)occ->resp.data;
119 struct occ *occ = dev_get_drvdata(dev);
121 occ_update_response(occ);
123 return sysfs_emit(buf, "%d\n", occ->error);
162 void occ_sysfs_poll_done(struct occ *occ)
166 (struct occ_poll_response_header *)occ->resp.data;
172 if (!occ->active)
176 (occ->prev_stat & OCC_STAT_MASTER)) {
178 sysfs_notify(&occ->bus_dev->kobj, NULL, name);
182 (occ->prev_ext_stat & OCC_EXT_STAT_DVFS_OT)) {
184 sysfs_notify(&occ->bus_dev->kobj, NULL, name);
188 (occ->prev_ext_stat & OCC_EXT_STAT_DVFS_POWER)) {
190 sysfs_notify(&occ->bus_dev->kobj, NULL, name);
194 (occ->prev_ext_stat & OCC_EXT_STAT_MEM_THROTTLE)) {
196 sysfs_notify(&occ->bus_dev->kobj, NULL, name);
200 (occ->prev_ext_stat & OCC_EXT_STAT_QUICK_DROP)) {
202 sysfs_notify(&occ->bus_dev->kobj, NULL, name);
206 (occ->prev_ext_stat & OCC_EXT_STAT_DVFS_VDD)) {
208 sysfs_notify(&occ->bus_dev->kobj, NULL, name);
212 (occ->prev_ext_stat & OCC_EXT_STAT_GPU_THROTTLE)) {
214 sysfs_notify(&occ->bus_dev->kobj, NULL, name);
218 header->occs_present != occ->prev_occs_present) {
220 sysfs_notify(&occ->bus_dev->kobj, NULL, name);
223 if (header->ips_status != occ->prev_ips_status) {
225 sysfs_notify(&occ->bus_dev->kobj, NULL, name);
228 if (header->mode != occ->prev_mode) {
230 sysfs_notify(&occ->bus_dev->kobj, NULL, name);
233 if (occ->error && occ->error != occ->prev_error) {
235 sysfs_notify(&occ->bus_dev->kobj, NULL, name);
241 occ->prev_error = occ->error;
242 occ->prev_stat = header->status;
243 occ->prev_ext_stat = header->ext_status;
244 occ->prev_occs_present = header->occs_present;
245 occ->prev_ips_status = header->ips_status;
246 occ->prev_mode = header->mode;
249 int occ_setup_sysfs(struct occ *occ)
251 return sysfs_create_group(&occ->bus_dev->kobj, &occ_sysfs);
254 void occ_shutdown_sysfs(struct occ *occ)
256 sysfs_remove_group(&occ->bus_dev->kobj, &occ_sysfs);