/linux-6.1.9/drivers/media/pci/ivtv/ |
D | ivtv-driver.c | 310 void ivtv_clear_irq_mask(struct ivtv *itv, u32 mask) in ivtv_clear_irq_mask() argument 312 itv->irqmask &= ~mask; in ivtv_clear_irq_mask() 313 write_reg_sync(itv->irqmask, IVTV_REG_IRQMASK); in ivtv_clear_irq_mask() 316 void ivtv_set_irq_mask(struct ivtv *itv, u32 mask) in ivtv_set_irq_mask() argument 318 itv->irqmask |= mask; in ivtv_set_irq_mask() 319 write_reg_sync(itv->irqmask, IVTV_REG_IRQMASK); in ivtv_set_irq_mask() 322 int ivtv_set_output_mode(struct ivtv *itv, int mode) in ivtv_set_output_mode() argument 326 spin_lock(&itv->lock); in ivtv_set_output_mode() 327 old_mode = itv->output_mode; in ivtv_set_output_mode() 329 itv->output_mode = old_mode = mode; in ivtv_set_output_mode() [all …]
|
D | ivtv-i2c.c | 163 static int ivtv_i2c_new_ir(struct ivtv *itv, u32 hw, const char *type, u8 addr) in ivtv_i2c_new_ir() argument 166 struct i2c_adapter *adap = &itv->i2c_adap; in ivtv_i2c_new_ir() 167 struct IR_i2c_init_data *init_data = &itv->ir_i2c_init_data; in ivtv_i2c_new_ir() 171 if (itv->hw_flags & IVTV_HW_IR_ANY) in ivtv_i2c_new_ir() 188 init_data->name = itv->card_name; in ivtv_i2c_new_ir() 196 init_data->name = itv->card_name; in ivtv_i2c_new_ir() 200 init_data->name = itv->card_name; in ivtv_i2c_new_ir() 216 void ivtv_i2c_new_ir_legacy(struct ivtv *itv) in ivtv_i2c_new_ir_legacy() argument 238 i2c_new_scanned_device(&itv->i2c_adap, &info, addr_list, NULL); in ivtv_i2c_new_ir_legacy() 241 int ivtv_i2c_register(struct ivtv *itv, unsigned idx) in ivtv_i2c_register() argument [all …]
|
D | ivtv-streams.c | 168 static void ivtv_stream_init(struct ivtv *itv, int type) in ivtv_stream_init() argument 170 struct ivtv_stream *s = &itv->streams[type]; in ivtv_stream_init() 176 s->itv = itv; in ivtv_stream_init() 185 s->buf_size = itv->stream_buf_size[type]; in ivtv_stream_init() 187 s->buffers = (itv->options.kilobytes[type] * 1024 + s->buf_size - 1) / s->buf_size; in ivtv_stream_init() 198 static int ivtv_prep_dev(struct ivtv *itv, int type) in ivtv_prep_dev() argument 200 struct ivtv_stream *s = &itv->streams[type]; in ivtv_prep_dev() 202 int num = itv->instance + ivtv_first_minor + num_offset; in ivtv_prep_dev() 208 s->itv = itv; in ivtv_prep_dev() 213 if (type == IVTV_ENC_STREAM_TYPE_RAD && !(itv->v4l2_cap & V4L2_CAP_RADIO)) in ivtv_prep_dev() [all …]
|
D | ivtv-firmware.c | 40 static int load_fw_direct(const char *fn, volatile u8 __iomem *mem, struct ivtv *itv, long size) in load_fw_direct() argument 46 if (retries && request_firmware(&fw, fn, &itv->pdev->dev) == 0) { in load_fw_direct() 76 void ivtv_halt_firmware(struct ivtv *itv) in ivtv_halt_firmware() argument 79 if (itv->has_cx23415 && itv->dec_mbox.mbox) in ivtv_halt_firmware() 80 ivtv_vapi(itv, CX2341X_DEC_HALT_FW, 0); in ivtv_halt_firmware() 81 if (itv->enc_mbox.mbox) in ivtv_halt_firmware() 82 ivtv_vapi(itv, CX2341X_ENC_HALT_FW, 0); in ivtv_halt_firmware() 85 itv->enc_mbox.mbox = itv->dec_mbox.mbox = NULL; in ivtv_halt_firmware() 97 if (!itv->has_cx23415) in ivtv_halt_firmware() 116 if (itv->has_cx23415) { in ivtv_halt_firmware() [all …]
|
D | ivtv-ioctl.c | 114 void ivtv_set_osd_alpha(struct ivtv *itv) in ivtv_set_osd_alpha() argument 116 ivtv_vapi(itv, CX2341X_OSD_SET_GLOBAL_ALPHA, 3, in ivtv_set_osd_alpha() 117 itv->osd_global_alpha_state, itv->osd_global_alpha, !itv->osd_local_alpha_state); in ivtv_set_osd_alpha() 118 ivtv_vapi(itv, CX2341X_OSD_SET_CHROMA_KEY, 2, itv->osd_chroma_key_state, itv->osd_chroma_key); in ivtv_set_osd_alpha() 121 int ivtv_set_speed(struct ivtv *itv, int speed) in ivtv_set_speed() argument 130 if (speed == itv->speed && !single_step) in ivtv_set_speed() 133 if (single_step && (speed < 0) == (itv->speed < 0)) { in ivtv_set_speed() 135 ivtv_vapi(itv, CX2341X_DEC_STEP_VIDEO, 1, 0); in ivtv_set_speed() 136 itv->speed = speed; in ivtv_set_speed() 147 data[3] = v4l2_ctrl_g_ctrl(itv->cxhdl.video_b_frames); in ivtv_set_speed() [all …]
|
D | ivtv-fileops.c | 34 struct ivtv *itv = id->itv; in ivtv_claim_stream() local 35 struct ivtv_stream *s = &itv->streams[type]; in ivtv_claim_stream() 61 ivtv_clear_irq_mask(itv, IVTV_IRQ_DEC_VBI_RE_INSERT); in ivtv_claim_stream() 71 itv->vbi.insert_mpeg && !ivtv_raw_vbi(itv)) { in ivtv_claim_stream() 76 s_vbi = &itv->streams[vbi_type]; in ivtv_claim_stream() 81 ivtv_clear_irq_mask(itv, IVTV_IRQ_DEC_VBI_RE_INSERT); in ivtv_claim_stream() 93 struct ivtv *itv = s->itv; in ivtv_release_stream() local 111 ivtv_set_irq_mask(itv, IVTV_IRQ_DEC_VBI_RE_INSERT); in ivtv_release_stream() 117 s_vbi = &itv->streams[IVTV_DEC_STREAM_TYPE_VBI]; in ivtv_release_stream() 119 s_vbi = &itv->streams[IVTV_ENC_STREAM_TYPE_VBI]; in ivtv_release_stream() [all …]
|
D | ivtv-irq.c | 29 static void ivtv_pcm_work_handler(struct ivtv *itv) in ivtv_pcm_work_handler() argument 31 struct ivtv_stream *s = &itv->streams[IVTV_ENC_STREAM_TYPE_PCM]; in ivtv_pcm_work_handler() 50 itv->pcm_announce_callback(itv->alsa, in ivtv_pcm_work_handler() 58 static void ivtv_pio_work_handler(struct ivtv *itv) in ivtv_pio_work_handler() argument 60 struct ivtv_stream *s = &itv->streams[itv->cur_pio_stream]; in ivtv_pio_work_handler() 65 if (itv->cur_pio_stream < 0 || itv->cur_pio_stream >= IVTV_MAX_STREAMS || in ivtv_pio_work_handler() 67 itv->cur_pio_stream = -1; in ivtv_pio_work_handler() 78 memcpy_fromio(buf->buf, itv->dec_mem + s->sg_processing[i].src - IVTV_DECODER_OFFSET, size); in ivtv_pio_work_handler() 81 memcpy_fromio(buf->buf, itv->enc_mem + s->sg_processing[i].src, size); in ivtv_pio_work_handler() 92 struct ivtv *itv = container_of(work, struct ivtv, irq_work); in ivtv_irq_work_handler() local [all …]
|
D | ivtv-vbi.c | 15 static void ivtv_set_vps(struct ivtv *itv, int enabled) in ivtv_set_vps() argument 19 if (!(itv->v4l2_cap & V4L2_CAP_VIDEO_OUTPUT)) in ivtv_set_vps() 24 data.data[2] = itv->vbi.vps_payload.data[0]; in ivtv_set_vps() 25 data.data[8] = itv->vbi.vps_payload.data[1]; in ivtv_set_vps() 26 data.data[9] = itv->vbi.vps_payload.data[2]; in ivtv_set_vps() 27 data.data[10] = itv->vbi.vps_payload.data[3]; in ivtv_set_vps() 28 data.data[11] = itv->vbi.vps_payload.data[4]; in ivtv_set_vps() 29 ivtv_call_hw(itv, IVTV_HW_SAA7127, vbi, s_vbi_data, &data); in ivtv_set_vps() 32 static void ivtv_set_cc(struct ivtv *itv, int mode, const struct vbi_cc *cc) in ivtv_set_cc() argument 36 if (!(itv->v4l2_cap & V4L2_CAP_VIDEO_OUTPUT)) in ivtv_set_cc() [all …]
|
D | ivtv-controls.c | 16 struct ivtv *itv = container_of(cxhdl, struct ivtv, cxhdl); in ivtv_s_stream_vbi_fmt() local 19 if (fmt && itv->vbi.sliced_mpeg_data[0] == NULL) { in ivtv_s_stream_vbi_fmt() 24 itv->vbi.sliced_mpeg_data[i] = kmalloc(2049, GFP_KERNEL); in ivtv_s_stream_vbi_fmt() 25 if (itv->vbi.sliced_mpeg_data[i] == NULL) { in ivtv_s_stream_vbi_fmt() 27 kfree(itv->vbi.sliced_mpeg_data[i]); in ivtv_s_stream_vbi_fmt() 28 itv->vbi.sliced_mpeg_data[i] = NULL; in ivtv_s_stream_vbi_fmt() 35 itv->vbi.insert_mpeg = fmt; in ivtv_s_stream_vbi_fmt() 37 if (itv->vbi.insert_mpeg == 0) { in ivtv_s_stream_vbi_fmt() 41 if (ivtv_get_service_set(itv->vbi.sliced_in) == 0) { in ivtv_s_stream_vbi_fmt() 42 if (itv->is_60hz) in ivtv_s_stream_vbi_fmt() [all …]
|
D | ivtv-gpio.c | 94 void ivtv_reset_ir_gpio(struct ivtv *itv) in ivtv_reset_ir_gpio() argument 98 if (itv->card->type != IVTV_CARD_PVR_150) in ivtv_reset_ir_gpio() 119 struct ivtv *itv = algo->data; in ivtv_reset_tuner_gpio() local 126 curout &= ~(1 << itv->card->xceive_pin); in ivtv_reset_tuner_gpio() 130 curout |= 1 << itv->card->xceive_pin; in ivtv_reset_tuner_gpio() 148 struct ivtv *itv = sd_to_ivtv(sd); in subdev_s_clock_freq() local 151 mask = itv->card->gpio_audio_freq.mask; in subdev_s_clock_freq() 154 data = itv->card->gpio_audio_freq.f32000; in subdev_s_clock_freq() 157 data = itv->card->gpio_audio_freq.f44100; in subdev_s_clock_freq() 161 data = itv->card->gpio_audio_freq.f48000; in subdev_s_clock_freq() [all …]
|
D | ivtvfb.c | 117 printk(KERN_INFO "ivtvfb%d " type ": " fmt, itv->instance , ## args); \ 123 #define IVTVFB_ERR(fmt, args...) printk(KERN_ERR "ivtvfb%d: " fmt, itv->instance , ## args) 124 #define IVTVFB_WARN(fmt, args...) printk(KERN_WARNING "ivtvfb%d: " fmt, itv->instance , ## args) 125 #define IVTVFB_INFO(fmt, args...) printk(KERN_INFO "ivtvfb%d: " fmt, itv->instance , ## args) 192 static int ivtvfb_get_framebuffer(struct ivtv *itv, u32 *fbbase, in ivtvfb_get_framebuffer() argument 198 ivtv_firmware_check(itv, "ivtvfb_get_framebuffer"); in ivtvfb_get_framebuffer() 199 rc = ivtv_vapi_result(itv, data, CX2341X_OSD_GET_FRAMEBUFFER, 0); in ivtvfb_get_framebuffer() 205 static int ivtvfb_get_osd_coords(struct ivtv *itv, in ivtvfb_get_osd_coords() argument 208 struct osd_info *oi = itv->osd_info; in ivtvfb_get_osd_coords() 211 ivtv_vapi_result(itv, data, CX2341X_OSD_GET_OSD_COORDS, 0); in ivtvfb_get_osd_coords() [all …]
|
D | ivtv-routing.c | 22 void ivtv_audio_set_io(struct ivtv *itv) in ivtv_audio_set_io() argument 28 if (test_bit(IVTV_F_I_RADIO_USER, &itv->i_flags)) in ivtv_audio_set_io() 29 in = &itv->card->radio_input; in ivtv_audio_set_io() 31 in = &itv->card->audio_inputs[itv->audio_input]; in ivtv_audio_set_io() 35 if (itv->card->hw_muxer & IVTV_HW_M52790) in ivtv_audio_set_io() 37 v4l2_subdev_call(itv->sd_muxer, audio, s_routing, in ivtv_audio_set_io() 42 if (itv->card->hw_audio & IVTV_HW_MSP34XX) in ivtv_audio_set_io() 44 ivtv_call_hw(itv, itv->card->hw_audio, audio, s_routing, in ivtv_audio_set_io() 50 void ivtv_video_set_io(struct ivtv *itv) in ivtv_video_set_io() argument 52 int inp = itv->active_input; in ivtv_video_set_io() [all …]
|
D | ivtv-udma.c | 80 void ivtv_udma_alloc(struct ivtv *itv) in ivtv_udma_alloc() argument 82 if (itv->udma.SG_handle == 0) { in ivtv_udma_alloc() 84 itv->udma.SG_handle = dma_map_single(&itv->pdev->dev, in ivtv_udma_alloc() 85 itv->udma.SGarray, in ivtv_udma_alloc() 86 sizeof(itv->udma.SGarray), in ivtv_udma_alloc() 88 ivtv_udma_sync_for_cpu(itv); in ivtv_udma_alloc() 92 int ivtv_udma_setup(struct ivtv *itv, unsigned long ivtv_dest_addr, in ivtv_udma_setup() argument 96 struct ivtv_user_dma *dma = &itv->udma; in ivtv_udma_setup() 140 dma->SG_length = dma_map_sg(&itv->pdev->dev, dma->SGlist, in ivtv_udma_setup() 149 ivtv_udma_sync_for_device(itv); in ivtv_udma_setup() [all …]
|
D | ivtv-udma.h | 16 int ivtv_udma_setup(struct ivtv *itv, unsigned long ivtv_dest_addr, 18 void ivtv_udma_unmap(struct ivtv *itv); 19 void ivtv_udma_free(struct ivtv *itv); 20 void ivtv_udma_alloc(struct ivtv *itv); 21 void ivtv_udma_prepare(struct ivtv *itv); 22 void ivtv_udma_start(struct ivtv *itv); 24 static inline void ivtv_udma_sync_for_device(struct ivtv *itv) in ivtv_udma_sync_for_device() argument 26 dma_sync_single_for_device(&itv->pdev->dev, itv->udma.SG_handle, in ivtv_udma_sync_for_device() 27 sizeof(itv->udma.SGarray), DMA_TO_DEVICE); in ivtv_udma_sync_for_device() 30 static inline void ivtv_udma_sync_for_cpu(struct ivtv *itv) in ivtv_udma_sync_for_cpu() argument [all …]
|
D | ivtv-alsa-main.c | 92 struct ivtv *itv = to_ivtv(itvsc->v4l2_dev); in snd_ivtv_card_set_names() local 100 itv->instance); in snd_ivtv_card_set_names() 105 itv->instance, itv->card_name); in snd_ivtv_card_set_names() 112 struct ivtv *itv = to_ivtv(v4l2_dev); in snd_ivtv_init() local 124 idx = index[itv->instance] == -1 ? SNDRV_DEFAULT_IDX1 : index[itv->instance]; in snd_ivtv_init() 125 ret = snd_card_new(&itv->pdev->dev, in snd_ivtv_init() 157 itv->alsa = itvsc; in snd_ivtv_init() 162 itv->alsa = NULL; in snd_ivtv_init() 169 __func__, itv->instance, sc->number); in snd_ivtv_init() 181 static int ivtv_alsa_load(struct ivtv *itv) in ivtv_alsa_load() argument [all …]
|
D | ivtv-yuv.c | 25 static int ivtv_yuv_prep_user_dma(struct ivtv *itv, struct ivtv_user_dma *dma, in ivtv_yuv_prep_user_dma() argument 30 struct yuv_playback_info *yi = &itv->yuv_info; in ivtv_yuv_prep_user_dma() 116 dma->SG_length = dma_map_sg(&itv->pdev->dev, dma->SGlist, in ivtv_yuv_prep_user_dma() 133 ivtv_udma_sync_for_device(itv); in ivtv_yuv_prep_user_dma() 138 int ivtv_yuv_filter_check(struct ivtv *itv) in ivtv_yuv_filter_check() argument 152 static void ivtv_yuv_filter(struct ivtv *itv, int h_filter, int v_filter_1, int v_filter_2) in ivtv_yuv_filter() argument 212 static void ivtv_yuv_handle_horizontal(struct ivtv *itv, struct yuv_frame_info *f) in ivtv_yuv_handle_horizontal() argument 214 struct yuv_playback_info *yi = &itv->yuv_info; in ivtv_yuv_handle_horizontal() 369 ivtv_yuv_filter(itv, h_filter, -1, -1); in ivtv_yuv_handle_horizontal() 374 static void ivtv_yuv_handle_vertical(struct ivtv *itv, struct yuv_frame_info *f) in ivtv_yuv_handle_vertical() argument [all …]
|
D | ivtv-mailbox.c | 131 static int try_mailbox(struct ivtv *itv, struct ivtv_mailbox_data *mbdata, int mb) in try_mailbox() argument 146 static int get_mailbox(struct ivtv *itv, struct ivtv_mailbox_data *mbdata, int flags) in get_mailbox() argument 161 if (try_mailbox(itv, mbdata, mb)) in get_mailbox() 188 static void clear_all_mailboxes(struct ivtv *itv, struct ivtv_mailbox_data *mbdata) in clear_all_mailboxes() argument 200 static int ivtv_api_call(struct ivtv *itv, int cmd, int args, u32 data[]) in ivtv_api_call() argument 202 struct ivtv_mailbox_data *mbdata = (cmd >= 128) ? &itv->enc_mbox : &itv->dec_mbox; in ivtv_api_call() 233 if (itv->api_cache[cmd].last_jiffies && in ivtv_api_call() 235 itv->api_cache[cmd].last_jiffies + in ivtv_api_call() 237 !memcmp(data, itv->api_cache[cmd].data, sizeof(itv->api_cache[cmd].data))) { in ivtv_api_call() 238 itv->api_cache[cmd].last_jiffies = jiffies; in ivtv_api_call() [all …]
|
D | ivtv-yuv.h | 24 int ivtv_yuv_filter_check(struct ivtv *itv); 25 void ivtv_yuv_setup_stream_frame(struct ivtv *itv); 26 int ivtv_yuv_udma_stream_frame(struct ivtv *itv, void __user *src); 27 void ivtv_yuv_frame_complete(struct ivtv *itv); 28 int ivtv_yuv_prep_frame(struct ivtv *itv, struct ivtv_dma_frame *args); 29 void ivtv_yuv_close(struct ivtv *itv); 30 void ivtv_yuv_work_handler(struct ivtv *itv);
|
D | ivtv-driver.h | 143 v4l2_info(&itv->v4l2_dev, " " type ": " fmt , ##args); \ 159 v4l2_info(&itv->v4l2_dev, " " type ": " fmt , ##args); \ 173 #define IVTV_ERR(fmt, args...) v4l2_err(&itv->v4l2_dev, fmt , ## args) 174 #define IVTV_WARN(fmt, args...) v4l2_warn(&itv->v4l2_dev, fmt , ## args) 175 #define IVTV_INFO(fmt, args...) v4l2_info(&itv->v4l2_dev, fmt , ## args) 330 struct ivtv *itv; /* for ease of use */ member 383 struct ivtv *itv; member 753 void (*ivtvfb_restore)(struct ivtv *itv); /* Used for a warm start */ 770 void ivtv_set_irq_mask(struct ivtv *itv, u32 mask); 771 void ivtv_clear_irq_mask(struct ivtv *itv, u32 mask); [all …]
|
D | ivtv-firmware.h | 13 int ivtv_firmware_init(struct ivtv *itv); 14 void ivtv_firmware_versions(struct ivtv *itv); 15 void ivtv_halt_firmware(struct ivtv *itv); 16 void ivtv_init_mpeg_decoder(struct ivtv *itv); 17 int ivtv_firmware_check(struct ivtv *itv, char *where);
|
D | ivtv-i2c.h | 12 void ivtv_i2c_new_ir_legacy(struct ivtv *itv); 13 int ivtv_i2c_register(struct ivtv *itv, unsigned idx); 14 struct v4l2_subdev *ivtv_find_hw(struct ivtv *itv, u32 hw); 17 int init_ivtv_i2c(struct ivtv *itv); 18 void exit_ivtv_i2c(struct ivtv *itv);
|
D | ivtv-alsa-pcm.c | 136 struct ivtv *itv = to_ivtv(v4l2_dev); in snd_ivtv_pcm_capture_open() local 144 if (ivtv_init_on_first_open(itv)) { in snd_ivtv_pcm_capture_open() 149 s = &itv->streams[IVTV_ENC_STREAM_TYPE_PCM]; in snd_ivtv_pcm_capture_open() 152 item.itv = itv; in snd_ivtv_pcm_capture_open() 174 runtime->private_data = itv; in snd_ivtv_pcm_capture_open() 176 itv->pcm_announce_callback = ivtv_alsa_announce_pcm_data; in snd_ivtv_pcm_capture_open() 190 struct ivtv *itv = to_ivtv(v4l2_dev); in snd_ivtv_pcm_capture_close() local 195 s = &itv->streams[IVTV_ENC_STREAM_TYPE_PCM]; in snd_ivtv_pcm_capture_close() 201 itv->pcm_announce_callback = NULL; in snd_ivtv_pcm_capture_close() 249 struct ivtv *itv = to_ivtv(v4l2_dev); in snd_ivtv_pcm_create() local [all …]
|
D | ivtv-vbi.h | 12 ivtv_write_vbi_from_user(struct ivtv *itv, 15 void ivtv_process_vbi_data(struct ivtv *itv, struct ivtv_buffer *buf, 17 int ivtv_used_line(struct ivtv *itv, int line, int field); 18 void ivtv_disable_cc(struct ivtv *itv); 20 void ivtv_vbi_work_handler(struct ivtv *itv);
|
D | ivtv-streams.h | 12 int ivtv_streams_setup(struct ivtv *itv); 13 int ivtv_streams_register(struct ivtv *itv); 14 void ivtv_streams_cleanup(struct ivtv *itv); 22 void ivtv_stop_all_captures(struct ivtv *itv); 23 int ivtv_passthrough_mode(struct ivtv *itv, int enable);
|
D | ivtv-queue.h | 25 struct ivtv *itv = s->itv; in ivtv_use_pio() local 28 (SLICED_VBI_PIO && s->type == IVTV_ENC_STREAM_TYPE_VBI && itv->vbi.sliced_in->service_set); in ivtv_use_pio() 44 dma_sync_single_for_cpu(&s->itv->pdev->dev, buf->dma_handle, in ivtv_buf_sync_for_cpu() 51 dma_sync_single_for_device(&s->itv->pdev->dev, in ivtv_buf_sync_for_device() 74 dma_sync_single_for_cpu(&s->itv->pdev->dev, s->sg_handle, in ivtv_stream_sync_for_cpu() 82 dma_sync_single_for_device(&s->itv->pdev->dev, s->sg_handle, in ivtv_stream_sync_for_device()
|