mx3fb 250 drivers/video/fbdev/mx3fb.c struct mx3fb_data *mx3fb; mx3fb 264 drivers/video/fbdev/mx3fb.c struct mx3fb_data *mx3fb; mx3fb 273 drivers/video/fbdev/mx3fb.c static void sdc_set_brightness(struct mx3fb_data *mx3fb, uint8_t value); mx3fb 274 drivers/video/fbdev/mx3fb.c static u32 sdc_get_brightness(struct mx3fb_data *mx3fb); mx3fb 343 drivers/video/fbdev/mx3fb.c static u32 mx3fb_read_reg(struct mx3fb_data *mx3fb, unsigned long reg) mx3fb 345 drivers/video/fbdev/mx3fb.c return __raw_readl(mx3fb->reg_base + reg); mx3fb 348 drivers/video/fbdev/mx3fb.c static void mx3fb_write_reg(struct mx3fb_data *mx3fb, u32 value, unsigned long reg) mx3fb 350 drivers/video/fbdev/mx3fb.c __raw_writel(value, mx3fb->reg_base + reg); mx3fb 365 drivers/video/fbdev/mx3fb.c struct mx3fb_data *mx3fb = fbi->mx3fb; mx3fb 368 drivers/video/fbdev/mx3fb.c reg = mx3fb_read_reg(mx3fb, SDC_COM_CONF); mx3fb 370 drivers/video/fbdev/mx3fb.c mx3fb_write_reg(mx3fb, reg | SDC_COM_BG_EN, SDC_COM_CONF); mx3fb 376 drivers/video/fbdev/mx3fb.c struct mx3fb_data *mx3fb = fbi->mx3fb; mx3fb 379 drivers/video/fbdev/mx3fb.c reg = mx3fb_read_reg(mx3fb, SDC_COM_CONF); mx3fb 381 drivers/video/fbdev/mx3fb.c mx3fb_write_reg(mx3fb, reg & ~SDC_COM_BG_EN, SDC_COM_CONF); mx3fb 388 drivers/video/fbdev/mx3fb.c struct mx3fb_data *mx3fb = mx3_fbi->mx3fb; mx3fb 395 drivers/video/fbdev/mx3fb.c dev_dbg(mx3fb->dev, "mx3fbi %p, desc %p, sg %p\n", mx3_fbi, mx3fb 398 drivers/video/fbdev/mx3fb.c dev_dbg(mx3fb->dev, "mx3fbi %p, txd = NULL\n", mx3_fbi); mx3fb 405 drivers/video/fbdev/mx3fb.c dev_err(mx3fb->dev, "Cannot allocate descriptor on %d\n", mx3fb 414 drivers/video/fbdev/mx3fb.c dev_dbg(mx3fb->dev, "%d: Submit %p #%d [%c]\n", __LINE__, mx3fb 418 drivers/video/fbdev/mx3fb.c dev_err(mx3fb->dev, "Cannot enable channel %d\n", mx3fb 426 drivers/video/fbdev/mx3fb.c dev_dbg(mx3fb->dev, "%d: Re-submit %p #%d [%c]\n", __LINE__, mx3fb 431 drivers/video/fbdev/mx3fb.c spin_lock_irqsave(&mx3fb->lock, flags); mx3fb 434 drivers/video/fbdev/mx3fb.c spin_unlock_irqrestore(&mx3fb->lock, flags); mx3fb 447 drivers/video/fbdev/mx3fb.c struct mx3fb_data *mx3fb = mx3_fbi->mx3fb; mx3fb 454 drivers/video/fbdev/mx3fb.c spin_lock_irqsave(&mx3fb->lock, flags); mx3fb 458 drivers/video/fbdev/mx3fb.c spin_unlock_irqrestore(&mx3fb->lock, flags); mx3fb 473 drivers/video/fbdev/mx3fb.c static int sdc_set_window_pos(struct mx3fb_data *mx3fb, enum ipu_channel channel, mx3fb 479 drivers/video/fbdev/mx3fb.c x_pos += mx3fb->h_start_width; mx3fb 480 drivers/video/fbdev/mx3fb.c y_pos += mx3fb->v_start_width; mx3fb 482 drivers/video/fbdev/mx3fb.c mx3fb_write_reg(mx3fb, (x_pos << 16) | y_pos, SDC_BG_POS); mx3fb 506 drivers/video/fbdev/mx3fb.c static int sdc_init_panel(struct mx3fb_data *mx3fb, enum ipu_panel panel, mx3fb 521 drivers/video/fbdev/mx3fb.c dev_dbg(mx3fb->dev, "panel size = %d x %d", width, height); mx3fb 529 drivers/video/fbdev/mx3fb.c mx3fb_write_reg(mx3fb, reg, SDC_HOR_CONF); mx3fb 537 drivers/video/fbdev/mx3fb.c mx3fb_write_reg(mx3fb, reg, SDC_VER_CONF); mx3fb 543 drivers/video/fbdev/mx3fb.c mx3fb->h_start_width = h_start_width; mx3fb 544 drivers/video/fbdev/mx3fb.c mx3fb->v_start_width = v_start_width; mx3fb 548 drivers/video/fbdev/mx3fb.c mx3fb_write_reg(mx3fb, 0x00FD0102L, SDC_SHARP_CONF_1); mx3fb 549 drivers/video/fbdev/mx3fb.c mx3fb_write_reg(mx3fb, 0x00F500F4L, SDC_SHARP_CONF_2); mx3fb 550 drivers/video/fbdev/mx3fb.c mx3fb_write_reg(mx3fb, SDC_COM_SHARP | SDC_COM_TFT_COLOR, SDC_COM_CONF); mx3fb 553 drivers/video/fbdev/mx3fb.c mx3fb_write_reg(mx3fb, SDC_COM_TFT_COLOR, SDC_COM_CONF); mx3fb 566 drivers/video/fbdev/mx3fb.c ipu_clk = clk_get(mx3fb->dev, NULL); mx3fb 575 drivers/video/fbdev/mx3fb.c dev_dbg(mx3fb->dev, mx3fb 580 drivers/video/fbdev/mx3fb.c dev_dbg(mx3fb->dev, "pixel clk = %u, divider %u.%u\n", mx3fb 583 drivers/video/fbdev/mx3fb.c spin_lock_irqsave(&mx3fb->lock, lock_flags); mx3fb 590 drivers/video/fbdev/mx3fb.c mx3fb_write_reg(mx3fb, (((div / 8) - 1) << 22) | div, DI_DISP3_TIME_CONF); mx3fb 593 drivers/video/fbdev/mx3fb.c old_conf = mx3fb_read_reg(mx3fb, DI_DISP_IF_CONF) & 0x78FFFFFF; mx3fb 597 drivers/video/fbdev/mx3fb.c mx3fb_write_reg(mx3fb, old_conf, DI_DISP_IF_CONF); mx3fb 599 drivers/video/fbdev/mx3fb.c old_conf = mx3fb_read_reg(mx3fb, DI_DISP_SIG_POL) & 0xE0FFFFFF; mx3fb 605 drivers/video/fbdev/mx3fb.c mx3fb_write_reg(mx3fb, old_conf, DI_DISP_SIG_POL); mx3fb 607 drivers/video/fbdev/mx3fb.c map = &di_mappings[mx3fb->disp_data_fmt]; mx3fb 608 drivers/video/fbdev/mx3fb.c mx3fb_write_reg(mx3fb, map->b0, DI_DISP3_B0_MAP); mx3fb 609 drivers/video/fbdev/mx3fb.c mx3fb_write_reg(mx3fb, map->b1, DI_DISP3_B1_MAP); mx3fb 610 drivers/video/fbdev/mx3fb.c mx3fb_write_reg(mx3fb, map->b2, DI_DISP3_B2_MAP); mx3fb 612 drivers/video/fbdev/mx3fb.c spin_unlock_irqrestore(&mx3fb->lock, lock_flags); mx3fb 614 drivers/video/fbdev/mx3fb.c dev_dbg(mx3fb->dev, "DI_DISP_IF_CONF = 0x%08X\n", mx3fb 615 drivers/video/fbdev/mx3fb.c mx3fb_read_reg(mx3fb, DI_DISP_IF_CONF)); mx3fb 616 drivers/video/fbdev/mx3fb.c dev_dbg(mx3fb->dev, "DI_DISP_SIG_POL = 0x%08X\n", mx3fb 617 drivers/video/fbdev/mx3fb.c mx3fb_read_reg(mx3fb, DI_DISP_SIG_POL)); mx3fb 618 drivers/video/fbdev/mx3fb.c dev_dbg(mx3fb->dev, "DI_DISP3_TIME_CONF = 0x%08X\n", mx3fb 619 drivers/video/fbdev/mx3fb.c mx3fb_read_reg(mx3fb, DI_DISP3_TIME_CONF)); mx3fb 632 drivers/video/fbdev/mx3fb.c static int sdc_set_color_key(struct mx3fb_data *mx3fb, enum ipu_channel channel, mx3fb 638 drivers/video/fbdev/mx3fb.c spin_lock_irqsave(&mx3fb->lock, lock_flags); mx3fb 640 drivers/video/fbdev/mx3fb.c sdc_conf = mx3fb_read_reg(mx3fb, SDC_COM_CONF); mx3fb 647 drivers/video/fbdev/mx3fb.c reg = mx3fb_read_reg(mx3fb, SDC_GW_CTRL) & 0xFF000000L; mx3fb 648 drivers/video/fbdev/mx3fb.c mx3fb_write_reg(mx3fb, reg | (color_key & 0x00FFFFFFL), mx3fb 655 drivers/video/fbdev/mx3fb.c mx3fb_write_reg(mx3fb, sdc_conf, SDC_COM_CONF); mx3fb 657 drivers/video/fbdev/mx3fb.c spin_unlock_irqrestore(&mx3fb->lock, lock_flags); mx3fb 670 drivers/video/fbdev/mx3fb.c static int sdc_set_global_alpha(struct mx3fb_data *mx3fb, bool enable, uint8_t alpha) mx3fb 675 drivers/video/fbdev/mx3fb.c spin_lock_irqsave(&mx3fb->lock, lock_flags); mx3fb 678 drivers/video/fbdev/mx3fb.c reg = mx3fb_read_reg(mx3fb, SDC_GW_CTRL) & 0x00FFFFFFL; mx3fb 679 drivers/video/fbdev/mx3fb.c mx3fb_write_reg(mx3fb, reg | ((uint32_t) alpha << 24), SDC_GW_CTRL); mx3fb 681 drivers/video/fbdev/mx3fb.c reg = mx3fb_read_reg(mx3fb, SDC_COM_CONF); mx3fb 682 drivers/video/fbdev/mx3fb.c mx3fb_write_reg(mx3fb, reg | SDC_COM_GLB_A, SDC_COM_CONF); mx3fb 684 drivers/video/fbdev/mx3fb.c reg = mx3fb_read_reg(mx3fb, SDC_COM_CONF); mx3fb 685 drivers/video/fbdev/mx3fb.c mx3fb_write_reg(mx3fb, reg & ~SDC_COM_GLB_A, SDC_COM_CONF); mx3fb 688 drivers/video/fbdev/mx3fb.c spin_unlock_irqrestore(&mx3fb->lock, lock_flags); mx3fb 693 drivers/video/fbdev/mx3fb.c static u32 sdc_get_brightness(struct mx3fb_data *mx3fb) mx3fb 697 drivers/video/fbdev/mx3fb.c brightness = mx3fb_read_reg(mx3fb, SDC_PWM_CTRL); mx3fb 703 drivers/video/fbdev/mx3fb.c static void sdc_set_brightness(struct mx3fb_data *mx3fb, uint8_t value) mx3fb 705 drivers/video/fbdev/mx3fb.c dev_dbg(mx3fb->dev, "%s: value = %d\n", __func__, value); mx3fb 707 drivers/video/fbdev/mx3fb.c mx3fb_write_reg(mx3fb, 0x03000000UL | value << 16, SDC_PWM_CTRL); mx3fb 761 drivers/video/fbdev/mx3fb.c struct mx3fb_data *mx3fb = ichannel->client; mx3fb 762 drivers/video/fbdev/mx3fb.c struct mx3fb_info *mx3_fbi = mx3fb->fbi->par; mx3fb 764 drivers/video/fbdev/mx3fb.c dev_dbg(mx3fb->dev, "irq %d callback\n", ichannel->eof_irq); mx3fb 798 drivers/video/fbdev/mx3fb.c struct mx3fb_data *mx3fb = mx3_fbi->mx3fb; mx3fb 848 drivers/video/fbdev/mx3fb.c if (sdc_init_panel(mx3fb, mode, mx3fb 865 drivers/video/fbdev/mx3fb.c sdc_set_window_pos(mx3fb, mx3_fbi->ipu_ch, 0, 0); mx3fb 905 drivers/video/fbdev/mx3fb.c struct mx3fb_data *mx3fb = mx3_fbi->mx3fb; mx3fb 909 drivers/video/fbdev/mx3fb.c dev_dbg(mx3fb->dev, "%s [%c]\n", __func__, list_empty(&ichan->queue) ? '-' : '+'); mx3fb 1074 drivers/video/fbdev/mx3fb.c struct mx3fb_data *mx3fb = mx3_fbi->mx3fb; mx3fb 1093 drivers/video/fbdev/mx3fb.c sdc_set_brightness(mx3fb, 0); mx3fb 1101 drivers/video/fbdev/mx3fb.c sdc_set_brightness(mx3fb, mx3fb->backlight_level); mx3fb 1275 drivers/video/fbdev/mx3fb.c struct mx3fb_data *mx3fb = platform_get_drvdata(pdev); mx3fb 1276 drivers/video/fbdev/mx3fb.c struct mx3fb_info *mx3_fbi = mx3fb->fbi->par; mx3fb 1279 drivers/video/fbdev/mx3fb.c fb_set_suspend(mx3fb->fbi, 1); mx3fb 1284 drivers/video/fbdev/mx3fb.c sdc_set_brightness(mx3fb, 0); mx3fb 1295 drivers/video/fbdev/mx3fb.c struct mx3fb_data *mx3fb = platform_get_drvdata(pdev); mx3fb 1296 drivers/video/fbdev/mx3fb.c struct mx3fb_info *mx3_fbi = mx3fb->fbi->par; mx3fb 1300 drivers/video/fbdev/mx3fb.c sdc_set_brightness(mx3fb, mx3fb->backlight_level); mx3fb 1304 drivers/video/fbdev/mx3fb.c fb_set_suspend(mx3fb->fbi, 0); mx3fb 1425 drivers/video/fbdev/mx3fb.c static int init_fb_chan(struct mx3fb_data *mx3fb, struct idmac_channel *ichan) mx3fb 1427 drivers/video/fbdev/mx3fb.c struct device *dev = mx3fb->dev; mx3fb 1442 drivers/video/fbdev/mx3fb.c ichan->client = mx3fb; mx3fb 1479 drivers/video/fbdev/mx3fb.c mx3fb->fbi = fbi; mx3fb 1482 drivers/video/fbdev/mx3fb.c mx3fb_write_reg(mx3fb, 0x00100010L, DI_HSP_CLK_PER); mx3fb 1485 drivers/video/fbdev/mx3fb.c sdc_set_brightness(mx3fb, 255); mx3fb 1486 drivers/video/fbdev/mx3fb.c sdc_set_global_alpha(mx3fb, true, 0xFF); mx3fb 1487 drivers/video/fbdev/mx3fb.c sdc_set_color_key(mx3fb, IDMAC_SDC_0, false, 0); mx3fb 1492 drivers/video/fbdev/mx3fb.c mx3fbi->mx3fb = mx3fb; mx3fb 1495 drivers/video/fbdev/mx3fb.c mx3fb->disp_data_fmt = mx3fb_pdata->disp_data_fmt; mx3fb 1499 drivers/video/fbdev/mx3fb.c dev_dbg(mx3fb->dev, "disabling irq %d\n", ichan->eof_irq); mx3fb 1535 drivers/video/fbdev/mx3fb.c dev = rq->mx3fb->dev; mx3fb 1557 drivers/video/fbdev/mx3fb.c struct mx3fb_data *mx3fb; mx3fb 1570 drivers/video/fbdev/mx3fb.c mx3fb = devm_kzalloc(&pdev->dev, sizeof(*mx3fb), GFP_KERNEL); mx3fb 1571 drivers/video/fbdev/mx3fb.c if (!mx3fb) mx3fb 1574 drivers/video/fbdev/mx3fb.c spin_lock_init(&mx3fb->lock); mx3fb 1576 drivers/video/fbdev/mx3fb.c mx3fb->reg_base = ioremap(sdc_reg->start, resource_size(sdc_reg)); mx3fb 1577 drivers/video/fbdev/mx3fb.c if (!mx3fb->reg_base) { mx3fb 1582 drivers/video/fbdev/mx3fb.c pr_debug("Remapped %pR at %p\n", sdc_reg, mx3fb->reg_base); mx3fb 1587 drivers/video/fbdev/mx3fb.c mx3fb->dev = dev; mx3fb 1588 drivers/video/fbdev/mx3fb.c platform_set_drvdata(pdev, mx3fb); mx3fb 1590 drivers/video/fbdev/mx3fb.c rq.mx3fb = mx3fb; mx3fb 1602 drivers/video/fbdev/mx3fb.c mx3fb->backlight_level = 255; mx3fb 1604 drivers/video/fbdev/mx3fb.c ret = init_fb_chan(mx3fb, to_idmac_chan(chan)); mx3fb 1608 drivers/video/fbdev/mx3fb.c mx3fb_init_backlight(mx3fb); mx3fb 1616 drivers/video/fbdev/mx3fb.c iounmap(mx3fb->reg_base); mx3fb 1624 drivers/video/fbdev/mx3fb.c struct mx3fb_data *mx3fb = platform_get_drvdata(dev); mx3fb 1625 drivers/video/fbdev/mx3fb.c struct fb_info *fbi = mx3fb->fbi; mx3fb 1632 drivers/video/fbdev/mx3fb.c mx3fb_exit_backlight(mx3fb); mx3fb 1637 drivers/video/fbdev/mx3fb.c iounmap(mx3fb->reg_base);