solo_dev 39 drivers/media/pci/solo6x10/solo6x10-core.c static void solo_set_time(struct solo_dev *solo_dev) solo_dev 46 drivers/media/pci/solo6x10/solo6x10-core.c solo_reg_write(solo_dev, SOLO_TIMER_SEC, (u32)ts.tv_sec); solo_dev 47 drivers/media/pci/solo6x10/solo6x10-core.c solo_reg_write(solo_dev, SOLO_TIMER_USEC, (u32)ts.tv_nsec / NSEC_PER_USEC); solo_dev 50 drivers/media/pci/solo6x10/solo6x10-core.c static void solo_timer_sync(struct solo_dev *solo_dev) solo_dev 56 drivers/media/pci/solo6x10/solo6x10-core.c if (solo_dev->type != SOLO_DEV_6110) solo_dev 59 drivers/media/pci/solo6x10/solo6x10-core.c if (++solo_dev->time_sync < 60) solo_dev 62 drivers/media/pci/solo6x10/solo6x10-core.c solo_dev->time_sync = 0; solo_dev 64 drivers/media/pci/solo6x10/solo6x10-core.c sec = solo_reg_read(solo_dev, SOLO_TIMER_SEC); solo_dev 65 drivers/media/pci/solo6x10/solo6x10-core.c usec = solo_reg_read(solo_dev, SOLO_TIMER_USEC); solo_dev 74 drivers/media/pci/solo6x10/solo6x10-core.c solo_set_time(solo_dev); solo_dev 76 drivers/media/pci/solo6x10/solo6x10-core.c long usec_lsb = solo_dev->usec_lsb; solo_dev 84 drivers/media/pci/solo6x10/solo6x10-core.c solo_dev->usec_lsb = usec_lsb; solo_dev 85 drivers/media/pci/solo6x10/solo6x10-core.c solo_reg_write(solo_dev, SOLO_TIMER_USEC_LSB, solo_dev 86 drivers/media/pci/solo6x10/solo6x10-core.c solo_dev->usec_lsb); solo_dev 92 drivers/media/pci/solo6x10/solo6x10-core.c struct solo_dev *solo_dev = data; solo_dev 96 drivers/media/pci/solo6x10/solo6x10-core.c status = solo_reg_read(solo_dev, SOLO_IRQ_STAT); solo_dev 101 drivers/media/pci/solo6x10/solo6x10-core.c solo_reg_write(solo_dev, SOLO_IRQ_STAT, status); solo_dev 104 drivers/media/pci/solo6x10/solo6x10-core.c solo_p2m_error_isr(solo_dev); solo_dev 108 drivers/media/pci/solo6x10/solo6x10-core.c solo_p2m_isr(solo_dev, i); solo_dev 111 drivers/media/pci/solo6x10/solo6x10-core.c solo_i2c_isr(solo_dev); solo_dev 114 drivers/media/pci/solo6x10/solo6x10-core.c solo_video_in_isr(solo_dev); solo_dev 115 drivers/media/pci/solo6x10/solo6x10-core.c solo_timer_sync(solo_dev); solo_dev 119 drivers/media/pci/solo6x10/solo6x10-core.c solo_enc_v4l2_isr(solo_dev); solo_dev 122 drivers/media/pci/solo6x10/solo6x10-core.c solo_g723_isr(solo_dev); solo_dev 127 drivers/media/pci/solo6x10/solo6x10-core.c static void free_solo_dev(struct solo_dev *solo_dev) solo_dev 129 drivers/media/pci/solo6x10/solo6x10-core.c struct pci_dev *pdev = solo_dev->pdev; solo_dev 131 drivers/media/pci/solo6x10/solo6x10-core.c if (solo_dev->dev.parent) solo_dev 132 drivers/media/pci/solo6x10/solo6x10-core.c device_unregister(&solo_dev->dev); solo_dev 134 drivers/media/pci/solo6x10/solo6x10-core.c if (solo_dev->reg_base) { solo_dev 136 drivers/media/pci/solo6x10/solo6x10-core.c solo_g723_exit(solo_dev); solo_dev 137 drivers/media/pci/solo6x10/solo6x10-core.c solo_enc_v4l2_exit(solo_dev); solo_dev 138 drivers/media/pci/solo6x10/solo6x10-core.c solo_enc_exit(solo_dev); solo_dev 139 drivers/media/pci/solo6x10/solo6x10-core.c solo_v4l2_exit(solo_dev); solo_dev 140 drivers/media/pci/solo6x10/solo6x10-core.c solo_disp_exit(solo_dev); solo_dev 141 drivers/media/pci/solo6x10/solo6x10-core.c solo_gpio_exit(solo_dev); solo_dev 142 drivers/media/pci/solo6x10/solo6x10-core.c solo_p2m_exit(solo_dev); solo_dev 143 drivers/media/pci/solo6x10/solo6x10-core.c solo_i2c_exit(solo_dev); solo_dev 146 drivers/media/pci/solo6x10/solo6x10-core.c solo_irq_off(solo_dev, ~0); solo_dev 147 drivers/media/pci/solo6x10/solo6x10-core.c free_irq(pdev->irq, solo_dev); solo_dev 148 drivers/media/pci/solo6x10/solo6x10-core.c pci_iounmap(pdev, solo_dev->reg_base); solo_dev 153 drivers/media/pci/solo6x10/solo6x10-core.c v4l2_device_unregister(&solo_dev->v4l2_dev); solo_dev 156 drivers/media/pci/solo6x10/solo6x10-core.c kfree(solo_dev); solo_dev 162 drivers/media/pci/solo6x10/solo6x10-core.c struct solo_dev *solo_dev = solo_dev 163 drivers/media/pci/solo6x10/solo6x10-core.c container_of(dev, struct solo_dev, dev); solo_dev 178 drivers/media/pci/solo6x10/solo6x10-core.c solo_eeprom_ewen(solo_dev, 1); solo_dev 182 drivers/media/pci/solo6x10/solo6x10-core.c solo_eeprom_write(solo_dev, i, cpu_to_be16(p[i])); solo_dev 184 drivers/media/pci/solo6x10/solo6x10-core.c solo_eeprom_ewen(solo_dev, 0); solo_dev 192 drivers/media/pci/solo6x10/solo6x10-core.c struct solo_dev *solo_dev = solo_dev 193 drivers/media/pci/solo6x10/solo6x10-core.c container_of(dev, struct solo_dev, dev); solo_dev 199 drivers/media/pci/solo6x10/solo6x10-core.c p[i] = be16_to_cpu(solo_eeprom_read(solo_dev, i)); solo_dev 208 drivers/media/pci/solo6x10/solo6x10-core.c struct solo_dev *solo_dev = solo_dev 209 drivers/media/pci/solo6x10/solo6x10-core.c container_of(dev, struct solo_dev, dev); solo_dev 211 drivers/media/pci/solo6x10/solo6x10-core.c return sprintf(buf, "%d\n", solo_dev->p2m_timeouts); solo_dev 218 drivers/media/pci/solo6x10/solo6x10-core.c struct solo_dev *solo_dev = solo_dev 219 drivers/media/pci/solo6x10/solo6x10-core.c container_of(dev, struct solo_dev, dev); solo_dev 221 drivers/media/pci/solo6x10/solo6x10-core.c return sprintf(buf, "%dMegs\n", solo_dev->sdram_size >> 20); solo_dev 228 drivers/media/pci/solo6x10/solo6x10-core.c struct solo_dev *solo_dev = solo_dev 229 drivers/media/pci/solo6x10/solo6x10-core.c container_of(dev, struct solo_dev, dev); solo_dev 232 drivers/media/pci/solo6x10/solo6x10-core.c hweight32(solo_dev->tw2815), solo_dev 233 drivers/media/pci/solo6x10/solo6x10-core.c hweight32(solo_dev->tw2864), solo_dev 234 drivers/media/pci/solo6x10/solo6x10-core.c hweight32(solo_dev->tw2865)); solo_dev 241 drivers/media/pci/solo6x10/solo6x10-core.c struct solo_dev *solo_dev = solo_dev 242 drivers/media/pci/solo6x10/solo6x10-core.c container_of(dev, struct solo_dev, dev); solo_dev 246 drivers/media/pci/solo6x10/solo6x10-core.c val = solo_reg_read(solo_dev, SOLO_VI_CH_SWITCH_0); solo_dev 254 drivers/media/pci/solo6x10/solo6x10-core.c val = solo_reg_read(solo_dev, SOLO_VI_CH_SWITCH_1); solo_dev 262 drivers/media/pci/solo6x10/solo6x10-core.c val = solo_reg_read(solo_dev, SOLO_VI_CH_SWITCH_2); solo_dev 276 drivers/media/pci/solo6x10/solo6x10-core.c struct solo_dev *solo_dev = solo_dev 277 drivers/media/pci/solo6x10/solo6x10-core.c container_of(dev, struct solo_dev, dev); solo_dev 283 drivers/media/pci/solo6x10/solo6x10-core.c solo_dev->p2m_jiffies = msecs_to_jiffies(ms); solo_dev 292 drivers/media/pci/solo6x10/solo6x10-core.c struct solo_dev *solo_dev = solo_dev 293 drivers/media/pci/solo6x10/solo6x10-core.c container_of(dev, struct solo_dev, dev); solo_dev 295 drivers/media/pci/solo6x10/solo6x10-core.c return sprintf(buf, "%ums\n", jiffies_to_msecs(solo_dev->p2m_jiffies)); solo_dev 302 drivers/media/pci/solo6x10/solo6x10-core.c struct solo_dev *solo_dev = solo_dev 303 drivers/media/pci/solo6x10/solo6x10-core.c container_of(dev, struct solo_dev, dev); solo_dev 305 drivers/media/pci/solo6x10/solo6x10-core.c int fps = solo_dev->fps; solo_dev 308 drivers/media/pci/solo6x10/solo6x10-core.c for (i = 0; i < solo_dev->nr_chans; i++) { solo_dev 310 drivers/media/pci/solo6x10/solo6x10-core.c i, solo_dev->v4l2_enc[i]->interval, fps, solo_dev 311 drivers/media/pci/solo6x10/solo6x10-core.c solo_reg_read(solo_dev, SOLO_CAP_CH_INTV(i))); solo_dev 321 drivers/media/pci/solo6x10/solo6x10-core.c struct solo_dev *solo_dev = solo_dev 322 drivers/media/pci/solo6x10/solo6x10-core.c container_of(dev, struct solo_dev, dev); solo_dev 331 drivers/media/pci/solo6x10/solo6x10-core.c SOLO_EOSD_EXT_AREA(solo_dev), solo_dev 332 drivers/media/pci/solo6x10/solo6x10-core.c SOLO_EOSD_EXT_SIZE(solo_dev), solo_dev 333 drivers/media/pci/solo6x10/solo6x10-core.c SOLO_EOSD_EXT_AREA(solo_dev) / solo_dev 334 drivers/media/pci/solo6x10/solo6x10-core.c SOLO_EOSD_EXT_SIZE(solo_dev)); solo_dev 337 drivers/media/pci/solo6x10/solo6x10-core.c SOLO_MOTION_EXT_ADDR(solo_dev), solo_dev 341 drivers/media/pci/solo6x10/solo6x10-core.c SOLO_G723_EXT_ADDR(solo_dev), solo_dev 345 drivers/media/pci/solo6x10/solo6x10-core.c SOLO_CAP_EXT_ADDR(solo_dev), solo_dev 346 drivers/media/pci/solo6x10/solo6x10-core.c SOLO_CAP_EXT_SIZE(solo_dev), solo_dev 348 drivers/media/pci/solo6x10/solo6x10-core.c SOLO_CAP_EXT_SIZE(solo_dev) / SOLO_CAP_PAGE_SIZE); solo_dev 351 drivers/media/pci/solo6x10/solo6x10-core.c SOLO_EREF_EXT_ADDR(solo_dev), solo_dev 352 drivers/media/pci/solo6x10/solo6x10-core.c SOLO_EREF_EXT_AREA(solo_dev), solo_dev 354 drivers/media/pci/solo6x10/solo6x10-core.c SOLO_EREF_EXT_AREA(solo_dev) / SOLO_EREF_EXT_SIZE); solo_dev 357 drivers/media/pci/solo6x10/solo6x10-core.c SOLO_MP4E_EXT_ADDR(solo_dev), solo_dev 358 drivers/media/pci/solo6x10/solo6x10-core.c SOLO_MP4E_EXT_SIZE(solo_dev)); solo_dev 361 drivers/media/pci/solo6x10/solo6x10-core.c SOLO_JPEG_EXT_ADDR(solo_dev), solo_dev 362 drivers/media/pci/solo6x10/solo6x10-core.c SOLO_JPEG_EXT_SIZE(solo_dev)); solo_dev 372 drivers/media/pci/solo6x10/solo6x10-core.c struct solo_dev *solo_dev = solo_dev 373 drivers/media/pci/solo6x10/solo6x10-core.c container_of(dev, struct solo_dev, dev); solo_dev 374 drivers/media/pci/solo6x10/solo6x10-core.c const int size = solo_dev->sdram_size; solo_dev 382 drivers/media/pci/solo6x10/solo6x10-core.c if (solo_p2m_dma(solo_dev, 0, buf, off, count, 0, 0)) solo_dev 404 drivers/media/pci/solo6x10/solo6x10-core.c static int solo_sysfs_init(struct solo_dev *solo_dev) solo_dev 406 drivers/media/pci/solo6x10/solo6x10-core.c struct bin_attribute *sdram_attr = &solo_dev->sdram_attr; solo_dev 407 drivers/media/pci/solo6x10/solo6x10-core.c struct device *dev = &solo_dev->dev; solo_dev 411 drivers/media/pci/solo6x10/solo6x10-core.c if (solo_dev->type == SOLO_DEV_6110) solo_dev 417 drivers/media/pci/solo6x10/solo6x10-core.c dev->parent = &solo_dev->pdev->dev; solo_dev 418 drivers/media/pci/solo6x10/solo6x10-core.c set_dev_node(dev, dev_to_node(&solo_dev->pdev->dev)); solo_dev 419 drivers/media/pci/solo6x10/solo6x10-core.c dev_set_name(dev, "%s-%d-%d", driver, solo_dev->vfd->num, solo_dev 420 drivers/media/pci/solo6x10/solo6x10-core.c solo_dev->nr_chans); solo_dev 438 drivers/media/pci/solo6x10/solo6x10-core.c sdram_attr->size = solo_dev->sdram_size; solo_dev 450 drivers/media/pci/solo6x10/solo6x10-core.c struct solo_dev *solo_dev; solo_dev 454 drivers/media/pci/solo6x10/solo6x10-core.c solo_dev = kzalloc(sizeof(*solo_dev), GFP_KERNEL); solo_dev 455 drivers/media/pci/solo6x10/solo6x10-core.c if (solo_dev == NULL) solo_dev 463 drivers/media/pci/solo6x10/solo6x10-core.c solo_dev->type = id->driver_data; solo_dev 464 drivers/media/pci/solo6x10/solo6x10-core.c solo_dev->pdev = pdev; solo_dev 465 drivers/media/pci/solo6x10/solo6x10-core.c ret = v4l2_device_register(&pdev->dev, &solo_dev->v4l2_dev); solo_dev 470 drivers/media/pci/solo6x10/solo6x10-core.c solo_dev->p2m_jiffies = msecs_to_jiffies(100); solo_dev 486 drivers/media/pci/solo6x10/solo6x10-core.c solo_dev->reg_base = pci_ioremap_bar(pdev, 0); solo_dev 487 drivers/media/pci/solo6x10/solo6x10-core.c if (solo_dev->reg_base == NULL) { solo_dev 492 drivers/media/pci/solo6x10/solo6x10-core.c chip_id = solo_reg_read(solo_dev, SOLO_CHIP_OPTION) & solo_dev 496 drivers/media/pci/solo6x10/solo6x10-core.c solo_dev->nr_chans = 16; solo_dev 497 drivers/media/pci/solo6x10/solo6x10-core.c solo_dev->nr_ext = 5; solo_dev 500 drivers/media/pci/solo6x10/solo6x10-core.c solo_dev->nr_chans = 8; solo_dev 501 drivers/media/pci/solo6x10/solo6x10-core.c solo_dev->nr_ext = 2; solo_dev 508 drivers/media/pci/solo6x10/solo6x10-core.c solo_dev->nr_chans = 4; solo_dev 509 drivers/media/pci/solo6x10/solo6x10-core.c solo_dev->nr_ext = 1; solo_dev 513 drivers/media/pci/solo6x10/solo6x10-core.c solo_irq_off(solo_dev, ~0); solo_dev 516 drivers/media/pci/solo6x10/solo6x10-core.c if (solo_dev->type == SOLO_DEV_6010) { solo_dev 517 drivers/media/pci/solo6x10/solo6x10-core.c solo_dev->clock_mhz = 108; solo_dev 518 drivers/media/pci/solo6x10/solo6x10-core.c solo_dev->sys_config = SOLO_SYS_CFG_SDRAM64BIT solo_dev 520 drivers/media/pci/solo6x10/solo6x10-core.c | SOLO_SYS_CFG_FEEDBACKDIV(solo_dev->clock_mhz * 2 - 2) solo_dev 522 drivers/media/pci/solo6x10/solo6x10-core.c solo_reg_write(solo_dev, SOLO_SYS_CFG, solo_dev->sys_config); solo_dev 526 drivers/media/pci/solo6x10/solo6x10-core.c solo_dev->clock_mhz = 135; solo_dev 528 drivers/media/pci/solo6x10/solo6x10-core.c if (solo_dev->clock_mhz < 125) { solo_dev 530 drivers/media/pci/solo6x10/solo6x10-core.c divf = (solo_dev->clock_mhz * 4) / 3 - 1; solo_dev 533 drivers/media/pci/solo6x10/solo6x10-core.c divf = (solo_dev->clock_mhz * 2) / 3 - 1; solo_dev 536 drivers/media/pci/solo6x10/solo6x10-core.c solo_reg_write(solo_dev, SOLO_PLL_CONFIG, solo_dev 543 drivers/media/pci/solo6x10/solo6x10-core.c solo_dev->sys_config = SOLO_SYS_CFG_SDRAM64BIT; solo_dev 546 drivers/media/pci/solo6x10/solo6x10-core.c solo_reg_write(solo_dev, SOLO_SYS_CFG, solo_dev->sys_config); solo_dev 547 drivers/media/pci/solo6x10/solo6x10-core.c solo_reg_write(solo_dev, SOLO_TIMER_CLOCK_NUM, solo_dev 548 drivers/media/pci/solo6x10/solo6x10-core.c solo_dev->clock_mhz - 1); solo_dev 554 drivers/media/pci/solo6x10/solo6x10-core.c solo_dev); solo_dev 559 drivers/media/pci/solo6x10/solo6x10-core.c solo_irq_on(solo_dev, SOLO_IRQ_PCI_ERR); solo_dev 561 drivers/media/pci/solo6x10/solo6x10-core.c ret = solo_i2c_init(solo_dev); solo_dev 566 drivers/media/pci/solo6x10/solo6x10-core.c solo_reg_write(solo_dev, SOLO_DMA_CTRL, solo_dev 574 drivers/media/pci/solo6x10/solo6x10-core.c solo_reg_write(solo_dev, SOLO_DMA_CTRL1, solo_dev 575 drivers/media/pci/solo6x10/solo6x10-core.c solo_dev->type == SOLO_DEV_6010 ? 0x100 : 0x300); solo_dev 577 drivers/media/pci/solo6x10/solo6x10-core.c if (solo_dev->type != SOLO_DEV_6010) { solo_dev 578 drivers/media/pci/solo6x10/solo6x10-core.c solo_dev->usec_lsb = 0x3f; solo_dev 579 drivers/media/pci/solo6x10/solo6x10-core.c solo_set_time(solo_dev); solo_dev 583 drivers/media/pci/solo6x10/solo6x10-core.c solo_reg_write(solo_dev, SOLO_WATCHDOG, 0); solo_dev 587 drivers/media/pci/solo6x10/solo6x10-core.c ret = solo_p2m_init(solo_dev); solo_dev 591 drivers/media/pci/solo6x10/solo6x10-core.c ret = solo_disp_init(solo_dev); solo_dev 595 drivers/media/pci/solo6x10/solo6x10-core.c ret = solo_gpio_init(solo_dev); solo_dev 599 drivers/media/pci/solo6x10/solo6x10-core.c ret = solo_tw28_init(solo_dev); solo_dev 603 drivers/media/pci/solo6x10/solo6x10-core.c ret = solo_v4l2_init(solo_dev, video_nr); solo_dev 607 drivers/media/pci/solo6x10/solo6x10-core.c ret = solo_enc_init(solo_dev); solo_dev 611 drivers/media/pci/solo6x10/solo6x10-core.c ret = solo_enc_v4l2_init(solo_dev, video_nr); solo_dev 615 drivers/media/pci/solo6x10/solo6x10-core.c ret = solo_g723_init(solo_dev); solo_dev 619 drivers/media/pci/solo6x10/solo6x10-core.c ret = solo_sysfs_init(solo_dev); solo_dev 624 drivers/media/pci/solo6x10/solo6x10-core.c solo_dev->p2m_jiffies = msecs_to_jiffies(20); solo_dev 629 drivers/media/pci/solo6x10/solo6x10-core.c free_solo_dev(solo_dev); solo_dev 636 drivers/media/pci/solo6x10/solo6x10-core.c struct solo_dev *solo_dev = container_of(v4l2_dev, struct solo_dev, v4l2_dev); solo_dev 638 drivers/media/pci/solo6x10/solo6x10-core.c free_solo_dev(solo_dev); solo_dev 29 drivers/media/pci/solo6x10/solo6x10-disp.c static void solo_vin_config(struct solo_dev *solo_dev) solo_dev 31 drivers/media/pci/solo6x10/solo6x10-disp.c solo_dev->vin_hstart = 8; solo_dev 32 drivers/media/pci/solo6x10/solo6x10-disp.c solo_dev->vin_vstart = 2; solo_dev 34 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_SYS_VCLK, solo_dev 45 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VI_ACT_I_P, solo_dev 46 drivers/media/pci/solo6x10/solo6x10-disp.c SOLO_VI_H_START(solo_dev->vin_hstart) | solo_dev 47 drivers/media/pci/solo6x10/solo6x10-disp.c SOLO_VI_V_START(solo_dev->vin_vstart) | solo_dev 48 drivers/media/pci/solo6x10/solo6x10-disp.c SOLO_VI_V_STOP(solo_dev->vin_vstart + solo_dev 49 drivers/media/pci/solo6x10/solo6x10-disp.c solo_dev->video_vsize)); solo_dev 51 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VI_ACT_I_S, solo_dev 52 drivers/media/pci/solo6x10/solo6x10-disp.c SOLO_VI_H_START(solo_dev->vout_hstart) | solo_dev 53 drivers/media/pci/solo6x10/solo6x10-disp.c SOLO_VI_V_START(solo_dev->vout_vstart) | solo_dev 54 drivers/media/pci/solo6x10/solo6x10-disp.c SOLO_VI_V_STOP(solo_dev->vout_vstart + solo_dev 55 drivers/media/pci/solo6x10/solo6x10-disp.c solo_dev->video_vsize)); solo_dev 57 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VI_ACT_P, solo_dev 62 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VI_CH_FORMAT, solo_dev 66 drivers/media/pci/solo6x10/solo6x10-disp.c if (solo_dev->type == SOLO_DEV_6010) solo_dev 67 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VI_FMT_CFG, 0); solo_dev 69 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VI_FMT_CFG, 16 << 22); solo_dev 71 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VI_PAGE_SW, 2); solo_dev 73 drivers/media/pci/solo6x10/solo6x10-disp.c if (solo_dev->video_type == SOLO_VO_FMT_TYPE_NTSC) { solo_dev 74 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VI_PB_CONFIG, solo_dev 76 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VI_PB_RANGE_HV, solo_dev 78 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VI_PB_ACT_V, solo_dev 82 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VI_PB_CONFIG, solo_dev 84 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VI_PB_RANGE_HV, solo_dev 86 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VI_PB_ACT_V, solo_dev 90 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VI_PB_ACT_H, SOLO_VI_PB_HSTART(16) | solo_dev 94 drivers/media/pci/solo6x10/solo6x10-disp.c static void solo_vout_config_cursor(struct solo_dev *dev) solo_dev 109 drivers/media/pci/solo6x10/solo6x10-disp.c static void solo_vout_config(struct solo_dev *solo_dev) solo_dev 111 drivers/media/pci/solo6x10/solo6x10-disp.c solo_dev->vout_hstart = 6; solo_dev 112 drivers/media/pci/solo6x10/solo6x10-disp.c solo_dev->vout_vstart = 8; solo_dev 114 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VO_FMT_ENC, solo_dev 115 drivers/media/pci/solo6x10/solo6x10-disp.c solo_dev->video_type | solo_dev 122 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VO_ACT_H, solo_dev 123 drivers/media/pci/solo6x10/solo6x10-disp.c SOLO_VO_H_START(solo_dev->vout_hstart) | solo_dev 124 drivers/media/pci/solo6x10/solo6x10-disp.c SOLO_VO_H_STOP(solo_dev->vout_hstart + solo_dev 125 drivers/media/pci/solo6x10/solo6x10-disp.c solo_dev->video_hsize)); solo_dev 127 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VO_ACT_V, solo_dev 128 drivers/media/pci/solo6x10/solo6x10-disp.c SOLO_VO_V_START(solo_dev->vout_vstart) | solo_dev 129 drivers/media/pci/solo6x10/solo6x10-disp.c SOLO_VO_V_STOP(solo_dev->vout_vstart + solo_dev 130 drivers/media/pci/solo6x10/solo6x10-disp.c solo_dev->video_vsize)); solo_dev 132 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VO_RANGE_HV, solo_dev 133 drivers/media/pci/solo6x10/solo6x10-disp.c SOLO_VO_H_LEN(solo_dev->video_hsize) | solo_dev 134 drivers/media/pci/solo6x10/solo6x10-disp.c SOLO_VO_V_LEN(solo_dev->video_vsize)); solo_dev 137 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VO_BORDER_LINE_COLOR, solo_dev 139 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VO_BORDER_FILL_COLOR, solo_dev 141 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VO_BKG_COLOR, solo_dev 144 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VO_DISP_ERASE, SOLO_VO_DISP_ERASE_ON); solo_dev 146 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VI_WIN_SW, 0); solo_dev 148 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VO_ZOOM_CTRL, 0); solo_dev 149 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VO_FREEZE_CTRL, 0); solo_dev 151 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VO_DISP_CTRL, SOLO_VO_DISP_ON | solo_dev 156 drivers/media/pci/solo6x10/solo6x10-disp.c solo_vout_config_cursor(solo_dev); solo_dev 159 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VI_CH_ENA, solo_dev 160 drivers/media/pci/solo6x10/solo6x10-disp.c (1 << solo_dev->nr_chans) - 1); solo_dev 163 drivers/media/pci/solo6x10/solo6x10-disp.c static int solo_dma_vin_region(struct solo_dev *solo_dev, u32 off, solo_dev 178 drivers/media/pci/solo6x10/solo6x10-disp.c ret = solo_p2m_dma(solo_dev, 1, buf, solo_dev 179 drivers/media/pci/solo6x10/solo6x10-disp.c SOLO_MOTION_EXT_ADDR(solo_dev) + off + i, solo_dev 190 drivers/media/pci/solo6x10/solo6x10-disp.c int solo_set_motion_threshold(struct solo_dev *solo_dev, u8 ch, u16 val) solo_dev 192 drivers/media/pci/solo6x10/solo6x10-disp.c if (ch > solo_dev->nr_chans) solo_dev 195 drivers/media/pci/solo6x10/solo6x10-disp.c return solo_dma_vin_region(solo_dev, SOLO_MOT_FLAG_AREA + solo_dev 200 drivers/media/pci/solo6x10/solo6x10-disp.c int solo_set_motion_block(struct solo_dev *solo_dev, u8 ch, solo_dev 215 drivers/media/pci/solo6x10/solo6x10-disp.c ret |= solo_p2m_dma(solo_dev, 1, buf, solo_dev 216 drivers/media/pci/solo6x10/solo6x10-disp.c SOLO_MOTION_EXT_ADDR(solo_dev) + off + y * size, solo_dev 227 drivers/media/pci/solo6x10/solo6x10-disp.c static void solo_motion_config(struct solo_dev *solo_dev) solo_dev 231 drivers/media/pci/solo6x10/solo6x10-disp.c for (i = 0; i < solo_dev->nr_chans; i++) { solo_dev 233 drivers/media/pci/solo6x10/solo6x10-disp.c solo_dma_vin_region(solo_dev, i * SOLO_MOT_FLAG_SIZE, 0x0000, solo_dev 237 drivers/media/pci/solo6x10/solo6x10-disp.c solo_dma_vin_region(solo_dev, SOLO_MOT_FLAG_AREA + solo_dev 243 drivers/media/pci/solo6x10/solo6x10-disp.c solo_set_motion_threshold(solo_dev, i, SOLO_DEF_MOT_THRESH); solo_dev 247 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VI_MOT_ADR, SOLO_VI_MOTION_EN(0) | solo_dev 248 drivers/media/pci/solo6x10/solo6x10-disp.c (SOLO_MOTION_EXT_ADDR(solo_dev) >> 16)); solo_dev 249 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VI_MOT_CTRL, solo_dev 251 drivers/media/pci/solo6x10/solo6x10-disp.c SOLO_VI_MOTION_SAMPLE_LENGTH(solo_dev->video_hsize / 16) solo_dev 255 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VI_MOTION_BORDER, 0); solo_dev 256 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VI_MOTION_BAR, 0); solo_dev 259 drivers/media/pci/solo6x10/solo6x10-disp.c int solo_disp_init(struct solo_dev *solo_dev) solo_dev 263 drivers/media/pci/solo6x10/solo6x10-disp.c solo_dev->video_hsize = 704; solo_dev 264 drivers/media/pci/solo6x10/solo6x10-disp.c if (solo_dev->video_type == SOLO_VO_FMT_TYPE_NTSC) { solo_dev 265 drivers/media/pci/solo6x10/solo6x10-disp.c solo_dev->video_vsize = 240; solo_dev 266 drivers/media/pci/solo6x10/solo6x10-disp.c solo_dev->fps = 30; solo_dev 268 drivers/media/pci/solo6x10/solo6x10-disp.c solo_dev->video_vsize = 288; solo_dev 269 drivers/media/pci/solo6x10/solo6x10-disp.c solo_dev->fps = 25; solo_dev 272 drivers/media/pci/solo6x10/solo6x10-disp.c solo_vin_config(solo_dev); solo_dev 273 drivers/media/pci/solo6x10/solo6x10-disp.c solo_motion_config(solo_dev); solo_dev 274 drivers/media/pci/solo6x10/solo6x10-disp.c solo_vout_config(solo_dev); solo_dev 276 drivers/media/pci/solo6x10/solo6x10-disp.c for (i = 0; i < solo_dev->nr_chans; i++) solo_dev 277 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VI_WIN_ON(i), 1); solo_dev 282 drivers/media/pci/solo6x10/solo6x10-disp.c void solo_disp_exit(struct solo_dev *solo_dev) solo_dev 286 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VO_DISP_CTRL, 0); solo_dev 287 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VO_ZOOM_CTRL, 0); solo_dev 288 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VO_FREEZE_CTRL, 0); solo_dev 290 drivers/media/pci/solo6x10/solo6x10-disp.c for (i = 0; i < solo_dev->nr_chans; i++) { solo_dev 291 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VI_WIN_CTRL0(i), 0); solo_dev 292 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VI_WIN_CTRL1(i), 0); solo_dev 293 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VI_WIN_ON(i), 0); solo_dev 298 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VO_BORDER_X(i), 0); solo_dev 301 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VO_BORDER_Y(i), 0); solo_dev 303 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VO_BORDER_LINE_MASK, 0); solo_dev 304 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VO_BORDER_FILL_MASK, 0); solo_dev 306 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VO_RECTANGLE_CTRL(0), 0); solo_dev 307 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VO_RECTANGLE_START(0), 0); solo_dev 308 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VO_RECTANGLE_STOP(0), 0); solo_dev 310 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VO_RECTANGLE_CTRL(1), 0); solo_dev 311 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VO_RECTANGLE_START(1), 0); solo_dev 312 drivers/media/pci/solo6x10/solo6x10-disp.c solo_reg_write(solo_dev, SOLO_VO_RECTANGLE_STOP(1), 0); solo_dev 26 drivers/media/pci/solo6x10/solo6x10-eeprom.c #define eeprom_delay() solo_reg_read(solo_dev, SOLO_EEPROM_CTRL) solo_dev 31 drivers/media/pci/solo6x10/solo6x10-eeprom.c ret = solo_eeprom_reg_read(solo_dev); \ solo_dev 43 drivers/media/pci/solo6x10/solo6x10-eeprom.c static unsigned int solo_eeprom_reg_read(struct solo_dev *solo_dev) solo_dev 45 drivers/media/pci/solo6x10/solo6x10-eeprom.c return solo_reg_read(solo_dev, SOLO_EEPROM_CTRL) & EE_DATA_READ; solo_dev 48 drivers/media/pci/solo6x10/solo6x10-eeprom.c static void solo_eeprom_reg_write(struct solo_dev *solo_dev, u32 data) solo_dev 50 drivers/media/pci/solo6x10/solo6x10-eeprom.c solo_reg_write(solo_dev, SOLO_EEPROM_CTRL, data); solo_dev 54 drivers/media/pci/solo6x10/solo6x10-eeprom.c static void solo_eeprom_cmd(struct solo_dev *solo_dev, int cmd) solo_dev 58 drivers/media/pci/solo6x10/solo6x10-eeprom.c solo_eeprom_reg_write(solo_dev, SOLO_EEPROM_ACCESS_EN); solo_dev 59 drivers/media/pci/solo6x10/solo6x10-eeprom.c solo_eeprom_reg_write(solo_dev, SOLO_EEPROM_ENABLE); solo_dev 64 drivers/media/pci/solo6x10/solo6x10-eeprom.c solo_eeprom_reg_write(solo_dev, SOLO_EEPROM_ENABLE | dataval); solo_dev 65 drivers/media/pci/solo6x10/solo6x10-eeprom.c solo_eeprom_reg_write(solo_dev, SOLO_EEPROM_ENABLE | solo_dev 69 drivers/media/pci/solo6x10/solo6x10-eeprom.c solo_eeprom_reg_write(solo_dev, SOLO_EEPROM_ENABLE); solo_dev 72 drivers/media/pci/solo6x10/solo6x10-eeprom.c unsigned int solo_eeprom_ewen(struct solo_dev *solo_dev, int w_en) solo_dev 78 drivers/media/pci/solo6x10/solo6x10-eeprom.c solo_eeprom_cmd(solo_dev, ewen_cmd); solo_dev 81 drivers/media/pci/solo6x10/solo6x10-eeprom.c solo_eeprom_reg_write(solo_dev, SOLO_EEPROM_ENABLE | solo_dev 83 drivers/media/pci/solo6x10/solo6x10-eeprom.c retval = (retval << 1) | solo_eeprom_reg_read(solo_dev); solo_dev 84 drivers/media/pci/solo6x10/solo6x10-eeprom.c solo_eeprom_reg_write(solo_dev, SOLO_EEPROM_ENABLE); solo_dev 85 drivers/media/pci/solo6x10/solo6x10-eeprom.c retval = (retval << 1) | solo_eeprom_reg_read(solo_dev); solo_dev 88 drivers/media/pci/solo6x10/solo6x10-eeprom.c solo_eeprom_reg_write(solo_dev, ~EE_CS); solo_dev 89 drivers/media/pci/solo6x10/solo6x10-eeprom.c retval = (retval << 1) | solo_eeprom_reg_read(solo_dev); solo_dev 94 drivers/media/pci/solo6x10/solo6x10-eeprom.c __be16 solo_eeprom_read(struct solo_dev *solo_dev, int loc) solo_dev 100 drivers/media/pci/solo6x10/solo6x10-eeprom.c solo_eeprom_cmd(solo_dev, read_cmd); solo_dev 103 drivers/media/pci/solo6x10/solo6x10-eeprom.c solo_eeprom_reg_write(solo_dev, SOLO_EEPROM_ENABLE | solo_dev 105 drivers/media/pci/solo6x10/solo6x10-eeprom.c retval = (retval << 1) | solo_eeprom_reg_read(solo_dev); solo_dev 106 drivers/media/pci/solo6x10/solo6x10-eeprom.c solo_eeprom_reg_write(solo_dev, SOLO_EEPROM_ENABLE); solo_dev 109 drivers/media/pci/solo6x10/solo6x10-eeprom.c solo_eeprom_reg_write(solo_dev, ~EE_CS); solo_dev 114 drivers/media/pci/solo6x10/solo6x10-eeprom.c int solo_eeprom_write(struct solo_dev *solo_dev, int loc, solo_dev 121 drivers/media/pci/solo6x10/solo6x10-eeprom.c solo_eeprom_cmd(solo_dev, write_cmd); solo_dev 126 drivers/media/pci/solo6x10/solo6x10-eeprom.c solo_eeprom_reg_write(solo_dev, EE_ENB); solo_dev 127 drivers/media/pci/solo6x10/solo6x10-eeprom.c solo_eeprom_reg_write(solo_dev, solo_dev 131 drivers/media/pci/solo6x10/solo6x10-eeprom.c solo_eeprom_reg_write(solo_dev, EE_ENB); solo_dev 132 drivers/media/pci/solo6x10/solo6x10-eeprom.c solo_eeprom_reg_write(solo_dev, ~EE_CS); solo_dev 133 drivers/media/pci/solo6x10/solo6x10-eeprom.c solo_eeprom_reg_write(solo_dev, EE_ENB); solo_dev 136 drivers/media/pci/solo6x10/solo6x10-eeprom.c retval = solo_eeprom_reg_read(solo_dev); solo_dev 138 drivers/media/pci/solo6x10/solo6x10-eeprom.c solo_eeprom_reg_write(solo_dev, ~EE_CS); solo_dev 24 drivers/media/pci/solo6x10/solo6x10-enc.c static void solo_capture_config(struct solo_dev *solo_dev) solo_dev 31 drivers/media/pci/solo6x10/solo6x10-enc.c solo_reg_write(solo_dev, SOLO_CAP_BASE, solo_dev 32 drivers/media/pci/solo6x10/solo6x10-enc.c SOLO_CAP_MAX_PAGE((SOLO_CAP_EXT_SIZE(solo_dev) solo_dev 34 drivers/media/pci/solo6x10/solo6x10-enc.c | SOLO_CAP_BASE_ADDR(SOLO_CAP_EXT_ADDR(solo_dev) >> 16)); solo_dev 37 drivers/media/pci/solo6x10/solo6x10-enc.c if (solo_dev->type == SOLO_DEV_6110) { solo_dev 40 drivers/media/pci/solo6x10/solo6x10-enc.c solo_reg_write(solo_dev, SOLO_CAP_BTW, solo_dev 44 drivers/media/pci/solo6x10/solo6x10-enc.c solo_reg_write(solo_dev, SOLO_CAP_BTW, solo_dev 50 drivers/media/pci/solo6x10/solo6x10-enc.c width = solo_dev->video_hsize; solo_dev 51 drivers/media/pci/solo6x10/solo6x10-enc.c height = solo_dev->video_vsize; solo_dev 52 drivers/media/pci/solo6x10/solo6x10-enc.c solo_reg_write(solo_dev, SOLO_DIM_SCALE1, solo_dev 58 drivers/media/pci/solo6x10/solo6x10-enc.c width = solo_dev->video_hsize / 2; solo_dev 59 drivers/media/pci/solo6x10/solo6x10-enc.c height = solo_dev->video_vsize; solo_dev 60 drivers/media/pci/solo6x10/solo6x10-enc.c solo_reg_write(solo_dev, SOLO_DIM_SCALE2, solo_dev 66 drivers/media/pci/solo6x10/solo6x10-enc.c width = solo_dev->video_hsize / 2; solo_dev 67 drivers/media/pci/solo6x10/solo6x10-enc.c height = solo_dev->video_vsize / 2; solo_dev 68 drivers/media/pci/solo6x10/solo6x10-enc.c solo_reg_write(solo_dev, SOLO_DIM_SCALE3, solo_dev 74 drivers/media/pci/solo6x10/solo6x10-enc.c width = solo_dev->video_hsize / 3; solo_dev 75 drivers/media/pci/solo6x10/solo6x10-enc.c height = solo_dev->video_vsize / 3; solo_dev 76 drivers/media/pci/solo6x10/solo6x10-enc.c solo_reg_write(solo_dev, SOLO_DIM_SCALE4, solo_dev 82 drivers/media/pci/solo6x10/solo6x10-enc.c width = solo_dev->video_hsize / 4; solo_dev 83 drivers/media/pci/solo6x10/solo6x10-enc.c height = solo_dev->video_vsize / 2; solo_dev 84 drivers/media/pci/solo6x10/solo6x10-enc.c solo_reg_write(solo_dev, SOLO_DIM_SCALE5, solo_dev 92 drivers/media/pci/solo6x10/solo6x10-enc.c solo_reg_write(solo_dev, SOLO_DIM_PROG, solo_dev 98 drivers/media/pci/solo6x10/solo6x10-enc.c solo_reg_write(solo_dev, SOLO_VE_OSD_CH, 0); solo_dev 99 drivers/media/pci/solo6x10/solo6x10-enc.c solo_reg_write(solo_dev, SOLO_VE_OSD_BASE, SOLO_EOSD_EXT_ADDR >> 16); solo_dev 100 drivers/media/pci/solo6x10/solo6x10-enc.c solo_reg_write(solo_dev, SOLO_VE_OSD_CLR, solo_dev 103 drivers/media/pci/solo6x10/solo6x10-enc.c if (solo_dev->type == SOLO_DEV_6010) solo_dev 104 drivers/media/pci/solo6x10/solo6x10-enc.c solo_reg_write(solo_dev, SOLO_VE_OSD_OPT, solo_dev 107 drivers/media/pci/solo6x10/solo6x10-enc.c solo_reg_write(solo_dev, SOLO_VE_OSD_OPT, SOLO_VE_OSD_V_DOUBLE solo_dev 111 drivers/media/pci/solo6x10/solo6x10-enc.c buf = kzalloc(SOLO_EOSD_EXT_SIZE(solo_dev), GFP_KERNEL); solo_dev 115 drivers/media/pci/solo6x10/solo6x10-enc.c for (i = 0; i < solo_dev->nr_chans; i++) { solo_dev 116 drivers/media/pci/solo6x10/solo6x10-enc.c solo_p2m_dma(solo_dev, 1, buf, solo_dev 118 drivers/media/pci/solo6x10/solo6x10-enc.c (SOLO_EOSD_EXT_SIZE(solo_dev) * i), solo_dev 119 drivers/media/pci/solo6x10/solo6x10-enc.c SOLO_EOSD_EXT_SIZE(solo_dev), 0, 0); solo_dev 129 drivers/media/pci/solo6x10/solo6x10-enc.c struct solo_dev *solo_dev = solo_enc->solo_dev; solo_dev 140 drivers/media/pci/solo6x10/solo6x10-enc.c reg = solo_reg_read(solo_dev, SOLO_VE_OSD_CH); solo_dev 157 drivers/media/pci/solo6x10/solo6x10-enc.c solo_p2m_dma(solo_dev, 1, buf, solo_dev 158 drivers/media/pci/solo6x10/solo6x10-enc.c SOLO_EOSD_EXT_ADDR_CHAN(solo_dev, solo_enc->ch), solo_dev 165 drivers/media/pci/solo6x10/solo6x10-enc.c solo_reg_write(solo_dev, SOLO_VE_OSD_CH, reg); solo_dev 172 drivers/media/pci/solo6x10/solo6x10-enc.c void solo_s_jpeg_qp(struct solo_dev *solo_dev, unsigned int ch, solo_dev 181 drivers/media/pci/solo6x10/solo6x10-enc.c if (solo_dev->type == SOLO_DEV_6010) solo_dev 194 drivers/media/pci/solo6x10/solo6x10-enc.c spin_lock_irqsave(&solo_dev->jpeg_qp_lock, flags); solo_dev 196 drivers/media/pci/solo6x10/solo6x10-enc.c solo_dev->jpeg_qp[idx] &= ~(3 << ch); solo_dev 197 drivers/media/pci/solo6x10/solo6x10-enc.c solo_dev->jpeg_qp[idx] |= (qp & 3) << ch; solo_dev 199 drivers/media/pci/solo6x10/solo6x10-enc.c solo_reg_write(solo_dev, reg, solo_dev->jpeg_qp[idx]); solo_dev 201 drivers/media/pci/solo6x10/solo6x10-enc.c spin_unlock_irqrestore(&solo_dev->jpeg_qp_lock, flags); solo_dev 204 drivers/media/pci/solo6x10/solo6x10-enc.c int solo_g_jpeg_qp(struct solo_dev *solo_dev, unsigned int ch) solo_dev 208 drivers/media/pci/solo6x10/solo6x10-enc.c if (solo_dev->type == SOLO_DEV_6010) solo_dev 222 drivers/media/pci/solo6x10/solo6x10-enc.c return (solo_dev->jpeg_qp[idx] >> ch) & 3; solo_dev 227 drivers/media/pci/solo6x10/solo6x10-enc.c static void solo_jpeg_config(struct solo_dev *solo_dev) solo_dev 229 drivers/media/pci/solo6x10/solo6x10-enc.c if (solo_dev->type == SOLO_DEV_6010) { solo_dev 230 drivers/media/pci/solo6x10/solo6x10-enc.c solo_reg_write(solo_dev, SOLO_VE_JPEG_QP_TBL, solo_dev 233 drivers/media/pci/solo6x10/solo6x10-enc.c solo_reg_write(solo_dev, SOLO_VE_JPEG_QP_TBL, solo_dev 237 drivers/media/pci/solo6x10/solo6x10-enc.c spin_lock_init(&solo_dev->jpeg_qp_lock); solo_dev 240 drivers/media/pci/solo6x10/solo6x10-enc.c solo_dev->jpeg_qp[0] = solo_dev->jpeg_qp[1] = SOLO_QP_INIT; solo_dev 241 drivers/media/pci/solo6x10/solo6x10-enc.c solo_reg_write(solo_dev, SOLO_VE_JPEG_QP_CH_L, SOLO_QP_INIT); solo_dev 242 drivers/media/pci/solo6x10/solo6x10-enc.c solo_reg_write(solo_dev, SOLO_VE_JPEG_QP_CH_H, SOLO_QP_INIT); solo_dev 244 drivers/media/pci/solo6x10/solo6x10-enc.c solo_reg_write(solo_dev, SOLO_VE_JPEG_CFG, solo_dev 245 drivers/media/pci/solo6x10/solo6x10-enc.c (SOLO_JPEG_EXT_SIZE(solo_dev) & 0xffff0000) | solo_dev 246 drivers/media/pci/solo6x10/solo6x10-enc.c ((SOLO_JPEG_EXT_ADDR(solo_dev) >> 16) & 0x0000ffff)); solo_dev 247 drivers/media/pci/solo6x10/solo6x10-enc.c solo_reg_write(solo_dev, SOLO_VE_JPEG_CTRL, 0xffffffff); solo_dev 248 drivers/media/pci/solo6x10/solo6x10-enc.c if (solo_dev->type == SOLO_DEV_6110) { solo_dev 249 drivers/media/pci/solo6x10/solo6x10-enc.c solo_reg_write(solo_dev, SOLO_VE_JPEG_CFG1, solo_dev 254 drivers/media/pci/solo6x10/solo6x10-enc.c static void solo_mp4e_config(struct solo_dev *solo_dev) solo_dev 259 drivers/media/pci/solo6x10/solo6x10-enc.c solo_reg_write(solo_dev, SOLO_VE_CFG0, solo_dev 261 drivers/media/pci/solo6x10/solo6x10-enc.c SOLO_VE_BLOCK_SIZE(SOLO_MP4E_EXT_SIZE(solo_dev) >> 16) | solo_dev 262 drivers/media/pci/solo6x10/solo6x10-enc.c SOLO_VE_BLOCK_BASE(SOLO_MP4E_EXT_ADDR(solo_dev) >> 16)); solo_dev 267 drivers/media/pci/solo6x10/solo6x10-enc.c if (solo_dev->type != SOLO_DEV_6010) { solo_dev 269 drivers/media/pci/solo6x10/solo6x10-enc.c (SOLO_MP4E_EXT_SIZE(solo_dev) >> 24) & 0x0f); solo_dev 271 drivers/media/pci/solo6x10/solo6x10-enc.c (SOLO_JPEG_EXT_SIZE(solo_dev) >> 24) & 0x0f); solo_dev 273 drivers/media/pci/solo6x10/solo6x10-enc.c solo_reg_write(solo_dev, SOLO_VE_CFG1, cfg); solo_dev 275 drivers/media/pci/solo6x10/solo6x10-enc.c solo_reg_write(solo_dev, SOLO_VE_WMRK_POLY, 0); solo_dev 276 drivers/media/pci/solo6x10/solo6x10-enc.c solo_reg_write(solo_dev, SOLO_VE_VMRK_INIT_KEY, 0); solo_dev 277 drivers/media/pci/solo6x10/solo6x10-enc.c solo_reg_write(solo_dev, SOLO_VE_WMRK_STRL, 0); solo_dev 278 drivers/media/pci/solo6x10/solo6x10-enc.c if (solo_dev->type == SOLO_DEV_6110) solo_dev 279 drivers/media/pci/solo6x10/solo6x10-enc.c solo_reg_write(solo_dev, SOLO_VE_WMRK_ENABLE, 0); solo_dev 280 drivers/media/pci/solo6x10/solo6x10-enc.c solo_reg_write(solo_dev, SOLO_VE_ENCRYP_POLY, 0); solo_dev 281 drivers/media/pci/solo6x10/solo6x10-enc.c solo_reg_write(solo_dev, SOLO_VE_ENCRYP_INIT, 0); solo_dev 283 drivers/media/pci/solo6x10/solo6x10-enc.c solo_reg_write(solo_dev, SOLO_VE_ATTR, solo_dev 288 drivers/media/pci/solo6x10/solo6x10-enc.c SOLO_DCT_INTERVAL(solo_dev->type == SOLO_DEV_6010 ? 9 : 10)); solo_dev 290 drivers/media/pci/solo6x10/solo6x10-enc.c for (i = 0; i < solo_dev->nr_chans; i++) { solo_dev 291 drivers/media/pci/solo6x10/solo6x10-enc.c solo_reg_write(solo_dev, SOLO_VE_CH_REF_BASE(i), solo_dev 292 drivers/media/pci/solo6x10/solo6x10-enc.c (SOLO_EREF_EXT_ADDR(solo_dev) + solo_dev 294 drivers/media/pci/solo6x10/solo6x10-enc.c solo_reg_write(solo_dev, SOLO_VE_CH_REF_BASE_E(i), solo_dev 295 drivers/media/pci/solo6x10/solo6x10-enc.c (SOLO_EREF_EXT_ADDR(solo_dev) + solo_dev 299 drivers/media/pci/solo6x10/solo6x10-enc.c if (solo_dev->type == SOLO_DEV_6110) { solo_dev 300 drivers/media/pci/solo6x10/solo6x10-enc.c solo_reg_write(solo_dev, SOLO_VE_COMPT_MOT, 0x00040008); solo_dev 302 drivers/media/pci/solo6x10/solo6x10-enc.c for (i = 0; i < solo_dev->nr_chans; i++) solo_dev 303 drivers/media/pci/solo6x10/solo6x10-enc.c solo_reg_write(solo_dev, SOLO_VE_CH_MOT(i), 0x100); solo_dev 307 drivers/media/pci/solo6x10/solo6x10-enc.c int solo_enc_init(struct solo_dev *solo_dev) solo_dev 311 drivers/media/pci/solo6x10/solo6x10-enc.c solo_capture_config(solo_dev); solo_dev 312 drivers/media/pci/solo6x10/solo6x10-enc.c solo_mp4e_config(solo_dev); solo_dev 313 drivers/media/pci/solo6x10/solo6x10-enc.c solo_jpeg_config(solo_dev); solo_dev 315 drivers/media/pci/solo6x10/solo6x10-enc.c for (i = 0; i < solo_dev->nr_chans; i++) { solo_dev 316 drivers/media/pci/solo6x10/solo6x10-enc.c solo_reg_write(solo_dev, SOLO_CAP_CH_SCALE(i), 0); solo_dev 317 drivers/media/pci/solo6x10/solo6x10-enc.c solo_reg_write(solo_dev, SOLO_CAP_CH_COMP_ENA_E(i), 0); solo_dev 323 drivers/media/pci/solo6x10/solo6x10-enc.c void solo_enc_exit(struct solo_dev *solo_dev) solo_dev 327 drivers/media/pci/solo6x10/solo6x10-enc.c for (i = 0; i < solo_dev->nr_chans; i++) { solo_dev 328 drivers/media/pci/solo6x10/solo6x10-enc.c solo_reg_write(solo_dev, SOLO_CAP_CH_SCALE(i), 0); solo_dev 329 drivers/media/pci/solo6x10/solo6x10-enc.c solo_reg_write(solo_dev, SOLO_CAP_CH_COMP_ENA_E(i), 0); solo_dev 48 drivers/media/pci/solo6x10/solo6x10-g723.c struct solo_dev *solo_dev; solo_dev 53 drivers/media/pci/solo6x10/solo6x10-g723.c static void solo_g723_config(struct solo_dev *solo_dev) solo_dev 57 drivers/media/pci/solo6x10/solo6x10-g723.c clk_div = (solo_dev->clock_mhz * 1000000) solo_dev 60 drivers/media/pci/solo6x10/solo6x10-g723.c solo_reg_write(solo_dev, SOLO_AUDIO_SAMPLE, solo_dev 64 drivers/media/pci/solo6x10/solo6x10-g723.c solo_reg_write(solo_dev, SOLO_AUDIO_FDMA_INTR, solo_dev 67 drivers/media/pci/solo6x10/solo6x10-g723.c | SOLO_AUDIO_FDMA_BASE(SOLO_G723_EXT_ADDR(solo_dev) >> 16)); solo_dev 69 drivers/media/pci/solo6x10/solo6x10-g723.c solo_reg_write(solo_dev, SOLO_AUDIO_CONTROL, solo_dev 76 drivers/media/pci/solo6x10/solo6x10-g723.c void solo_g723_isr(struct solo_dev *solo_dev) solo_dev 79 drivers/media/pci/solo6x10/solo6x10-g723.c &solo_dev->snd_pcm->streams[SNDRV_PCM_STREAM_CAPTURE]; solo_dev 88 drivers/media/pci/solo6x10/solo6x10-g723.c if (snd_pcm_substream_chip(ss) == solo_dev) solo_dev 131 drivers/media/pci/solo6x10/solo6x10-g723.c struct solo_dev *solo_dev = snd_pcm_substream_chip(ss); solo_dev 138 drivers/media/pci/solo6x10/solo6x10-g723.c solo_pcm->g723_buf = pci_alloc_consistent(solo_dev->pdev, solo_dev 145 drivers/media/pci/solo6x10/solo6x10-g723.c solo_pcm->solo_dev = solo_dev; solo_dev 161 drivers/media/pci/solo6x10/solo6x10-g723.c snd_pcm_substream_chip(ss) = solo_pcm->solo_dev; solo_dev 162 drivers/media/pci/solo6x10/solo6x10-g723.c pci_free_consistent(solo_pcm->solo_dev->pdev, G723_PERIOD_BYTES, solo_dev 172 drivers/media/pci/solo6x10/solo6x10-g723.c struct solo_dev *solo_dev = solo_pcm->solo_dev; solo_dev 181 drivers/media/pci/solo6x10/solo6x10-g723.c if (atomic_inc_return(&solo_dev->snd_users) == 1) solo_dev 182 drivers/media/pci/solo6x10/solo6x10-g723.c solo_irq_on(solo_dev, SOLO_IRQ_G723); solo_dev 189 drivers/media/pci/solo6x10/solo6x10-g723.c if (atomic_dec_return(&solo_dev->snd_users) == 0) solo_dev 190 drivers/media/pci/solo6x10/solo6x10-g723.c solo_irq_off(solo_dev, SOLO_IRQ_G723); solo_dev 211 drivers/media/pci/solo6x10/solo6x10-g723.c struct solo_dev *solo_dev = solo_pcm->solo_dev; solo_dev 212 drivers/media/pci/solo6x10/solo6x10-g723.c snd_pcm_uframes_t idx = solo_reg_read(solo_dev, SOLO_AUDIO_STA) & 0x1f; solo_dev 222 drivers/media/pci/solo6x10/solo6x10-g723.c struct solo_dev *solo_dev = solo_pcm->solo_dev; solo_dev 228 drivers/media/pci/solo6x10/solo6x10-g723.c err = solo_p2m_dma_t(solo_dev, 0, solo_pcm->g723_dma, solo_dev 229 drivers/media/pci/solo6x10/solo6x10-g723.c SOLO_G723_EXT_ADDR(solo_dev) + solo_dev 249 drivers/media/pci/solo6x10/solo6x10-g723.c struct solo_dev *solo_dev = solo_pcm->solo_dev; solo_dev 255 drivers/media/pci/solo6x10/solo6x10-g723.c err = solo_p2m_dma_t(solo_dev, 0, solo_pcm->g723_dma, solo_dev 256 drivers/media/pci/solo6x10/solo6x10-g723.c SOLO_G723_EXT_ADDR(solo_dev) + solo_dev 298 drivers/media/pci/solo6x10/solo6x10-g723.c struct solo_dev *solo_dev = snd_kcontrol_chip(kcontrol); solo_dev 301 drivers/media/pci/solo6x10/solo6x10-g723.c value->value.integer.value[0] = tw28_get_audio_gain(solo_dev, ch); solo_dev 309 drivers/media/pci/solo6x10/solo6x10-g723.c struct solo_dev *solo_dev = snd_kcontrol_chip(kcontrol); solo_dev 313 drivers/media/pci/solo6x10/solo6x10-g723.c old_val = tw28_get_audio_gain(solo_dev, ch); solo_dev 317 drivers/media/pci/solo6x10/solo6x10-g723.c tw28_set_audio_gain(solo_dev, ch, value->value.integer.value[0]); solo_dev 330 drivers/media/pci/solo6x10/solo6x10-g723.c static int solo_snd_pcm_init(struct solo_dev *solo_dev) solo_dev 332 drivers/media/pci/solo6x10/solo6x10-g723.c struct snd_card *card = solo_dev->snd_card; solo_dev 338 drivers/media/pci/solo6x10/solo6x10-g723.c ret = snd_pcm_new(card, card->driver, 0, 0, solo_dev->nr_chans, solo_dev 346 drivers/media/pci/solo6x10/solo6x10-g723.c snd_pcm_chip(pcm) = solo_dev; solo_dev 360 drivers/media/pci/solo6x10/solo6x10-g723.c solo_dev->snd_pcm = pcm; solo_dev 365 drivers/media/pci/solo6x10/solo6x10-g723.c int solo_g723_init(struct solo_dev *solo_dev) solo_dev 373 drivers/media/pci/solo6x10/solo6x10-g723.c atomic_set(&solo_dev->snd_users, 0); solo_dev 376 drivers/media/pci/solo6x10/solo6x10-g723.c sprintf(name, "Softlogic%d", solo_dev->vfd->num); solo_dev 378 drivers/media/pci/solo6x10/solo6x10-g723.c ret = snd_card_new(&solo_dev->pdev->dev, solo_dev 380 drivers/media/pci/solo6x10/solo6x10-g723.c &solo_dev->snd_card); solo_dev 384 drivers/media/pci/solo6x10/solo6x10-g723.c card = solo_dev->snd_card; solo_dev 389 drivers/media/pci/solo6x10/solo6x10-g723.c pci_name(solo_dev->pdev), solo_dev->pdev->irq); solo_dev 391 drivers/media/pci/solo6x10/solo6x10-g723.c ret = snd_device_new(card, SNDRV_DEV_LOWLEVEL, solo_dev, &ops); solo_dev 398 drivers/media/pci/solo6x10/solo6x10-g723.c kctl.count = solo_dev->nr_chans; solo_dev 400 drivers/media/pci/solo6x10/solo6x10-g723.c ret = snd_ctl_add(card, snd_ctl_new1(&kctl, solo_dev)); solo_dev 404 drivers/media/pci/solo6x10/solo6x10-g723.c ret = solo_snd_pcm_init(solo_dev); solo_dev 412 drivers/media/pci/solo6x10/solo6x10-g723.c solo_g723_config(solo_dev); solo_dev 414 drivers/media/pci/solo6x10/solo6x10-g723.c dev_info(&solo_dev->pdev->dev, "Alsa sound card as %s\n", name); solo_dev 423 drivers/media/pci/solo6x10/solo6x10-g723.c void solo_g723_exit(struct solo_dev *solo_dev) solo_dev 425 drivers/media/pci/solo6x10/solo6x10-g723.c if (!solo_dev->snd_card) solo_dev 428 drivers/media/pci/solo6x10/solo6x10-g723.c solo_reg_write(solo_dev, SOLO_AUDIO_CONTROL, 0); solo_dev 429 drivers/media/pci/solo6x10/solo6x10-g723.c solo_irq_off(solo_dev, SOLO_IRQ_G723); solo_dev 431 drivers/media/pci/solo6x10/solo6x10-g723.c snd_card_free(solo_dev->snd_card); solo_dev 432 drivers/media/pci/solo6x10/solo6x10-g723.c solo_dev->snd_card = NULL; solo_dev 19 drivers/media/pci/solo6x10/solo6x10-gpio.c static void solo_gpio_mode(struct solo_dev *solo_dev, solo_dev 25 drivers/media/pci/solo6x10/solo6x10-gpio.c ret = solo_reg_read(solo_dev, SOLO_GPIO_CONFIG_0); solo_dev 36 drivers/media/pci/solo6x10/solo6x10-gpio.c solo_reg_write(solo_dev, SOLO_GPIO_CONFIG_0, ret); solo_dev 39 drivers/media/pci/solo6x10/solo6x10-gpio.c ret = solo_reg_read(solo_dev, SOLO_GPIO_CONFIG_1); solo_dev 54 drivers/media/pci/solo6x10/solo6x10-gpio.c solo_reg_write(solo_dev, SOLO_GPIO_CONFIG_1, ret); solo_dev 57 drivers/media/pci/solo6x10/solo6x10-gpio.c static void solo_gpio_set(struct solo_dev *solo_dev, unsigned int value) solo_dev 59 drivers/media/pci/solo6x10/solo6x10-gpio.c solo_reg_write(solo_dev, SOLO_GPIO_DATA_OUT, solo_dev 60 drivers/media/pci/solo6x10/solo6x10-gpio.c solo_reg_read(solo_dev, SOLO_GPIO_DATA_OUT) | value); solo_dev 63 drivers/media/pci/solo6x10/solo6x10-gpio.c static void solo_gpio_clear(struct solo_dev *solo_dev, unsigned int value) solo_dev 65 drivers/media/pci/solo6x10/solo6x10-gpio.c solo_reg_write(solo_dev, SOLO_GPIO_DATA_OUT, solo_dev 66 drivers/media/pci/solo6x10/solo6x10-gpio.c solo_reg_read(solo_dev, SOLO_GPIO_DATA_OUT) & ~value); solo_dev 69 drivers/media/pci/solo6x10/solo6x10-gpio.c static void solo_gpio_config(struct solo_dev *solo_dev) solo_dev 72 drivers/media/pci/solo6x10/solo6x10-gpio.c solo_gpio_mode(solo_dev, 0x30, 1); solo_dev 73 drivers/media/pci/solo6x10/solo6x10-gpio.c solo_gpio_clear(solo_dev, 0x30); solo_dev 75 drivers/media/pci/solo6x10/solo6x10-gpio.c solo_gpio_set(solo_dev, 0x30); solo_dev 80 drivers/media/pci/solo6x10/solo6x10-gpio.c solo_gpio_mode(solo_dev, 0x0f, 2); solo_dev 83 drivers/media/pci/solo6x10/solo6x10-gpio.c solo_gpio_mode(solo_dev, 0xff00, 1); solo_dev 86 drivers/media/pci/solo6x10/solo6x10-gpio.c solo_gpio_clear(solo_dev, 0xff00); solo_dev 89 drivers/media/pci/solo6x10/solo6x10-gpio.c solo_gpio_mode(solo_dev, 0xffff0000, 0); solo_dev 101 drivers/media/pci/solo6x10/solo6x10-gpio.c struct solo_dev *solo_dev = gpiochip_get_data(chip); solo_dev 104 drivers/media/pci/solo6x10/solo6x10-gpio.c ret = solo_reg_read(solo_dev, SOLO_GPIO_CONFIG_0); solo_dev 107 drivers/media/pci/solo6x10/solo6x10-gpio.c ret = solo_reg_read(solo_dev, SOLO_GPIO_CONFIG_1); solo_dev 135 drivers/media/pci/solo6x10/solo6x10-gpio.c struct solo_dev *solo_dev = gpiochip_get_data(chip); solo_dev 137 drivers/media/pci/solo6x10/solo6x10-gpio.c ret = solo_reg_read(solo_dev, SOLO_GPIO_DATA_IN); solo_dev 145 drivers/media/pci/solo6x10/solo6x10-gpio.c struct solo_dev *solo_dev = gpiochip_get_data(chip); solo_dev 148 drivers/media/pci/solo6x10/solo6x10-gpio.c solo_gpio_set(solo_dev, 1 << (offset + 8)); solo_dev 150 drivers/media/pci/solo6x10/solo6x10-gpio.c solo_gpio_clear(solo_dev, 1 << (offset + 8)); solo_dev 154 drivers/media/pci/solo6x10/solo6x10-gpio.c int solo_gpio_init(struct solo_dev *solo_dev) solo_dev 160 drivers/media/pci/solo6x10/solo6x10-gpio.c solo_gpio_config(solo_dev); solo_dev 162 drivers/media/pci/solo6x10/solo6x10-gpio.c solo_dev->gpio_dev.label = SOLO6X10_NAME"_gpio"; solo_dev 163 drivers/media/pci/solo6x10/solo6x10-gpio.c solo_dev->gpio_dev.parent = &solo_dev->pdev->dev; solo_dev 164 drivers/media/pci/solo6x10/solo6x10-gpio.c solo_dev->gpio_dev.owner = THIS_MODULE; solo_dev 165 drivers/media/pci/solo6x10/solo6x10-gpio.c solo_dev->gpio_dev.base = -1; solo_dev 166 drivers/media/pci/solo6x10/solo6x10-gpio.c solo_dev->gpio_dev.ngpio = 24; solo_dev 167 drivers/media/pci/solo6x10/solo6x10-gpio.c solo_dev->gpio_dev.can_sleep = 0; solo_dev 169 drivers/media/pci/solo6x10/solo6x10-gpio.c solo_dev->gpio_dev.get_direction = solo_gpiochip_get_direction; solo_dev 170 drivers/media/pci/solo6x10/solo6x10-gpio.c solo_dev->gpio_dev.direction_input = solo_gpiochip_direction_input; solo_dev 171 drivers/media/pci/solo6x10/solo6x10-gpio.c solo_dev->gpio_dev.direction_output = solo_gpiochip_direction_output; solo_dev 172 drivers/media/pci/solo6x10/solo6x10-gpio.c solo_dev->gpio_dev.get = solo_gpiochip_get; solo_dev 173 drivers/media/pci/solo6x10/solo6x10-gpio.c solo_dev->gpio_dev.set = solo_gpiochip_set; solo_dev 175 drivers/media/pci/solo6x10/solo6x10-gpio.c ret = gpiochip_add_data(&solo_dev->gpio_dev, solo_dev); solo_dev 178 drivers/media/pci/solo6x10/solo6x10-gpio.c solo_dev->gpio_dev.label = NULL; solo_dev 185 drivers/media/pci/solo6x10/solo6x10-gpio.c void solo_gpio_exit(struct solo_dev *solo_dev) solo_dev 188 drivers/media/pci/solo6x10/solo6x10-gpio.c if (solo_dev->gpio_dev.label) { solo_dev 189 drivers/media/pci/solo6x10/solo6x10-gpio.c gpiochip_remove(&solo_dev->gpio_dev); solo_dev 190 drivers/media/pci/solo6x10/solo6x10-gpio.c solo_dev->gpio_dev.label = NULL; solo_dev 193 drivers/media/pci/solo6x10/solo6x10-gpio.c solo_gpio_clear(solo_dev, 0x30); solo_dev 194 drivers/media/pci/solo6x10/solo6x10-gpio.c solo_gpio_config(solo_dev); solo_dev 25 drivers/media/pci/solo6x10/solo6x10-i2c.c u8 solo_i2c_readbyte(struct solo_dev *solo_dev, int id, u8 addr, u8 off) solo_dev 40 drivers/media/pci/solo6x10/solo6x10-i2c.c i2c_transfer(&solo_dev->i2c_adap[id], msgs, 2); solo_dev 45 drivers/media/pci/solo6x10/solo6x10-i2c.c void solo_i2c_writebyte(struct solo_dev *solo_dev, int id, u8 addr, solo_dev 58 drivers/media/pci/solo6x10/solo6x10-i2c.c i2c_transfer(&solo_dev->i2c_adap[id], &msgs, 1); solo_dev 61 drivers/media/pci/solo6x10/solo6x10-i2c.c static void solo_i2c_flush(struct solo_dev *solo_dev, int wr) solo_dev 65 drivers/media/pci/solo6x10/solo6x10-i2c.c ctrl = SOLO_IIC_CH_SET(solo_dev->i2c_id); solo_dev 67 drivers/media/pci/solo6x10/solo6x10-i2c.c if (solo_dev->i2c_state == IIC_STATE_START) solo_dev 74 drivers/media/pci/solo6x10/solo6x10-i2c.c if (!(solo_dev->i2c_msg->flags & I2C_M_NO_RD_ACK)) solo_dev 78 drivers/media/pci/solo6x10/solo6x10-i2c.c if (solo_dev->i2c_msg_ptr == solo_dev->i2c_msg->len) solo_dev 81 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_reg_write(solo_dev, SOLO_IIC_CTRL, ctrl); solo_dev 84 drivers/media/pci/solo6x10/solo6x10-i2c.c static void solo_i2c_start(struct solo_dev *solo_dev) solo_dev 86 drivers/media/pci/solo6x10/solo6x10-i2c.c u32 addr = solo_dev->i2c_msg->addr << 1; solo_dev 88 drivers/media/pci/solo6x10/solo6x10-i2c.c if (solo_dev->i2c_msg->flags & I2C_M_RD) solo_dev 91 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_dev->i2c_state = IIC_STATE_START; solo_dev 92 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_reg_write(solo_dev, SOLO_IIC_TXD, addr); solo_dev 93 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_i2c_flush(solo_dev, 1); solo_dev 96 drivers/media/pci/solo6x10/solo6x10-i2c.c static void solo_i2c_stop(struct solo_dev *solo_dev) solo_dev 98 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_irq_off(solo_dev, SOLO_IRQ_IIC); solo_dev 99 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_reg_write(solo_dev, SOLO_IIC_CTRL, 0); solo_dev 100 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_dev->i2c_state = IIC_STATE_STOP; solo_dev 101 drivers/media/pci/solo6x10/solo6x10-i2c.c wake_up(&solo_dev->i2c_wait); solo_dev 104 drivers/media/pci/solo6x10/solo6x10-i2c.c static int solo_i2c_handle_read(struct solo_dev *solo_dev) solo_dev 107 drivers/media/pci/solo6x10/solo6x10-i2c.c if (solo_dev->i2c_msg_ptr != solo_dev->i2c_msg->len) { solo_dev 108 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_i2c_flush(solo_dev, 0); solo_dev 112 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_dev->i2c_msg_ptr = 0; solo_dev 113 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_dev->i2c_msg++; solo_dev 114 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_dev->i2c_msg_num--; solo_dev 116 drivers/media/pci/solo6x10/solo6x10-i2c.c if (solo_dev->i2c_msg_num == 0) { solo_dev 117 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_i2c_stop(solo_dev); solo_dev 121 drivers/media/pci/solo6x10/solo6x10-i2c.c if (!(solo_dev->i2c_msg->flags & I2C_M_NOSTART)) { solo_dev 122 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_i2c_start(solo_dev); solo_dev 124 drivers/media/pci/solo6x10/solo6x10-i2c.c if (solo_dev->i2c_msg->flags & I2C_M_RD) solo_dev 127 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_i2c_stop(solo_dev); solo_dev 133 drivers/media/pci/solo6x10/solo6x10-i2c.c static int solo_i2c_handle_write(struct solo_dev *solo_dev) solo_dev 136 drivers/media/pci/solo6x10/solo6x10-i2c.c if (solo_dev->i2c_msg_ptr != solo_dev->i2c_msg->len) { solo_dev 137 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_reg_write(solo_dev, SOLO_IIC_TXD, solo_dev 138 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_dev->i2c_msg->buf[solo_dev->i2c_msg_ptr]); solo_dev 139 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_dev->i2c_msg_ptr++; solo_dev 140 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_i2c_flush(solo_dev, 1); solo_dev 144 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_dev->i2c_msg_ptr = 0; solo_dev 145 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_dev->i2c_msg++; solo_dev 146 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_dev->i2c_msg_num--; solo_dev 148 drivers/media/pci/solo6x10/solo6x10-i2c.c if (solo_dev->i2c_msg_num == 0) { solo_dev 149 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_i2c_stop(solo_dev); solo_dev 153 drivers/media/pci/solo6x10/solo6x10-i2c.c if (!(solo_dev->i2c_msg->flags & I2C_M_NOSTART)) { solo_dev 154 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_i2c_start(solo_dev); solo_dev 156 drivers/media/pci/solo6x10/solo6x10-i2c.c if (solo_dev->i2c_msg->flags & I2C_M_RD) solo_dev 157 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_i2c_stop(solo_dev); solo_dev 165 drivers/media/pci/solo6x10/solo6x10-i2c.c int solo_i2c_isr(struct solo_dev *solo_dev) solo_dev 167 drivers/media/pci/solo6x10/solo6x10-i2c.c u32 status = solo_reg_read(solo_dev, SOLO_IIC_CTRL); solo_dev 172 drivers/media/pci/solo6x10/solo6x10-i2c.c || solo_dev->i2c_id < 0) { solo_dev 173 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_i2c_stop(solo_dev); solo_dev 177 drivers/media/pci/solo6x10/solo6x10-i2c.c switch (solo_dev->i2c_state) { solo_dev 179 drivers/media/pci/solo6x10/solo6x10-i2c.c if (solo_dev->i2c_msg->flags & I2C_M_RD) { solo_dev 180 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_dev->i2c_state = IIC_STATE_READ; solo_dev 181 drivers/media/pci/solo6x10/solo6x10-i2c.c ret = solo_i2c_handle_read(solo_dev); solo_dev 185 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_dev->i2c_state = IIC_STATE_WRITE; solo_dev 188 drivers/media/pci/solo6x10/solo6x10-i2c.c ret = solo_i2c_handle_write(solo_dev); solo_dev 192 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_dev->i2c_msg->buf[solo_dev->i2c_msg_ptr] = solo_dev 193 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_reg_read(solo_dev, SOLO_IIC_RXD); solo_dev 194 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_dev->i2c_msg_ptr++; solo_dev 196 drivers/media/pci/solo6x10/solo6x10-i2c.c ret = solo_i2c_handle_read(solo_dev); solo_dev 200 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_i2c_stop(solo_dev); solo_dev 209 drivers/media/pci/solo6x10/solo6x10-i2c.c struct solo_dev *solo_dev = adap->algo_data; solo_dev 216 drivers/media/pci/solo6x10/solo6x10-i2c.c if (&solo_dev->i2c_adap[i] == adap) solo_dev 223 drivers/media/pci/solo6x10/solo6x10-i2c.c mutex_lock(&solo_dev->i2c_mutex); solo_dev 224 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_dev->i2c_id = i; solo_dev 225 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_dev->i2c_msg = msgs; solo_dev 226 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_dev->i2c_msg_num = num; solo_dev 227 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_dev->i2c_msg_ptr = 0; solo_dev 229 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_reg_write(solo_dev, SOLO_IIC_CTRL, 0); solo_dev 230 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_irq_on(solo_dev, SOLO_IRQ_IIC); solo_dev 231 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_i2c_start(solo_dev); solo_dev 236 drivers/media/pci/solo6x10/solo6x10-i2c.c prepare_to_wait(&solo_dev->i2c_wait, &wait, solo_dev 239 drivers/media/pci/solo6x10/solo6x10-i2c.c if (solo_dev->i2c_state == IIC_STATE_STOP) solo_dev 250 drivers/media/pci/solo6x10/solo6x10-i2c.c finish_wait(&solo_dev->i2c_wait, &wait); solo_dev 251 drivers/media/pci/solo6x10/solo6x10-i2c.c ret = num - solo_dev->i2c_msg_num; solo_dev 252 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_dev->i2c_state = IIC_STATE_IDLE; solo_dev 253 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_dev->i2c_id = -1; solo_dev 255 drivers/media/pci/solo6x10/solo6x10-i2c.c mutex_unlock(&solo_dev->i2c_mutex); solo_dev 270 drivers/media/pci/solo6x10/solo6x10-i2c.c int solo_i2c_init(struct solo_dev *solo_dev) solo_dev 275 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_reg_write(solo_dev, SOLO_IIC_CFG, solo_dev 278 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_dev->i2c_id = -1; solo_dev 279 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_dev->i2c_state = IIC_STATE_IDLE; solo_dev 280 drivers/media/pci/solo6x10/solo6x10-i2c.c init_waitqueue_head(&solo_dev->i2c_wait); solo_dev 281 drivers/media/pci/solo6x10/solo6x10-i2c.c mutex_init(&solo_dev->i2c_mutex); solo_dev 284 drivers/media/pci/solo6x10/solo6x10-i2c.c struct i2c_adapter *adap = &solo_dev->i2c_adap[i]; solo_dev 289 drivers/media/pci/solo6x10/solo6x10-i2c.c adap->algo_data = solo_dev; solo_dev 291 drivers/media/pci/solo6x10/solo6x10-i2c.c adap->dev.parent = &solo_dev->pdev->dev; solo_dev 302 drivers/media/pci/solo6x10/solo6x10-i2c.c if (!solo_dev->i2c_adap[i].algo_data) solo_dev 304 drivers/media/pci/solo6x10/solo6x10-i2c.c i2c_del_adapter(&solo_dev->i2c_adap[i]); solo_dev 305 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_dev->i2c_adap[i].algo_data = NULL; solo_dev 313 drivers/media/pci/solo6x10/solo6x10-i2c.c void solo_i2c_exit(struct solo_dev *solo_dev) solo_dev 318 drivers/media/pci/solo6x10/solo6x10-i2c.c if (!solo_dev->i2c_adap[i].algo_data) solo_dev 320 drivers/media/pci/solo6x10/solo6x10-i2c.c i2c_del_adapter(&solo_dev->i2c_adap[i]); solo_dev 321 drivers/media/pci/solo6x10/solo6x10-i2c.c solo_dev->i2c_adap[i].algo_data = NULL; solo_dev 28 drivers/media/pci/solo6x10/solo6x10-p2m.c int solo_p2m_dma(struct solo_dev *solo_dev, int wr, solo_dev 40 drivers/media/pci/solo6x10/solo6x10-p2m.c dma_addr = pci_map_single(solo_dev->pdev, sys_addr, size, solo_dev 42 drivers/media/pci/solo6x10/solo6x10-p2m.c if (pci_dma_mapping_error(solo_dev->pdev, dma_addr)) solo_dev 45 drivers/media/pci/solo6x10/solo6x10-p2m.c ret = solo_p2m_dma_t(solo_dev, wr, dma_addr, ext_addr, size, solo_dev 48 drivers/media/pci/solo6x10/solo6x10-p2m.c pci_unmap_single(solo_dev->pdev, dma_addr, size, solo_dev 55 drivers/media/pci/solo6x10/solo6x10-p2m.c int solo_p2m_dma_desc(struct solo_dev *solo_dev, solo_dev 66 drivers/media/pci/solo6x10/solo6x10-p2m.c if (solo_dev->type != SOLO_DEV_6110 && multi_p2m) solo_dev 67 drivers/media/pci/solo6x10/solo6x10-p2m.c p2m_id = atomic_inc_return(&solo_dev->p2m_count) % SOLO_NR_P2M; solo_dev 69 drivers/media/pci/solo6x10/solo6x10-p2m.c p2m_dev = &solo_dev->p2m_dev[p2m_id]; solo_dev 77 drivers/media/pci/solo6x10/solo6x10-p2m.c if (desc_cnt > 1 && solo_dev->type != SOLO_DEV_6110 && desc_mode) { solo_dev 80 drivers/media/pci/solo6x10/solo6x10-p2m.c config = solo_reg_read(solo_dev, SOLO_P2M_CONFIG(p2m_id)); solo_dev 82 drivers/media/pci/solo6x10/solo6x10-p2m.c solo_reg_write(solo_dev, SOLO_P2M_DES_ADR(p2m_id), desc_dma); solo_dev 83 drivers/media/pci/solo6x10/solo6x10-p2m.c solo_reg_write(solo_dev, SOLO_P2M_DESC_ID(p2m_id), desc_cnt); solo_dev 84 drivers/media/pci/solo6x10/solo6x10-p2m.c solo_reg_write(solo_dev, SOLO_P2M_CONFIG(p2m_id), config | solo_dev 92 drivers/media/pci/solo6x10/solo6x10-p2m.c solo_reg_write(solo_dev, SOLO_P2M_TAR_ADR(p2m_id), solo_dev 94 drivers/media/pci/solo6x10/solo6x10-p2m.c solo_reg_write(solo_dev, SOLO_P2M_EXT_ADR(p2m_id), solo_dev 96 drivers/media/pci/solo6x10/solo6x10-p2m.c solo_reg_write(solo_dev, SOLO_P2M_EXT_CFG(p2m_id), solo_dev 98 drivers/media/pci/solo6x10/solo6x10-p2m.c solo_reg_write(solo_dev, SOLO_P2M_CONTROL(p2m_id), solo_dev 103 drivers/media/pci/solo6x10/solo6x10-p2m.c solo_dev->p2m_jiffies); solo_dev 108 drivers/media/pci/solo6x10/solo6x10-p2m.c solo_dev->p2m_timeouts++; solo_dev 112 drivers/media/pci/solo6x10/solo6x10-p2m.c solo_reg_write(solo_dev, SOLO_P2M_CONTROL(p2m_id), 0); solo_dev 116 drivers/media/pci/solo6x10/solo6x10-p2m.c if (desc_cnt > 1 && solo_dev->type != SOLO_DEV_6110 && config) solo_dev 117 drivers/media/pci/solo6x10/solo6x10-p2m.c solo_reg_write(solo_dev, SOLO_P2M_CONFIG(p2m_id), config); solo_dev 145 drivers/media/pci/solo6x10/solo6x10-p2m.c int solo_p2m_dma_t(struct solo_dev *solo_dev, int wr, solo_dev 155 drivers/media/pci/solo6x10/solo6x10-p2m.c return solo_p2m_dma_desc(solo_dev, desc, 0, 1); solo_dev 158 drivers/media/pci/solo6x10/solo6x10-p2m.c void solo_p2m_isr(struct solo_dev *solo_dev, int id) solo_dev 160 drivers/media/pci/solo6x10/solo6x10-p2m.c struct solo_p2m_dev *p2m_dev = &solo_dev->p2m_dev[id]; solo_dev 172 drivers/media/pci/solo6x10/solo6x10-p2m.c solo_reg_write(solo_dev, SOLO_P2M_CONTROL(id), 0); solo_dev 173 drivers/media/pci/solo6x10/solo6x10-p2m.c solo_reg_write(solo_dev, SOLO_P2M_TAR_ADR(id), desc->dma_addr); solo_dev 174 drivers/media/pci/solo6x10/solo6x10-p2m.c solo_reg_write(solo_dev, SOLO_P2M_EXT_ADR(id), desc->ext_addr); solo_dev 175 drivers/media/pci/solo6x10/solo6x10-p2m.c solo_reg_write(solo_dev, SOLO_P2M_EXT_CFG(id), desc->cfg); solo_dev 176 drivers/media/pci/solo6x10/solo6x10-p2m.c solo_reg_write(solo_dev, SOLO_P2M_CONTROL(id), desc->ctrl); solo_dev 179 drivers/media/pci/solo6x10/solo6x10-p2m.c void solo_p2m_error_isr(struct solo_dev *solo_dev) solo_dev 181 drivers/media/pci/solo6x10/solo6x10-p2m.c unsigned int err = solo_reg_read(solo_dev, SOLO_PCI_ERR); solo_dev 189 drivers/media/pci/solo6x10/solo6x10-p2m.c p2m_dev = &solo_dev->p2m_dev[i]; solo_dev 191 drivers/media/pci/solo6x10/solo6x10-p2m.c solo_reg_write(solo_dev, SOLO_P2M_CONTROL(i), 0); solo_dev 196 drivers/media/pci/solo6x10/solo6x10-p2m.c void solo_p2m_exit(struct solo_dev *solo_dev) solo_dev 201 drivers/media/pci/solo6x10/solo6x10-p2m.c solo_irq_off(solo_dev, SOLO_IRQ_P2M(i)); solo_dev 204 drivers/media/pci/solo6x10/solo6x10-p2m.c static int solo_p2m_test(struct solo_dev *solo_dev, int base, int size) solo_dev 230 drivers/media/pci/solo6x10/solo6x10-p2m.c if (solo_p2m_dma(solo_dev, 1, wr_buf, base, size, 0, 0)) solo_dev 233 drivers/media/pci/solo6x10/solo6x10-p2m.c if (solo_p2m_dma(solo_dev, 0, rd_buf, base, size, 0, 0)) solo_dev 250 drivers/media/pci/solo6x10/solo6x10-p2m.c int solo_p2m_init(struct solo_dev *solo_dev) solo_dev 256 drivers/media/pci/solo6x10/solo6x10-p2m.c p2m_dev = &solo_dev->p2m_dev[i]; solo_dev 261 drivers/media/pci/solo6x10/solo6x10-p2m.c solo_reg_write(solo_dev, SOLO_P2M_CONTROL(i), 0); solo_dev 262 drivers/media/pci/solo6x10/solo6x10-p2m.c solo_reg_write(solo_dev, SOLO_P2M_CONFIG(i), solo_dev 267 drivers/media/pci/solo6x10/solo6x10-p2m.c solo_irq_on(solo_dev, SOLO_IRQ_P2M(i)); solo_dev 271 drivers/media/pci/solo6x10/solo6x10-p2m.c for (solo_dev->sdram_size = 0, i = 2; i >= 0; i--) { solo_dev 272 drivers/media/pci/solo6x10/solo6x10-p2m.c solo_reg_write(solo_dev, SOLO_DMA_CTRL, solo_dev 279 drivers/media/pci/solo6x10/solo6x10-p2m.c solo_reg_write(solo_dev, SOLO_SYS_CFG, solo_dev->sys_config | solo_dev 281 drivers/media/pci/solo6x10/solo6x10-p2m.c solo_reg_write(solo_dev, SOLO_SYS_CFG, solo_dev->sys_config); solo_dev 285 drivers/media/pci/solo6x10/solo6x10-p2m.c if (solo_p2m_test(solo_dev, 0x07ff0000, 0x00010000) || solo_dev 286 drivers/media/pci/solo6x10/solo6x10-p2m.c solo_p2m_test(solo_dev, 0x05ff0000, 0x00010000)) solo_dev 291 drivers/media/pci/solo6x10/solo6x10-p2m.c if (solo_p2m_test(solo_dev, 0x03ff0000, 0x00010000)) solo_dev 296 drivers/media/pci/solo6x10/solo6x10-p2m.c if (solo_p2m_test(solo_dev, 0x01ff0000, 0x00010000)) solo_dev 300 drivers/media/pci/solo6x10/solo6x10-p2m.c solo_dev->sdram_size = (32 << 20) << i; solo_dev 304 drivers/media/pci/solo6x10/solo6x10-p2m.c if (!solo_dev->sdram_size) { solo_dev 305 drivers/media/pci/solo6x10/solo6x10-p2m.c dev_err(&solo_dev->pdev->dev, "Error detecting SDRAM size\n"); solo_dev 309 drivers/media/pci/solo6x10/solo6x10-p2m.c if (SOLO_SDRAM_END(solo_dev) > solo_dev->sdram_size) { solo_dev 310 drivers/media/pci/solo6x10/solo6x10-p2m.c dev_err(&solo_dev->pdev->dev, solo_dev 312 drivers/media/pci/solo6x10/solo6x10-p2m.c solo_dev->sdram_size, SOLO_SDRAM_END(solo_dev)); solo_dev 171 drivers/media/pci/solo6x10/solo6x10-tw28.c static u8 tw_readbyte(struct solo_dev *solo_dev, int chip_id, u8 tw6x_off, solo_dev 174 drivers/media/pci/solo6x10/solo6x10-tw28.c if (is_tw286x(solo_dev, chip_id)) solo_dev 175 drivers/media/pci/solo6x10/solo6x10-tw28.c return solo_i2c_readbyte(solo_dev, SOLO_I2C_TW, solo_dev 179 drivers/media/pci/solo6x10/solo6x10-tw28.c return solo_i2c_readbyte(solo_dev, SOLO_I2C_TW, solo_dev 184 drivers/media/pci/solo6x10/solo6x10-tw28.c static void tw_writebyte(struct solo_dev *solo_dev, int chip_id, solo_dev 187 drivers/media/pci/solo6x10/solo6x10-tw28.c if (is_tw286x(solo_dev, chip_id)) solo_dev 188 drivers/media/pci/solo6x10/solo6x10-tw28.c solo_i2c_writebyte(solo_dev, SOLO_I2C_TW, solo_dev 192 drivers/media/pci/solo6x10/solo6x10-tw28.c solo_i2c_writebyte(solo_dev, SOLO_I2C_TW, solo_dev 197 drivers/media/pci/solo6x10/solo6x10-tw28.c static void tw_write_and_verify(struct solo_dev *solo_dev, u8 addr, u8 off, solo_dev 203 drivers/media/pci/solo6x10/solo6x10-tw28.c u8 rval = solo_i2c_readbyte(solo_dev, SOLO_I2C_TW, addr, off); solo_dev 208 drivers/media/pci/solo6x10/solo6x10-tw28.c solo_i2c_writebyte(solo_dev, SOLO_I2C_TW, addr, off, val); solo_dev 216 drivers/media/pci/solo6x10/solo6x10-tw28.c static int tw2865_setup(struct solo_dev *solo_dev, u8 dev_addr) solo_dev 221 drivers/media/pci/solo6x10/solo6x10-tw28.c if (solo_dev->video_type == SOLO_VO_FMT_TYPE_PAL) solo_dev 229 drivers/media/pci/solo6x10/solo6x10-tw28.c if (solo_dev->nr_chans == 4) { solo_dev 232 drivers/media/pci/solo6x10/solo6x10-tw28.c } else if (solo_dev->nr_chans == 8) { solo_dev 236 drivers/media/pci/solo6x10/solo6x10-tw28.c } else if (solo_dev->nr_chans == 16) { solo_dev 260 drivers/media/pci/solo6x10/solo6x10-tw28.c tw_write_and_verify(solo_dev, dev_addr, i, solo_dev 267 drivers/media/pci/solo6x10/solo6x10-tw28.c static int tw2864_setup(struct solo_dev *solo_dev, u8 dev_addr) solo_dev 272 drivers/media/pci/solo6x10/solo6x10-tw28.c if (solo_dev->video_type == SOLO_VO_FMT_TYPE_PAL) solo_dev 279 drivers/media/pci/solo6x10/solo6x10-tw28.c if (solo_dev->tw2865 == 0) { solo_dev 281 drivers/media/pci/solo6x10/solo6x10-tw28.c if (solo_dev->nr_chans == 4) { solo_dev 284 drivers/media/pci/solo6x10/solo6x10-tw28.c } else if (solo_dev->nr_chans == 8) { solo_dev 290 drivers/media/pci/solo6x10/solo6x10-tw28.c } else if (solo_dev->nr_chans == 16) { solo_dev 307 drivers/media/pci/solo6x10/solo6x10-tw28.c if (solo_dev->nr_chans == 8) { solo_dev 311 drivers/media/pci/solo6x10/solo6x10-tw28.c } else if (solo_dev->nr_chans == 16) { solo_dev 336 drivers/media/pci/solo6x10/solo6x10-tw28.c tw_write_and_verify(solo_dev, dev_addr, i, solo_dev 343 drivers/media/pci/solo6x10/solo6x10-tw28.c static int tw2815_setup(struct solo_dev *solo_dev, u8 dev_addr) solo_dev 411 drivers/media/pci/solo6x10/solo6x10-tw28.c (solo_dev->video_type == SOLO_VO_FMT_TYPE_NTSC) ? solo_dev 420 drivers/media/pci/solo6x10/solo6x10-tw28.c if (solo_dev->nr_chans == 4) { solo_dev 423 drivers/media/pci/solo6x10/solo6x10-tw28.c } else if (solo_dev->nr_chans == 8) { solo_dev 429 drivers/media/pci/solo6x10/solo6x10-tw28.c } else if (solo_dev->nr_chans == 16) { solo_dev 482 drivers/media/pci/solo6x10/solo6x10-tw28.c solo_i2c_writebyte(solo_dev, SOLO_I2C_TW, solo_dev 494 drivers/media/pci/solo6x10/solo6x10-tw28.c solo_i2c_writebyte(solo_dev, SOLO_I2C_TW, dev_addr, i, solo_dev 504 drivers/media/pci/solo6x10/solo6x10-tw28.c static void saa712x_write_regs(struct solo_dev *dev, const u8 *vals, solo_dev 523 drivers/media/pci/solo6x10/solo6x10-tw28.c static void saa712x_setup(struct solo_dev *dev) solo_dev 582 drivers/media/pci/solo6x10/solo6x10-tw28.c int solo_tw28_init(struct solo_dev *solo_dev) solo_dev 587 drivers/media/pci/solo6x10/solo6x10-tw28.c solo_dev->tw28_cnt = 0; solo_dev 590 drivers/media/pci/solo6x10/solo6x10-tw28.c for (i = 0; i < solo_dev->nr_chans / 4; i++) { solo_dev 591 drivers/media/pci/solo6x10/solo6x10-tw28.c value = solo_i2c_readbyte(solo_dev, SOLO_I2C_TW, solo_dev 596 drivers/media/pci/solo6x10/solo6x10-tw28.c solo_dev->tw2865 |= 1 << i; solo_dev 597 drivers/media/pci/solo6x10/solo6x10-tw28.c solo_dev->tw28_cnt++; solo_dev 601 drivers/media/pci/solo6x10/solo6x10-tw28.c solo_dev->tw2864 |= 1 << i; solo_dev 602 drivers/media/pci/solo6x10/solo6x10-tw28.c solo_dev->tw28_cnt++; solo_dev 605 drivers/media/pci/solo6x10/solo6x10-tw28.c value = solo_i2c_readbyte(solo_dev, SOLO_I2C_TW, solo_dev 609 drivers/media/pci/solo6x10/solo6x10-tw28.c solo_dev->tw2815 |= 1 << i; solo_dev 610 drivers/media/pci/solo6x10/solo6x10-tw28.c solo_dev->tw28_cnt++; solo_dev 615 drivers/media/pci/solo6x10/solo6x10-tw28.c if (solo_dev->tw28_cnt != (solo_dev->nr_chans >> 2)) { solo_dev 616 drivers/media/pci/solo6x10/solo6x10-tw28.c dev_err(&solo_dev->pdev->dev, solo_dev 621 drivers/media/pci/solo6x10/solo6x10-tw28.c saa712x_setup(solo_dev); solo_dev 623 drivers/media/pci/solo6x10/solo6x10-tw28.c for (i = 0; i < solo_dev->tw28_cnt; i++) { solo_dev 624 drivers/media/pci/solo6x10/solo6x10-tw28.c if ((solo_dev->tw2865 & (1 << i))) solo_dev 625 drivers/media/pci/solo6x10/solo6x10-tw28.c tw2865_setup(solo_dev, TW_CHIP_OFFSET_ADDR(i)); solo_dev 626 drivers/media/pci/solo6x10/solo6x10-tw28.c else if ((solo_dev->tw2864 & (1 << i))) solo_dev 627 drivers/media/pci/solo6x10/solo6x10-tw28.c tw2864_setup(solo_dev, TW_CHIP_OFFSET_ADDR(i)); solo_dev 629 drivers/media/pci/solo6x10/solo6x10-tw28.c tw2815_setup(solo_dev, TW_CHIP_OFFSET_ADDR(i)); solo_dev 641 drivers/media/pci/solo6x10/solo6x10-tw28.c int tw28_get_video_status(struct solo_dev *solo_dev, u8 ch) solo_dev 649 drivers/media/pci/solo6x10/solo6x10-tw28.c val = tw_readbyte(solo_dev, chip_num, TW286x_AV_STAT_ADDR, solo_dev 658 drivers/media/pci/solo6x10/solo6x10-tw28.c u16 tw28_get_audio_status(struct solo_dev *solo_dev) solo_dev 664 drivers/media/pci/solo6x10/solo6x10-tw28.c for (i = 0; i < solo_dev->tw28_cnt; i++) { solo_dev 665 drivers/media/pci/solo6x10/solo6x10-tw28.c val = (tw_readbyte(solo_dev, i, TW286x_AV_STAT_ADDR, solo_dev 674 drivers/media/pci/solo6x10/solo6x10-tw28.c bool tw28_has_sharpness(struct solo_dev *solo_dev, u8 ch) solo_dev 676 drivers/media/pci/solo6x10/solo6x10-tw28.c return is_tw286x(solo_dev, ch / 4); solo_dev 679 drivers/media/pci/solo6x10/solo6x10-tw28.c int tw28_set_ctrl_val(struct solo_dev *solo_dev, u32 ctrl, u8 ch, solo_dev 695 drivers/media/pci/solo6x10/solo6x10-tw28.c if (is_tw286x(solo_dev, chip_num)) { solo_dev 696 drivers/media/pci/solo6x10/solo6x10-tw28.c u8 v = solo_i2c_readbyte(solo_dev, SOLO_I2C_TW, solo_dev 701 drivers/media/pci/solo6x10/solo6x10-tw28.c solo_i2c_writebyte(solo_dev, SOLO_I2C_TW, solo_dev 710 drivers/media/pci/solo6x10/solo6x10-tw28.c if (is_tw286x(solo_dev, chip_num)) solo_dev 714 drivers/media/pci/solo6x10/solo6x10-tw28.c tw_writebyte(solo_dev, chip_num, TW286x_HUE_ADDR(ch), solo_dev 721 drivers/media/pci/solo6x10/solo6x10-tw28.c if (is_tw286x(solo_dev, chip_num)) { solo_dev 722 drivers/media/pci/solo6x10/solo6x10-tw28.c solo_i2c_writebyte(solo_dev, SOLO_I2C_TW, solo_dev 726 drivers/media/pci/solo6x10/solo6x10-tw28.c tw_writebyte(solo_dev, chip_num, TW286x_SATURATIONV_ADDR(ch), solo_dev 732 drivers/media/pci/solo6x10/solo6x10-tw28.c tw_writebyte(solo_dev, chip_num, TW286x_CONTRAST_ADDR(ch), solo_dev 737 drivers/media/pci/solo6x10/solo6x10-tw28.c if (is_tw286x(solo_dev, chip_num)) solo_dev 741 drivers/media/pci/solo6x10/solo6x10-tw28.c tw_writebyte(solo_dev, chip_num, TW286x_BRIGHTNESS_ADDR(ch), solo_dev 752 drivers/media/pci/solo6x10/solo6x10-tw28.c int tw28_get_ctrl_val(struct solo_dev *solo_dev, u32 ctrl, u8 ch, solo_dev 764 drivers/media/pci/solo6x10/solo6x10-tw28.c if (is_tw286x(solo_dev, chip_num)) { solo_dev 765 drivers/media/pci/solo6x10/solo6x10-tw28.c rval = solo_i2c_readbyte(solo_dev, SOLO_I2C_TW, solo_dev 773 drivers/media/pci/solo6x10/solo6x10-tw28.c rval = tw_readbyte(solo_dev, chip_num, TW286x_HUE_ADDR(ch), solo_dev 775 drivers/media/pci/solo6x10/solo6x10-tw28.c if (is_tw286x(solo_dev, chip_num)) solo_dev 781 drivers/media/pci/solo6x10/solo6x10-tw28.c *val = tw_readbyte(solo_dev, chip_num, solo_dev 786 drivers/media/pci/solo6x10/solo6x10-tw28.c *val = tw_readbyte(solo_dev, chip_num, solo_dev 791 drivers/media/pci/solo6x10/solo6x10-tw28.c rval = tw_readbyte(solo_dev, chip_num, solo_dev 794 drivers/media/pci/solo6x10/solo6x10-tw28.c if (is_tw286x(solo_dev, chip_num)) solo_dev 812 drivers/media/pci/solo6x10/solo6x10-tw28.c void tw2815_Set_AudioOutVol(struct solo_dev *solo_dev, unsigned int u_val) solo_dev 817 drivers/media/pci/solo6x10/solo6x10-tw28.c chip_num = (solo_dev->nr_chans - 1) / 4; solo_dev 819 drivers/media/pci/solo6x10/solo6x10-tw28.c val = tw_readbyte(solo_dev, chip_num, TW286x_AUDIO_OUTPUT_VOL_ADDR, solo_dev 824 drivers/media/pci/solo6x10/solo6x10-tw28.c tw_writebyte(solo_dev, chip_num, TW286x_AUDIO_OUTPUT_VOL_ADDR, solo_dev 829 drivers/media/pci/solo6x10/solo6x10-tw28.c u8 tw28_get_audio_gain(struct solo_dev *solo_dev, u8 ch) solo_dev 838 drivers/media/pci/solo6x10/solo6x10-tw28.c val = tw_readbyte(solo_dev, chip_num, solo_dev 845 drivers/media/pci/solo6x10/solo6x10-tw28.c void tw28_set_audio_gain(struct solo_dev *solo_dev, u8 ch, u8 val) solo_dev 854 drivers/media/pci/solo6x10/solo6x10-tw28.c old_val = tw_readbyte(solo_dev, chip_num, solo_dev 861 drivers/media/pci/solo6x10/solo6x10-tw28.c tw_writebyte(solo_dev, chip_num, TW286x_AUDIO_INPUT_GAIN_ADDR(ch), solo_dev 41 drivers/media/pci/solo6x10/solo6x10-tw28.h int solo_tw28_init(struct solo_dev *solo_dev); solo_dev 43 drivers/media/pci/solo6x10/solo6x10-tw28.h int tw28_set_ctrl_val(struct solo_dev *solo_dev, u32 ctrl, u8 ch, s32 val); solo_dev 44 drivers/media/pci/solo6x10/solo6x10-tw28.h int tw28_get_ctrl_val(struct solo_dev *solo_dev, u32 ctrl, u8 ch, s32 *val); solo_dev 45 drivers/media/pci/solo6x10/solo6x10-tw28.h bool tw28_has_sharpness(struct solo_dev *solo_dev, u8 ch); solo_dev 47 drivers/media/pci/solo6x10/solo6x10-tw28.h u8 tw28_get_audio_gain(struct solo_dev *solo_dev, u8 ch); solo_dev 48 drivers/media/pci/solo6x10/solo6x10-tw28.h void tw28_set_audio_gain(struct solo_dev *solo_dev, u8 ch, u8 val); solo_dev 49 drivers/media/pci/solo6x10/solo6x10-tw28.h int tw28_get_video_status(struct solo_dev *solo_dev, u8 ch); solo_dev 95 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c struct solo_dev *solo_dev = solo_enc->solo_dev; solo_dev 97 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c return (solo_dev->motion_mask >> solo_enc->ch) & 1; solo_dev 102 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c struct solo_dev *solo_dev = solo_enc->solo_dev; solo_dev 108 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c if (solo_reg_read(solo_dev, SOLO_VI_MOT_STATUS) & ch_mask) { solo_dev 109 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_reg_write(solo_dev, SOLO_VI_MOT_CLEAR, ch_mask); solo_dev 119 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c struct solo_dev *solo_dev = solo_enc->solo_dev; solo_dev 126 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_dev->motion_mask |= mask; solo_dev 128 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_dev->motion_mask &= ~mask; solo_dev 130 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_reg_write(solo_dev, SOLO_VI_MOT_CLEAR, mask); solo_dev 132 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_reg_write(solo_dev, SOLO_VI_MOT_ADR, solo_dev 133 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c SOLO_VI_MOTION_EN(solo_dev->motion_mask) | solo_dev 134 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c (SOLO_MOTION_EXT_ADDR(solo_dev) >> 16)); solo_dev 141 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c struct solo_dev *solo_dev = solo_enc->solo_dev; solo_dev 146 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_enc->bw_weight = max(solo_dev->fps / solo_enc->interval, 1); solo_dev 149 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_enc->width = solo_dev->video_hsize >> 1; solo_dev 150 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_enc->height = solo_dev->video_vsize; solo_dev 151 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c if (solo_dev->type == SOLO_DEV_6110) { solo_dev 152 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c if (solo_dev->video_type == SOLO_VO_FMT_TYPE_NTSC) { solo_dev 160 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c if (solo_dev->video_type == SOLO_VO_FMT_TYPE_NTSC) { solo_dev 169 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_enc->width = solo_dev->video_hsize; solo_dev 170 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_enc->height = solo_dev->video_vsize << 1; solo_dev 172 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c if (solo_dev->type == SOLO_DEV_6110) { solo_dev 173 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c if (solo_dev->video_type == SOLO_VO_FMT_TYPE_NTSC) { solo_dev 181 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c if (solo_dev->video_type == SOLO_VO_FMT_TYPE_NTSC) { solo_dev 194 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c if (solo_dev->type == SOLO_DEV_6010) { solo_dev 195 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c u16 fps = solo_dev->fps * 1000; solo_dev 218 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c jpeg_dqt[solo_g_jpeg_qp(solo_dev, solo_enc->ch)], DQT_LEN); solo_dev 224 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c struct solo_dev *solo_dev = solo_enc->solo_dev; solo_dev 230 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c if (solo_enc->bw_weight > solo_dev->enc_bw_remain) solo_dev 233 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_dev->enc_bw_remain -= solo_enc->bw_weight; solo_dev 236 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_reg_write(solo_dev, SOLO_CAP_CH_COMP_ENA_E(ch), 1); solo_dev 239 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_reg_write(solo_dev, SOLO_CAP_CH_SCALE(ch), 0); solo_dev 242 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_reg_write(solo_dev, SOLO_VE_CH_INTL(ch), solo_dev 251 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_reg_write(solo_dev, SOLO_VE_CH_GOP(ch), solo_enc->gop); solo_dev 252 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_reg_write(solo_dev, SOLO_VE_CH_QP(ch), solo_enc->qp); solo_dev 253 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_reg_write(solo_dev, SOLO_CAP_CH_INTV(ch), interval); solo_dev 256 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_reg_write(solo_dev, SOLO_VE_CH_GOP_E(ch), solo_enc->gop); solo_dev 257 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_reg_write(solo_dev, SOLO_VE_CH_QP_E(ch), solo_enc->qp); solo_dev 258 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_reg_write(solo_dev, SOLO_CAP_CH_INTV_E(ch), interval); solo_dev 261 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_reg_write(solo_dev, SOLO_CAP_CH_SCALE(ch), solo_enc->mode); solo_dev 268 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c struct solo_dev *solo_dev = solo_enc->solo_dev; solo_dev 270 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_dev->enc_bw_remain += solo_enc->bw_weight; solo_dev 272 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_reg_write(solo_dev, SOLO_CAP_CH_SCALE(solo_enc->ch), 0); solo_dev 273 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_reg_write(solo_dev, SOLO_CAP_CH_COMP_ENA_E(solo_enc->ch), 0); solo_dev 276 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c static int enc_get_mpeg_dma(struct solo_dev *solo_dev, dma_addr_t dma, solo_dev 281 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c if (off > SOLO_MP4E_EXT_SIZE(solo_dev)) solo_dev 285 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c if (off + size <= SOLO_MP4E_EXT_SIZE(solo_dev)) { solo_dev 286 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c return solo_p2m_dma_t(solo_dev, 0, dma, solo_dev 287 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c SOLO_MP4E_EXT_ADDR(solo_dev) + off, size, solo_dev 292 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c ret = solo_p2m_dma_t(solo_dev, 0, dma, solo_dev 293 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c SOLO_MP4E_EXT_ADDR(solo_dev) + off, solo_dev 294 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c SOLO_MP4E_EXT_SIZE(solo_dev) - off, 0, 0); solo_dev 297 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c ret = solo_p2m_dma_t(solo_dev, 0, solo_dev 298 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c dma + SOLO_MP4E_EXT_SIZE(solo_dev) - off, solo_dev 299 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c SOLO_MP4E_EXT_ADDR(solo_dev), solo_dev 300 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c size + off - SOLO_MP4E_EXT_SIZE(solo_dev), 0, 0); solo_dev 312 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c struct solo_dev *solo_dev = solo_enc->solo_dev; solo_dev 354 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c ret = solo_p2m_dma_t(solo_dev, 0, dma, base + off, solo_dev 359 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c ret = solo_p2m_dma_t(solo_dev, 0, dma + left, base, solo_dev 377 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c ret = solo_p2m_dma_desc(solo_dev, solo_enc->desc_items, solo_dev 389 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c return solo_p2m_dma_desc(solo_dev, solo_enc->desc_items, solo_dev 453 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c struct solo_dev *solo_dev = solo_enc->solo_dev; solo_dev 466 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c vop_jpeg_offset(vh) - SOLO_JPEG_EXT_ADDR(solo_dev), solo_dev 467 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c frame_size, SOLO_JPEG_EXT_ADDR(solo_dev), solo_dev 468 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c SOLO_JPEG_EXT_SIZE(solo_dev)); solo_dev 475 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c struct solo_dev *solo_dev = solo_enc->solo_dev; solo_dev 497 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c frame_off = (vop_mpeg_offset(vh) - SOLO_MP4E_EXT_ADDR(solo_dev) + solo_dev 498 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c sizeof(*vh)) % SOLO_MP4E_EXT_SIZE(solo_dev); solo_dev 502 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c SOLO_MP4E_EXT_ADDR(solo_dev), solo_dev 503 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c SOLO_MP4E_EXT_SIZE(solo_dev)); solo_dev 573 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c void solo_enc_v4l2_isr(struct solo_dev *solo_dev) solo_dev 575 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c wake_up_interruptible_all(&solo_dev->ring_thread_wait); solo_dev 578 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c static void solo_handle_ring(struct solo_dev *solo_dev) solo_dev 588 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c cur_q = solo_reg_read(solo_dev, SOLO_VE_STATE(11)) & 0xff; solo_dev 589 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c if (cur_q == solo_dev->enc_idx) solo_dev 592 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c mpeg_current = solo_reg_read(solo_dev, solo_dev 593 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c SOLO_VE_MPEG4_QUE(solo_dev->enc_idx)); solo_dev 594 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_dev->enc_idx = (solo_dev->enc_idx + 1) % MP4_QS; solo_dev 605 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_enc = solo_dev->v4l2_enc[ch]; solo_dev 607 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c dev_err(&solo_dev->pdev->dev, solo_dev 613 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c if (enc_get_mpeg_dma(solo_dev, solo_dev->vh_dma, off, solo_dev 617 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c enc_buf.vh = solo_dev->vh_buf; solo_dev 621 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c SOLO_MP4E_EXT_ADDR(solo_dev) + off) solo_dev 635 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c struct solo_dev *solo_dev = data; solo_dev 639 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c add_wait_queue(&solo_dev->ring_thread_wait, &wait); solo_dev 646 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_handle_ring(solo_dev); solo_dev 650 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c remove_wait_queue(&solo_dev->ring_thread_wait, &wait); solo_dev 682 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c static int solo_ring_start(struct solo_dev *solo_dev) solo_dev 684 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_dev->ring_thread = kthread_run(solo_ring_thread, solo_dev, solo_dev 686 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c if (IS_ERR(solo_dev->ring_thread)) { solo_dev 687 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c int err = PTR_ERR(solo_dev->ring_thread); solo_dev 689 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_dev->ring_thread = NULL; solo_dev 693 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_irq_on(solo_dev, SOLO_IRQ_ENCODER); solo_dev 698 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c static void solo_ring_stop(struct solo_dev *solo_dev) solo_dev 700 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c if (solo_dev->ring_thread) { solo_dev 701 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c kthread_stop(solo_dev->ring_thread); solo_dev 702 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_dev->ring_thread = NULL; solo_dev 705 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_irq_off(solo_dev, SOLO_IRQ_ENCODER); solo_dev 767 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c struct solo_dev *solo_dev = solo_enc->solo_dev; solo_dev 773 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c pci_name(solo_dev->pdev)); solo_dev 781 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c struct solo_dev *solo_dev = solo_enc->solo_dev; solo_dev 791 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c if (!tw28_get_video_status(solo_dev, solo_enc->ch)) solo_dev 818 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c int dev_type = solo_enc->solo_dev->type; solo_dev 851 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c struct solo_dev *solo_dev = solo_enc->solo_dev; solo_dev 854 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c if (solo_valid_pixfmt(pix->pixelformat, solo_dev->type)) solo_dev 857 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c if (pix->width < solo_dev->video_hsize || solo_dev 858 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c pix->height < solo_dev->video_vsize << 1) { solo_dev 860 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c pix->width = solo_dev->video_hsize >> 1; solo_dev 861 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c pix->height = solo_dev->video_vsize; solo_dev 864 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c pix->width = solo_dev->video_hsize; solo_dev 865 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c pix->height = solo_dev->video_vsize << 1; solo_dev 890 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c struct solo_dev *solo_dev = solo_enc->solo_dev; solo_dev 901 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c if (pix->width == solo_dev->video_hsize) solo_dev 943 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c struct solo_dev *solo_dev = solo_enc->solo_dev; solo_dev 945 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c if (solo_dev->video_type == SOLO_VO_FMT_TYPE_NTSC) solo_dev 956 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c return solo_set_video_type(solo_enc->solo_dev, std & V4L2_STD_625_50); solo_dev 963 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c struct solo_dev *solo_dev = solo_enc->solo_dev; solo_dev 965 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c if (solo_valid_pixfmt(fsize->pixel_format, solo_dev->type)) solo_dev 970 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c fsize->discrete.width = solo_dev->video_hsize >> 1; solo_dev 971 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c fsize->discrete.height = solo_dev->video_vsize; solo_dev 974 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c fsize->discrete.width = solo_dev->video_hsize; solo_dev 975 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c fsize->discrete.height = solo_dev->video_vsize << 1; solo_dev 990 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c struct solo_dev *solo_dev = solo_enc->solo_dev; solo_dev 992 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c if (solo_valid_pixfmt(fintv->pixel_format, solo_dev->type)) solo_dev 996 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c if ((fintv->width != solo_dev->video_hsize >> 1 || solo_dev 997 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c fintv->height != solo_dev->video_vsize) && solo_dev 998 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c (fintv->width != solo_dev->video_hsize || solo_dev 999 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c fintv->height != solo_dev->video_vsize << 1)) solo_dev 1005 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c fintv->stepwise.min.denominator = solo_dev->fps; solo_dev 1008 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c fintv->stepwise.max.denominator = solo_dev->fps; solo_dev 1011 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c fintv->stepwise.step.denominator = solo_dev->fps; solo_dev 1024 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c cp->timeperframe.denominator = solo_enc->solo_dev->fps; solo_dev 1047 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c u8 fps = solo_enc->solo_dev->fps; solo_dev 1061 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c struct solo_dev *solo_dev = solo_enc->solo_dev; solo_dev 1070 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c return tw28_set_ctrl_val(solo_dev, ctrl->id, solo_enc->ch, solo_dev 1074 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_reg_write(solo_dev, SOLO_VE_CH_GOP(solo_enc->ch), solo_enc->gop); solo_dev 1075 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_reg_write(solo_dev, SOLO_VE_CH_GOP_E(solo_enc->ch), solo_enc->gop); solo_dev 1079 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_reg_write(solo_dev, SOLO_VE_CH_QP(solo_enc->ch), solo_enc->qp); solo_dev 1080 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_reg_write(solo_dev, SOLO_VE_CH_QP_E(solo_enc->ch), solo_enc->qp); solo_dev 1086 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c return solo_set_motion_threshold(solo_dev, solo_enc->ch, solo_dev 1093 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c err = solo_set_motion_threshold(solo_dev, solo_enc->ch, solo_dev 1096 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c err = solo_set_motion_block(solo_dev, solo_enc->ch, solo_dev 1105 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c return solo_set_motion_block(solo_dev, solo_enc->ch, solo_dev 1209 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c static struct solo_enc_dev *solo_enc_alloc(struct solo_dev *solo_dev, solo_dev 1230 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c if (tw28_has_sharpness(solo_dev, ch)) solo_dev 1234 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c V4L2_CID_MPEG_VIDEO_GOP_SIZE, 1, 255, 1, solo_dev->fps); solo_dev 1252 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_enc->solo_dev = solo_dev; solo_dev 1257 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_enc->fmt = (solo_dev->type == SOLO_DEV_6010) ? solo_dev 1262 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_enc->gop = solo_dev->fps; solo_dev 1276 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_enc->vidq.dev = &solo_dev->pdev->dev; solo_dev 1289 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_enc->desc_items = pci_alloc_consistent(solo_dev->pdev, solo_dev 1302 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_enc->vfd->v4l2_dev = &solo_dev->v4l2_dev; solo_dev 1312 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c "%s-enc (%i/%i)", SOLO6X10_NAME, solo_dev->vfd->num, solo_dev 1320 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c pci_free_consistent(solo_enc->solo_dev->pdev, solo_dev 1334 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c pci_free_consistent(solo_enc->solo_dev->pdev, solo_dev 1342 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c int solo_enc_v4l2_init(struct solo_dev *solo_dev, unsigned nr) solo_dev 1346 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c init_waitqueue_head(&solo_dev->ring_thread_wait); solo_dev 1348 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_dev->vh_size = sizeof(vop_header); solo_dev 1349 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_dev->vh_buf = pci_alloc_consistent(solo_dev->pdev, solo_dev 1350 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_dev->vh_size, solo_dev 1351 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c &solo_dev->vh_dma); solo_dev 1352 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c if (solo_dev->vh_buf == NULL) solo_dev 1355 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c for (i = 0; i < solo_dev->nr_chans; i++) { solo_dev 1356 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_dev->v4l2_enc[i] = solo_enc_alloc(solo_dev, i, nr); solo_dev 1357 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c if (IS_ERR(solo_dev->v4l2_enc[i])) solo_dev 1361 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c if (i != solo_dev->nr_chans) { solo_dev 1362 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c int ret = PTR_ERR(solo_dev->v4l2_enc[i]); solo_dev 1365 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_enc_free(solo_dev->v4l2_enc[i]); solo_dev 1366 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c pci_free_consistent(solo_dev->pdev, solo_dev->vh_size, solo_dev 1367 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_dev->vh_buf, solo_dev->vh_dma); solo_dev 1368 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_dev->vh_buf = NULL; solo_dev 1372 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c if (solo_dev->type == SOLO_DEV_6010) solo_dev 1373 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_dev->enc_bw_remain = solo_dev->fps * 4 * 4; solo_dev 1375 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_dev->enc_bw_remain = solo_dev->fps * 4 * 5; solo_dev 1377 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c dev_info(&solo_dev->pdev->dev, "Encoders as /dev/video%d-%d\n", solo_dev 1378 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_dev->v4l2_enc[0]->vfd->num, solo_dev 1379 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_dev->v4l2_enc[solo_dev->nr_chans - 1]->vfd->num); solo_dev 1381 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c return solo_ring_start(solo_dev); solo_dev 1384 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c void solo_enc_v4l2_exit(struct solo_dev *solo_dev) solo_dev 1388 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_ring_stop(solo_dev); solo_dev 1390 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c for (i = 0; i < solo_dev->nr_chans; i++) solo_dev 1391 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_enc_free(solo_dev->v4l2_enc[i]); solo_dev 1393 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c if (solo_dev->vh_buf) solo_dev 1394 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c pci_free_consistent(solo_dev->pdev, solo_dev->vh_size, solo_dev 1395 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c solo_dev->vh_buf, solo_dev->vh_dma); solo_dev 35 drivers/media/pci/solo6x10/solo6x10-v4l2.c static inline void erase_on(struct solo_dev *solo_dev) solo_dev 37 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_reg_write(solo_dev, SOLO_VO_DISP_ERASE, SOLO_VO_DISP_ERASE_ON); solo_dev 38 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_dev->erasing = 1; solo_dev 39 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_dev->frame_blank = 0; solo_dev 42 drivers/media/pci/solo6x10/solo6x10-v4l2.c static inline int erase_off(struct solo_dev *solo_dev) solo_dev 44 drivers/media/pci/solo6x10/solo6x10-v4l2.c if (!solo_dev->erasing) solo_dev 48 drivers/media/pci/solo6x10/solo6x10-v4l2.c if (!solo_dev->frame_blank) solo_dev 49 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_reg_write(solo_dev, SOLO_VO_DISP_ERASE, 0); solo_dev 51 drivers/media/pci/solo6x10/solo6x10-v4l2.c if (solo_dev->frame_blank++ >= 8) solo_dev 52 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_dev->erasing = 0; solo_dev 57 drivers/media/pci/solo6x10/solo6x10-v4l2.c void solo_video_in_isr(struct solo_dev *solo_dev) solo_dev 59 drivers/media/pci/solo6x10/solo6x10-v4l2.c wake_up_interruptible_all(&solo_dev->disp_thread_wait); solo_dev 62 drivers/media/pci/solo6x10/solo6x10-v4l2.c static void solo_win_setup(struct solo_dev *solo_dev, u8 ch, solo_dev 65 drivers/media/pci/solo6x10/solo6x10-v4l2.c if (ch >= solo_dev->nr_chans) solo_dev 69 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_reg_write(solo_dev, SOLO_VI_WIN_CTRL0(ch), solo_dev 75 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_reg_write(solo_dev, SOLO_VI_WIN_CTRL1(ch), solo_dev 80 drivers/media/pci/solo6x10/solo6x10-v4l2.c static int solo_v4l2_ch_ext_4up(struct solo_dev *solo_dev, u8 idx, int on) solo_dev 84 drivers/media/pci/solo6x10/solo6x10-v4l2.c if (ch >= solo_dev->nr_chans) solo_dev 91 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_win_setup(solo_dev, i, solo_dev->video_hsize, solo_dev 92 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_vlines(solo_dev), solo_dev 93 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_dev->video_hsize, solo_dev 94 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_vlines(solo_dev), 0); solo_dev 99 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_win_setup(solo_dev, ch, 0, 0, solo_dev->video_hsize / 2, solo_dev 100 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_vlines(solo_dev) / 2, 3); solo_dev 101 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_win_setup(solo_dev, ch + 1, solo_dev->video_hsize / 2, 0, solo_dev 102 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_dev->video_hsize, solo_vlines(solo_dev) / 2, 3); solo_dev 104 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_win_setup(solo_dev, ch + 2, 0, solo_vlines(solo_dev) / 2, solo_dev 105 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_dev->video_hsize / 2, solo_vlines(solo_dev), 3); solo_dev 106 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_win_setup(solo_dev, ch + 3, solo_dev->video_hsize / 2, solo_dev 107 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_vlines(solo_dev) / 2, solo_dev->video_hsize, solo_dev 108 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_vlines(solo_dev), 3); solo_dev 113 drivers/media/pci/solo6x10/solo6x10-v4l2.c static int solo_v4l2_ch_ext_16up(struct solo_dev *solo_dev, int on) solo_dev 119 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_win_setup(solo_dev, i, solo_dev->video_hsize, solo_dev 120 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_vlines(solo_dev), solo_dev 121 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_dev->video_hsize, solo_dev 122 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_vlines(solo_dev), 0); solo_dev 126 drivers/media/pci/solo6x10/solo6x10-v4l2.c ysize = solo_vlines(solo_dev) / 4; solo_dev 127 drivers/media/pci/solo6x10/solo6x10-v4l2.c hsize = solo_dev->video_hsize / 4; solo_dev 130 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_win_setup(solo_dev, i * 4, 0, sy, hsize, solo_dev 132 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_win_setup(solo_dev, (i * 4) + 1, hsize, sy, solo_dev 134 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_win_setup(solo_dev, (i * 4) + 2, hsize * 2, sy, solo_dev 136 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_win_setup(solo_dev, (i * 4) + 3, hsize * 3, sy, solo_dev 137 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_dev->video_hsize, sy + ysize, 5); solo_dev 143 drivers/media/pci/solo6x10/solo6x10-v4l2.c static int solo_v4l2_ch(struct solo_dev *solo_dev, u8 ch, int on) solo_dev 147 drivers/media/pci/solo6x10/solo6x10-v4l2.c if (ch < solo_dev->nr_chans) { solo_dev 148 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_win_setup(solo_dev, ch, on ? 0 : solo_dev->video_hsize, solo_dev 149 drivers/media/pci/solo6x10/solo6x10-v4l2.c on ? 0 : solo_vlines(solo_dev), solo_dev 150 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_dev->video_hsize, solo_vlines(solo_dev), solo_dev 155 drivers/media/pci/solo6x10/solo6x10-v4l2.c if (ch >= solo_dev->nr_chans + solo_dev->nr_ext) solo_dev 158 drivers/media/pci/solo6x10/solo6x10-v4l2.c ext_ch = ch - solo_dev->nr_chans; solo_dev 162 drivers/media/pci/solo6x10/solo6x10-v4l2.c return solo_v4l2_ch_ext_4up(solo_dev, ext_ch, on); solo_dev 165 drivers/media/pci/solo6x10/solo6x10-v4l2.c return solo_v4l2_ch_ext_16up(solo_dev, on); solo_dev 168 drivers/media/pci/solo6x10/solo6x10-v4l2.c static int solo_v4l2_set_ch(struct solo_dev *solo_dev, u8 ch) solo_dev 170 drivers/media/pci/solo6x10/solo6x10-v4l2.c if (ch >= solo_dev->nr_chans + solo_dev->nr_ext) solo_dev 173 drivers/media/pci/solo6x10/solo6x10-v4l2.c erase_on(solo_dev); solo_dev 175 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_v4l2_ch(solo_dev, solo_dev->cur_disp_ch, 0); solo_dev 176 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_v4l2_ch(solo_dev, ch, 1); solo_dev 178 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_dev->cur_disp_ch = ch; solo_dev 183 drivers/media/pci/solo6x10/solo6x10-v4l2.c static void solo_fillbuf(struct solo_dev *solo_dev, solo_dev 196 drivers/media/pci/solo6x10/solo6x10-v4l2.c if (erase_off(solo_dev)) { solo_dev 198 drivers/media/pci/solo6x10/solo6x10-v4l2.c int image_size = solo_image_size(solo_dev); solo_dev 206 drivers/media/pci/solo6x10/solo6x10-v4l2.c fdma_addr = SOLO_DISP_EXT_ADDR + (solo_dev->old_write * solo_dev 207 drivers/media/pci/solo6x10/solo6x10-v4l2.c (SOLO_HW_BPL * solo_vlines(solo_dev))); solo_dev 209 drivers/media/pci/solo6x10/solo6x10-v4l2.c error = solo_p2m_dma_t(solo_dev, 0, addr, fdma_addr, solo_dev 210 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_bytesperline(solo_dev), solo_dev 211 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_vlines(solo_dev), SOLO_HW_BPL); solo_dev 217 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_vlines(solo_dev) * solo_bytesperline(solo_dev)); solo_dev 218 drivers/media/pci/solo6x10/solo6x10-v4l2.c vbuf->sequence = solo_dev->sequence++; solo_dev 225 drivers/media/pci/solo6x10/solo6x10-v4l2.c static void solo_thread_try(struct solo_dev *solo_dev) solo_dev 235 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_reg_read(solo_dev, SOLO_VI_STATUS0)); solo_dev 236 drivers/media/pci/solo6x10/solo6x10-v4l2.c if (cur_write == solo_dev->old_write) solo_dev 239 drivers/media/pci/solo6x10/solo6x10-v4l2.c spin_lock(&solo_dev->slock); solo_dev 241 drivers/media/pci/solo6x10/solo6x10-v4l2.c if (list_empty(&solo_dev->vidq_active)) solo_dev 244 drivers/media/pci/solo6x10/solo6x10-v4l2.c vb = list_first_entry(&solo_dev->vidq_active, struct solo_vb2_buf, solo_dev 247 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_dev->old_write = cur_write; solo_dev 250 drivers/media/pci/solo6x10/solo6x10-v4l2.c spin_unlock(&solo_dev->slock); solo_dev 252 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_fillbuf(solo_dev, &vb->vb.vb2_buf); solo_dev 255 drivers/media/pci/solo6x10/solo6x10-v4l2.c assert_spin_locked(&solo_dev->slock); solo_dev 256 drivers/media/pci/solo6x10/solo6x10-v4l2.c spin_unlock(&solo_dev->slock); solo_dev 261 drivers/media/pci/solo6x10/solo6x10-v4l2.c struct solo_dev *solo_dev = data; solo_dev 265 drivers/media/pci/solo6x10/solo6x10-v4l2.c add_wait_queue(&solo_dev->disp_thread_wait, &wait); solo_dev 272 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_thread_try(solo_dev); solo_dev 276 drivers/media/pci/solo6x10/solo6x10-v4l2.c remove_wait_queue(&solo_dev->disp_thread_wait, &wait); solo_dev 281 drivers/media/pci/solo6x10/solo6x10-v4l2.c static int solo_start_thread(struct solo_dev *solo_dev) solo_dev 285 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_dev->kthread = kthread_run(solo_thread, solo_dev, SOLO6X10_NAME "_disp"); solo_dev 287 drivers/media/pci/solo6x10/solo6x10-v4l2.c if (IS_ERR(solo_dev->kthread)) { solo_dev 288 drivers/media/pci/solo6x10/solo6x10-v4l2.c ret = PTR_ERR(solo_dev->kthread); solo_dev 289 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_dev->kthread = NULL; solo_dev 292 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_irq_on(solo_dev, SOLO_IRQ_VIDEO_IN); solo_dev 297 drivers/media/pci/solo6x10/solo6x10-v4l2.c static void solo_stop_thread(struct solo_dev *solo_dev) solo_dev 299 drivers/media/pci/solo6x10/solo6x10-v4l2.c if (!solo_dev->kthread) solo_dev 302 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_irq_off(solo_dev, SOLO_IRQ_VIDEO_IN); solo_dev 303 drivers/media/pci/solo6x10/solo6x10-v4l2.c kthread_stop(solo_dev->kthread); solo_dev 304 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_dev->kthread = NULL; solo_dev 311 drivers/media/pci/solo6x10/solo6x10-v4l2.c struct solo_dev *solo_dev = vb2_get_drv_priv(q); solo_dev 313 drivers/media/pci/solo6x10/solo6x10-v4l2.c sizes[0] = solo_image_size(solo_dev); solo_dev 324 drivers/media/pci/solo6x10/solo6x10-v4l2.c struct solo_dev *solo_dev = vb2_get_drv_priv(q); solo_dev 326 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_dev->sequence = 0; solo_dev 327 drivers/media/pci/solo6x10/solo6x10-v4l2.c return solo_start_thread(solo_dev); solo_dev 332 drivers/media/pci/solo6x10/solo6x10-v4l2.c struct solo_dev *solo_dev = vb2_get_drv_priv(q); solo_dev 334 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_stop_thread(solo_dev); solo_dev 336 drivers/media/pci/solo6x10/solo6x10-v4l2.c spin_lock(&solo_dev->slock); solo_dev 337 drivers/media/pci/solo6x10/solo6x10-v4l2.c while (!list_empty(&solo_dev->vidq_active)) { solo_dev 339 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_dev->vidq_active.next, solo_dev 345 drivers/media/pci/solo6x10/solo6x10-v4l2.c spin_unlock(&solo_dev->slock); solo_dev 346 drivers/media/pci/solo6x10/solo6x10-v4l2.c INIT_LIST_HEAD(&solo_dev->vidq_active); solo_dev 353 drivers/media/pci/solo6x10/solo6x10-v4l2.c struct solo_dev *solo_dev = vb2_get_drv_priv(vq); solo_dev 357 drivers/media/pci/solo6x10/solo6x10-v4l2.c spin_lock(&solo_dev->slock); solo_dev 358 drivers/media/pci/solo6x10/solo6x10-v4l2.c list_add_tail(&solo_vb->list, &solo_dev->vidq_active); solo_dev 359 drivers/media/pci/solo6x10/solo6x10-v4l2.c spin_unlock(&solo_dev->slock); solo_dev 360 drivers/media/pci/solo6x10/solo6x10-v4l2.c wake_up_interruptible(&solo_dev->disp_thread_wait); solo_dev 375 drivers/media/pci/solo6x10/solo6x10-v4l2.c struct solo_dev *solo_dev = video_drvdata(file); solo_dev 380 drivers/media/pci/solo6x10/solo6x10-v4l2.c pci_name(solo_dev->pdev)); solo_dev 384 drivers/media/pci/solo6x10/solo6x10-v4l2.c static int solo_enum_ext_input(struct solo_dev *solo_dev, solo_dev 387 drivers/media/pci/solo6x10/solo6x10-v4l2.c int ext = input->index - solo_dev->nr_chans; solo_dev 390 drivers/media/pci/solo6x10/solo6x10-v4l2.c if (ext >= solo_dev->nr_ext) solo_dev 411 drivers/media/pci/solo6x10/solo6x10-v4l2.c struct solo_dev *solo_dev = video_drvdata(file); solo_dev 413 drivers/media/pci/solo6x10/solo6x10-v4l2.c if (input->index >= solo_dev->nr_chans) { solo_dev 414 drivers/media/pci/solo6x10/solo6x10-v4l2.c int ret = solo_enum_ext_input(solo_dev, input); solo_dev 423 drivers/media/pci/solo6x10/solo6x10-v4l2.c if (!tw28_get_video_status(solo_dev, input->index)) solo_dev 428 drivers/media/pci/solo6x10/solo6x10-v4l2.c input->std = solo_dev->vfd->tvnorms; solo_dev 434 drivers/media/pci/solo6x10/solo6x10-v4l2.c struct solo_dev *solo_dev = video_drvdata(file); solo_dev 435 drivers/media/pci/solo6x10/solo6x10-v4l2.c int ret = solo_v4l2_set_ch(solo_dev, index); solo_dev 438 drivers/media/pci/solo6x10/solo6x10-v4l2.c while (erase_off(solo_dev)) solo_dev 447 drivers/media/pci/solo6x10/solo6x10-v4l2.c struct solo_dev *solo_dev = video_drvdata(file); solo_dev 449 drivers/media/pci/solo6x10/solo6x10-v4l2.c *index = solo_dev->cur_disp_ch; solo_dev 467 drivers/media/pci/solo6x10/solo6x10-v4l2.c struct solo_dev *solo_dev = video_drvdata(file); solo_dev 469 drivers/media/pci/solo6x10/solo6x10-v4l2.c int image_size = solo_image_size(solo_dev); solo_dev 474 drivers/media/pci/solo6x10/solo6x10-v4l2.c pix->width = solo_dev->video_hsize; solo_dev 475 drivers/media/pci/solo6x10/solo6x10-v4l2.c pix->height = solo_vlines(solo_dev); solo_dev 486 drivers/media/pci/solo6x10/solo6x10-v4l2.c struct solo_dev *solo_dev = video_drvdata(file); solo_dev 488 drivers/media/pci/solo6x10/solo6x10-v4l2.c if (vb2_is_busy(&solo_dev->vidq)) solo_dev 499 drivers/media/pci/solo6x10/solo6x10-v4l2.c struct solo_dev *solo_dev = video_drvdata(file); solo_dev 502 drivers/media/pci/solo6x10/solo6x10-v4l2.c pix->width = solo_dev->video_hsize; solo_dev 503 drivers/media/pci/solo6x10/solo6x10-v4l2.c pix->height = solo_vlines(solo_dev); solo_dev 506 drivers/media/pci/solo6x10/solo6x10-v4l2.c pix->sizeimage = solo_image_size(solo_dev); solo_dev 508 drivers/media/pci/solo6x10/solo6x10-v4l2.c pix->bytesperline = solo_bytesperline(solo_dev); solo_dev 515 drivers/media/pci/solo6x10/solo6x10-v4l2.c struct solo_dev *solo_dev = video_drvdata(file); solo_dev 517 drivers/media/pci/solo6x10/solo6x10-v4l2.c if (solo_dev->video_type == SOLO_VO_FMT_TYPE_NTSC) solo_dev 524 drivers/media/pci/solo6x10/solo6x10-v4l2.c int solo_set_video_type(struct solo_dev *solo_dev, bool is_50hz) solo_dev 529 drivers/media/pci/solo6x10/solo6x10-v4l2.c if (vb2_is_busy(&solo_dev->vidq)) solo_dev 531 drivers/media/pci/solo6x10/solo6x10-v4l2.c for (i = 0; i < solo_dev->nr_chans; i++) solo_dev 532 drivers/media/pci/solo6x10/solo6x10-v4l2.c if (vb2_is_busy(&solo_dev->v4l2_enc[i]->vidq)) solo_dev 534 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_dev->video_type = is_50hz ? SOLO_VO_FMT_TYPE_PAL : solo_dev 537 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_disp_init(solo_dev); solo_dev 538 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_enc_init(solo_dev); solo_dev 539 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_tw28_init(solo_dev); solo_dev 540 drivers/media/pci/solo6x10/solo6x10-v4l2.c for (i = 0; i < solo_dev->nr_chans; i++) solo_dev 541 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_update_mode(solo_dev->v4l2_enc[i]); solo_dev 542 drivers/media/pci/solo6x10/solo6x10-v4l2.c return solo_v4l2_set_ch(solo_dev, solo_dev->cur_disp_ch); solo_dev 547 drivers/media/pci/solo6x10/solo6x10-v4l2.c struct solo_dev *solo_dev = video_drvdata(file); solo_dev 549 drivers/media/pci/solo6x10/solo6x10-v4l2.c return solo_set_video_type(solo_dev, std & V4L2_STD_625_50); solo_dev 554 drivers/media/pci/solo6x10/solo6x10-v4l2.c struct solo_dev *solo_dev = solo_dev 555 drivers/media/pci/solo6x10/solo6x10-v4l2.c container_of(ctrl->handler, struct solo_dev, disp_hdl); solo_dev 560 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_reg_write(solo_dev, SOLO_VI_MOTION_BORDER, solo_dev 565 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_reg_write(solo_dev, SOLO_VI_MOTION_BAR, solo_dev 571 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_reg_write(solo_dev, SOLO_VI_MOTION_BORDER, 0); solo_dev 572 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_reg_write(solo_dev, SOLO_VI_MOTION_BAR, 0); solo_dev 641 drivers/media/pci/solo6x10/solo6x10-v4l2.c int solo_v4l2_init(struct solo_dev *solo_dev, unsigned nr) solo_dev 646 drivers/media/pci/solo6x10/solo6x10-v4l2.c init_waitqueue_head(&solo_dev->disp_thread_wait); solo_dev 647 drivers/media/pci/solo6x10/solo6x10-v4l2.c spin_lock_init(&solo_dev->slock); solo_dev 648 drivers/media/pci/solo6x10/solo6x10-v4l2.c mutex_init(&solo_dev->lock); solo_dev 649 drivers/media/pci/solo6x10/solo6x10-v4l2.c INIT_LIST_HEAD(&solo_dev->vidq_active); solo_dev 651 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_dev->vfd = video_device_alloc(); solo_dev 652 drivers/media/pci/solo6x10/solo6x10-v4l2.c if (!solo_dev->vfd) solo_dev 655 drivers/media/pci/solo6x10/solo6x10-v4l2.c *solo_dev->vfd = solo_v4l2_template; solo_dev 656 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_dev->vfd->v4l2_dev = &solo_dev->v4l2_dev; solo_dev 657 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_dev->vfd->queue = &solo_dev->vidq; solo_dev 658 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_dev->vfd->lock = &solo_dev->lock; solo_dev 659 drivers/media/pci/solo6x10/solo6x10-v4l2.c v4l2_ctrl_handler_init(&solo_dev->disp_hdl, 1); solo_dev 660 drivers/media/pci/solo6x10/solo6x10-v4l2.c v4l2_ctrl_new_custom(&solo_dev->disp_hdl, &solo_motion_trace_ctrl, NULL); solo_dev 661 drivers/media/pci/solo6x10/solo6x10-v4l2.c if (solo_dev->disp_hdl.error) { solo_dev 662 drivers/media/pci/solo6x10/solo6x10-v4l2.c ret = solo_dev->disp_hdl.error; solo_dev 665 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_dev->vfd->ctrl_handler = &solo_dev->disp_hdl; solo_dev 667 drivers/media/pci/solo6x10/solo6x10-v4l2.c video_set_drvdata(solo_dev->vfd, solo_dev); solo_dev 669 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_dev->vidq.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; solo_dev 670 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_dev->vidq.io_modes = VB2_MMAP | VB2_USERPTR | VB2_READ; solo_dev 671 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_dev->vidq.ops = &solo_video_qops; solo_dev 672 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_dev->vidq.mem_ops = &vb2_dma_contig_memops; solo_dev 673 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_dev->vidq.drv_priv = solo_dev; solo_dev 674 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_dev->vidq.timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; solo_dev 675 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_dev->vidq.gfp_flags = __GFP_DMA32 | __GFP_KSWAPD_RECLAIM; solo_dev 676 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_dev->vidq.buf_struct_size = sizeof(struct solo_vb2_buf); solo_dev 677 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_dev->vidq.lock = &solo_dev->lock; solo_dev 678 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_dev->vidq.dev = &solo_dev->pdev->dev; solo_dev 679 drivers/media/pci/solo6x10/solo6x10-v4l2.c ret = vb2_queue_init(&solo_dev->vidq); solo_dev 684 drivers/media/pci/solo6x10/solo6x10-v4l2.c for (i = 0; i < solo_dev->nr_chans; i++) { solo_dev 685 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_v4l2_set_ch(solo_dev, i); solo_dev 686 drivers/media/pci/solo6x10/solo6x10-v4l2.c while (erase_off(solo_dev)) solo_dev 691 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_v4l2_set_ch(solo_dev, 0); solo_dev 692 drivers/media/pci/solo6x10/solo6x10-v4l2.c while (erase_off(solo_dev)) solo_dev 695 drivers/media/pci/solo6x10/solo6x10-v4l2.c ret = video_register_device(solo_dev->vfd, VFL_TYPE_GRABBER, nr); solo_dev 699 drivers/media/pci/solo6x10/solo6x10-v4l2.c snprintf(solo_dev->vfd->name, sizeof(solo_dev->vfd->name), "%s (%i)", solo_dev 700 drivers/media/pci/solo6x10/solo6x10-v4l2.c SOLO6X10_NAME, solo_dev->vfd->num); solo_dev 702 drivers/media/pci/solo6x10/solo6x10-v4l2.c dev_info(&solo_dev->pdev->dev, "Display as /dev/video%d with %d inputs (%d extended)\n", solo_dev 703 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_dev->vfd->num, solo_dev 704 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_dev->nr_chans, solo_dev->nr_ext); solo_dev 709 drivers/media/pci/solo6x10/solo6x10-v4l2.c video_device_release(solo_dev->vfd); solo_dev 710 drivers/media/pci/solo6x10/solo6x10-v4l2.c v4l2_ctrl_handler_free(&solo_dev->disp_hdl); solo_dev 711 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_dev->vfd = NULL; solo_dev 715 drivers/media/pci/solo6x10/solo6x10-v4l2.c void solo_v4l2_exit(struct solo_dev *solo_dev) solo_dev 717 drivers/media/pci/solo6x10/solo6x10-v4l2.c if (solo_dev->vfd == NULL) solo_dev 720 drivers/media/pci/solo6x10/solo6x10-v4l2.c video_unregister_device(solo_dev->vfd); solo_dev 721 drivers/media/pci/solo6x10/solo6x10-v4l2.c v4l2_ctrl_handler_free(&solo_dev->disp_hdl); solo_dev 722 drivers/media/pci/solo6x10/solo6x10-v4l2.c solo_dev->vfd = NULL; solo_dev 140 drivers/media/pci/solo6x10/solo6x10.h struct solo_dev *solo_dev; solo_dev 275 drivers/media/pci/solo6x10/solo6x10.h static inline u32 solo_reg_read(struct solo_dev *solo_dev, int reg) solo_dev 277 drivers/media/pci/solo6x10/solo6x10.h return readl(solo_dev->reg_base + reg); solo_dev 280 drivers/media/pci/solo6x10/solo6x10.h static inline void solo_reg_write(struct solo_dev *solo_dev, int reg, solo_dev 285 drivers/media/pci/solo6x10/solo6x10.h writel(data, solo_dev->reg_base + reg); solo_dev 286 drivers/media/pci/solo6x10/solo6x10.h pci_read_config_word(solo_dev->pdev, PCI_STATUS, &val); solo_dev 289 drivers/media/pci/solo6x10/solo6x10.h static inline void solo_irq_on(struct solo_dev *dev, u32 mask) solo_dev 295 drivers/media/pci/solo6x10/solo6x10.h static inline void solo_irq_off(struct solo_dev *dev, u32 mask) solo_dev 302 drivers/media/pci/solo6x10/solo6x10.h int solo_disp_init(struct solo_dev *solo_dev); solo_dev 303 drivers/media/pci/solo6x10/solo6x10.h void solo_disp_exit(struct solo_dev *solo_dev); solo_dev 305 drivers/media/pci/solo6x10/solo6x10.h int solo_gpio_init(struct solo_dev *solo_dev); solo_dev 306 drivers/media/pci/solo6x10/solo6x10.h void solo_gpio_exit(struct solo_dev *solo_dev); solo_dev 308 drivers/media/pci/solo6x10/solo6x10.h int solo_i2c_init(struct solo_dev *solo_dev); solo_dev 309 drivers/media/pci/solo6x10/solo6x10.h void solo_i2c_exit(struct solo_dev *solo_dev); solo_dev 311 drivers/media/pci/solo6x10/solo6x10.h int solo_p2m_init(struct solo_dev *solo_dev); solo_dev 312 drivers/media/pci/solo6x10/solo6x10.h void solo_p2m_exit(struct solo_dev *solo_dev); solo_dev 314 drivers/media/pci/solo6x10/solo6x10.h int solo_v4l2_init(struct solo_dev *solo_dev, unsigned nr); solo_dev 315 drivers/media/pci/solo6x10/solo6x10.h void solo_v4l2_exit(struct solo_dev *solo_dev); solo_dev 317 drivers/media/pci/solo6x10/solo6x10.h int solo_enc_init(struct solo_dev *solo_dev); solo_dev 318 drivers/media/pci/solo6x10/solo6x10.h void solo_enc_exit(struct solo_dev *solo_dev); solo_dev 320 drivers/media/pci/solo6x10/solo6x10.h int solo_enc_v4l2_init(struct solo_dev *solo_dev, unsigned nr); solo_dev 321 drivers/media/pci/solo6x10/solo6x10.h void solo_enc_v4l2_exit(struct solo_dev *solo_dev); solo_dev 323 drivers/media/pci/solo6x10/solo6x10.h int solo_g723_init(struct solo_dev *solo_dev); solo_dev 324 drivers/media/pci/solo6x10/solo6x10.h void solo_g723_exit(struct solo_dev *solo_dev); solo_dev 327 drivers/media/pci/solo6x10/solo6x10.h int solo_i2c_isr(struct solo_dev *solo_dev); solo_dev 328 drivers/media/pci/solo6x10/solo6x10.h void solo_p2m_isr(struct solo_dev *solo_dev, int id); solo_dev 329 drivers/media/pci/solo6x10/solo6x10.h void solo_p2m_error_isr(struct solo_dev *solo_dev); solo_dev 330 drivers/media/pci/solo6x10/solo6x10.h void solo_enc_v4l2_isr(struct solo_dev *solo_dev); solo_dev 331 drivers/media/pci/solo6x10/solo6x10.h void solo_g723_isr(struct solo_dev *solo_dev); solo_dev 332 drivers/media/pci/solo6x10/solo6x10.h void solo_motion_isr(struct solo_dev *solo_dev); solo_dev 333 drivers/media/pci/solo6x10/solo6x10.h void solo_video_in_isr(struct solo_dev *solo_dev); solo_dev 336 drivers/media/pci/solo6x10/solo6x10.h u8 solo_i2c_readbyte(struct solo_dev *solo_dev, int id, u8 addr, u8 off); solo_dev 337 drivers/media/pci/solo6x10/solo6x10.h void solo_i2c_writebyte(struct solo_dev *solo_dev, int id, u8 addr, u8 off, solo_dev 341 drivers/media/pci/solo6x10/solo6x10.h int solo_p2m_dma_t(struct solo_dev *solo_dev, int wr, solo_dev 344 drivers/media/pci/solo6x10/solo6x10.h int solo_p2m_dma(struct solo_dev *solo_dev, int wr, solo_dev 350 drivers/media/pci/solo6x10/solo6x10.h int solo_p2m_dma_desc(struct solo_dev *solo_dev, solo_dev 355 drivers/media/pci/solo6x10/solo6x10.h int solo_set_video_type(struct solo_dev *solo_dev, bool is_50hz); solo_dev 359 drivers/media/pci/solo6x10/solo6x10.h int solo_set_motion_threshold(struct solo_dev *solo_dev, u8 ch, u16 val); solo_dev 360 drivers/media/pci/solo6x10/solo6x10.h int solo_set_motion_block(struct solo_dev *solo_dev, u8 ch, solo_dev 368 drivers/media/pci/solo6x10/solo6x10.h unsigned int solo_eeprom_ewen(struct solo_dev *solo_dev, int w_en); solo_dev 369 drivers/media/pci/solo6x10/solo6x10.h __be16 solo_eeprom_read(struct solo_dev *solo_dev, int loc); solo_dev 370 drivers/media/pci/solo6x10/solo6x10.h int solo_eeprom_write(struct solo_dev *solo_dev, int loc, solo_dev 374 drivers/media/pci/solo6x10/solo6x10.h void solo_s_jpeg_qp(struct solo_dev *solo_dev, unsigned int ch, solo_dev 376 drivers/media/pci/solo6x10/solo6x10.h int solo_g_jpeg_qp(struct solo_dev *solo_dev, unsigned int ch);