Lines Matching refs:par

119 static void broadsheet_gpio_issue_data(struct broadsheetfb_par *par, u16 data)  in broadsheet_gpio_issue_data()  argument
121 par->board->set_ctl(par, BS_WR, 0); in broadsheet_gpio_issue_data()
122 par->board->set_hdb(par, data); in broadsheet_gpio_issue_data()
123 par->board->set_ctl(par, BS_WR, 1); in broadsheet_gpio_issue_data()
126 static void broadsheet_gpio_issue_cmd(struct broadsheetfb_par *par, u16 data) in broadsheet_gpio_issue_cmd() argument
128 par->board->set_ctl(par, BS_DC, 0); in broadsheet_gpio_issue_cmd()
129 broadsheet_gpio_issue_data(par, data); in broadsheet_gpio_issue_cmd()
132 static void broadsheet_gpio_send_command(struct broadsheetfb_par *par, u16 data) in broadsheet_gpio_send_command() argument
134 par->board->wait_for_rdy(par); in broadsheet_gpio_send_command()
136 par->board->set_ctl(par, BS_CS, 0); in broadsheet_gpio_send_command()
137 broadsheet_gpio_issue_cmd(par, data); in broadsheet_gpio_send_command()
138 par->board->set_ctl(par, BS_DC, 1); in broadsheet_gpio_send_command()
139 par->board->set_ctl(par, BS_CS, 1); in broadsheet_gpio_send_command()
142 static void broadsheet_gpio_send_cmdargs(struct broadsheetfb_par *par, u16 cmd, in broadsheet_gpio_send_cmdargs() argument
147 par->board->wait_for_rdy(par); in broadsheet_gpio_send_cmdargs()
149 par->board->set_ctl(par, BS_CS, 0); in broadsheet_gpio_send_cmdargs()
150 broadsheet_gpio_issue_cmd(par, cmd); in broadsheet_gpio_send_cmdargs()
151 par->board->set_ctl(par, BS_DC, 1); in broadsheet_gpio_send_cmdargs()
154 broadsheet_gpio_issue_data(par, argv[i]); in broadsheet_gpio_send_cmdargs()
155 par->board->set_ctl(par, BS_CS, 1); in broadsheet_gpio_send_cmdargs()
158 static void broadsheet_mmio_send_cmdargs(struct broadsheetfb_par *par, u16 cmd, in broadsheet_mmio_send_cmdargs() argument
163 par->board->mmio_write(par, BS_MMIO_CMD, cmd); in broadsheet_mmio_send_cmdargs()
166 par->board->mmio_write(par, BS_MMIO_DATA, argv[i]); in broadsheet_mmio_send_cmdargs()
169 static void broadsheet_send_command(struct broadsheetfb_par *par, u16 data) in broadsheet_send_command() argument
171 if (par->board->mmio_write) in broadsheet_send_command()
172 par->board->mmio_write(par, BS_MMIO_CMD, data); in broadsheet_send_command()
174 broadsheet_gpio_send_command(par, data); in broadsheet_send_command()
177 static void broadsheet_send_cmdargs(struct broadsheetfb_par *par, u16 cmd, in broadsheet_send_cmdargs() argument
180 if (par->board->mmio_write) in broadsheet_send_cmdargs()
181 broadsheet_mmio_send_cmdargs(par, cmd, argc, argv); in broadsheet_send_cmdargs()
183 broadsheet_gpio_send_cmdargs(par, cmd, argc, argv); in broadsheet_send_cmdargs()
186 static void broadsheet_gpio_burst_write(struct broadsheetfb_par *par, int size, in broadsheet_gpio_burst_write() argument
192 par->board->set_ctl(par, BS_CS, 0); in broadsheet_gpio_burst_write()
193 par->board->set_ctl(par, BS_DC, 1); in broadsheet_gpio_burst_write()
196 par->board->set_ctl(par, BS_WR, 0); in broadsheet_gpio_burst_write()
199 par->board->set_hdb(par, tmp); in broadsheet_gpio_burst_write()
200 par->board->set_ctl(par, BS_WR, 1); in broadsheet_gpio_burst_write()
203 par->board->set_ctl(par, BS_CS, 1); in broadsheet_gpio_burst_write()
206 static void broadsheet_mmio_burst_write(struct broadsheetfb_par *par, int size, in broadsheet_mmio_burst_write() argument
215 par->board->mmio_write(par, BS_MMIO_DATA, tmp); in broadsheet_mmio_burst_write()
220 static void broadsheet_burst_write(struct broadsheetfb_par *par, int size, in broadsheet_burst_write() argument
223 if (par->board->mmio_write) in broadsheet_burst_write()
224 broadsheet_mmio_burst_write(par, size, data); in broadsheet_burst_write()
226 broadsheet_gpio_burst_write(par, size, data); in broadsheet_burst_write()
229 static u16 broadsheet_gpio_get_data(struct broadsheetfb_par *par) in broadsheet_gpio_get_data() argument
233 par->board->wait_for_rdy(par); in broadsheet_gpio_get_data()
236 par->board->set_ctl(par, BS_DC, 1); in broadsheet_gpio_get_data()
237 par->board->set_ctl(par, BS_CS, 0); in broadsheet_gpio_get_data()
238 par->board->set_ctl(par, BS_WR, 0); in broadsheet_gpio_get_data()
240 res = par->board->get_hdb(par); in broadsheet_gpio_get_data()
243 par->board->set_ctl(par, BS_WR, 1); in broadsheet_gpio_get_data()
244 par->board->set_ctl(par, BS_CS, 1); in broadsheet_gpio_get_data()
250 static u16 broadsheet_get_data(struct broadsheetfb_par *par) in broadsheet_get_data() argument
252 if (par->board->mmio_read) in broadsheet_get_data()
253 return par->board->mmio_read(par); in broadsheet_get_data()
255 return broadsheet_gpio_get_data(par); in broadsheet_get_data()
258 static void broadsheet_gpio_write_reg(struct broadsheetfb_par *par, u16 reg, in broadsheet_gpio_write_reg() argument
262 par->board->wait_for_rdy(par); in broadsheet_gpio_write_reg()
265 par->board->set_ctl(par, BS_CS, 0); in broadsheet_gpio_write_reg()
267 broadsheet_gpio_issue_cmd(par, BS_CMD_WR_REG); in broadsheet_gpio_write_reg()
269 par->board->set_ctl(par, BS_DC, 1); in broadsheet_gpio_write_reg()
271 broadsheet_gpio_issue_data(par, reg); in broadsheet_gpio_write_reg()
272 broadsheet_gpio_issue_data(par, data); in broadsheet_gpio_write_reg()
274 par->board->set_ctl(par, BS_CS, 1); in broadsheet_gpio_write_reg()
277 static void broadsheet_mmio_write_reg(struct broadsheetfb_par *par, u16 reg, in broadsheet_mmio_write_reg() argument
280 par->board->mmio_write(par, BS_MMIO_CMD, BS_CMD_WR_REG); in broadsheet_mmio_write_reg()
281 par->board->mmio_write(par, BS_MMIO_DATA, reg); in broadsheet_mmio_write_reg()
282 par->board->mmio_write(par, BS_MMIO_DATA, data); in broadsheet_mmio_write_reg()
286 static void broadsheet_write_reg(struct broadsheetfb_par *par, u16 reg, in broadsheet_write_reg() argument
289 if (par->board->mmio_write) in broadsheet_write_reg()
290 broadsheet_mmio_write_reg(par, reg, data); in broadsheet_write_reg()
292 broadsheet_gpio_write_reg(par, reg, data); in broadsheet_write_reg()
295 static void broadsheet_write_reg32(struct broadsheetfb_par *par, u16 reg, in broadsheet_write_reg32() argument
298 broadsheet_write_reg(par, reg, cpu_to_le32(data) & 0xFFFF); in broadsheet_write_reg32()
299 broadsheet_write_reg(par, reg + 2, (cpu_to_le32(data) >> 16) & 0xFFFF); in broadsheet_write_reg32()
303 static u16 broadsheet_read_reg(struct broadsheetfb_par *par, u16 reg) in broadsheet_read_reg() argument
305 broadsheet_send_cmdargs(par, BS_CMD_RD_REG, 1, &reg); in broadsheet_read_reg()
306 par->board->wait_for_rdy(par); in broadsheet_read_reg()
307 return broadsheet_get_data(par); in broadsheet_read_reg()
311 static int is_broadsheet_pll_locked(struct broadsheetfb_par *par) in is_broadsheet_pll_locked() argument
313 return broadsheet_read_reg(par, 0x000A) & 0x0001; in is_broadsheet_pll_locked()
316 static int broadsheet_setup_plls(struct broadsheetfb_par *par) in broadsheet_setup_plls() argument
322 broadsheet_write_reg(par, 0x0006, 0x0000); in broadsheet_setup_plls()
324 broadsheet_write_reg(par, 0x0010, 0x0004); in broadsheet_setup_plls()
325 broadsheet_write_reg(par, 0x0012, 0x5949); in broadsheet_setup_plls()
326 broadsheet_write_reg(par, 0x0014, 0x0040); in broadsheet_setup_plls()
327 broadsheet_write_reg(par, 0x0016, 0x0000); in broadsheet_setup_plls()
333 } while (!is_broadsheet_pll_locked(par)); in broadsheet_setup_plls()
335 tmp = broadsheet_read_reg(par, 0x0006); in broadsheet_setup_plls()
337 broadsheet_write_reg(par, 0x0006, tmp); in broadsheet_setup_plls()
342 static int broadsheet_setup_spi(struct broadsheetfb_par *par) in broadsheet_setup_spi() argument
345 broadsheet_write_reg(par, 0x0204, ((3 << 3) | 1)); in broadsheet_setup_spi()
346 broadsheet_write_reg(par, 0x0208, 0x0001); in broadsheet_setup_spi()
351 static int broadsheet_setup_spiflash(struct broadsheetfb_par *par, in broadsheet_setup_spiflash() argument
355 *orig_sfmcd = broadsheet_read_reg(par, 0x0204); in broadsheet_setup_spiflash()
356 broadsheet_write_reg(par, 0x0208, 0); in broadsheet_setup_spiflash()
357 broadsheet_write_reg(par, 0x0204, 0); in broadsheet_setup_spiflash()
358 broadsheet_write_reg(par, 0x0204, ((3 << 3) | 1)); in broadsheet_setup_spiflash()
363 static int broadsheet_spiflash_wait_for_bit(struct broadsheetfb_par *par, in broadsheet_spiflash_wait_for_bit() argument
370 tmp = broadsheet_read_reg(par, reg); in broadsheet_spiflash_wait_for_bit()
379 static int broadsheet_spiflash_write_byte(struct broadsheetfb_par *par, u8 data) in broadsheet_spiflash_write_byte() argument
381 broadsheet_write_reg(par, 0x0202, (data | 0x100)); in broadsheet_spiflash_write_byte()
383 return broadsheet_spiflash_wait_for_bit(par, 0x0206, 3, 0, 100); in broadsheet_spiflash_write_byte()
386 static int broadsheet_spiflash_read_byte(struct broadsheetfb_par *par, u8 *data) in broadsheet_spiflash_read_byte() argument
391 broadsheet_write_reg(par, 0x0202, 0); in broadsheet_spiflash_read_byte()
393 err = broadsheet_spiflash_wait_for_bit(par, 0x0206, 3, 0, 100); in broadsheet_spiflash_read_byte()
397 tmp = broadsheet_read_reg(par, 0x200); in broadsheet_spiflash_read_byte()
404 static int broadsheet_spiflash_wait_for_status(struct broadsheetfb_par *par, in broadsheet_spiflash_wait_for_status() argument
411 broadsheet_write_reg(par, 0x0208, 1); in broadsheet_spiflash_wait_for_status()
413 err = broadsheet_spiflash_write_byte(par, 0x05); in broadsheet_spiflash_wait_for_status()
417 err = broadsheet_spiflash_read_byte(par, &tmp); in broadsheet_spiflash_wait_for_status()
421 broadsheet_write_reg(par, 0x0208, 0); in broadsheet_spiflash_wait_for_status()
429 dev_err(par->info->device, "Timed out waiting for spiflash status\n"); in broadsheet_spiflash_wait_for_status()
433 broadsheet_write_reg(par, 0x0208, 0); in broadsheet_spiflash_wait_for_status()
437 static int broadsheet_spiflash_op_on_address(struct broadsheetfb_par *par, in broadsheet_spiflash_op_on_address() argument
444 broadsheet_write_reg(par, 0x0208, 1); in broadsheet_spiflash_op_on_address()
446 err = broadsheet_spiflash_write_byte(par, op); in broadsheet_spiflash_op_on_address()
452 err = broadsheet_spiflash_write_byte(par, tmp); in broadsheet_spiflash_op_on_address()
460 static int broadsheet_verify_spiflash(struct broadsheetfb_par *par, in broadsheet_verify_spiflash() argument
466 err = broadsheet_spiflash_op_on_address(par, 0xAB, 0x00000000); in broadsheet_verify_spiflash()
470 err = broadsheet_spiflash_read_byte(par, &sig); in broadsheet_verify_spiflash()
475 dev_err(par->info->device, "Unexpected flash type\n"); in broadsheet_verify_spiflash()
483 broadsheet_write_reg(par, 0x0208, 0); in broadsheet_verify_spiflash()
487 static int broadsheet_setup_for_wfm_write(struct broadsheetfb_par *par, in broadsheet_setup_for_wfm_write() argument
493 err = broadsheet_setup_plls(par); in broadsheet_setup_for_wfm_write()
497 broadsheet_write_reg(par, 0x0106, 0x0203); in broadsheet_setup_for_wfm_write()
499 err = broadsheet_setup_spi(par); in broadsheet_setup_for_wfm_write()
503 err = broadsheet_setup_spiflash(par, initial_sfmcd); in broadsheet_setup_for_wfm_write()
507 return broadsheet_verify_spiflash(par, flash_type); in broadsheet_setup_for_wfm_write()
510 static int broadsheet_spiflash_write_control(struct broadsheetfb_par *par, in broadsheet_spiflash_write_control() argument
515 broadsheet_write_reg(par, 0x0208, 1); in broadsheet_spiflash_write_control()
517 err = broadsheet_spiflash_write_byte(par, 0x06); in broadsheet_spiflash_write_control()
519 err = broadsheet_spiflash_write_byte(par, 0x04); in broadsheet_spiflash_write_control()
521 broadsheet_write_reg(par, 0x0208, 0); in broadsheet_spiflash_write_control()
525 static int broadsheet_spiflash_erase_sector(struct broadsheetfb_par *par, in broadsheet_spiflash_erase_sector() argument
530 broadsheet_spiflash_write_control(par, 1); in broadsheet_spiflash_erase_sector()
532 err = broadsheet_spiflash_op_on_address(par, 0xD8, addr); in broadsheet_spiflash_erase_sector()
534 broadsheet_write_reg(par, 0x0208, 0); in broadsheet_spiflash_erase_sector()
539 err = broadsheet_spiflash_wait_for_status(par, 1000); in broadsheet_spiflash_erase_sector()
544 static int broadsheet_spiflash_read_range(struct broadsheetfb_par *par, in broadsheet_spiflash_read_range() argument
550 err = broadsheet_spiflash_op_on_address(par, 0x03, addr); in broadsheet_spiflash_read_range()
555 err = broadsheet_spiflash_read_byte(par, &data[i]); in broadsheet_spiflash_read_range()
561 broadsheet_write_reg(par, 0x0208, 0); in broadsheet_spiflash_read_range()
566 static int broadsheet_spiflash_write_page(struct broadsheetfb_par *par, in broadsheet_spiflash_write_page() argument
572 broadsheet_spiflash_write_control(par, 1); in broadsheet_spiflash_write_page()
574 err = broadsheet_spiflash_op_on_address(par, 0x02, addr); in broadsheet_spiflash_write_page()
579 err = broadsheet_spiflash_write_byte(par, data[i]); in broadsheet_spiflash_write_page()
584 broadsheet_write_reg(par, 0x0208, 0); in broadsheet_spiflash_write_page()
586 err = broadsheet_spiflash_wait_for_status(par, 100); in broadsheet_spiflash_write_page()
592 static int broadsheet_spiflash_write_sector(struct broadsheetfb_par *par, in broadsheet_spiflash_write_sector() argument
599 err = broadsheet_spiflash_write_page(par, addr + i, &data[i]); in broadsheet_spiflash_write_sector()
611 static int broadsheet_spiflash_rewrite_sector(struct broadsheetfb_par *par, in broadsheet_spiflash_rewrite_sector() argument
636 err = broadsheet_spiflash_read_range(par, start_sector_addr, in broadsheet_spiflash_rewrite_sector()
657 err = broadsheet_spiflash_read_range(par, tail_start_addr, in broadsheet_spiflash_rewrite_sector()
666 err = broadsheet_spiflash_erase_sector(par, start_sector_addr); in broadsheet_spiflash_rewrite_sector()
671 err = broadsheet_spiflash_write_sector(par, start_sector_addr, in broadsheet_spiflash_rewrite_sector()
678 static int broadsheet_write_spiflash(struct broadsheetfb_par *par, u32 wfm_addr, in broadsheet_write_spiflash() argument
703 err = broadsheet_spiflash_rewrite_sector(par, sector_size, in broadsheet_write_spiflash()
715 static int broadsheet_store_waveform_to_spiflash(struct broadsheetfb_par *par, in broadsheet_store_waveform_to_spiflash() argument
722 err = broadsheet_setup_for_wfm_write(par, &initial_sfmcd, &flash_type); in broadsheet_store_waveform_to_spiflash()
726 err = broadsheet_write_spiflash(par, 0x886, wfm, wfm_size, flash_type); in broadsheet_store_waveform_to_spiflash()
729 broadsheet_write_reg(par, 0x0204, initial_sfmcd); in broadsheet_store_waveform_to_spiflash()
739 struct broadsheetfb_par *par = info->par; in broadsheet_loadstore_waveform() local
758 mutex_lock(&(par->io_lock)); in broadsheet_loadstore_waveform()
759 err = broadsheet_store_waveform_to_spiflash(par, fw_entry->data, in broadsheet_loadstore_waveform()
762 mutex_unlock(&(par->io_lock)); in broadsheet_loadstore_waveform()
781 static void broadsheet_init_display(struct broadsheetfb_par *par) in broadsheet_init_display() argument
784 int xres = par->info->var.xres; in broadsheet_init_display()
785 int yres = par->info->var.yres; in broadsheet_init_display()
787 args[0] = panel_table[par->panel_index].w; in broadsheet_init_display()
788 args[1] = panel_table[par->panel_index].h; in broadsheet_init_display()
789 args[2] = panel_table[par->panel_index].sdcfg; in broadsheet_init_display()
790 args[3] = panel_table[par->panel_index].gdcfg; in broadsheet_init_display()
791 args[4] = panel_table[par->panel_index].lutfmt; in broadsheet_init_display()
792 broadsheet_send_cmdargs(par, BS_CMD_INIT_DSPE_CFG, 5, args); in broadsheet_init_display()
795 broadsheet_send_cmdargs(par, BS_CMD_INIT_DSPE_CFG, 5, args); in broadsheet_init_display()
797 args[0] = panel_table[par->panel_index].fsynclen; in broadsheet_init_display()
798 args[1] = panel_table[par->panel_index].fendfbegin; in broadsheet_init_display()
799 args[2] = panel_table[par->panel_index].lsynclen; in broadsheet_init_display()
800 args[3] = panel_table[par->panel_index].lendlbegin; in broadsheet_init_display()
801 args[4] = panel_table[par->panel_index].pixclk; in broadsheet_init_display()
802 broadsheet_send_cmdargs(par, BS_CMD_INIT_DSPE_TMG, 5, args); in broadsheet_init_display()
804 broadsheet_write_reg32(par, 0x310, xres*yres*2); in broadsheet_init_display()
809 broadsheet_send_cmdargs(par, BS_CMD_RD_WFM_INFO, 2, args); in broadsheet_init_display()
811 broadsheet_send_command(par, BS_CMD_UPD_GDRV_CLR); in broadsheet_init_display()
813 broadsheet_send_command(par, BS_CMD_WAIT_DSPE_TRG); in broadsheet_init_display()
815 broadsheet_write_reg(par, 0x330, 0x84); in broadsheet_init_display()
817 broadsheet_send_command(par, BS_CMD_WAIT_DSPE_TRG); in broadsheet_init_display()
820 broadsheet_send_cmdargs(par, BS_CMD_LD_IMG, 1, args); in broadsheet_init_display()
823 broadsheet_send_cmdargs(par, BS_CMD_WR_REG, 1, args); in broadsheet_init_display()
825 broadsheet_burst_write(par, (panel_table[par->panel_index].w * in broadsheet_init_display()
826 panel_table[par->panel_index].h)/2, in broadsheet_init_display()
827 (u16 *)par->info->screen_buffer); in broadsheet_init_display()
829 broadsheet_send_command(par, BS_CMD_LD_IMG_END); in broadsheet_init_display()
832 broadsheet_send_cmdargs(par, BS_CMD_UPD_FULL, 1, args); in broadsheet_init_display()
834 broadsheet_send_command(par, BS_CMD_WAIT_DSPE_TRG); in broadsheet_init_display()
836 broadsheet_send_command(par, BS_CMD_WAIT_DSPE_FREND); in broadsheet_init_display()
838 par->board->wait_for_rdy(par); in broadsheet_init_display()
841 static void broadsheet_identify(struct broadsheetfb_par *par) in broadsheet_identify() argument
844 struct device *dev = par->info->device; in broadsheet_identify()
846 rev = broadsheet_read_reg(par, BS_REG_REV); in broadsheet_identify()
847 prc = broadsheet_read_reg(par, BS_REG_PRC); in broadsheet_identify()
856 static void broadsheet_init(struct broadsheetfb_par *par) in broadsheet_init() argument
858 broadsheet_send_command(par, BS_CMD_INIT_SYS_RUN); in broadsheet_init()
861 broadsheet_init_display(par); in broadsheet_init()
864 static void broadsheetfb_dpy_update_pages(struct broadsheetfb_par *par, in broadsheetfb_dpy_update_pages() argument
868 unsigned char *buf = par->info->screen_buffer; in broadsheetfb_dpy_update_pages()
870 mutex_lock(&(par->io_lock)); in broadsheetfb_dpy_update_pages()
879 args[3] = cpu_to_le16(par->info->var.xres); in broadsheetfb_dpy_update_pages()
881 broadsheet_send_cmdargs(par, BS_CMD_LD_IMG_AREA, 5, args); in broadsheetfb_dpy_update_pages()
884 broadsheet_send_cmdargs(par, BS_CMD_WR_REG, 1, args); in broadsheetfb_dpy_update_pages()
886 buf += y1 * par->info->var.xres; in broadsheetfb_dpy_update_pages()
887 broadsheet_burst_write(par, ((1 + y2 - y1) * par->info->var.xres)/2, in broadsheetfb_dpy_update_pages()
890 broadsheet_send_command(par, BS_CMD_LD_IMG_END); in broadsheetfb_dpy_update_pages()
893 broadsheet_send_cmdargs(par, BS_CMD_UPD_FULL, 1, args); in broadsheetfb_dpy_update_pages()
895 broadsheet_send_command(par, BS_CMD_WAIT_DSPE_TRG); in broadsheetfb_dpy_update_pages()
897 broadsheet_send_command(par, BS_CMD_WAIT_DSPE_FREND); in broadsheetfb_dpy_update_pages()
899 par->board->wait_for_rdy(par); in broadsheetfb_dpy_update_pages()
900 mutex_unlock(&(par->io_lock)); in broadsheetfb_dpy_update_pages()
904 static void broadsheetfb_dpy_update(struct broadsheetfb_par *par) in broadsheetfb_dpy_update() argument
908 mutex_lock(&(par->io_lock)); in broadsheetfb_dpy_update()
910 broadsheet_send_cmdargs(par, BS_CMD_LD_IMG, 1, args); in broadsheetfb_dpy_update()
913 broadsheet_send_cmdargs(par, BS_CMD_WR_REG, 1, args); in broadsheetfb_dpy_update()
914 broadsheet_burst_write(par, (panel_table[par->panel_index].w * in broadsheetfb_dpy_update()
915 panel_table[par->panel_index].h)/2, in broadsheetfb_dpy_update()
916 (u16 *)par->info->screen_buffer); in broadsheetfb_dpy_update()
918 broadsheet_send_command(par, BS_CMD_LD_IMG_END); in broadsheetfb_dpy_update()
921 broadsheet_send_cmdargs(par, BS_CMD_UPD_FULL, 1, args); in broadsheetfb_dpy_update()
923 broadsheet_send_command(par, BS_CMD_WAIT_DSPE_TRG); in broadsheetfb_dpy_update()
925 broadsheet_send_command(par, BS_CMD_WAIT_DSPE_FREND); in broadsheetfb_dpy_update()
927 par->board->wait_for_rdy(par); in broadsheetfb_dpy_update()
928 mutex_unlock(&(par->io_lock)); in broadsheetfb_dpy_update()
955 broadsheetfb_dpy_update_pages(info->par, y1, y1 + h); in broadsheetfb_dpy_deferred_io()
966 broadsheetfb_dpy_update(info->par); in broadsheetfb_dpy_deferred_io()
968 broadsheetfb_dpy_update_pages(info->par, y1, in broadsheetfb_dpy_deferred_io()
975 struct broadsheetfb_par *par = info->par; in broadsheetfb_defio_damage_range() local
977 broadsheetfb_dpy_update(par); in broadsheetfb_defio_damage_range()
983 struct broadsheetfb_par *par = info->par; in broadsheetfb_defio_damage_area() local
985 broadsheetfb_dpy_update(par); in broadsheetfb_defio_damage_area()
1010 struct broadsheetfb_par *par; in broadsheetfb_probe() local
1062 par = info->par; in broadsheetfb_probe()
1063 par->panel_index = panel_index; in broadsheetfb_probe()
1064 par->info = info; in broadsheetfb_probe()
1065 par->board = board; in broadsheetfb_probe()
1066 par->write_reg = broadsheet_write_reg; in broadsheetfb_probe()
1067 par->read_reg = broadsheet_read_reg; in broadsheetfb_probe()
1068 init_waitqueue_head(&par->waitq); in broadsheetfb_probe()
1070 mutex_init(&par->io_lock); in broadsheetfb_probe()
1089 retval = par->board->setup_irq(info); in broadsheetfb_probe()
1094 retval = board->init(par); in broadsheetfb_probe()
1098 broadsheet_identify(par); in broadsheetfb_probe()
1100 broadsheet_init(par); in broadsheetfb_probe()
1121 board->cleanup(par); in broadsheetfb_probe()
1139 struct broadsheetfb_par *par = info->par; in broadsheetfb_remove() local
1144 par->board->cleanup(par); in broadsheetfb_remove()
1147 module_put(par->board->owner); in broadsheetfb_remove()