Lines Matching refs:av7110
43 int av7110_debiwrite(struct av7110 *av7110, u32 config, in av7110_debiwrite() argument
46 struct saa7146_dev *dev = av7110->dev; in av7110_debiwrite()
52 if (saa7146_wait_for_debi_done(av7110->dev, 0) < 0) { in av7110_debiwrite()
60 saa7146_write(dev, DEBI_AD, av7110->debi_bus); in av7110_debiwrite()
66 u32 av7110_debiread(struct av7110 *av7110, u32 config, int addr, unsigned int count) in av7110_debiread() argument
68 struct saa7146_dev *dev = av7110->dev; in av7110_debiread()
75 if (saa7146_wait_for_debi_done(av7110->dev, 0) < 0) { in av7110_debiread()
79 saa7146_write(dev, DEBI_AD, av7110->debi_bus); in av7110_debiread()
86 if (saa7146_wait_for_debi_done(av7110->dev, 0) < 0) { in av7110_debiread()
100 void av7110_reset_arm(struct av7110 *av7110)
102 saa7146_setgpio(av7110->dev, RESET_LINE, SAA7146_GPIO_OUTLO);
105 SAA7146_IER_DISABLE(av7110->dev, MASK_19 | MASK_03);
106 SAA7146_ISR_CLEAR(av7110->dev, MASK_19 | MASK_03);
108 saa7146_setgpio(av7110->dev, RESET_LINE, SAA7146_GPIO_OUTHI);
111 ARM_ResetMailBox(av7110);
113 SAA7146_ISR_CLEAR(av7110->dev, MASK_19 | MASK_03);
114 SAA7146_IER_ENABLE(av7110->dev, MASK_03);
116 av7110->arm_ready = 1;
121 static int waitdebi(struct av7110 *av7110, int adr, int state) in waitdebi() argument
125 dprintk(4, "%p\n", av7110); in waitdebi()
128 if (irdebi(av7110, DEBINOSWAP, adr, 0, 2) == state) in waitdebi()
135 static int load_dram(struct av7110 *av7110, u32 *data, int len) in load_dram() argument
141 dprintk(4, "%p\n", av7110); in load_dram()
148 if (waitdebi(av7110, AV7110_BOOT_STATE, BOOTSTATE_BUFFER_EMPTY) < 0) { in load_dram()
153 mwdebi(av7110, DEBISWAB, bootblock, in load_dram()
156 iwdebi(av7110, DEBISWAB, AV7110_BOOT_BASE, swab32(base), 4); in load_dram()
157 iwdebi(av7110, DEBINOSWAP, AV7110_BOOT_SIZE, AV7110_BOOT_MAX_SIZE, 2); in load_dram()
158 iwdebi(av7110, DEBINOSWAP, AV7110_BOOT_STATE, BOOTSTATE_BUFFER_FULL, 2); 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 mwdebi(av7110, DEBISWAB, bootblock, in load_dram()
174 iwdebi(av7110, DEBISWAB, AV7110_BOOT_BASE, swab32(base), 4); in load_dram()
175 iwdebi(av7110, DEBINOSWAP, AV7110_BOOT_SIZE, rest, 2); in load_dram()
176 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()
182 iwdebi(av7110, DEBINOSWAP, AV7110_BOOT_SIZE, 0, 2); in load_dram()
183 iwdebi(av7110, DEBINOSWAP, AV7110_BOOT_STATE, BOOTSTATE_BUFFER_FULL, 2); in load_dram()
184 if (waitdebi(av7110, AV7110_BOOT_STATE, BOOTSTATE_AV7110_BOOT_COMPLETE) < 0) { in load_dram()
194 int av7110_bootarm(struct av7110 *av7110) in av7110_bootarm() argument
198 struct saa7146_dev *dev = av7110->dev; in av7110_bootarm()
202 dprintk(4, "%p\n", av7110); in av7110_bootarm()
204 av7110->arm_ready = 0; in av7110_bootarm()
209 SAA7146_IER_DISABLE(av7110->dev, MASK_03 | MASK_19); in av7110_bootarm()
210 SAA7146_ISR_CLEAR(av7110->dev, MASK_19 | MASK_03); in av7110_bootarm()
213 saa7146_write(av7110->dev, MC1, 0x08800880); in av7110_bootarm()
214 saa7146_write(av7110->dev, DD1_STREAM_B, 0x00000000); in av7110_bootarm()
215 saa7146_write(av7110->dev, MC2, (MASK_09 | MASK_25 | MASK_10 | MASK_26)); in av7110_bootarm()
218 iwdebi(av7110, DEBISWAP, DPRAM_BASE, 0x76543210, 4); in av7110_bootarm()
220 iwdebi(av7110, DEBISWAP, DPRAM_BASE, 0x76543210, 4); in av7110_bootarm()
222 if ((ret=irdebi(av7110, DEBINOSWAP, DPRAM_BASE, 0, 4)) != 0x10325476) { in av7110_bootarm()
228 iwdebi(av7110, DEBISWAP, DPRAM_BASE + i, 0x00, 4); in av7110_bootarm()
244 mwdebi(av7110, DEBISWAB, DPRAM_BASE, fw->data, fw->size); in av7110_bootarm()
246 iwdebi(av7110, DEBINOSWAP, AV7110_BOOT_STATE, BOOTSTATE_BUFFER_FULL, 2); in av7110_bootarm()
248 if (saa7146_wait_for_debi_done(av7110->dev, 1)) { in av7110_bootarm()
256 if (load_dram(av7110, (u32 *)av7110->bin_root, av7110->size_root) < 0) { in av7110_bootarm()
265 mwdebi(av7110, DEBISWAB, DPRAM_BASE, av7110->bin_dpram, av7110->size_dpram); in av7110_bootarm()
267 if (saa7146_wait_for_debi_done(av7110->dev, 1)) { in av7110_bootarm()
275 ARM_ResetMailBox(av7110); in av7110_bootarm()
276 SAA7146_ISR_CLEAR(av7110->dev, MASK_19 | MASK_03); in av7110_bootarm()
277 SAA7146_IER_ENABLE(av7110->dev, MASK_03); in av7110_bootarm()
279 av7110->arm_errors = 0; in av7110_bootarm()
280 av7110->arm_ready = 1; in av7110_bootarm()
289 int av7110_wait_msgstate(struct av7110 *av7110, u16 flags) in av7110_wait_msgstate() argument
295 if (FW_VERSION(av7110->arm_app) <= 0x261c) { in av7110_wait_msgstate()
305 if (mutex_lock_interruptible(&av7110->dcomlock)) in av7110_wait_msgstate()
307 stat = rdebi(av7110, DEBINOSWAP, MSGSTATE, 0, 2); in av7110_wait_msgstate()
308 mutex_unlock(&av7110->dcomlock); in av7110_wait_msgstate()
321 static int __av7110_send_fw_cmd(struct av7110 *av7110, u16* buf, int length) in __av7110_send_fw_cmd() argument
332 if (!av7110->arm_ready) { in __av7110_send_fw_cmd()
340 if (rdebi(av7110, DEBINOSWAP, COMMAND, 0, 2) == 0) in __av7110_send_fw_cmd()
344 av7110->arm_errors++; in __av7110_send_fw_cmd()
350 if (FW_VERSION(av7110->arm_app) <= 0x261f) in __av7110_send_fw_cmd()
351 wdebi(av7110, DEBINOSWAP, COM_IF_LOCK, 0xffff, 2); in __av7110_send_fw_cmd()
357 if (rdebi(av7110, DEBINOSWAP, HANDSHAKE_REG, 0, 2) == 0) in __av7110_send_fw_cmd()
382 if (FW_VERSION(av7110->arm_app) >= 0x261d) { in __av7110_send_fw_cmd()
397 stat = rdebi(av7110, DEBINOSWAP, MSGSTATE, 0, 2); in __av7110_send_fw_cmd()
408 av7110->arm_errors++; in __av7110_send_fw_cmd()
416 wdebi(av7110, DEBINOSWAP, COMMAND + 2 * i, (u32) buf[i], 2); in __av7110_send_fw_cmd()
419 wdebi(av7110, DEBINOSWAP, COMMAND + 2, (u32) buf[1], 2); in __av7110_send_fw_cmd()
421 wdebi(av7110, DEBINOSWAP, COMMAND + 2, 0, 2); in __av7110_send_fw_cmd()
423 wdebi(av7110, DEBINOSWAP, COMMAND, (u32) buf[0], 2); in __av7110_send_fw_cmd()
425 if (FW_VERSION(av7110->arm_app) <= 0x261f) in __av7110_send_fw_cmd()
426 wdebi(av7110, DEBINOSWAP, COM_IF_LOCK, 0x0000, 2); in __av7110_send_fw_cmd()
432 if (rdebi(av7110, DEBINOSWAP, COMMAND, 0, 2) == 0) in __av7110_send_fw_cmd()
442 stat = rdebi(av7110, DEBINOSWAP, MSGSTATE, 0, 2); in __av7110_send_fw_cmd()
456 static int av7110_send_fw_cmd(struct av7110 *av7110, u16* buf, int length) in av7110_send_fw_cmd() argument
462 if (!av7110->arm_ready) { in av7110_send_fw_cmd()
466 if (mutex_lock_interruptible(&av7110->dcomlock)) in av7110_send_fw_cmd()
469 ret = __av7110_send_fw_cmd(av7110, buf, length); in av7110_send_fw_cmd()
470 mutex_unlock(&av7110->dcomlock); in av7110_send_fw_cmd()
477 int av7110_fw_cmd(struct av7110 *av7110, int type, int com, int num, ...) in av7110_fw_cmd() argument
502 ret = av7110_send_fw_cmd(av7110, buf, num + 2); in av7110_fw_cmd()
509 int av7110_send_ci_cmd(struct av7110 *av7110, u8 subcom, u8 *buf, u8 len)
515 dprintk(4, "%p\n", av7110);
525 ret = av7110_send_fw_cmd(av7110, cmd, 18);
532 int av7110_fw_request(struct av7110 *av7110, u16 *request_buf, in av7110_fw_request() argument
542 dprintk(4, "%p\n", av7110); in av7110_fw_request()
544 if (!av7110->arm_ready) { in av7110_fw_request()
549 if (mutex_lock_interruptible(&av7110->dcomlock)) in av7110_fw_request()
552 if ((err = __av7110_send_fw_cmd(av7110, request_buf, request_buf_len)) < 0) { in av7110_fw_request()
553 mutex_unlock(&av7110->dcomlock); in av7110_fw_request()
561 if (rdebi(av7110, DEBINOSWAP, COMMAND, 0, 2) == 0) in av7110_fw_request()
565 mutex_unlock(&av7110->dcomlock); in av7110_fw_request()
577 if (rdebi(av7110, DEBINOSWAP, HANDSHAKE_REG, 0, 2) == 0) in av7110_fw_request()
581 mutex_unlock(&av7110->dcomlock); in av7110_fw_request()
589 stat = rdebi(av7110, DEBINOSWAP, MSGSTATE, 0, 2); in av7110_fw_request()
592 mutex_unlock(&av7110->dcomlock); in av7110_fw_request()
597 mutex_unlock(&av7110->dcomlock); in av7110_fw_request()
603 reply_buf[i] = rdebi(av7110, DEBINOSWAP, COM_BUFF + 2 * i, 0, 2); in av7110_fw_request()
605 mutex_unlock(&av7110->dcomlock); in av7110_fw_request()
609 static int av7110_fw_query(struct av7110 *av7110, u16 tag, u16* buf, s16 length) in av7110_fw_query() argument
612 ret = av7110_fw_request(av7110, &tag, 0, buf, length); in av7110_fw_query()
624 int av7110_firmversion(struct av7110 *av7110) in av7110_firmversion() argument
629 dprintk(4, "%p\n", av7110); in av7110_firmversion()
631 if (av7110_fw_query(av7110, tag, buf, 16)) { in av7110_firmversion()
633 av7110->dvb_adapter.num); in av7110_firmversion()
637 av7110->arm_fw = (buf[0] << 16) + buf[1]; in av7110_firmversion()
638 av7110->arm_rtsl = (buf[2] << 16) + buf[3]; in av7110_firmversion()
639 av7110->arm_vid = (buf[4] << 16) + buf[5]; in av7110_firmversion()
640 av7110->arm_app = (buf[6] << 16) + buf[7]; in av7110_firmversion()
641 av7110->avtype = (buf[8] << 16) + buf[9]; in av7110_firmversion()
644 av7110->dvb_adapter.num, av7110->arm_fw, in av7110_firmversion()
645 av7110->arm_rtsl, av7110->arm_vid, av7110->arm_app); in av7110_firmversion()
648 if (FW_CI_LL_SUPPORT(av7110->arm_app)) in av7110_firmversion()
650 av7110->dvb_adapter.num); in av7110_firmversion()
653 av7110->dvb_adapter.num); in av7110_firmversion()
659 int av7110_diseqc_send(struct av7110 *av7110, int len, u8 *msg, unsigned long burst) in av7110_diseqc_send() argument
665 dprintk(4, "%p\n", av7110); in av7110_diseqc_send()
681 ret = av7110_send_fw_cmd(av7110, buf, 18); in av7110_diseqc_send()
690 static inline int SetColorBlend(struct av7110 *av7110, u8 windownr) in SetColorBlend() argument
692 return av7110_fw_cmd(av7110, COMTYPE_OSD, SetCBlend, 1, windownr); in SetColorBlend()
695 static inline int SetBlend_(struct av7110 *av7110, u8 windownr, in SetBlend_() argument
698 return av7110_fw_cmd(av7110, COMTYPE_OSD, SetBlend, 4, in SetBlend_()
702 static inline int SetColor_(struct av7110 *av7110, u8 windownr, in SetColor_() argument
705 return av7110_fw_cmd(av7110, COMTYPE_OSD, SetColor, 5, in SetColor_()
709 static inline int SetFont(struct av7110 *av7110, u8 windownr, u8 fontsize, in SetFont() argument
712 return av7110_fw_cmd(av7110, COMTYPE_OSD, Set_Font, 4, in SetFont()
716 static int FlushText(struct av7110 *av7110) in FlushText() argument
721 if (mutex_lock_interruptible(&av7110->dcomlock)) in FlushText()
726 if (rdebi(av7110, DEBINOSWAP, BUFF1_BASE, 0, 2) == 0) in FlushText()
731 mutex_unlock(&av7110->dcomlock); in FlushText()
736 mutex_unlock(&av7110->dcomlock); in FlushText()
740 static int WriteText(struct av7110 *av7110, u8 win, u16 x, u16 y, char *buf) in WriteText() argument
747 if (mutex_lock_interruptible(&av7110->dcomlock)) in WriteText()
753 if (rdebi(av7110, DEBINOSWAP, BUFF1_BASE, 0, 2) == 0) in WriteText()
758 mutex_unlock(&av7110->dcomlock); in WriteText()
767 if (rdebi(av7110, DEBINOSWAP, HANDSHAKE_REG, 0, 2) == 0) in WriteText()
772 mutex_unlock(&av7110->dcomlock); in WriteText()
779 wdebi(av7110, DEBINOSWAP, BUFF1_BASE + i * 2, in WriteText()
782 wdebi(av7110, DEBINOSWAP, BUFF1_BASE + i * 2, 0, 2); in WriteText()
783 ret = __av7110_send_fw_cmd(av7110, cbuf, 5); in WriteText()
784 mutex_unlock(&av7110->dcomlock); in WriteText()
790 static inline int DrawLine(struct av7110 *av7110, u8 windownr, in DrawLine() argument
793 return av7110_fw_cmd(av7110, COMTYPE_OSD, DLine, 6, in DrawLine()
797 static inline int DrawBlock(struct av7110 *av7110, u8 windownr, in DrawBlock() argument
800 return av7110_fw_cmd(av7110, COMTYPE_OSD, DBox, 6, in DrawBlock()
804 static inline int HideWindow(struct av7110 *av7110, u8 windownr) in HideWindow() argument
806 return av7110_fw_cmd(av7110, COMTYPE_OSD, WHide, 1, windownr); in HideWindow()
809 static inline int MoveWindowRel(struct av7110 *av7110, u8 windownr, u16 x, u16 y) in MoveWindowRel() argument
811 return av7110_fw_cmd(av7110, COMTYPE_OSD, WMoveD, 3, windownr, x, y); in MoveWindowRel()
814 static inline int MoveWindowAbs(struct av7110 *av7110, u8 windownr, u16 x, u16 y) in MoveWindowAbs() argument
816 return av7110_fw_cmd(av7110, COMTYPE_OSD, WMoveA, 3, windownr, x, y); in MoveWindowAbs()
819 static inline int DestroyOSDWindow(struct av7110 *av7110, u8 windownr) in DestroyOSDWindow() argument
821 return av7110_fw_cmd(av7110, COMTYPE_OSD, WDestroy, 1, windownr); in DestroyOSDWindow()
824 static inline int CreateOSDWindow(struct av7110 *av7110, u8 windownr, in CreateOSDWindow() argument
828 return av7110_fw_cmd(av7110, COMTYPE_OSD, WCreate, 4, in CreateOSDWindow()
840 static inline int WaitUntilBmpLoaded(struct av7110 *av7110) in WaitUntilBmpLoaded() argument
842 int ret = wait_event_timeout(av7110->bmpq, in WaitUntilBmpLoaded()
843 av7110->bmp_state != BMP_LOADING, 10*HZ); in WaitUntilBmpLoaded()
846 ret, av7110->bmp_state); in WaitUntilBmpLoaded()
847 av7110->bmp_state = BMP_NONE; in WaitUntilBmpLoaded()
853 static inline int LoadBitmap(struct av7110 *av7110, in LoadBitmap() argument
863 dprintk(4, "%p\n", av7110); in LoadBitmap()
865 format = bpp2bit[av7110->osdbpp[av7110->osdwin]]; in LoadBitmap()
867 av7110->bmp_state = BMP_LOADING; in LoadBitmap()
877 av7110->bmp_state = BMP_NONE; in LoadBitmap()
880 av7110->bmplen = ((dx * dy * bpp + 7) & ~7) / 8; in LoadBitmap()
881 av7110->bmpp = 0; in LoadBitmap()
882 if (av7110->bmplen > 32768) { in LoadBitmap()
883 av7110->bmp_state = BMP_NONE; in LoadBitmap()
887 if (copy_from_user(av7110->bmpbuf + 1024 + i * dx, data + i * inc, dx)) { in LoadBitmap()
888 av7110->bmp_state = BMP_NONE; in LoadBitmap()
894 c = ((u8 *)av7110->bmpbuf)[1024 + i * delta + delta - 1]; in LoadBitmap()
896 c |= (((u8 *)av7110->bmpbuf)[1024 + i * delta + d] in LoadBitmap()
898 ((u8 *)av7110->bmpbuf)[1024 + i] = c; in LoadBitmap()
902 av7110->bmplen += 1024; in LoadBitmap()
903 dprintk(4, "av7110_fw_cmd: LoadBmp size %d\n", av7110->bmplen); in LoadBitmap()
904 ret = av7110_fw_cmd(av7110, COMTYPE_OSD, LoadBmp, 3, format, dx, dy); in LoadBitmap()
906 ret = WaitUntilBmpLoaded(av7110); in LoadBitmap()
910 static int BlitBitmap(struct av7110 *av7110, u16 x, u16 y) in BlitBitmap() argument
912 dprintk(4, "%p\n", av7110); in BlitBitmap()
914 return av7110_fw_cmd(av7110, COMTYPE_OSD, BlitBmp, 4, av7110->osdwin, x, y, 0); in BlitBitmap()
917 static inline int ReleaseBitmap(struct av7110 *av7110) in ReleaseBitmap() argument
919 dprintk(4, "%p\n", av7110); in ReleaseBitmap()
921 if (av7110->bmp_state != BMP_LOADED && FW_VERSION(av7110->arm_app) < 0x261e) in ReleaseBitmap()
923 if (av7110->bmp_state == BMP_LOADING) in ReleaseBitmap()
925 av7110->bmp_state = BMP_NONE; in ReleaseBitmap()
926 return av7110_fw_cmd(av7110, COMTYPE_OSD, ReleaseBmp, 0); in ReleaseBitmap()
945 static int OSDSetColor(struct av7110 *av7110, u8 color, u8 r, u8 g, u8 b, u8 blend) in OSDSetColor() argument
955 ret = SetColor_(av7110, av7110->osdwin, bpp2pal[av7110->osdbpp[av7110->osdwin]], in OSDSetColor()
958 ret = SetBlend_(av7110, av7110->osdwin, bpp2pal[av7110->osdbpp[av7110->osdwin]], in OSDSetColor()
963 static int OSDSetPalette(struct av7110 *av7110, u32 __user * colors, u8 first, u8 last) in OSDSetPalette() argument
980 wdebi(av7110, DEBINOSWAP, DATA_BUFF3_BASE + i * 4, yuv, 4); in OSDSetPalette()
982 return av7110_fw_cmd(av7110, COMTYPE_OSD, Set_Palette, 4, in OSDSetPalette()
983 av7110->osdwin, in OSDSetPalette()
984 bpp2pal[av7110->osdbpp[av7110->osdwin]], in OSDSetPalette()
988 static int OSDSetBlock(struct av7110 *av7110, int x0, int y0, in OSDSetBlock() argument
1001 bpp = av7110->osdbpp[av7110->osdwin] + 1; in OSDSetBlock()
1008 if (av7110->bmp_state == BMP_LOADING) { in OSDSetBlock()
1010 BUG_ON (FW_VERSION(av7110->arm_app) >= 0x261e); in OSDSetBlock()
1011 rc = WaitUntilBmpLoaded(av7110); in OSDSetBlock()
1021 rc = LoadBitmap(av7110, w, lpb, inc, data); in OSDSetBlock()
1024 rc = BlitBitmap(av7110, x0, y0 + i * lpb); in OSDSetBlock()
1030 rc = LoadBitmap(av7110, w, brest / bpl, inc, data); in OSDSetBlock()
1032 rc = BlitBitmap(av7110, x0, y0 + bnum * lpb); in OSDSetBlock()
1034 release_rc = ReleaseBitmap(av7110); in OSDSetBlock()
1042 int av7110_osd_cmd(struct av7110 *av7110, osd_cmd_t *dc) in av7110_osd_cmd() argument
1046 if (mutex_lock_interruptible(&av7110->osd_mutex)) in av7110_osd_cmd()
1051 ret = DestroyOSDWindow(av7110, av7110->osdwin); in av7110_osd_cmd()
1054 av7110->osdbpp[av7110->osdwin] = (dc->color - 1) & 7; in av7110_osd_cmd()
1055 ret = CreateOSDWindow(av7110, av7110->osdwin, in av7110_osd_cmd()
1056 bpp2bit[av7110->osdbpp[av7110->osdwin]], in av7110_osd_cmd()
1061 ret = MoveWindowAbs(av7110, av7110->osdwin, dc->x0, dc->y0); in av7110_osd_cmd()
1064 ret = SetColorBlend(av7110, av7110->osdwin); in av7110_osd_cmd()
1068 ret = MoveWindowRel(av7110, av7110->osdwin, 0, 0); in av7110_osd_cmd()
1071 ret = HideWindow(av7110, av7110->osdwin); in av7110_osd_cmd()
1074 ret = DrawBlock(av7110, av7110->osdwin, 0, 0, 720, 576, 0); in av7110_osd_cmd()
1077 ret = DrawBlock(av7110, av7110->osdwin, 0, 0, 720, 576, dc->color); in av7110_osd_cmd()
1080 ret = OSDSetColor(av7110, dc->color, dc->x0, dc->y0, dc->x1, dc->y1); in av7110_osd_cmd()
1083 if (FW_VERSION(av7110->arm_app) >= 0x2618) in av7110_osd_cmd()
1084 ret = OSDSetPalette(av7110, dc->data, dc->color, dc->x0); in av7110_osd_cmd()
1098 ret = OSDSetColor(av7110, dc->color + i, r, g, b, blend); in av7110_osd_cmd()
1105 ret = DrawLine(av7110, av7110->osdwin, in av7110_osd_cmd()
1112 ret = OSDSetBlock(av7110, dc->x0, dc->y0, dc->x1, dc->y1, dc->color, dc->data); in av7110_osd_cmd()
1115 ret = DrawBlock(av7110, av7110->osdwin, dc->x0, dc->y0, in av7110_osd_cmd()
1119 ret = DrawBlock(av7110, av7110->osdwin, dc->x0, dc->y0, in av7110_osd_cmd()
1123 ret = DrawLine(av7110, av7110->osdwin, in av7110_osd_cmd()
1137 ret = SetFont(av7110, av7110->osdwin, dc->x1, in av7110_osd_cmd()
1140 ret = FlushText(av7110); in av7110_osd_cmd()
1142 ret = WriteText(av7110, av7110->osdwin, dc->x0, dc->y0, textbuf); in av7110_osd_cmd()
1149 av7110->osdwin = dc->x0; in av7110_osd_cmd()
1154 ret = MoveWindowAbs(av7110, av7110->osdwin, dc->x0, dc->y0); in av7110_osd_cmd()
1156 ret = SetColorBlend(av7110, av7110->osdwin); in av7110_osd_cmd()
1164 av7110->osdbpp[av7110->osdwin] = (1 << (dc->color & 3)) - 1; in av7110_osd_cmd()
1166 av7110->osdbpp[av7110->osdwin] = 0; in av7110_osd_cmd()
1167 ret = CreateOSDWindow(av7110, av7110->osdwin, (osd_raw_window_t)dc->color, in av7110_osd_cmd()
1172 ret = MoveWindowAbs(av7110, av7110->osdwin, dc->x0, dc->y0); in av7110_osd_cmd()
1174 ret = SetColorBlend(av7110, av7110->osdwin); in av7110_osd_cmd()
1182 mutex_unlock(&av7110->osd_mutex); in av7110_osd_cmd()
1191 int av7110_osd_capability(struct av7110 *av7110, osd_cap_t *cap) in av7110_osd_capability() argument
1195 if (FW_4M_SDRAM(av7110->arm_app)) in av7110_osd_capability()