mx3_fbi 386 drivers/video/fbdev/mx3fb.c static void sdc_enable_channel(struct mx3fb_info *mx3_fbi) mx3_fbi 388 drivers/video/fbdev/mx3fb.c struct mx3fb_data *mx3fb = mx3_fbi->mx3fb; mx3_fbi 389 drivers/video/fbdev/mx3fb.c struct idmac_channel *ichan = mx3_fbi->idmac_channel; mx3_fbi 394 drivers/video/fbdev/mx3fb.c if (mx3_fbi->txd) mx3_fbi 395 drivers/video/fbdev/mx3fb.c dev_dbg(mx3fb->dev, "mx3fbi %p, desc %p, sg %p\n", mx3_fbi, mx3_fbi 396 drivers/video/fbdev/mx3fb.c to_tx_desc(mx3_fbi->txd), to_tx_desc(mx3_fbi->txd)->sg); mx3_fbi 398 drivers/video/fbdev/mx3fb.c dev_dbg(mx3fb->dev, "mx3fbi %p, txd = NULL\n", mx3_fbi); mx3_fbi 401 drivers/video/fbdev/mx3fb.c if (mx3_fbi->cookie < 0) { mx3_fbi 402 drivers/video/fbdev/mx3fb.c mx3_fbi->txd = dmaengine_prep_slave_sg(dma_chan, mx3_fbi 403 drivers/video/fbdev/mx3fb.c &mx3_fbi->sg[0], 1, DMA_MEM_TO_DEV, DMA_PREP_INTERRUPT); mx3_fbi 404 drivers/video/fbdev/mx3fb.c if (!mx3_fbi->txd) { mx3_fbi 410 drivers/video/fbdev/mx3fb.c mx3_fbi->txd->callback_param = mx3_fbi->txd; mx3_fbi 411 drivers/video/fbdev/mx3fb.c mx3_fbi->txd->callback = mx3fb_dma_done; mx3_fbi 413 drivers/video/fbdev/mx3fb.c cookie = mx3_fbi->txd->tx_submit(mx3_fbi->txd); mx3_fbi 415 drivers/video/fbdev/mx3fb.c mx3_fbi->txd, cookie, list_empty(&ichan->queue) ? '-' : '+'); mx3_fbi 417 drivers/video/fbdev/mx3fb.c if (!mx3_fbi->txd || !mx3_fbi->txd->tx_submit) { mx3_fbi 425 drivers/video/fbdev/mx3fb.c cookie = mx3_fbi->cookie; mx3_fbi 427 drivers/video/fbdev/mx3fb.c mx3_fbi->txd, cookie, list_empty(&ichan->queue) ? '-' : '+'); mx3_fbi 432 drivers/video/fbdev/mx3fb.c sdc_fb_init(mx3_fbi); mx3_fbi 433 drivers/video/fbdev/mx3fb.c mx3_fbi->cookie = cookie; mx3_fbi 445 drivers/video/fbdev/mx3fb.c static void sdc_disable_channel(struct mx3fb_info *mx3_fbi) mx3_fbi 447 drivers/video/fbdev/mx3fb.c struct mx3fb_data *mx3fb = mx3_fbi->mx3fb; mx3_fbi 451 drivers/video/fbdev/mx3fb.c if (mx3_fbi->txd == NULL) mx3_fbi 456 drivers/video/fbdev/mx3fb.c enabled = sdc_fb_uninit(mx3_fbi); mx3_fbi 460 drivers/video/fbdev/mx3fb.c dmaengine_terminate_all(mx3_fbi->txd->chan); mx3_fbi 461 drivers/video/fbdev/mx3fb.c mx3_fbi->txd = NULL; mx3_fbi 462 drivers/video/fbdev/mx3fb.c mx3_fbi->cookie = -EINVAL; mx3_fbi 762 drivers/video/fbdev/mx3fb.c struct mx3fb_info *mx3_fbi = mx3fb->fbi->par; mx3_fbi 769 drivers/video/fbdev/mx3fb.c complete(&mx3_fbi->flip_cmpl); mx3_fbi 774 drivers/video/fbdev/mx3fb.c struct mx3fb_info *mx3_fbi = fbi->par; mx3_fbi 775 drivers/video/fbdev/mx3fb.c struct fb_var_screeninfo old_var = mx3_fbi->cur_var; mx3_fbi 797 drivers/video/fbdev/mx3fb.c struct mx3fb_info *mx3_fbi = fbi->par; mx3_fbi 798 drivers/video/fbdev/mx3fb.c struct mx3fb_data *mx3fb = mx3_fbi->mx3fb; mx3_fbi 799 drivers/video/fbdev/mx3fb.c struct idmac_channel *ichan = mx3_fbi->idmac_channel; mx3_fbi 801 drivers/video/fbdev/mx3fb.c struct scatterlist *sg = mx3_fbi->sg; mx3_fbi 804 drivers/video/fbdev/mx3fb.c if (mx3_fbi->txd) mx3_fbi 805 drivers/video/fbdev/mx3fb.c sdc_disable_channel(mx3_fbi); mx3_fbi 826 drivers/video/fbdev/mx3fb.c if (mx3_fbi->ipu_ch == IDMAC_SDC_0) { mx3_fbi 865 drivers/video/fbdev/mx3fb.c sdc_set_window_pos(mx3fb, mx3_fbi->ipu_ch, 0, 0); mx3_fbi 867 drivers/video/fbdev/mx3fb.c mx3_fbi->cur_ipu_buf = 0; mx3_fbi 874 drivers/video/fbdev/mx3fb.c if (mx3_fbi->blank == FB_BLANK_UNBLANK) { mx3_fbi 875 drivers/video/fbdev/mx3fb.c sdc_enable_channel(mx3_fbi); mx3_fbi 880 drivers/video/fbdev/mx3fb.c mx3_fbi->cur_var.xoffset = 0; mx3_fbi 881 drivers/video/fbdev/mx3fb.c mx3_fbi->cur_var.yoffset = 0; mx3_fbi 888 drivers/video/fbdev/mx3fb.c cur_xoffset = mx3_fbi->cur_var.xoffset; mx3_fbi 889 drivers/video/fbdev/mx3fb.c cur_yoffset = mx3_fbi->cur_var.yoffset; mx3_fbi 890 drivers/video/fbdev/mx3fb.c mx3_fbi->cur_var = fbi->var; mx3_fbi 891 drivers/video/fbdev/mx3fb.c mx3_fbi->cur_var.xoffset = cur_xoffset; mx3_fbi 892 drivers/video/fbdev/mx3fb.c mx3_fbi->cur_var.yoffset = cur_yoffset; mx3_fbi 904 drivers/video/fbdev/mx3fb.c struct mx3fb_info *mx3_fbi = fbi->par; mx3_fbi 905 drivers/video/fbdev/mx3fb.c struct mx3fb_data *mx3fb = mx3_fbi->mx3fb; mx3_fbi 906 drivers/video/fbdev/mx3fb.c struct idmac_channel *ichan = mx3_fbi->idmac_channel; mx3_fbi 911 drivers/video/fbdev/mx3fb.c mutex_lock(&mx3_fbi->mutex); mx3_fbi 915 drivers/video/fbdev/mx3fb.c mutex_unlock(&mx3_fbi->mutex); mx3_fbi 927 drivers/video/fbdev/mx3fb.c struct mx3fb_info *mx3_fbi = fbi->par; mx3_fbi 1012 drivers/video/fbdev/mx3fb.c var->sync |= mx3_fbi->cur_var.sync; mx3_fbi 1013 drivers/video/fbdev/mx3fb.c mx3_fbi->cur_var.sync |= var->sync; mx3_fbi 1029 drivers/video/fbdev/mx3fb.c struct mx3fb_info *mx3_fbi = fbi->par; mx3_fbi 1035 drivers/video/fbdev/mx3fb.c mutex_lock(&mx3_fbi->mutex); mx3_fbi 1066 drivers/video/fbdev/mx3fb.c mutex_unlock(&mx3_fbi->mutex); mx3_fbi 1073 drivers/video/fbdev/mx3fb.c struct mx3fb_info *mx3_fbi = fbi->par; mx3_fbi 1074 drivers/video/fbdev/mx3fb.c struct mx3fb_data *mx3fb = mx3_fbi->mx3fb; mx3_fbi 1075 drivers/video/fbdev/mx3fb.c int was_blank = mx3_fbi->blank; mx3_fbi 1077 drivers/video/fbdev/mx3fb.c mx3_fbi->blank = blank; mx3_fbi 1097 drivers/video/fbdev/mx3fb.c sdc_disable_channel(mx3_fbi); mx3_fbi 1100 drivers/video/fbdev/mx3fb.c sdc_enable_channel(mx3_fbi); mx3_fbi 1111 drivers/video/fbdev/mx3fb.c struct mx3fb_info *mx3_fbi = fbi->par; mx3_fbi 1116 drivers/video/fbdev/mx3fb.c if (mx3_fbi->blank == blank) mx3_fbi 1119 drivers/video/fbdev/mx3fb.c mutex_lock(&mx3_fbi->mutex); mx3_fbi 1121 drivers/video/fbdev/mx3fb.c mutex_unlock(&mx3_fbi->mutex); mx3_fbi 1136 drivers/video/fbdev/mx3fb.c struct mx3fb_info *mx3_fbi = fbi->par; mx3_fbi 1141 drivers/video/fbdev/mx3fb.c struct scatterlist *sg = mx3_fbi->sg; mx3_fbi 1142 drivers/video/fbdev/mx3fb.c struct dma_chan *dma_chan = &mx3_fbi->idmac_channel->dma_chan; mx3_fbi 1147 drivers/video/fbdev/mx3fb.c list_empty(&mx3_fbi->idmac_channel->queue) ? '-' : '+'); mx3_fbi 1154 drivers/video/fbdev/mx3fb.c if (mx3_fbi->cur_var.xoffset == var->xoffset && mx3_fbi 1155 drivers/video/fbdev/mx3fb.c mx3_fbi->cur_var.yoffset == var->yoffset) mx3_fbi 1166 drivers/video/fbdev/mx3fb.c mutex_lock(&mx3_fbi->mutex); mx3_fbi 1173 drivers/video/fbdev/mx3fb.c mx3_fbi->cur_ipu_buf, base); mx3_fbi 1180 drivers/video/fbdev/mx3fb.c init_completion(&mx3_fbi->flip_cmpl); mx3_fbi 1181 drivers/video/fbdev/mx3fb.c enable_irq(mx3_fbi->idmac_channel->eof_irq); mx3_fbi 1183 drivers/video/fbdev/mx3fb.c ret = wait_for_completion_timeout(&mx3_fbi->flip_cmpl, HZ / 10); mx3_fbi 1185 drivers/video/fbdev/mx3fb.c mutex_unlock(&mx3_fbi->mutex); mx3_fbi 1188 drivers/video/fbdev/mx3fb.c disable_irq(mx3_fbi->idmac_channel->eof_irq); mx3_fbi 1192 drivers/video/fbdev/mx3fb.c mx3_fbi->cur_ipu_buf = !mx3_fbi->cur_ipu_buf; mx3_fbi 1194 drivers/video/fbdev/mx3fb.c sg_dma_address(&sg[mx3_fbi->cur_ipu_buf]) = base; mx3_fbi 1195 drivers/video/fbdev/mx3fb.c sg_set_page(&sg[mx3_fbi->cur_ipu_buf], mx3_fbi 1199 drivers/video/fbdev/mx3fb.c if (mx3_fbi->txd) mx3_fbi 1200 drivers/video/fbdev/mx3fb.c async_tx_ack(mx3_fbi->txd); mx3_fbi 1203 drivers/video/fbdev/mx3fb.c mx3_fbi->cur_ipu_buf, 1, DMA_MEM_TO_DEV, DMA_PREP_INTERRUPT); mx3_fbi 1207 drivers/video/fbdev/mx3fb.c mutex_unlock(&mx3_fbi->mutex); mx3_fbi 1223 drivers/video/fbdev/mx3fb.c mx3_fbi->cur_ipu_buf, base); mx3_fbi 1224 drivers/video/fbdev/mx3fb.c mutex_unlock(&mx3_fbi->mutex); mx3_fbi 1228 drivers/video/fbdev/mx3fb.c mx3_fbi->txd = txd; mx3_fbi 1238 drivers/video/fbdev/mx3fb.c mx3_fbi->cur_var = fbi->var; mx3_fbi 1240 drivers/video/fbdev/mx3fb.c mutex_unlock(&mx3_fbi->mutex); mx3_fbi 1276 drivers/video/fbdev/mx3fb.c struct mx3fb_info *mx3_fbi = mx3fb->fbi->par; mx3_fbi 1282 drivers/video/fbdev/mx3fb.c if (mx3_fbi->blank == FB_BLANK_UNBLANK) { mx3_fbi 1283 drivers/video/fbdev/mx3fb.c sdc_disable_channel(mx3_fbi); mx3_fbi 1296 drivers/video/fbdev/mx3fb.c struct mx3fb_info *mx3_fbi = mx3fb->fbi->par; mx3_fbi 1298 drivers/video/fbdev/mx3fb.c if (mx3_fbi->blank == FB_BLANK_UNBLANK) { mx3_fbi 1299 drivers/video/fbdev/mx3fb.c sdc_enable_channel(mx3_fbi); mx3_fbi 1626 drivers/video/fbdev/mx3fb.c struct mx3fb_info *mx3_fbi = fbi->par; mx3_fbi 1629 drivers/video/fbdev/mx3fb.c chan = &mx3_fbi->idmac_channel->dma_chan;