Home
last modified time | relevance | path

Searched refs:itv (Results 1 – 25 of 37) sorted by relevance

12

/linux-6.1.9/drivers/media/pci/ivtv/
Divtv-driver.c310 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 …]
Divtv-i2c.c163 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 …]
Divtv-streams.c168 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 …]
Divtv-firmware.c40 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 …]
Divtv-ioctl.c114 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 …]
Divtv-fileops.c34 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 …]
Divtv-irq.c29 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 …]
Divtv-vbi.c15 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 …]
Divtv-controls.c16 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 …]
Divtv-gpio.c94 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 …]
Divtvfb.c117 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 …]
Divtv-routing.c22 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 …]
Divtv-udma.c80 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 …]
Divtv-udma.h16 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 …]
Divtv-alsa-main.c92 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 …]
Divtv-yuv.c25 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 …]
Divtv-mailbox.c131 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 …]
Divtv-yuv.h24 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);
Divtv-driver.h143 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 …]
Divtv-firmware.h13 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);
Divtv-i2c.h12 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);
Divtv-alsa-pcm.c136 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 …]
Divtv-vbi.h12 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);
Divtv-streams.h12 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);
Divtv-queue.h25 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()

12