Lines Matching +full:mini +full:- +full:core
24 #include <linux/i2c-algo-bit.h>
28 #include <media/v4l2-device.h>
31 #include <media/videobuf-dma-sg.h>
32 #include <media/v4l2-chip-ident.h>
34 #include <media/videobuf-dvb.h>
35 #include <media/ir-kbd-i2c.h>
38 #include "btcx-risc.h"
39 #include "cx88-reg.h"
40 #include "tuner-xc2028.h"
46 #define UNSET (-1U)
53 /* ----------------------------------------------------------- */
70 /* need "shadow" registers for some write-only ones ... */
93 /* ----------------------------------------------------------- */
107 /* ----------------------------------------------------------- */
127 /* ----------------------------------------------------------- */
128 /* SRAM memory management data (see cx88-core.c) */
154 /* ----------------------------------------------------------- */
307 #define INPUT(nr) (core->board.input[nr])
309 /* ----------------------------------------------------------- */
320 /* common v4l buffer stuff -- must be first */
360 /* config info -- analog */
369 /* config info -- dvb */
373 void (*gate_ctrl)(struct cx88_core *core, int open);
400 /* cx88-video needs to access cx8802 for hybrid tuner pll access. */
414 #define call_hw(core, grpid, o, f, args...) \ argument
416 if (!core->i2c_rc) { \
417 if (core->gate_ctrl) \
418 core->gate_ctrl(core, 1); \
419 v4l2_device_call_all(&core->v4l2_dev, grpid, o, f, ##args); \
420 if (core->gate_ctrl) \
421 core->gate_ctrl(core, 0); \
425 #define call_all(core, o, f, args...) call_hw(core, 0, o, f, ##args) argument
430 /* ----------------------------------------------------------- */
458 struct cx88_core *core; member
482 /* ----------------------------------------------------------- */
484 /* =============> moved to cx88-alsa.c <====================== */
487 /* ----------------------------------------------------------- */
500 struct cx88_core *core; member
513 /* Callers to the following functions must hold core->lock */
515 /* MPEG 8802 -> mini driver - Driver probe and configuration */
519 /* MPEG 8802 -> mini driver - Access for hardware control */
523 /* MPEG 8802 <- mini driver - Access for hardware control */
529 struct cx88_core *core; member
571 /* List of attached drivers; must hold core->lock to access */
577 /* ----------------------------------------------------------- */
579 #define cx_read(reg) readl(core->lmmio + ((reg)>>2))
580 #define cx_write(reg,value) writel((value), core->lmmio + ((reg)>>2))
581 #define cx_writeb(reg,value) writeb((value), core->bmmio + (reg))
584 writel((readl(core->lmmio+((reg)>>2)) & ~(mask)) |\
585 ((value) & (mask)), core->lmmio+((reg)>>2))
592 #define cx_sread(sreg) (core->shadow[sreg])
594 (core->shadow[sreg] = value, \
595 writel(core->shadow[sreg], core->lmmio + ((reg)>>2)))
597 (core->shadow[sreg] = (core->shadow[sreg] & ~(mask)) | ((value) & (mask)), \
598 writel(core->shadow[sreg], core->lmmio + ((reg)>>2)))
600 /* ----------------------------------------------------------- */
601 /* cx88-core.c */
606 extern int cx88_core_irq(struct cx88_core *core, u32 status);
607 extern void cx88_wakeup(struct cx88_core *core,
609 extern void cx88_shutdown(struct cx88_core *core);
610 extern int cx88_reset(struct cx88_core *core);
627 extern void cx88_risc_disasm(struct cx88_core *core,
629 extern int cx88_sram_channel_setup(struct cx88_core *core,
632 extern void cx88_sram_channel_dump(struct cx88_core *core,
635 extern int cx88_set_scale(struct cx88_core *core, unsigned int width,
637 extern int cx88_set_tvnorm(struct cx88_core *core, v4l2_std_id norm);
639 extern struct video_device *cx88_vdev_init(struct cx88_core *core,
644 extern void cx88_core_put(struct cx88_core *core,
647 extern int cx88_start_audio_dma(struct cx88_core *core);
648 extern int cx88_stop_audio_dma(struct cx88_core *core);
651 /* ----------------------------------------------------------- */
652 /* cx88-vbi.c */
670 /* ----------------------------------------------------------- */
671 /* cx88-i2c.c */
673 extern int cx88_i2c_init(struct cx88_core *core, struct pci_dev *pci);
676 /* ----------------------------------------------------------- */
677 /* cx88-cards.c */
680 extern int cx88_get_resources(const struct cx88_core *core,
683 extern void cx88_setup_xc3028(struct cx88_core *core, struct xc2028_ctrl *ctl);
685 /* ----------------------------------------------------------- */
686 /* cx88-tvaudio.c */
688 void cx88_set_tvaudio(struct cx88_core *core);
689 void cx88_newstation(struct cx88_core *core);
690 void cx88_get_stereo(struct cx88_core *core, struct v4l2_tuner *t);
691 void cx88_set_stereo(struct cx88_core *core, u32 mode, int manual);
697 /* Caller must hold core->lock */
700 /* ----------------------------------------------------------- */
701 /* cx88-dsp.c */
703 s32 cx88_dsp_detect_stereo_sap(struct cx88_core *core);
705 /* ----------------------------------------------------------- */
706 /* cx88-input.c */
708 int cx88_ir_init(struct cx88_core *core, struct pci_dev *pci);
709 int cx88_ir_fini(struct cx88_core *core);
710 void cx88_ir_irq(struct cx88_core *core);
711 int cx88_ir_start(struct cx88_core *core);
712 void cx88_ir_stop(struct cx88_core *core);
713 extern void cx88_i2c_init_ir(struct cx88_core *core);
715 /* ----------------------------------------------------------- */
716 /* cx88-mpeg.c */
723 /* ----------------------------------------------------------- */
724 /* cx88-video.c*/
726 extern int cx8800_ctrl_query(struct cx88_core *core,
728 int cx88_enum_input (struct cx88_core *core,struct v4l2_input *i);
729 int cx88_set_freq (struct cx88_core *core,struct v4l2_frequency *f);
730 int cx88_get_control(struct cx88_core *core, struct v4l2_control *ctl);
731 int cx88_set_control(struct cx88_core *core, struct v4l2_control *ctl);
732 int cx88_video_mux(struct cx88_core *core, unsigned int input);