Lines Matching refs:av7110

58 int av7110_debiwrite(struct av7110 *av7110, u32 config,  in av7110_debiwrite()  argument
61 struct saa7146_dev *dev = av7110->dev; in av7110_debiwrite()
67 if (saa7146_wait_for_debi_done(av7110->dev, 0) < 0) { in av7110_debiwrite()
75 saa7146_write(dev, DEBI_AD, av7110->debi_bus); in av7110_debiwrite()
81 u32 av7110_debiread(struct av7110 *av7110, u32 config, int addr, int count) in av7110_debiread() argument
83 struct saa7146_dev *dev = av7110->dev; in av7110_debiread()
90 if (saa7146_wait_for_debi_done(av7110->dev, 0) < 0) { in av7110_debiread()
94 saa7146_write(dev, DEBI_AD, av7110->debi_bus); in av7110_debiread()
101 if (saa7146_wait_for_debi_done(av7110->dev, 0) < 0) { in av7110_debiread()
115 void av7110_reset_arm(struct av7110 *av7110)
117 saa7146_setgpio(av7110->dev, RESET_LINE, SAA7146_GPIO_OUTLO);
120 SAA7146_IER_DISABLE(av7110->dev, MASK_19 | MASK_03);
121 SAA7146_ISR_CLEAR(av7110->dev, MASK_19 | MASK_03);
123 saa7146_setgpio(av7110->dev, RESET_LINE, SAA7146_GPIO_OUTHI);
126 ARM_ResetMailBox(av7110);
128 SAA7146_ISR_CLEAR(av7110->dev, MASK_19 | MASK_03);
129 SAA7146_IER_ENABLE(av7110->dev, MASK_03);
131 av7110->arm_ready = 1;
136 static int waitdebi(struct av7110 *av7110, int adr, int state) in waitdebi() argument
140 dprintk(4, "%p\n", av7110); in waitdebi()
143 if (irdebi(av7110, DEBINOSWAP, adr, 0, 2) == state) in waitdebi()
150 static int load_dram(struct av7110 *av7110, u32 *data, int len) in load_dram() argument
156 dprintk(4, "%p\n", av7110); in load_dram()
163 if (waitdebi(av7110, AV7110_BOOT_STATE, BOOTSTATE_BUFFER_EMPTY) < 0) { in load_dram()
168 mwdebi(av7110, DEBISWAB, bootblock, in load_dram()
171 iwdebi(av7110, DEBISWAB, AV7110_BOOT_BASE, swab32(base), 4); in load_dram()
172 iwdebi(av7110, DEBINOSWAP, AV7110_BOOT_SIZE, AV7110_BOOT_MAX_SIZE, 2); in load_dram()
173 iwdebi(av7110, DEBINOSWAP, AV7110_BOOT_STATE, BOOTSTATE_BUFFER_FULL, 2); in load_dram()
178 if (waitdebi(av7110, AV7110_BOOT_STATE, BOOTSTATE_BUFFER_EMPTY) < 0) { in load_dram()
183 mwdebi(av7110, DEBISWAB, bootblock, in load_dram()
186 mwdebi(av7110, DEBISWAB, bootblock, in load_dram()
189 iwdebi(av7110, DEBISWAB, AV7110_BOOT_BASE, swab32(base), 4); in load_dram()
190 iwdebi(av7110, DEBINOSWAP, AV7110_BOOT_SIZE, rest, 2); in load_dram()
191 iwdebi(av7110, DEBINOSWAP, AV7110_BOOT_STATE, BOOTSTATE_BUFFER_FULL, 2); in load_dram()
193 if (waitdebi(av7110, AV7110_BOOT_STATE, BOOTSTATE_BUFFER_EMPTY) < 0) { in load_dram()
197 iwdebi(av7110, DEBINOSWAP, AV7110_BOOT_SIZE, 0, 2); in load_dram()
198 iwdebi(av7110, DEBINOSWAP, AV7110_BOOT_STATE, BOOTSTATE_BUFFER_FULL, 2); in load_dram()
199 if (waitdebi(av7110, AV7110_BOOT_STATE, BOOTSTATE_AV7110_BOOT_COMPLETE) < 0) { in load_dram()
209 int av7110_bootarm(struct av7110 *av7110) in av7110_bootarm() argument
213 struct saa7146_dev *dev = av7110->dev; in av7110_bootarm()
217 dprintk(4, "%p\n", av7110); in av7110_bootarm()
219 av7110->arm_ready = 0; in av7110_bootarm()
224 SAA7146_IER_DISABLE(av7110->dev, MASK_03 | MASK_19); in av7110_bootarm()
225 SAA7146_ISR_CLEAR(av7110->dev, MASK_19 | MASK_03); in av7110_bootarm()
228 saa7146_write(av7110->dev, MC1, 0x08800880); in av7110_bootarm()
229 saa7146_write(av7110->dev, DD1_STREAM_B, 0x00000000); in av7110_bootarm()
230 saa7146_write(av7110->dev, MC2, (MASK_09 | MASK_25 | MASK_10 | MASK_26)); in av7110_bootarm()
233 iwdebi(av7110, DEBISWAP, DPRAM_BASE, 0x76543210, 4); in av7110_bootarm()
235 iwdebi(av7110, DEBISWAP, DPRAM_BASE, 0x76543210, 4); in av7110_bootarm()
237 if ((ret=irdebi(av7110, DEBINOSWAP, DPRAM_BASE, 0, 4)) != 0x10325476) { in av7110_bootarm()
244 iwdebi(av7110, DEBISWAP, DPRAM_BASE + i, 0x00, 4); in av7110_bootarm()
260 mwdebi(av7110, DEBISWAB, DPRAM_BASE, fw->data, fw->size); in av7110_bootarm()
262 iwdebi(av7110, DEBINOSWAP, AV7110_BOOT_STATE, BOOTSTATE_BUFFER_FULL, 2); in av7110_bootarm()
264 if (saa7146_wait_for_debi_done(av7110->dev, 1)) { in av7110_bootarm()
273 if (load_dram(av7110, (u32 *)av7110->bin_root, av7110->size_root) < 0) { in av7110_bootarm()
283 mwdebi(av7110, DEBISWAB, DPRAM_BASE, av7110->bin_dpram, av7110->size_dpram); in av7110_bootarm()
285 if (saa7146_wait_for_debi_done(av7110->dev, 1)) { in av7110_bootarm()
294 ARM_ResetMailBox(av7110); in av7110_bootarm()
295 SAA7146_ISR_CLEAR(av7110->dev, MASK_19 | MASK_03); in av7110_bootarm()
296 SAA7146_IER_ENABLE(av7110->dev, MASK_03); in av7110_bootarm()
298 av7110->arm_errors = 0; in av7110_bootarm()
299 av7110->arm_ready = 1; in av7110_bootarm()
308 int av7110_wait_msgstate(struct av7110 *av7110, u16 flags) in av7110_wait_msgstate() argument
314 if (FW_VERSION(av7110->arm_app) <= 0x261c) { in av7110_wait_msgstate()
324 if (mutex_lock_interruptible(&av7110->dcomlock)) in av7110_wait_msgstate()
326 stat = rdebi(av7110, DEBINOSWAP, MSGSTATE, 0, 2); in av7110_wait_msgstate()
327 mutex_unlock(&av7110->dcomlock); in av7110_wait_msgstate()
340 static int __av7110_send_fw_cmd(struct av7110 *av7110, u16* buf, int length) in __av7110_send_fw_cmd() argument
351 if (!av7110->arm_ready) { in __av7110_send_fw_cmd()
359 if (rdebi(av7110, DEBINOSWAP, COMMAND, 0, 2) == 0) in __av7110_send_fw_cmd()
363 av7110->arm_errors++; in __av7110_send_fw_cmd()
369 if (FW_VERSION(av7110->arm_app) <= 0x261f) in __av7110_send_fw_cmd()
370 wdebi(av7110, DEBINOSWAP, COM_IF_LOCK, 0xffff, 2); in __av7110_send_fw_cmd()
376 if (rdebi(av7110, DEBINOSWAP, HANDSHAKE_REG, 0, 2) == 0) in __av7110_send_fw_cmd()
401 if (FW_VERSION(av7110->arm_app) >= 0x261d) { in __av7110_send_fw_cmd()
416 stat = rdebi(av7110, DEBINOSWAP, MSGSTATE, 0, 2); in __av7110_send_fw_cmd()
427 av7110->arm_errors++; in __av7110_send_fw_cmd()
435 wdebi(av7110, DEBINOSWAP, COMMAND + 2 * i, (u32) buf[i], 2); in __av7110_send_fw_cmd()
438 wdebi(av7110, DEBINOSWAP, COMMAND + 2, (u32) buf[1], 2); in __av7110_send_fw_cmd()
440 wdebi(av7110, DEBINOSWAP, COMMAND + 2, 0, 2); in __av7110_send_fw_cmd()
442 wdebi(av7110, DEBINOSWAP, COMMAND, (u32) buf[0], 2); in __av7110_send_fw_cmd()
444 if (FW_VERSION(av7110->arm_app) <= 0x261f) in __av7110_send_fw_cmd()
445 wdebi(av7110, DEBINOSWAP, COM_IF_LOCK, 0x0000, 2); in __av7110_send_fw_cmd()
451 if (rdebi(av7110, DEBINOSWAP, COMMAND, 0, 2) == 0) in __av7110_send_fw_cmd()
461 stat = rdebi(av7110, DEBINOSWAP, MSGSTATE, 0, 2); in __av7110_send_fw_cmd()
475 static int av7110_send_fw_cmd(struct av7110 *av7110, u16* buf, int length) in av7110_send_fw_cmd() argument
481 if (!av7110->arm_ready) { in av7110_send_fw_cmd()
485 if (mutex_lock_interruptible(&av7110->dcomlock)) in av7110_send_fw_cmd()
488 ret = __av7110_send_fw_cmd(av7110, buf, length); in av7110_send_fw_cmd()
489 mutex_unlock(&av7110->dcomlock); in av7110_send_fw_cmd()
496 int av7110_fw_cmd(struct av7110 *av7110, int type, int com, int num, ...) in av7110_fw_cmd() argument
521 ret = av7110_send_fw_cmd(av7110, buf, num + 2); in av7110_fw_cmd()
528 int av7110_send_ci_cmd(struct av7110 *av7110, u8 subcom, u8 *buf, u8 len)
534 dprintk(4, "%p\n", av7110);
544 ret = av7110_send_fw_cmd(av7110, cmd, 18);
551 int av7110_fw_request(struct av7110 *av7110, u16 *request_buf, in av7110_fw_request() argument
561 dprintk(4, "%p\n", av7110); in av7110_fw_request()
563 if (!av7110->arm_ready) { in av7110_fw_request()
568 if (mutex_lock_interruptible(&av7110->dcomlock)) in av7110_fw_request()
571 if ((err = __av7110_send_fw_cmd(av7110, request_buf, request_buf_len)) < 0) { in av7110_fw_request()
572 mutex_unlock(&av7110->dcomlock); in av7110_fw_request()
580 if (rdebi(av7110, DEBINOSWAP, COMMAND, 0, 2) == 0) in av7110_fw_request()
584 mutex_unlock(&av7110->dcomlock); in av7110_fw_request()
596 if (rdebi(av7110, DEBINOSWAP, HANDSHAKE_REG, 0, 2) == 0) in av7110_fw_request()
600 mutex_unlock(&av7110->dcomlock); in av7110_fw_request()
608 stat = rdebi(av7110, DEBINOSWAP, MSGSTATE, 0, 2); in av7110_fw_request()
611 mutex_unlock(&av7110->dcomlock); in av7110_fw_request()
616 mutex_unlock(&av7110->dcomlock); in av7110_fw_request()
622 reply_buf[i] = rdebi(av7110, DEBINOSWAP, COM_BUFF + 2 * i, 0, 2); in av7110_fw_request()
624 mutex_unlock(&av7110->dcomlock); in av7110_fw_request()
628 static int av7110_fw_query(struct av7110 *av7110, u16 tag, u16* buf, s16 length) in av7110_fw_query() argument
631 ret = av7110_fw_request(av7110, &tag, 0, buf, length); in av7110_fw_query()
643 int av7110_firmversion(struct av7110 *av7110) in av7110_firmversion() argument
648 dprintk(4, "%p\n", av7110); in av7110_firmversion()
650 if (av7110_fw_query(av7110, tag, buf, 16)) { in av7110_firmversion()
652 av7110->dvb_adapter.num); in av7110_firmversion()
656 av7110->arm_fw = (buf[0] << 16) + buf[1]; in av7110_firmversion()
657 av7110->arm_rtsl = (buf[2] << 16) + buf[3]; in av7110_firmversion()
658 av7110->arm_vid = (buf[4] << 16) + buf[5]; in av7110_firmversion()
659 av7110->arm_app = (buf[6] << 16) + buf[7]; in av7110_firmversion()
660 av7110->avtype = (buf[8] << 16) + buf[9]; in av7110_firmversion()
663 av7110->dvb_adapter.num, av7110->arm_fw, in av7110_firmversion()
664 av7110->arm_rtsl, av7110->arm_vid, av7110->arm_app); in av7110_firmversion()
667 if (FW_CI_LL_SUPPORT(av7110->arm_app)) in av7110_firmversion()
669 av7110->dvb_adapter.num); in av7110_firmversion()
672 av7110->dvb_adapter.num); in av7110_firmversion()
678 int av7110_diseqc_send(struct av7110 *av7110, int len, u8 *msg, unsigned long burst) in av7110_diseqc_send() argument
684 dprintk(4, "%p\n", av7110); in av7110_diseqc_send()
700 ret = av7110_send_fw_cmd(av7110, buf, 18); in av7110_diseqc_send()
709 static inline int SetColorBlend(struct av7110 *av7110, u8 windownr) in SetColorBlend() argument
711 return av7110_fw_cmd(av7110, COMTYPE_OSD, SetCBlend, 1, windownr); in SetColorBlend()
714 static inline int SetBlend_(struct av7110 *av7110, u8 windownr, in SetBlend_() argument
717 return av7110_fw_cmd(av7110, COMTYPE_OSD, SetBlend, 4, in SetBlend_()
721 static inline int SetColor_(struct av7110 *av7110, u8 windownr, in SetColor_() argument
724 return av7110_fw_cmd(av7110, COMTYPE_OSD, SetColor, 5, in SetColor_()
728 static inline int SetFont(struct av7110 *av7110, u8 windownr, u8 fontsize, in SetFont() argument
731 return av7110_fw_cmd(av7110, COMTYPE_OSD, Set_Font, 4, in SetFont()
735 static int FlushText(struct av7110 *av7110) in FlushText() argument
740 if (mutex_lock_interruptible(&av7110->dcomlock)) in FlushText()
745 if (rdebi(av7110, DEBINOSWAP, BUFF1_BASE, 0, 2) == 0) in FlushText()
750 mutex_unlock(&av7110->dcomlock); in FlushText()
755 mutex_unlock(&av7110->dcomlock); in FlushText()
759 static int WriteText(struct av7110 *av7110, u8 win, u16 x, u16 y, char *buf) in WriteText() argument
766 if (mutex_lock_interruptible(&av7110->dcomlock)) in WriteText()
772 if (rdebi(av7110, DEBINOSWAP, BUFF1_BASE, 0, 2) == 0) in WriteText()
777 mutex_unlock(&av7110->dcomlock); in WriteText()
786 if (rdebi(av7110, DEBINOSWAP, HANDSHAKE_REG, 0, 2) == 0) in WriteText()
791 mutex_unlock(&av7110->dcomlock); in WriteText()
798 wdebi(av7110, DEBINOSWAP, BUFF1_BASE + i * 2, in WriteText()
801 wdebi(av7110, DEBINOSWAP, BUFF1_BASE + i * 2, 0, 2); in WriteText()
802 ret = __av7110_send_fw_cmd(av7110, cbuf, 5); in WriteText()
803 mutex_unlock(&av7110->dcomlock); in WriteText()
809 static inline int DrawLine(struct av7110 *av7110, u8 windownr, in DrawLine() argument
812 return av7110_fw_cmd(av7110, COMTYPE_OSD, DLine, 6, in DrawLine()
816 static inline int DrawBlock(struct av7110 *av7110, u8 windownr, in DrawBlock() argument
819 return av7110_fw_cmd(av7110, COMTYPE_OSD, DBox, 6, in DrawBlock()
823 static inline int HideWindow(struct av7110 *av7110, u8 windownr) in HideWindow() argument
825 return av7110_fw_cmd(av7110, COMTYPE_OSD, WHide, 1, windownr); in HideWindow()
828 static inline int MoveWindowRel(struct av7110 *av7110, u8 windownr, u16 x, u16 y) in MoveWindowRel() argument
830 return av7110_fw_cmd(av7110, COMTYPE_OSD, WMoveD, 3, windownr, x, y); in MoveWindowRel()
833 static inline int MoveWindowAbs(struct av7110 *av7110, u8 windownr, u16 x, u16 y) in MoveWindowAbs() argument
835 return av7110_fw_cmd(av7110, COMTYPE_OSD, WMoveA, 3, windownr, x, y); in MoveWindowAbs()
838 static inline int DestroyOSDWindow(struct av7110 *av7110, u8 windownr) in DestroyOSDWindow() argument
840 return av7110_fw_cmd(av7110, COMTYPE_OSD, WDestroy, 1, windownr); in DestroyOSDWindow()
843 static inline int CreateOSDWindow(struct av7110 *av7110, u8 windownr, in CreateOSDWindow() argument
847 return av7110_fw_cmd(av7110, COMTYPE_OSD, WCreate, 4, in CreateOSDWindow()
859 static inline int WaitUntilBmpLoaded(struct av7110 *av7110) in WaitUntilBmpLoaded() argument
861 int ret = wait_event_timeout(av7110->bmpq, in WaitUntilBmpLoaded()
862 av7110->bmp_state != BMP_LOADING, 10*HZ); in WaitUntilBmpLoaded()
865 ret, av7110->bmp_state); in WaitUntilBmpLoaded()
866 av7110->bmp_state = BMP_NONE; in WaitUntilBmpLoaded()
872 static inline int LoadBitmap(struct av7110 *av7110, in LoadBitmap() argument
882 dprintk(4, "%p\n", av7110); in LoadBitmap()
884 format = bpp2bit[av7110->osdbpp[av7110->osdwin]]; in LoadBitmap()
886 av7110->bmp_state = BMP_LOADING; in LoadBitmap()
896 av7110->bmp_state = BMP_NONE; in LoadBitmap()
899 av7110->bmplen = ((dx * dy * bpp + 7) & ~7) / 8; in LoadBitmap()
900 av7110->bmpp = 0; in LoadBitmap()
901 if (av7110->bmplen > 32768) { in LoadBitmap()
902 av7110->bmp_state = BMP_NONE; in LoadBitmap()
906 if (copy_from_user(av7110->bmpbuf + 1024 + i * dx, data + i * inc, dx)) { in LoadBitmap()
907 av7110->bmp_state = BMP_NONE; in LoadBitmap()
913 c = ((u8 *)av7110->bmpbuf)[1024 + i * delta + delta - 1]; in LoadBitmap()
915 c |= (((u8 *)av7110->bmpbuf)[1024 + i * delta + d] in LoadBitmap()
917 ((u8 *)av7110->bmpbuf)[1024 + i] = c; in LoadBitmap()
921 av7110->bmplen += 1024; in LoadBitmap()
922 dprintk(4, "av7110_fw_cmd: LoadBmp size %d\n", av7110->bmplen); in LoadBitmap()
923 ret = av7110_fw_cmd(av7110, COMTYPE_OSD, LoadBmp, 3, format, dx, dy); in LoadBitmap()
925 ret = WaitUntilBmpLoaded(av7110); in LoadBitmap()
929 static int BlitBitmap(struct av7110 *av7110, u16 x, u16 y) in BlitBitmap() argument
931 dprintk(4, "%p\n", av7110); in BlitBitmap()
933 return av7110_fw_cmd(av7110, COMTYPE_OSD, BlitBmp, 4, av7110->osdwin, x, y, 0); in BlitBitmap()
936 static inline int ReleaseBitmap(struct av7110 *av7110) in ReleaseBitmap() argument
938 dprintk(4, "%p\n", av7110); in ReleaseBitmap()
940 if (av7110->bmp_state != BMP_LOADED && FW_VERSION(av7110->arm_app) < 0x261e) in ReleaseBitmap()
942 if (av7110->bmp_state == BMP_LOADING) in ReleaseBitmap()
944 av7110->bmp_state = BMP_NONE; in ReleaseBitmap()
945 return av7110_fw_cmd(av7110, COMTYPE_OSD, ReleaseBmp, 0); in ReleaseBitmap()
964 static int OSDSetColor(struct av7110 *av7110, u8 color, u8 r, u8 g, u8 b, u8 blend) in OSDSetColor() argument
974 ret = SetColor_(av7110, av7110->osdwin, bpp2pal[av7110->osdbpp[av7110->osdwin]], in OSDSetColor()
977 ret = SetBlend_(av7110, av7110->osdwin, bpp2pal[av7110->osdbpp[av7110->osdwin]], in OSDSetColor()
982 static int OSDSetPalette(struct av7110 *av7110, u32 __user * colors, u8 first, u8 last) in OSDSetPalette() argument
999 wdebi(av7110, DEBINOSWAP, DATA_BUFF3_BASE + i * 4, yuv, 4); in OSDSetPalette()
1001 return av7110_fw_cmd(av7110, COMTYPE_OSD, Set_Palette, 4, in OSDSetPalette()
1002 av7110->osdwin, in OSDSetPalette()
1003 bpp2pal[av7110->osdbpp[av7110->osdwin]], in OSDSetPalette()
1007 static int OSDSetBlock(struct av7110 *av7110, int x0, int y0, in OSDSetBlock() argument
1020 bpp = av7110->osdbpp[av7110->osdwin] + 1; in OSDSetBlock()
1027 if (av7110->bmp_state == BMP_LOADING) { in OSDSetBlock()
1029 BUG_ON (FW_VERSION(av7110->arm_app) >= 0x261e); in OSDSetBlock()
1030 rc = WaitUntilBmpLoaded(av7110); in OSDSetBlock()
1040 rc = LoadBitmap(av7110, w, lpb, inc, data); in OSDSetBlock()
1043 rc = BlitBitmap(av7110, x0, y0 + i * lpb); in OSDSetBlock()
1049 rc = LoadBitmap(av7110, w, brest / bpl, inc, data); in OSDSetBlock()
1051 rc = BlitBitmap(av7110, x0, y0 + bnum * lpb); in OSDSetBlock()
1053 release_rc = ReleaseBitmap(av7110); in OSDSetBlock()
1061 int av7110_osd_cmd(struct av7110 *av7110, osd_cmd_t *dc) in av7110_osd_cmd() argument
1065 if (mutex_lock_interruptible(&av7110->osd_mutex)) in av7110_osd_cmd()
1070 ret = DestroyOSDWindow(av7110, av7110->osdwin); in av7110_osd_cmd()
1073 av7110->osdbpp[av7110->osdwin] = (dc->color - 1) & 7; in av7110_osd_cmd()
1074 ret = CreateOSDWindow(av7110, av7110->osdwin, in av7110_osd_cmd()
1075 bpp2bit[av7110->osdbpp[av7110->osdwin]], in av7110_osd_cmd()
1080 ret = MoveWindowAbs(av7110, av7110->osdwin, dc->x0, dc->y0); in av7110_osd_cmd()
1083 ret = SetColorBlend(av7110, av7110->osdwin); in av7110_osd_cmd()
1087 ret = MoveWindowRel(av7110, av7110->osdwin, 0, 0); in av7110_osd_cmd()
1090 ret = HideWindow(av7110, av7110->osdwin); in av7110_osd_cmd()
1093 ret = DrawBlock(av7110, av7110->osdwin, 0, 0, 720, 576, 0); in av7110_osd_cmd()
1096 ret = DrawBlock(av7110, av7110->osdwin, 0, 0, 720, 576, dc->color); in av7110_osd_cmd()
1099 ret = OSDSetColor(av7110, dc->color, dc->x0, dc->y0, dc->x1, dc->y1); in av7110_osd_cmd()
1102 if (FW_VERSION(av7110->arm_app) >= 0x2618) in av7110_osd_cmd()
1103 ret = OSDSetPalette(av7110, dc->data, dc->color, dc->x0); in av7110_osd_cmd()
1117 ret = OSDSetColor(av7110, dc->color + i, r, g, b, blend); in av7110_osd_cmd()
1124 ret = DrawLine(av7110, av7110->osdwin, in av7110_osd_cmd()
1131 ret = OSDSetBlock(av7110, dc->x0, dc->y0, dc->x1, dc->y1, dc->color, dc->data); in av7110_osd_cmd()
1134 ret = DrawBlock(av7110, av7110->osdwin, dc->x0, dc->y0, in av7110_osd_cmd()
1138 ret = DrawBlock(av7110, av7110->osdwin, dc->x0, dc->y0, in av7110_osd_cmd()
1142 ret = DrawLine(av7110, av7110->osdwin, in av7110_osd_cmd()
1156 ret = SetFont(av7110, av7110->osdwin, dc->x1, in av7110_osd_cmd()
1159 ret = FlushText(av7110); in av7110_osd_cmd()
1161 ret = WriteText(av7110, av7110->osdwin, dc->x0, dc->y0, textbuf); in av7110_osd_cmd()
1168 av7110->osdwin = dc->x0; in av7110_osd_cmd()
1173 ret = MoveWindowAbs(av7110, av7110->osdwin, dc->x0, dc->y0); in av7110_osd_cmd()
1175 ret = SetColorBlend(av7110, av7110->osdwin); in av7110_osd_cmd()
1183 av7110->osdbpp[av7110->osdwin] = (1 << (dc->color & 3)) - 1; in av7110_osd_cmd()
1185 av7110->osdbpp[av7110->osdwin] = 0; in av7110_osd_cmd()
1186 ret = CreateOSDWindow(av7110, av7110->osdwin, (osd_raw_window_t)dc->color, in av7110_osd_cmd()
1191 ret = MoveWindowAbs(av7110, av7110->osdwin, dc->x0, dc->y0); in av7110_osd_cmd()
1193 ret = SetColorBlend(av7110, av7110->osdwin); in av7110_osd_cmd()
1201 mutex_unlock(&av7110->osd_mutex); in av7110_osd_cmd()
1210 int av7110_osd_capability(struct av7110 *av7110, osd_cap_t *cap) in av7110_osd_capability() argument
1214 if (FW_4M_SDRAM(av7110->arm_app)) in av7110_osd_capability()