Lines Matching refs:par

57 static void auok190x_issue_data(struct auok190xfb_par *par, u16 data)  in auok190x_issue_data()  argument
59 par->board->set_ctl(par, AUOK190X_I80_WR, 0); in auok190x_issue_data()
60 par->board->set_hdb(par, data); in auok190x_issue_data()
61 par->board->set_ctl(par, AUOK190X_I80_WR, 1); in auok190x_issue_data()
64 static void auok190x_issue_cmd(struct auok190xfb_par *par, u16 data) in auok190x_issue_cmd() argument
66 par->board->set_ctl(par, AUOK190X_I80_DC, 0); in auok190x_issue_cmd()
67 auok190x_issue_data(par, data); in auok190x_issue_cmd()
68 par->board->set_ctl(par, AUOK190X_I80_DC, 1); in auok190x_issue_cmd()
82 static int auok190x_issue_pixels_rgb565(struct auok190xfb_par *par, int size, in auok190x_issue_pixels_rgb565() argument
85 struct fb_var_screeninfo *var = &par->info->var; in auok190x_issue_pixels_rgb565()
86 struct device *dev = par->info->device; in auok190x_issue_pixels_rgb565()
97 par->board->set_ctl(par, AUOK190X_I80_WR, 0); in auok190x_issue_pixels_rgb565()
104 par->board->set_hdb(par, tmp); in auok190x_issue_pixels_rgb565()
105 par->board->set_ctl(par, AUOK190X_I80_WR, 1); in auok190x_issue_pixels_rgb565()
111 static int auok190x_issue_pixels_gray8(struct auok190xfb_par *par, int size, in auok190x_issue_pixels_gray8() argument
114 struct device *dev = par->info->device; in auok190x_issue_pixels_gray8()
125 par->board->set_ctl(par, AUOK190X_I80_WR, 0); in auok190x_issue_pixels_gray8()
135 par->board->set_hdb(par, tmp); in auok190x_issue_pixels_gray8()
136 par->board->set_ctl(par, AUOK190X_I80_WR, 1); in auok190x_issue_pixels_gray8()
142 static int auok190x_issue_pixels(struct auok190xfb_par *par, int size, in auok190x_issue_pixels() argument
145 struct fb_info *info = par->info; in auok190x_issue_pixels()
146 struct device *dev = par->info->device; in auok190x_issue_pixels()
149 auok190x_issue_pixels_gray8(par, size, data); in auok190x_issue_pixels()
151 auok190x_issue_pixels_rgb565(par, size, data); in auok190x_issue_pixels()
159 static u16 auok190x_read_data(struct auok190xfb_par *par) in auok190x_read_data() argument
163 par->board->set_ctl(par, AUOK190X_I80_OE, 0); in auok190x_read_data()
164 data = par->board->get_hdb(par); in auok190x_read_data()
165 par->board->set_ctl(par, AUOK190X_I80_OE, 1); in auok190x_read_data()
174 void auok190x_send_command_nowait(struct auok190xfb_par *par, u16 data) in auok190x_send_command_nowait() argument
176 par->board->set_ctl(par, AUOK190X_I80_CS, 0); in auok190x_send_command_nowait()
177 auok190x_issue_cmd(par, data); in auok190x_send_command_nowait()
178 par->board->set_ctl(par, AUOK190X_I80_CS, 1); in auok190x_send_command_nowait()
182 void auok190x_send_cmdargs_nowait(struct auok190xfb_par *par, u16 cmd, in auok190x_send_cmdargs_nowait() argument
187 par->board->set_ctl(par, AUOK190X_I80_CS, 0); in auok190x_send_cmdargs_nowait()
188 auok190x_issue_cmd(par, cmd); in auok190x_send_cmdargs_nowait()
191 auok190x_issue_data(par, argv[i]); in auok190x_send_cmdargs_nowait()
192 par->board->set_ctl(par, AUOK190X_I80_CS, 1); in auok190x_send_cmdargs_nowait()
196 int auok190x_send_command(struct auok190xfb_par *par, u16 data) in auok190x_send_command() argument
200 ret = par->board->wait_for_rdy(par); in auok190x_send_command()
204 auok190x_send_command_nowait(par, data); in auok190x_send_command()
209 int auok190x_send_cmdargs(struct auok190xfb_par *par, u16 cmd, in auok190x_send_cmdargs() argument
214 ret = par->board->wait_for_rdy(par); in auok190x_send_cmdargs()
218 auok190x_send_cmdargs_nowait(par, cmd, argc, argv); in auok190x_send_cmdargs()
223 int auok190x_read_cmdargs(struct auok190xfb_par *par, u16 cmd, in auok190x_read_cmdargs() argument
228 ret = par->board->wait_for_rdy(par); in auok190x_read_cmdargs()
232 par->board->set_ctl(par, AUOK190X_I80_CS, 0); in auok190x_read_cmdargs()
233 auok190x_issue_cmd(par, cmd); in auok190x_read_cmdargs()
236 argv[i] = auok190x_read_data(par); in auok190x_read_cmdargs()
237 par->board->set_ctl(par, AUOK190X_I80_CS, 1); in auok190x_read_cmdargs()
243 void auok190x_send_cmdargs_pixels_nowait(struct auok190xfb_par *par, u16 cmd, in auok190x_send_cmdargs_pixels_nowait() argument
248 par->board->set_ctl(par, AUOK190X_I80_CS, 0); in auok190x_send_cmdargs_pixels_nowait()
250 auok190x_issue_cmd(par, cmd); in auok190x_send_cmdargs_pixels_nowait()
253 auok190x_issue_data(par, argv[i]); in auok190x_send_cmdargs_pixels_nowait()
255 auok190x_issue_pixels(par, size, data); in auok190x_send_cmdargs_pixels_nowait()
257 par->board->set_ctl(par, AUOK190X_I80_CS, 1); in auok190x_send_cmdargs_pixels_nowait()
261 int auok190x_send_cmdargs_pixels(struct auok190xfb_par *par, u16 cmd, in auok190x_send_cmdargs_pixels() argument
266 ret = par->board->wait_for_rdy(par); in auok190x_send_cmdargs_pixels()
270 auok190x_send_cmdargs_pixels_nowait(par, cmd, argc, argv, size, data); in auok190x_send_cmdargs_pixels()
291 struct auok190xfb_par *par = info->par; in auok190xfb_dpy_deferred_io() local
316 if (par->need_refresh(par)) { in auok190xfb_dpy_deferred_io()
317 par->update_all(par); in auok190xfb_dpy_deferred_io()
325 threshold = par->consecutive_threshold / h_inc; in auok190xfb_dpy_deferred_io()
340 par->update_partial(par, y1, y1 + h); in auok190xfb_dpy_deferred_io()
352 par->update_all(par); in auok190xfb_dpy_deferred_io()
354 par->update_partial(par, y1, min((u16) (y1 + h), yres)); in auok190xfb_dpy_deferred_io()
372 struct auok190xfb_par *par = info->par; in auok190xfb_write() local
406 par->update_all(par); in auok190xfb_write()
414 struct auok190xfb_par *par = info->par; in auok190xfb_fillrect() local
418 par->update_all(par); in auok190xfb_fillrect()
424 struct auok190xfb_par *par = info->par; in auok190xfb_copyarea() local
428 par->update_all(par); in auok190xfb_copyarea()
434 struct auok190xfb_par *par = info->par; in auok190xfb_imageblit() local
438 par->update_all(par); in auok190xfb_imageblit()
445 struct auok190xfb_par *par = info->par; in auok190xfb_check_var() local
446 struct panel_info *panel = &panel_table[par->resolution]; in auok190xfb_check_var()
551 struct auok190xfb_par *par = info->par; in auok190xfb_set_par() local
553 par->rotation = info->var.rotate; in auok190xfb_set_par()
557 par->init(par); in auok190xfb_set_par()
560 par->board->wait_for_rdy(par); in auok190xfb_set_par()
580 static int auok190x_read_temperature(struct auok190xfb_par *par) in auok190x_read_temperature() argument
582 struct device *dev = par->info->device; in auok190x_read_temperature()
588 mutex_lock(&(par->io_lock)); in auok190x_read_temperature()
590 auok190x_read_cmdargs(par, AUOK190X_CMD_READ_VERSION, 4, data); in auok190x_read_temperature()
592 mutex_unlock(&(par->io_lock)); in auok190x_read_temperature()
607 static void auok190x_identify(struct auok190xfb_par *par) in auok190x_identify() argument
609 struct device *dev = par->info->device; in auok190x_identify()
614 mutex_lock(&(par->io_lock)); in auok190x_identify()
616 auok190x_read_cmdargs(par, AUOK190X_CMD_READ_VERSION, 4, data); in auok190x_identify()
618 mutex_unlock(&(par->io_lock)); in auok190x_identify()
620 par->epd_type = data[1] & AUOK190X_VERSION_TEMP_MASK; in auok190x_identify()
622 par->panel_size_int = AUOK190X_VERSION_SIZE_INT(data[2]); in auok190x_identify()
623 par->panel_size_float = AUOK190X_VERSION_SIZE_FLOAT(data[2]); in auok190x_identify()
624 par->panel_model = AUOK190X_VERSION_MODEL(data[2]); in auok190x_identify()
626 par->tcon_version = AUOK190X_VERSION_TCON(data[3]); in auok190x_identify()
627 par->lut_version = AUOK190X_VERSION_LUT(data[3]); in auok190x_identify()
630 par->panel_size_int, par->panel_size_float, par->panel_model, in auok190x_identify()
631 par->epd_type, par->tcon_version, par->lut_version); in auok190x_identify()
645 struct auok190xfb_par *par = info->par; in update_mode_show() local
647 return sprintf(buf, "%d\n", par->update_mode); in update_mode_show()
655 struct auok190xfb_par *par = info->par; in update_mode_store() local
662 par->update_mode = mode; in update_mode_store()
665 if (par->last_mode > 1 && mode < par->last_mode) in update_mode_store()
666 par->update_all(par); in update_mode_store()
675 struct auok190xfb_par *par = info->par; in flash_show() local
677 return sprintf(buf, "%d\n", par->flash); in flash_show()
684 struct auok190xfb_par *par = info->par; in flash_store() local
692 par->flash = 1; in flash_store()
694 par->flash = 0; in flash_store()
703 struct auok190xfb_par *par = info->par; in temp_show() local
706 temp = auok190x_read_temperature(par); in temp_show()
725 static int auok190x_power(struct auok190xfb_par *par, bool on) in auok190x_power() argument
727 struct auok190x_board *board = par->board; in auok190x_power()
734 ret = regulator_enable(par->regulator); in auok190x_power()
743 regulator_disable(par->regulator); in auok190x_power()
755 static void auok190x_recover(struct auok190xfb_par *par) in auok190x_recover() argument
757 struct device *dev = par->info->device; in auok190x_recover()
759 auok190x_power(par, 0); in auok190x_recover()
761 auok190x_power(par, 1); in auok190x_recover()
765 par->standby = 0; in auok190x_recover()
767 par->init(par); in auok190x_recover()
770 par->board->wait_for_rdy(par); in auok190x_recover()
782 struct auok190xfb_par *par = info->par; in auok190x_runtime_suspend() local
783 struct auok190x_board *board = par->board; in auok190x_runtime_suspend()
789 mutex_lock(&(par->io_lock)); in auok190x_runtime_suspend()
791 if (par->standby) { in auok190x_runtime_suspend()
793 mutex_unlock(&(par->io_lock)); in auok190x_runtime_suspend()
810 auok190x_send_cmdargs(par, AUOK190X_CMD_STANDBY, 1, in auok190x_runtime_suspend()
814 auok190x_send_command(par, AUOK190X_CMD_STANDBY); in auok190x_runtime_suspend()
820 par->standby = 1; in auok190x_runtime_suspend()
829 struct auok190xfb_par *par = info->par; in auok190x_runtime_resume() local
830 struct auok190x_board *board = par->board; in auok190x_runtime_resume()
832 if (!par->standby) { in auok190x_runtime_resume()
844 auok190x_send_command_nowait(par, AUOK190X_CMD_WAKEUP); in auok190x_runtime_resume()
849 board->wait_for_rdy(par); in auok190x_runtime_resume()
852 par->standby = 0; in auok190x_runtime_resume()
854 mutex_unlock(&(par->io_lock)); in auok190x_runtime_resume()
863 struct auok190xfb_par *par = info->par; in auok190x_suspend() local
864 struct auok190x_board *board = par->board; in auok190x_suspend()
872 auok190x_power(par, 0); in auok190x_suspend()
888 par->manual_standby = 1; in auok190x_suspend()
903 struct auok190xfb_par *par = info->par; in auok190x_resume() local
904 struct auok190x_board *board = par->board; in auok190x_resume()
910 auok190x_power(par, 1); in auok190x_resume()
912 par->init(par); in auok190x_resume()
925 par->init(par); in auok190x_resume()
928 if (!par->manual_standby) in auok190x_resume()
931 par->manual_standby = 0; in auok190x_resume()
953 struct auok190xfb_par *par; in auok190x_common_probe() local
969 par = info->par; in auok190x_common_probe()
970 par->info = info; in auok190x_common_probe()
971 par->board = board; in auok190x_common_probe()
972 par->recover = auok190x_recover; in auok190x_common_probe()
973 par->update_partial = init->update_partial; in auok190x_common_probe()
974 par->update_all = init->update_all; in auok190x_common_probe()
975 par->need_refresh = init->need_refresh; in auok190x_common_probe()
976 par->init = init->init; in auok190x_common_probe()
979 par->update_cnt = 0; in auok190x_common_probe()
980 par->update_mode = -1; in auok190x_common_probe()
981 par->last_mode = -1; in auok190x_common_probe()
982 par->flash = 0; in auok190x_common_probe()
984 par->regulator = regulator_get(info->device, "vdd"); in auok190x_common_probe()
985 if (IS_ERR(par->regulator)) { in auok190x_common_probe()
986 ret = PTR_ERR(par->regulator); in auok190x_common_probe()
991 ret = board->init(par); in auok190x_common_probe()
1023 ret = auok190x_power(par, 1); in auok190x_common_probe()
1030 mutex_init(&par->io_lock); in auok190x_common_probe()
1032 init_waitqueue_head(&par->waitq); in auok190x_common_probe()
1034 ret = par->board->setup_irq(par->info); in auok190x_common_probe()
1041 par->board->wait_for_rdy(par); in auok190x_common_probe()
1055 par->resolution = board->resolution; in auok190x_common_probe()
1056 par->rotation = 0; in auok190x_common_probe()
1107 par->consecutive_threshold = 100; in auok190x_common_probe()
1108 par->init(par); in auok190x_common_probe()
1109 auok190x_identify(par); in auok190x_common_probe()
1128 par->autosuspend_delay = (board->quirks & AUOK190X_QUIRK_STANDBYBROKEN) in auok190x_common_probe()
1133 pm_runtime_set_autosuspend_delay(info->device, par->autosuspend_delay); in auok190x_common_probe()
1147 auok190x_power(par, 0); in auok190x_common_probe()
1153 board->cleanup(par); in auok190x_common_probe()
1155 regulator_put(par->regulator); in auok190x_common_probe()
1166 struct auok190xfb_par *par = info->par; in auok190x_common_remove() local
1167 struct auok190x_board *board = par->board; in auok190x_common_remove()
1181 auok190x_power(par, 0); in auok190x_common_remove()
1186 board->cleanup(par); in auok190x_common_remove()
1188 regulator_put(par->regulator); in auok190x_common_remove()