Symbol: av7110
drivers/staging/media/av7110/av7110.c
1005
struct av7110 *av7110 = demux->priv;
drivers/staging/media/av7110/av7110.c
1008
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110.c
1026
if (av7110->full_ts) {
drivers/staging/media/av7110/av7110.c
1049
static void restart_feeds(struct av7110 *av7110)
drivers/staging/media/av7110/av7110.c
1051
struct dvb_demux *dvbdmx = &av7110->demux;
drivers/staging/media/av7110/av7110.c
1057
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110.c
1059
mode = av7110->playing;
drivers/staging/media/av7110/av7110.c
1060
av7110->playing = 0;
drivers/staging/media/av7110/av7110.c
1061
av7110->rec_mode = 0;
drivers/staging/media/av7110/av7110.c
1063
feeding = av7110->feeding1; /* full_ts mod */
drivers/staging/media/av7110/av7110.c
1082
av7110->feeding1 = feeding; /* full_ts mod */
drivers/staging/media/av7110/av7110.c
1085
av7110_av_start_play(av7110, mode);
drivers/staging/media/av7110/av7110.c
1095
struct av7110 *av7110;
drivers/staging/media/av7110/av7110.c
1103
av7110 = dvbdemux->priv;
drivers/staging/media/av7110/av7110.c
1105
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110.c
1110
ret = av7110_fw_request(av7110, &tag, 0, fwstc, 4);
drivers/staging/media/av7110/av7110.c
113
static void init_av7110_av(struct av7110 *av7110)
drivers/staging/media/av7110/av7110.c
1132
struct av7110 *av7110 = fe->dvb->priv;
drivers/staging/media/av7110/av7110.c
1136
return Set22K(av7110, 1);
drivers/staging/media/av7110/av7110.c
1139
return Set22K(av7110, 0);
drivers/staging/media/av7110/av7110.c
1149
struct av7110 *av7110 = fe->dvb->priv;
drivers/staging/media/av7110/av7110.c
1151
return av7110_diseqc_send(av7110, cmd->msg_len, cmd->msg, -1);
drivers/staging/media/av7110/av7110.c
1157
struct av7110 *av7110 = fe->dvb->priv;
drivers/staging/media/av7110/av7110.c
1159
return av7110_diseqc_send(av7110, 0, NULL, minicmd);
drivers/staging/media/av7110/av7110.c
116
struct saa7146_dev *dev = av7110->dev;
drivers/staging/media/av7110/av7110.c
1163
static int stop_ts_capture(struct av7110 *budget)
drivers/staging/media/av7110/av7110.c
1175
static int start_ts_capture(struct av7110 *budget)
drivers/staging/media/av7110/av7110.c
119
av7110->adac_type = DVB_ADAC_TI;
drivers/staging/media/av7110/av7110.c
1195
struct av7110 *budget = demux->priv;
drivers/staging/media/av7110/av7110.c
120
ret = av7110_set_volume(av7110, av7110->mixer.volume_left, av7110->mixer.volume_right);
drivers/staging/media/av7110/av7110.c
1210
struct av7110 *budget = demux->priv;
drivers/staging/media/av7110/av7110.c
1223
struct av7110 *budget = from_tasklet(budget, t, vpe_tasklet);
drivers/staging/media/av7110/av7110.c
124
ret = av7110_fw_cmd(av7110, COMTYPE_ENCODER, SetMonitorType,
drivers/staging/media/av7110/av7110.c
125
1, (u16)av7110->display_ar);
drivers/staging/media/av7110/av7110.c
1260
static int av7110_register(struct av7110 *av7110)
drivers/staging/media/av7110/av7110.c
1263
struct dvb_demux *dvbdemux = &av7110->demux;
drivers/staging/media/av7110/av7110.c
1264
struct dvb_demux *dvbdemux1 = &av7110->demux1;
drivers/staging/media/av7110/av7110.c
1266
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110.c
1268
if (av7110->registered)
drivers/staging/media/av7110/av7110.c
1271
av7110->registered = 1;
drivers/staging/media/av7110/av7110.c
1273
dvbdemux->priv = (void *)av7110;
drivers/staging/media/av7110/av7110.c
1276
av7110->handle2filter[i] = NULL;
drivers/staging/media/av7110/av7110.c
1278
dvbdemux->filternum = (av7110->full_ts) ? 256 : 32;
drivers/staging/media/av7110/av7110.c
1279
dvbdemux->feednum = (av7110->full_ts) ? 256 : 32;
drivers/staging/media/av7110/av7110.c
128
ret = av7110_fw_cmd(av7110, COMTYPE_ENCODER, SetPanScanType,
drivers/staging/media/av7110/av7110.c
1286
dvb_dmx_init(&av7110->demux);
drivers/staging/media/av7110/av7110.c
1287
av7110->demux.dmx.get_stc = dvb_get_stc;
drivers/staging/media/av7110/av7110.c
1289
av7110->dmxdev.filternum = (av7110->full_ts) ? 256 : 32;
drivers/staging/media/av7110/av7110.c
129
1, av7110->display_panscan);
drivers/staging/media/av7110/av7110.c
1290
av7110->dmxdev.demux = &dvbdemux->dmx;
drivers/staging/media/av7110/av7110.c
1291
av7110->dmxdev.capabilities = 0;
drivers/staging/media/av7110/av7110.c
1293
dvb_dmxdev_init(&av7110->dmxdev, &av7110->dvb_adapter);
drivers/staging/media/av7110/av7110.c
1295
av7110->hw_frontend.source = DMX_FRONTEND_0;
drivers/staging/media/av7110/av7110.c
1297
ret = dvbdemux->dmx.add_frontend(&dvbdemux->dmx, &av7110->hw_frontend);
drivers/staging/media/av7110/av7110.c
1302
av7110->mem_frontend.source = DMX_MEMORY_FE;
drivers/staging/media/av7110/av7110.c
1304
ret = dvbdemux->dmx.add_frontend(&dvbdemux->dmx, &av7110->mem_frontend);
drivers/staging/media/av7110/av7110.c
1310
&av7110->hw_frontend);
drivers/staging/media/av7110/av7110.c
1314
av7110_av_register(av7110);
drivers/staging/media/av7110/av7110.c
1315
av7110_ca_register(av7110);
drivers/staging/media/av7110/av7110.c
1318
dvb_register_device(&av7110->dvb_adapter, &av7110->osd_dev,
drivers/staging/media/av7110/av7110.c
1319
&dvbdev_osd, av7110, DVB_DEVICE_OSD, 0);
drivers/staging/media/av7110/av7110.c
1322
dvb_net_init(&av7110->dvb_adapter, &av7110->dvb_net, &dvbdemux->dmx);
drivers/staging/media/av7110/av7110.c
1328
dvbdemux1->priv = (void *)av7110;
drivers/staging/media/av7110/av7110.c
133
ret = av7110_fw_cmd(av7110, COMTYPE_ENCODER, SetWSSConfig, 2, 2, wss_cfg_4_3);
drivers/staging/media/av7110/av7110.c
1339
dvb_dmx_init(&av7110->demux1);
drivers/staging/media/av7110/av7110.c
1341
av7110->dmxdev1.filternum = 256;
drivers/staging/media/av7110/av7110.c
1342
av7110->dmxdev1.demux = &dvbdemux1->dmx;
drivers/staging/media/av7110/av7110.c
1343
av7110->dmxdev1.capabilities = 0;
drivers/staging/media/av7110/av7110.c
1345
dvb_dmxdev_init(&av7110->dmxdev1, &av7110->dvb_adapter);
drivers/staging/media/av7110/av7110.c
1347
dvb_net_init(&av7110->dvb_adapter, &av7110->dvb_net1, &dvbdemux1->dmx);
drivers/staging/media/av7110/av7110.c
1353
static void dvb_unregister(struct av7110 *av7110)
drivers/staging/media/av7110/av7110.c
1355
struct dvb_demux *dvbdemux = &av7110->demux;
drivers/staging/media/av7110/av7110.c
1356
struct dvb_demux *dvbdemux1 = &av7110->demux1;
drivers/staging/media/av7110/av7110.c
1358
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110.c
136
ret = av7110_fw_cmd(av7110, COMTYPE_ENCODER, SetWSSConfig, 2, 3, wss_cfg_16_9);
drivers/staging/media/av7110/av7110.c
1360
if (!av7110->registered)
drivers/staging/media/av7110/av7110.c
1364
dvb_net_release(&av7110->dvb_net1);
drivers/staging/media/av7110/av7110.c
1366
dvb_dmxdev_release(&av7110->dmxdev1);
drivers/staging/media/av7110/av7110.c
1367
dvb_dmx_release(&av7110->demux1);
drivers/staging/media/av7110/av7110.c
1370
dvb_net_release(&av7110->dvb_net);
drivers/staging/media/av7110/av7110.c
1373
dvbdemux->dmx.remove_frontend(&dvbdemux->dmx, &av7110->hw_frontend);
drivers/staging/media/av7110/av7110.c
1374
dvbdemux->dmx.remove_frontend(&dvbdemux->dmx, &av7110->mem_frontend);
drivers/staging/media/av7110/av7110.c
1376
dvb_dmxdev_release(&av7110->dmxdev);
drivers/staging/media/av7110/av7110.c
1377
dvb_dmx_release(&av7110->demux);
drivers/staging/media/av7110/av7110.c
1379
if (av7110->fe) {
drivers/staging/media/av7110/av7110.c
1380
dvb_unregister_frontend(av7110->fe);
drivers/staging/media/av7110/av7110.c
1381
dvb_frontend_detach(av7110->fe);
drivers/staging/media/av7110/av7110.c
1383
dvb_unregister_device(av7110->osd_dev);
drivers/staging/media/av7110/av7110.c
1384
av7110_av_unregister(av7110);
drivers/staging/media/av7110/av7110.c
1385
av7110_ca_unregister(av7110);
drivers/staging/media/av7110/av7110.c
1392
int i2c_writereg(struct av7110 *av7110, u8 id, u8 reg, u8 val)
drivers/staging/media/av7110/av7110.c
140
ret = av7710_set_video_mode(av7110, vidmode);
drivers/staging/media/av7110/av7110.c
1401
return i2c_transfer(&av7110->i2c_adap, &msgs, 1);
drivers/staging/media/av7110/av7110.c
1404
u8 i2c_readreg(struct av7110 *av7110, u8 id, u8 reg)
drivers/staging/media/av7110/av7110.c
1419
i2c_transfer(&av7110->i2c_adap, msgs, 2);
drivers/staging/media/av7110/av7110.c
1428
static int check_firmware(struct av7110 *av7110)
drivers/staging/media/av7110/av7110.c
1434
ptr = av7110->bin_fw;
drivers/staging/media/av7110/av7110.c
1455
av7110->bin_dpram = ptr;
drivers/staging/media/av7110/av7110.c
1456
av7110->size_dpram = len;
drivers/staging/media/av7110/av7110.c
146
av7110->analog_tuner_flags = 0;
drivers/staging/media/av7110/av7110.c
1466
len > ((av7110->bin_fw + av7110->size_fw) - ptr)) {
drivers/staging/media/av7110/av7110.c
147
av7110->current_input = 0;
drivers/staging/media/av7110/av7110.c
1474
av7110->bin_root = ptr;
drivers/staging/media/av7110/av7110.c
1475
av7110->size_root = len;
drivers/staging/media/av7110/av7110.c
1479
static void put_firmware(struct av7110 *av7110)
drivers/staging/media/av7110/av7110.c
1481
vfree(av7110->bin_fw);
drivers/staging/media/av7110/av7110.c
1484
static int get_firmware(struct av7110 *av7110)
drivers/staging/media/av7110/av7110.c
149
av7110_fw_cmd(av7110, COMTYPE_AUDIODAC, ADSwitch, 1, 0); // SPDIF on
drivers/staging/media/av7110/av7110.c
1490
ret = request_firmware(&fw, "dvb-ttpci-01.fw", &av7110->dev->pci->dev);
drivers/staging/media/av7110/av7110.c
150
if (i2c_writereg(av7110, 0x20, 0x00, 0x00) == 1) {
drivers/staging/media/av7110/av7110.c
1509
av7110->bin_fw = vmalloc(fw->size);
drivers/staging/media/av7110/av7110.c
151
pr_info("Crystal audio DAC @ card %d detected\n", av7110->dvb_adapter.num);
drivers/staging/media/av7110/av7110.c
1510
if (!av7110->bin_fw) {
drivers/staging/media/av7110/av7110.c
1516
memcpy(av7110->bin_fw, fw->data, fw->size);
drivers/staging/media/av7110/av7110.c
1517
av7110->size_fw = fw->size;
drivers/staging/media/av7110/av7110.c
1518
ret = check_firmware(av7110);
drivers/staging/media/av7110/av7110.c
152
av7110->adac_type = DVB_ADAC_CRYSTAL;
drivers/staging/media/av7110/av7110.c
1520
vfree(av7110->bin_fw);
drivers/staging/media/av7110/av7110.c
1529
struct av7110 *av7110 = fe->dvb->priv;
drivers/staging/media/av7110/av7110.c
153
i2c_writereg(av7110, 0x20, 0x01, 0xd2);
drivers/staging/media/av7110/av7110.c
154
i2c_writereg(av7110, 0x20, 0x02, 0x49);
drivers/staging/media/av7110/av7110.c
155
i2c_writereg(av7110, 0x20, 0x03, 0x00);
drivers/staging/media/av7110/av7110.c
1558
if (i2c_transfer(&av7110->i2c_adap, &msg, 1) != 1)
drivers/staging/media/av7110/av7110.c
156
i2c_writereg(av7110, 0x20, 0x04, 0x00);
drivers/staging/media/av7110/av7110.c
1572
struct av7110 *av7110 = fe->dvb->priv;
drivers/staging/media/av7110/av7110.c
1586
if (i2c_transfer(&av7110->i2c_adap, &msg, 1) != 1)
drivers/staging/media/av7110/av7110.c
1601
struct av7110 *av7110 = fe->dvb->priv;
drivers/staging/media/av7110/av7110.c
161
} else if (av7110_init_analog_module(av7110) == 0) {
drivers/staging/media/av7110/av7110.c
1614
if (i2c_transfer(&av7110->i2c_adap, &msg, 1) != 1)
drivers/staging/media/av7110/av7110.c
1626
struct av7110 *av7110 = fe->dvb->priv;
drivers/staging/media/av7110/av7110.c
164
pr_info("DVB-C w/o analog module @ card %d detected\n", av7110->dvb_adapter.num);
drivers/staging/media/av7110/av7110.c
1641
if (i2c_transfer(&av7110->i2c_adap, &msg, 1) != 1)
drivers/staging/media/av7110/av7110.c
165
av7110->adac_type = DVB_ADAC_NONE;
drivers/staging/media/av7110/av7110.c
1656
struct av7110 *av7110 = fe->dvb->priv;
drivers/staging/media/av7110/av7110.c
167
av7110->adac_type = adac;
drivers/staging/media/av7110/av7110.c
1675
if (i2c_transfer(&av7110->i2c_adap, &msg, 1) != 1)
drivers/staging/media/av7110/av7110.c
168
pr_info("adac type set to %d @ card %d\n", av7110->adac_type, av7110->dvb_adapter.num);
drivers/staging/media/av7110/av7110.c
1683
struct av7110 *av7110 = fe->dvb->priv;
drivers/staging/media/av7110/av7110.c
1685
return request_firmware(fw, name, &av7110->dev->pci->dev);
drivers/staging/media/av7110/av7110.c
171
if (av7110->adac_type == DVB_ADAC_NONE || av7110->adac_type == DVB_ADAC_MSP34x0) {
drivers/staging/media/av7110/av7110.c
173
ret = av7110_fw_cmd(av7110, COMTYPE_AUDIODAC, MainSwitch, 1, 0);
drivers/staging/media/av7110/av7110.c
176
ret = av7110_fw_cmd(av7110, COMTYPE_AUDIODAC, ADSwitch, 1, 1);
drivers/staging/media/av7110/av7110.c
1792
struct av7110 *av7110 = fe->dvb->priv;
drivers/staging/media/av7110/av7110.c
180
((av7110->dev->pci->subsystem_vendor == 0x110a) ||
drivers/staging/media/av7110/av7110.c
181
(av7110->dev->pci->subsystem_vendor == 0x13c2)) &&
drivers/staging/media/av7110/av7110.c
1818
if (i2c_transfer(&av7110->i2c_adap, &msg, 1) != 1) {
drivers/staging/media/av7110/av7110.c
182
(av7110->dev->pci->subsystem_device == 0x0000)) {
drivers/staging/media/av7110/av7110.c
1827
if (i2c_transfer(&av7110->i2c_adap, &readmsg, 1) == 1)
drivers/staging/media/av7110/av7110.c
1846
struct av7110 *av7110 = fe->dvb->priv;
drivers/staging/media/av7110/av7110.c
1881
if (i2c_transfer(&av7110->i2c_adap, &msg, 1) != 1)
drivers/staging/media/av7110/av7110.c
189
av7110_fw_cmd(av7110, COMTYPE_AUDIODAC, SpdifSwitch, 1, 0); // SPDIF on
drivers/staging/media/av7110/av7110.c
1890
static int av7110_fe_lock_fix(struct av7110 *av7110, enum fe_status status)
drivers/staging/media/av7110/av7110.c
1895
av7110->fe_status = status;
drivers/staging/media/av7110/av7110.c
1897
if (av7110->fe_synced == synced)
drivers/staging/media/av7110/av7110.c
1900
if (av7110->playing) {
drivers/staging/media/av7110/av7110.c
1901
av7110->fe_synced = synced;
drivers/staging/media/av7110/av7110.c
1905
if (mutex_lock_interruptible(&av7110->pid_mutex))
drivers/staging/media/av7110/av7110.c
1909
ret = SetPIDs(av7110, av7110->pids[DMX_PES_VIDEO],
drivers/staging/media/av7110/av7110.c
191
ret = av7110_set_volume(av7110, av7110->mixer.volume_left, av7110->mixer.volume_right);
drivers/staging/media/av7110/av7110.c
1910
av7110->pids[DMX_PES_AUDIO],
drivers/staging/media/av7110/av7110.c
1911
av7110->pids[DMX_PES_TELETEXT], 0,
drivers/staging/media/av7110/av7110.c
1912
av7110->pids[DMX_PES_PCR]);
drivers/staging/media/av7110/av7110.c
1914
ret = av7110_fw_cmd(av7110, COMTYPE_PIDFILTER, Scan, 0);
drivers/staging/media/av7110/av7110.c
1916
ret = SetPIDs(av7110, 0, 0, 0, 0, 0);
drivers/staging/media/av7110/av7110.c
1918
ret = av7110_fw_cmd(av7110, COMTYPE_PID_FILTER, FlushTSQueue, 0);
drivers/staging/media/av7110/av7110.c
1920
ret = av7110_wait_msgstate(av7110, GPMQBusy);
drivers/staging/media/av7110/av7110.c
1925
av7110->fe_synced = synced;
drivers/staging/media/av7110/av7110.c
1927
mutex_unlock(&av7110->pid_mutex);
drivers/staging/media/av7110/av7110.c
1933
struct av7110 *av7110 = fe->dvb->priv;
drivers/staging/media/av7110/av7110.c
1935
int ret = av7110_fe_lock_fix(av7110, 0);
drivers/staging/media/av7110/av7110.c
1938
ret = av7110->fe_set_frontend(fe);
drivers/staging/media/av7110/av7110.c
1945
struct av7110 *av7110 = fe->dvb->priv;
drivers/staging/media/av7110/av7110.c
1947
int ret = av7110_fe_lock_fix(av7110, 0);
drivers/staging/media/av7110/av7110.c
1950
ret = av7110->fe_init(fe);
drivers/staging/media/av7110/av7110.c
1957
struct av7110 *av7110 = fe->dvb->priv;
drivers/staging/media/av7110/av7110.c
196
static void recover_arm(struct av7110 *av7110)
drivers/staging/media/av7110/av7110.c
1960
int ret = av7110->fe_read_status(fe, status);
drivers/staging/media/av7110/av7110.c
1963
if (((*status ^ av7110->fe_status) & FE_HAS_LOCK) && (*status & FE_HAS_LOCK))
drivers/staging/media/av7110/av7110.c
1964
ret = av7110_fe_lock_fix(av7110, *status);
drivers/staging/media/av7110/av7110.c
1970
struct av7110 *av7110 = fe->dvb->priv;
drivers/staging/media/av7110/av7110.c
1972
int ret = av7110_fe_lock_fix(av7110, 0);
drivers/staging/media/av7110/av7110.c
1975
ret = av7110->fe_diseqc_reset_overload(fe);
drivers/staging/media/av7110/av7110.c
198
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110.c
1982
struct av7110 *av7110 = fe->dvb->priv;
drivers/staging/media/av7110/av7110.c
1984
int ret = av7110_fe_lock_fix(av7110, 0);
drivers/staging/media/av7110/av7110.c
1987
av7110->saved_master_cmd = *cmd;
drivers/staging/media/av7110/av7110.c
1988
ret = av7110->fe_diseqc_send_master_cmd(fe, cmd);
drivers/staging/media/av7110/av7110.c
1996
struct av7110 *av7110 = fe->dvb->priv;
drivers/staging/media/av7110/av7110.c
1998
int ret = av7110_fe_lock_fix(av7110, 0);
drivers/staging/media/av7110/av7110.c
200
av7110_bootarm(av7110);
drivers/staging/media/av7110/av7110.c
2001
av7110->saved_minicmd = minicmd;
drivers/staging/media/av7110/av7110.c
2002
ret = av7110->fe_diseqc_send_burst(fe, minicmd);
drivers/staging/media/av7110/av7110.c
2010
struct av7110 *av7110 = fe->dvb->priv;
drivers/staging/media/av7110/av7110.c
2012
int ret = av7110_fe_lock_fix(av7110, 0);
drivers/staging/media/av7110/av7110.c
2015
av7110->saved_tone = tone;
drivers/staging/media/av7110/av7110.c
2016
ret = av7110->fe_set_tone(fe, tone);
drivers/staging/media/av7110/av7110.c
2024
struct av7110 *av7110 = fe->dvb->priv;
drivers/staging/media/av7110/av7110.c
2026
int ret = av7110_fe_lock_fix(av7110, 0);
drivers/staging/media/av7110/av7110.c
2029
av7110->saved_voltage = voltage;
drivers/staging/media/av7110/av7110.c
203
init_av7110_av(av7110);
drivers/staging/media/av7110/av7110.c
2030
ret = av7110->fe_set_voltage(fe, voltage);
drivers/staging/media/av7110/av7110.c
2037
struct av7110 *av7110 = fe->dvb->priv;
drivers/staging/media/av7110/av7110.c
2039
int ret = av7110_fe_lock_fix(av7110, 0);
drivers/staging/media/av7110/av7110.c
2042
ret = av7110->fe_dishnetwork_send_legacy_command(fe, cmd);
drivers/staging/media/av7110/av7110.c
2046
static void dvb_s_recover(struct av7110 *av7110)
drivers/staging/media/av7110/av7110.c
2048
av7110_fe_init(av7110->fe);
drivers/staging/media/av7110/av7110.c
2050
av7110_fe_set_voltage(av7110->fe, av7110->saved_voltage);
drivers/staging/media/av7110/av7110.c
2051
if (av7110->saved_master_cmd.msg_len) {
drivers/staging/media/av7110/av7110.c
2053
av7110_fe_diseqc_send_master_cmd(av7110->fe, &av7110->saved_master_cmd);
drivers/staging/media/av7110/av7110.c
2056
av7110_fe_diseqc_send_burst(av7110->fe, av7110->saved_minicmd);
drivers/staging/media/av7110/av7110.c
2058
av7110_fe_set_tone(av7110->fe, av7110->saved_tone);
drivers/staging/media/av7110/av7110.c
206
if (av7110->recover)
drivers/staging/media/av7110/av7110.c
2060
av7110_fe_set_frontend(av7110->fe);
drivers/staging/media/av7110/av7110.c
2063
static u8 read_pwm(struct av7110 *av7110)
drivers/staging/media/av7110/av7110.c
207
av7110->recover(av7110);
drivers/staging/media/av7110/av7110.c
2070
if ((i2c_transfer(&av7110->i2c_adap, msg, 2) != 2) || (pwm == 0xff))
drivers/staging/media/av7110/av7110.c
2076
static int frontend_init(struct av7110 *av7110)
drivers/staging/media/av7110/av7110.c
2080
if (av7110->dev->pci->subsystem_vendor == 0x110a) {
drivers/staging/media/av7110/av7110.c
2081
switch (av7110->dev->pci->subsystem_device) {
drivers/staging/media/av7110/av7110.c
2083
av7110->fe = dvb_attach(ves1820_attach, &philips_cd1516_config,
drivers/staging/media/av7110/av7110.c
2084
&av7110->i2c_adap, read_pwm(av7110));
drivers/staging/media/av7110/av7110.c
2085
if (av7110->fe)
drivers/staging/media/av7110/av7110.c
2086
av7110->fe->ops.tuner_ops.set_params = philips_cd1516_tuner_set_params;
drivers/staging/media/av7110/av7110.c
209
restart_feeds(av7110);
drivers/staging/media/av7110/av7110.c
2090
} else if (av7110->dev->pci->subsystem_vendor == 0x13c2) {
drivers/staging/media/av7110/av7110.c
2091
switch (av7110->dev->pci->subsystem_device) {
drivers/staging/media/av7110/av7110.c
2097
av7110->fe = dvb_attach(ves1x93_attach, &alps_bsrv2_config, &av7110->i2c_adap);
drivers/staging/media/av7110/av7110.c
2098
if (av7110->fe) {
drivers/staging/media/av7110/av7110.c
2099
av7110->fe->ops.tuner_ops.set_params = alps_bsrv2_tuner_set_params;
drivers/staging/media/av7110/av7110.c
2100
av7110->fe->ops.diseqc_send_master_cmd = av7110_diseqc_send_master_cmd;
drivers/staging/media/av7110/av7110.c
2101
av7110->fe->ops.diseqc_send_burst = av7110_diseqc_send_burst;
drivers/staging/media/av7110/av7110.c
2102
av7110->fe->ops.set_tone = av7110_set_tone;
drivers/staging/media/av7110/av7110.c
2103
av7110->recover = dvb_s_recover;
drivers/staging/media/av7110/av7110.c
2108
av7110->fe = dvb_attach(stv0299_attach, &alps_bsru6_config, &av7110->i2c_adap);
drivers/staging/media/av7110/av7110.c
2109
if (av7110->fe) {
drivers/staging/media/av7110/av7110.c
2110
av7110->fe->ops.tuner_ops.set_params = alps_bsru6_tuner_set_params;
drivers/staging/media/av7110/av7110.c
2111
av7110->fe->tuner_priv = &av7110->i2c_adap;
drivers/staging/media/av7110/av7110.c
2113
av7110->fe->ops.diseqc_send_master_cmd = av7110_diseqc_send_master_cmd;
drivers/staging/media/av7110/av7110.c
2114
av7110->fe->ops.diseqc_send_burst = av7110_diseqc_send_burst;
drivers/staging/media/av7110/av7110.c
2115
av7110->fe->ops.set_tone = av7110_set_tone;
drivers/staging/media/av7110/av7110.c
2116
av7110->recover = dvb_s_recover;
drivers/staging/media/av7110/av7110.c
212
av7110_set_ir_config(av7110);
drivers/staging/media/av7110/av7110.c
2121
av7110->fe = dvb_attach(tda8083_attach, &grundig_29504_451_config, &av7110->i2c_adap);
drivers/staging/media/av7110/av7110.c
2122
if (av7110->fe) {
drivers/staging/media/av7110/av7110.c
2123
av7110->fe->ops.tuner_ops.set_params = grundig_29504_451_tuner_set_params;
drivers/staging/media/av7110/av7110.c
2124
av7110->fe->ops.diseqc_send_master_cmd = av7110_diseqc_send_master_cmd;
drivers/staging/media/av7110/av7110.c
2125
av7110->fe->ops.diseqc_send_burst = av7110_diseqc_send_burst;
drivers/staging/media/av7110/av7110.c
2126
av7110->fe->ops.set_tone = av7110_set_tone;
drivers/staging/media/av7110/av7110.c
2127
av7110->recover = dvb_s_recover;
drivers/staging/media/av7110/av7110.c
2132
switch (av7110->dev->pci->subsystem_device) {
drivers/staging/media/av7110/av7110.c
2135
av7110->fe = dvb_attach(ves1820_attach, &philips_cd1516_config, &av7110->i2c_adap,
drivers/staging/media/av7110/av7110.c
2136
read_pwm(av7110));
drivers/staging/media/av7110/av7110.c
2137
if (av7110->fe)
drivers/staging/media/av7110/av7110.c
2138
av7110->fe->ops.tuner_ops.set_params = philips_cd1516_tuner_set_params;
drivers/staging/media/av7110/av7110.c
2142
av7110->fe = dvb_attach(ves1820_attach, &alps_tdbe2_config, &av7110->i2c_adap,
drivers/staging/media/av7110/av7110.c
2143
read_pwm(av7110));
drivers/staging/media/av7110/av7110.c
2144
if (av7110->fe)
drivers/staging/media/av7110/av7110.c
2145
av7110->fe->ops.tuner_ops.set_params = alps_tdbe2_tuner_set_params;
drivers/staging/media/av7110/av7110.c
2155
fe = dvb_attach(sp8870_attach, &alps_tdlb7_config, &av7110->i2c_adap);
drivers/staging/media/av7110/av7110.c
2158
av7110->fe = fe;
drivers/staging/media/av7110/av7110.c
216
static void av7110_arm_sync(struct av7110 *av7110)
drivers/staging/media/av7110/av7110.c
2166
av7110->fe = dvb_attach(l64781_attach, &grundig_29504_401_config, &av7110->i2c_adap);
drivers/staging/media/av7110/av7110.c
2167
if (av7110->fe)
drivers/staging/media/av7110/av7110.c
2168
av7110->fe->ops.tuner_ops.set_params = grundig_29504_401_tuner_set_params;
drivers/staging/media/av7110/av7110.c
2173
av7110->fe = dvb_attach(ves1820_attach, &alps_tdbe2_config, &av7110->i2c_adap, read_pwm(av7110));
drivers/staging/media/av7110/av7110.c
2174
if (av7110->fe)
drivers/staging/media/av7110/av7110.c
2175
av7110->fe->ops.tuner_ops.set_params = alps_tdbe2_tuner_set_params;
drivers/staging/media/av7110/av7110.c
218
if (av7110->arm_thread)
drivers/staging/media/av7110/av7110.c
2180
av7110->fe = dvb_attach(ves1x93_attach, &alps_bsrv2_config, &av7110->i2c_adap);
drivers/staging/media/av7110/av7110.c
2181
if (av7110->fe) {
drivers/staging/media/av7110/av7110.c
2182
av7110->fe->ops.tuner_ops.set_params = alps_bsrv2_tuner_set_params;
drivers/staging/media/av7110/av7110.c
2183
av7110->fe->ops.diseqc_send_master_cmd = av7110_diseqc_send_master_cmd;
drivers/staging/media/av7110/av7110.c
2184
av7110->fe->ops.diseqc_send_burst = av7110_diseqc_send_burst;
drivers/staging/media/av7110/av7110.c
2185
av7110->fe->ops.set_tone = av7110_set_tone;
drivers/staging/media/av7110/av7110.c
2186
av7110->recover = dvb_s_recover;
drivers/staging/media/av7110/av7110.c
219
kthread_stop(av7110->arm_thread);
drivers/staging/media/av7110/av7110.c
2192
av7110->fe = dvb_attach(tda8083_attach, &grundig_29504_451_config, &av7110->i2c_adap);
drivers/staging/media/av7110/av7110.c
2193
if (av7110->fe) {
drivers/staging/media/av7110/av7110.c
2194
av7110->fe->ops.tuner_ops.set_params = grundig_29504_451_tuner_set_params;
drivers/staging/media/av7110/av7110.c
2195
av7110->fe->ops.diseqc_send_master_cmd = av7110_diseqc_send_master_cmd;
drivers/staging/media/av7110/av7110.c
2196
av7110->fe->ops.diseqc_send_burst = av7110_diseqc_send_burst;
drivers/staging/media/av7110/av7110.c
2197
av7110->fe->ops.set_tone = av7110_set_tone;
drivers/staging/media/av7110/av7110.c
2198
av7110->recover = dvb_s_recover;
drivers/staging/media/av7110/av7110.c
2204
av7110->fe = dvb_attach(stv0297_attach, &nexusca_stv0297_config, &av7110->i2c_adap);
drivers/staging/media/av7110/av7110.c
2205
if (av7110->fe) {
drivers/staging/media/av7110/av7110.c
2206
av7110->fe->ops.tuner_ops.set_params = nexusca_stv0297_tuner_set_params;
drivers/staging/media/av7110/av7110.c
2209
saa7146_setgpio(av7110->dev, 1, SAA7146_GPIO_OUTLO); // TDA9819 pin9(STD)
drivers/staging/media/av7110/av7110.c
221
av7110->arm_thread = NULL;
drivers/staging/media/av7110/av7110.c
2210
saa7146_setgpio(av7110->dev, 3, SAA7146_GPIO_OUTLO); // TDA9819 pin30(VIF)
drivers/staging/media/av7110/av7110.c
2213
av7110->dev->i2c_bitrate = SAA7146_I2C_BUS_BIT_RATE_240;
drivers/staging/media/av7110/av7110.c
2220
av7110->fe = dvb_attach(stv0299_attach, &alps_bsbe1_config, &av7110->i2c_adap);
drivers/staging/media/av7110/av7110.c
2221
if (av7110->fe) {
drivers/staging/media/av7110/av7110.c
2222
av7110->fe->ops.tuner_ops.set_params = alps_bsbe1_tuner_set_params;
drivers/staging/media/av7110/av7110.c
2223
av7110->fe->tuner_priv = &av7110->i2c_adap;
drivers/staging/media/av7110/av7110.c
2225
if (!dvb_attach(lnbp21_attach, av7110->fe, &av7110->i2c_adap, 0, 0)) {
drivers/staging/media/av7110/av7110.c
2227
if (av7110->fe->ops.release)
drivers/staging/media/av7110/av7110.c
2228
av7110->fe->ops.release(av7110->fe);
drivers/staging/media/av7110/av7110.c
2229
av7110->fe = NULL;
drivers/staging/media/av7110/av7110.c
2231
av7110->fe->ops.dishnetwork_send_legacy_command = NULL;
drivers/staging/media/av7110/av7110.c
2232
av7110->recover = dvb_s_recover;
drivers/staging/media/av7110/av7110.c
2239
if (!av7110->fe) {
drivers/staging/media/av7110/av7110.c
2243
av7110->dev->pci->vendor, av7110->dev->pci->device,
drivers/staging/media/av7110/av7110.c
2244
av7110->dev->pci->subsystem_vendor, av7110->dev->pci->subsystem_device);
drivers/staging/media/av7110/av7110.c
2246
FE_FUNC_OVERRIDE(av7110->fe->ops.init, av7110->fe_init, av7110_fe_init);
drivers/staging/media/av7110/av7110.c
2247
FE_FUNC_OVERRIDE(av7110->fe->ops.read_status, av7110->fe_read_status, av7110_fe_read_status);
drivers/staging/media/av7110/av7110.c
2248
FE_FUNC_OVERRIDE(av7110->fe->ops.diseqc_reset_overload, av7110->fe_diseqc_reset_overload, av7110_fe_diseqc_reset_overload);
drivers/staging/media/av7110/av7110.c
2249
FE_FUNC_OVERRIDE(av7110->fe->ops.diseqc_send_master_cmd, av7110->fe_diseqc_send_master_cmd, av7110_fe_diseqc_send_master_cmd);
drivers/staging/media/av7110/av7110.c
2250
FE_FUNC_OVERRIDE(av7110->fe->ops.diseqc_send_burst, av7110->fe_diseqc_send_burst, av7110_fe_diseqc_send_burst);
drivers/staging/media/av7110/av7110.c
2251
FE_FUNC_OVERRIDE(av7110->fe->ops.set_tone, av7110->fe_set_tone, av7110_fe_set_tone);
drivers/staging/media/av7110/av7110.c
2252
FE_FUNC_OVERRIDE(av7110->fe->ops.set_voltage, av7110->fe_set_voltage, av7110_fe_set_voltage);
drivers/staging/media/av7110/av7110.c
2253
FE_FUNC_OVERRIDE(av7110->fe->ops.dishnetwork_send_legacy_command, av7110->fe_dishnetwork_send_legacy_command, av7110_fe_dishnetwork_send_legacy_command);
drivers/staging/media/av7110/av7110.c
2254
FE_FUNC_OVERRIDE(av7110->fe->ops.set_frontend, av7110->fe_set_frontend, av7110_fe_set_frontend);
drivers/staging/media/av7110/av7110.c
2256
ret = dvb_register_frontend(&av7110->dvb_adapter, av7110->fe);
drivers/staging/media/av7110/av7110.c
2259
dvb_frontend_detach(av7110->fe);
drivers/staging/media/av7110/av7110.c
226
struct av7110 *av7110 = data;
drivers/staging/media/av7110/av7110.c
2260
av7110->fe = NULL;
drivers/staging/media/av7110/av7110.c
230
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110.c
233
timeout = wait_event_interruptible_timeout(av7110->arm_wait,
drivers/staging/media/av7110/av7110.c
2331
struct av7110 *av7110;
drivers/staging/media/av7110/av7110.c
241
if (!av7110->arm_ready)
drivers/staging/media/av7110/av7110.c
2427
av7110 = kzalloc_obj(*av7110);
drivers/staging/media/av7110/av7110.c
2428
if (!av7110) {
drivers/staging/media/av7110/av7110.c
2433
av7110->card_name = (char *)pci_ext->ext_priv;
drivers/staging/media/av7110/av7110.c
2434
av7110->dev = dev;
drivers/staging/media/av7110/av7110.c
2435
dev->ext_priv = av7110;
drivers/staging/media/av7110/av7110.c
2437
ret = get_firmware(av7110);
drivers/staging/media/av7110/av7110.c
244
if (mutex_lock_interruptible(&av7110->dcomlock))
drivers/staging/media/av7110/av7110.c
2441
ret = dvb_register_adapter(&av7110->dvb_adapter, av7110->card_name,
drivers/staging/media/av7110/av7110.c
2451
strscpy(av7110->i2c_adap.name, pci_ext->ext_priv,
drivers/staging/media/av7110/av7110.c
2452
sizeof(av7110->i2c_adap.name));
drivers/staging/media/av7110/av7110.c
2454
saa7146_i2c_adapter_prepare(dev, &av7110->i2c_adap, SAA7146_I2C_BUS_BIT_RATE_120); /* 275 kHz */
drivers/staging/media/av7110/av7110.c
2456
ret = i2c_add_adapter(&av7110->i2c_adap);
drivers/staging/media/av7110/av7110.c
246
newloops = rdebi(av7110, DEBINOSWAP, STATUS_LOOPS, 0, 2);
drivers/staging/media/av7110/av7110.c
2460
ttpci_eeprom_parse_mac(&av7110->i2c_adap,
drivers/staging/media/av7110/av7110.c
2461
av7110->dvb_adapter.proposed_mac);
drivers/staging/media/av7110/av7110.c
2466
av7110->full_ts = true;
drivers/staging/media/av7110/av7110.c
2469
if (i2c_readreg(av7110, 0xaa, 0) == 0x4f && i2c_readreg(av7110, 0xaa, 1) == 0x45) {
drivers/staging/media/av7110/av7110.c
247
mutex_unlock(&av7110->dcomlock);
drivers/staging/media/av7110/av7110.c
2470
u8 flags = i2c_readreg(av7110, 0xaa, 2);
drivers/staging/media/av7110/av7110.c
2473
av7110->full_ts = true;
drivers/staging/media/av7110/av7110.c
2476
if (av7110->full_ts) {
drivers/staging/media/av7110/av7110.c
2478
spin_lock_init(&av7110->feedlock1);
drivers/staging/media/av7110/av7110.c
2479
av7110->grabbing = saa7146_vmalloc_build_pgtable(pdev, length,
drivers/staging/media/av7110/av7110.c
2480
&av7110->pt);
drivers/staging/media/av7110/av7110.c
2481
if (!av7110->grabbing)
drivers/staging/media/av7110/av7110.c
249
if (newloops == av7110->arm_loops || av7110->arm_errors > 3) {
drivers/staging/media/av7110/av7110.c
2499
saa7146_write(dev, BASE_PAGE3, av7110->pt.dma | ME1 | 0x90);
drivers/staging/media/av7110/av7110.c
250
pr_err("ARM crashed @ card %d\n", av7110->dvb_adapter.num);
drivers/staging/media/av7110/av7110.c
2503
tasklet_setup(&av7110->vpe_tasklet, vpeirq);
drivers/staging/media/av7110/av7110.c
2506
spin_lock_init(&av7110->feedlock1);
drivers/staging/media/av7110/av7110.c
2507
av7110->grabbing = saa7146_vmalloc_build_pgtable(pdev, length,
drivers/staging/media/av7110/av7110.c
2508
&av7110->pt);
drivers/staging/media/av7110/av7110.c
2509
if (!av7110->grabbing)
drivers/staging/media/av7110/av7110.c
252
recover_arm(av7110);
drivers/staging/media/av7110/av7110.c
2522
saa7146_write(dev, BASE_PAGE3, av7110->pt.dma | ME1 | 0x90);
drivers/staging/media/av7110/av7110.c
254
if (mutex_lock_interruptible(&av7110->dcomlock))
drivers/staging/media/av7110/av7110.c
256
newloops = rdebi(av7110, DEBINOSWAP, STATUS_LOOPS, 0, 2) - 1;
drivers/staging/media/av7110/av7110.c
257
mutex_unlock(&av7110->dcomlock);
drivers/staging/media/av7110/av7110.c
2584
tasklet_setup(&av7110->vpe_tasklet, vpeirq);
drivers/staging/media/av7110/av7110.c
259
av7110->arm_loops = newloops;
drivers/staging/media/av7110/av7110.c
2599
tasklet_setup(&av7110->debi_tasklet, debiirq);
drivers/staging/media/av7110/av7110.c
260
av7110->arm_errors = 0;
drivers/staging/media/av7110/av7110.c
2600
tasklet_setup(&av7110->gpio_tasklet, gpioirq);
drivers/staging/media/av7110/av7110.c
2602
mutex_init(&av7110->pid_mutex);
drivers/staging/media/av7110/av7110.c
2605
spin_lock_init(&av7110->debilock);
drivers/staging/media/av7110/av7110.c
2606
mutex_init(&av7110->dcomlock);
drivers/staging/media/av7110/av7110.c
2607
av7110->debitype = -1;
drivers/staging/media/av7110/av7110.c
2610
av7110->osdwin = 1;
drivers/staging/media/av7110/av7110.c
2611
mutex_init(&av7110->osd_mutex);
drivers/staging/media/av7110/av7110.c
2614
av7110->vidmode = tv_standard == 1 ? AV7110_VIDEO_MODE_NTSC
drivers/staging/media/av7110/av7110.c
2618
init_waitqueue_head(&av7110->arm_wait);
drivers/staging/media/av7110/av7110.c
2619
av7110->arm_thread = NULL;
drivers/staging/media/av7110/av7110.c
2622
av7110->debi_virt = dma_alloc_coherent(&pdev->dev, 8192,
drivers/staging/media/av7110/av7110.c
2623
&av7110->debi_bus, GFP_KERNEL);
drivers/staging/media/av7110/av7110.c
2624
if (!av7110->debi_virt)
drivers/staging/media/av7110/av7110.c
2627
av7110->iobuf = vmalloc(AVOUTLEN + AOUTLEN + BMPLEN + 4 * IPACKS);
drivers/staging/media/av7110/av7110.c
2628
if (!av7110->iobuf)
drivers/staging/media/av7110/av7110.c
2631
ret = av7110_av_init(av7110);
drivers/staging/media/av7110/av7110.c
2636
av7110->bmpbuf = av7110->iobuf + AVOUTLEN + AOUTLEN;
drivers/staging/media/av7110/av7110.c
2637
init_waitqueue_head(&av7110->bmpq);
drivers/staging/media/av7110/av7110.c
2639
ret = av7110_ca_init(av7110);
drivers/staging/media/av7110/av7110.c
2644
ret = av7110_bootarm(av7110);
drivers/staging/media/av7110/av7110.c
2648
ret = av7110_firmversion(av7110);
drivers/staging/media/av7110/av7110.c
2652
if (FW_VERSION(av7110->arm_app) < 0x2501)
drivers/staging/media/av7110/av7110.c
2654
FW_VERSION(av7110->arm_app));
drivers/staging/media/av7110/av7110.c
2656
thread = kthread_run(arm_thread, (void *)av7110, "arm_mon");
drivers/staging/media/av7110/av7110.c
2661
av7110->arm_thread = thread;
drivers/staging/media/av7110/av7110.c
2664
av7110->mixer.volume_left = volume;
drivers/staging/media/av7110/av7110.c
2665
av7110->mixer.volume_right = volume;
drivers/staging/media/av7110/av7110.c
2667
ret = av7110_register(av7110);
drivers/staging/media/av7110/av7110.c
2671
init_av7110_av(av7110);
drivers/staging/media/av7110/av7110.c
2677
ret = av7110_init_v4l(av7110);
drivers/staging/media/av7110/av7110.c
2681
av7110->dvb_adapter.priv = av7110;
drivers/staging/media/av7110/av7110.c
2682
ret = frontend_init(av7110);
drivers/staging/media/av7110/av7110.c
2686
mutex_init(&av7110->ioctl_mutex);
drivers/staging/media/av7110/av7110.c
2689
av7110_ir_init(av7110);
drivers/staging/media/av7110/av7110.c
2697
av7110_exit_v4l(av7110);
drivers/staging/media/av7110/av7110.c
2699
dvb_unregister(av7110);
drivers/staging/media/av7110/av7110.c
2701
av7110_arm_sync(av7110);
drivers/staging/media/av7110/av7110.c
2705
av7110_ca_exit(av7110);
drivers/staging/media/av7110/av7110.c
2707
av7110_av_exit(av7110);
drivers/staging/media/av7110/av7110.c
2709
vfree(av7110->iobuf);
drivers/staging/media/av7110/av7110.c
2711
dma_free_coherent(&pdev->dev, 8192, av7110->debi_virt,
drivers/staging/media/av7110/av7110.c
2712
av7110->debi_bus);
drivers/staging/media/av7110/av7110.c
2714
if (av7110->grabbing)
drivers/staging/media/av7110/av7110.c
2715
saa7146_vfree_destroy_pgtable(pdev, av7110->grabbing, &av7110->pt);
drivers/staging/media/av7110/av7110.c
2717
i2c_del_adapter(&av7110->i2c_adap);
drivers/staging/media/av7110/av7110.c
2719
dvb_unregister_adapter(&av7110->dvb_adapter);
drivers/staging/media/av7110/av7110.c
2721
put_firmware(av7110);
drivers/staging/media/av7110/av7110.c
2723
kfree(av7110);
drivers/staging/media/av7110/av7110.c
2729
struct av7110 *av7110 = saa->ext_priv;
drivers/staging/media/av7110/av7110.c
273
struct av7110 *av7110)
drivers/staging/media/av7110/av7110.c
2731
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110.c
2734
av7110_ir_exit(av7110);
drivers/staging/media/av7110/av7110.c
2736
if (budgetpatch || av7110->full_ts) {
drivers/staging/media/av7110/av7110.c
2747
tasklet_kill(&av7110->vpe_tasklet);
drivers/staging/media/av7110/av7110.c
2748
saa7146_vfree_destroy_pgtable(saa->pci, av7110->grabbing, &av7110->pt);
drivers/staging/media/av7110/av7110.c
2750
av7110_exit_v4l(av7110);
drivers/staging/media/av7110/av7110.c
2752
av7110_arm_sync(av7110);
drivers/staging/media/av7110/av7110.c
2754
tasklet_kill(&av7110->debi_tasklet);
drivers/staging/media/av7110/av7110.c
2755
tasklet_kill(&av7110->gpio_tasklet);
drivers/staging/media/av7110/av7110.c
2757
dvb_unregister(av7110);
drivers/staging/media/av7110/av7110.c
2762
av7110_ca_exit(av7110);
drivers/staging/media/av7110/av7110.c
2763
av7110_av_exit(av7110);
drivers/staging/media/av7110/av7110.c
2765
vfree(av7110->iobuf);
drivers/staging/media/av7110/av7110.c
2766
dma_free_coherent(&saa->pci->dev, 8192, av7110->debi_virt,
drivers/staging/media/av7110/av7110.c
2767
av7110->debi_bus);
drivers/staging/media/av7110/av7110.c
2769
i2c_del_adapter(&av7110->i2c_adap);
drivers/staging/media/av7110/av7110.c
2771
dvb_unregister_adapter(&av7110->dvb_adapter);
drivers/staging/media/av7110/av7110.c
2775
put_firmware(av7110);
drivers/staging/media/av7110/av7110.c
2777
kfree(av7110);
drivers/staging/media/av7110/av7110.c
2786
struct av7110 *av7110 = dev->ext_priv;
drivers/staging/media/av7110/av7110.c
2811
SAA7146_IER_DISABLE(av7110->dev, MASK_19);
drivers/staging/media/av7110/av7110.c
2812
SAA7146_ISR_CLEAR(av7110->dev, MASK_19);
drivers/staging/media/av7110/av7110.c
2813
tasklet_schedule(&av7110->debi_tasklet);
drivers/staging/media/av7110/av7110.c
2818
tasklet_schedule(&av7110->gpio_tasklet);
drivers/staging/media/av7110/av7110.c
2822
tasklet_schedule(&av7110->vpe_tasklet);
drivers/staging/media/av7110/av7110.c
310
&av7110->p2t_filter[dvbdmxfilter->index]);
drivers/staging/media/av7110/av7110.c
330
static inline void start_debi_dma(struct av7110 *av7110, int dir,
drivers/staging/media/av7110/av7110.c
334
if (saa7146_wait_for_debi_done(av7110->dev, 0)) {
drivers/staging/media/av7110/av7110.c
339
SAA7146_ISR_CLEAR(av7110->dev, MASK_19); /* for good measure */
drivers/staging/media/av7110/av7110.c
340
SAA7146_IER_ENABLE(av7110->dev, MASK_19);
drivers/staging/media/av7110/av7110.c
344
iwdebi(av7110, DEBISWAB, addr, 0, (len + 3) & ~3);
drivers/staging/media/av7110/av7110.c
346
irdebi(av7110, DEBISWAB, addr, 0, len);
drivers/staging/media/av7110/av7110.c
351
struct av7110 *av7110 = from_tasklet(av7110, t, debi_tasklet);
drivers/staging/media/av7110/av7110.c
352
int type = av7110->debitype;
drivers/staging/media/av7110/av7110.c
361
saa7146_read(av7110->dev, PSR), saa7146_read(av7110->dev, SSR));
drivers/staging/media/av7110/av7110.c
364
av7110->debitype = -1;
drivers/staging/media/av7110/av7110.c
368
dvb_dmx_swfilter_packets(&av7110->demux,
drivers/staging/media/av7110/av7110.c
369
(const u8 *)av7110->debi_virt,
drivers/staging/media/av7110/av7110.c
370
av7110->debilen / 188);
drivers/staging/media/av7110/av7110.c
375
if (av7110->demux.recording)
drivers/staging/media/av7110/av7110.c
376
av7110_record_cb(&av7110->p2t[handle],
drivers/staging/media/av7110/av7110.c
377
(u8 *)av7110->debi_virt,
drivers/staging/media/av7110/av7110.c
378
av7110->debilen);
drivers/staging/media/av7110/av7110.c
385
if (av7110->handle2filter[handle])
drivers/staging/media/av7110/av7110.c
386
DvbDmxFilterCallback((u8 *)av7110->debi_virt,
drivers/staging/media/av7110/av7110.c
387
av7110->debilen, NULL, 0,
drivers/staging/media/av7110/av7110.c
388
av7110->handle2filter[handle],
drivers/staging/media/av7110/av7110.c
389
av7110);
drivers/staging/media/av7110/av7110.c
395
u8 *data = av7110->debi_virt;
drivers/staging/media/av7110/av7110.c
405
av7110->ci_slot[data_0].flags = flags;
drivers/staging/media/av7110/av7110.c
407
ci_get_data(&av7110->ci_rbuffer,
drivers/staging/media/av7110/av7110.c
408
av7110->debi_virt,
drivers/staging/media/av7110/av7110.c
409
av7110->debilen);
drivers/staging/media/av7110/av7110.c
416
CI_handle(av7110, (u8 *)av7110->debi_virt, av7110->debilen);
drivers/staging/media/av7110/av7110.c
421
((s8 *)av7110->debi_virt)[Reserved_SIZE - 1] = 0;
drivers/staging/media/av7110/av7110.c
422
pr_info("%s\n", (s8 *)av7110->debi_virt);
drivers/staging/media/av7110/av7110.c
442
spin_lock(&av7110->debilock);
drivers/staging/media/av7110/av7110.c
444
iwdebi(av7110, DEBINOSWAP, xfer, 0, 2);
drivers/staging/media/av7110/av7110.c
445
ARM_ClearMailBox(av7110);
drivers/staging/media/av7110/av7110.c
446
spin_unlock(&av7110->debilock);
drivers/staging/media/av7110/av7110.c
452
struct av7110 *av7110 = from_tasklet(av7110, t, gpio_tasklet);
drivers/staging/media/av7110/av7110.c
456
if (av7110->debitype != -1)
drivers/staging/media/av7110/av7110.c
459
saa7146_read(av7110->dev, PSR), saa7146_read(av7110->dev, SSR));
drivers/staging/media/av7110/av7110.c
461
if (saa7146_wait_for_debi_done(av7110->dev, 0)) {
drivers/staging/media/av7110/av7110.c
466
spin_lock(&av7110->debilock);
drivers/staging/media/av7110/av7110.c
467
ARM_ClearIrq(av7110);
drivers/staging/media/av7110/av7110.c
470
av7110->debitype = irdebi(av7110, DEBINOSWAP, IRQ_STATE, 0, 2);
drivers/staging/media/av7110/av7110.c
471
av7110->debilen = irdebi(av7110, DEBINOSWAP, IRQ_STATE_EXT, 0, 2);
drivers/staging/media/av7110/av7110.c
472
rxbuf = irdebi(av7110, DEBINOSWAP, RX_BUFF, 0, 2);
drivers/staging/media/av7110/av7110.c
473
txbuf = irdebi(av7110, DEBINOSWAP, TX_BUFF, 0, 2);
drivers/staging/media/av7110/av7110.c
474
len = (av7110->debilen + 3) & ~3;
drivers/staging/media/av7110/av7110.c
477
dprintk(8, "GPIO0 irq 0x%04x %d\n", av7110->debitype, av7110->debilen);
drivers/staging/media/av7110/av7110.c
479
switch (av7110->debitype & 0xff) {
drivers/staging/media/av7110/av7110.c
489
av7110->video_size.w = irdebi(av7110, DEBINOSWAP, STATUS_MPEG_WIDTH, 0, 2);
drivers/staging/media/av7110/av7110.c
490
h_ar = irdebi(av7110, DEBINOSWAP, STATUS_MPEG_HEIGHT_AR, 0, 2);
drivers/staging/media/av7110/av7110.c
492
iwdebi(av7110, DEBINOSWAP, IRQ_STATE_EXT, 0, 2);
drivers/staging/media/av7110/av7110.c
493
iwdebi(av7110, DEBINOSWAP, RX_BUFF, 0, 2);
drivers/staging/media/av7110/av7110.c
495
av7110->video_size.h = h_ar & 0xfff;
drivers/staging/media/av7110/av7110.c
498
event.u.size.w = av7110->video_size.w;
drivers/staging/media/av7110/av7110.c
499
event.u.size.h = av7110->video_size.h;
drivers/staging/media/av7110/av7110.c
502
av7110->video_size.aspect_ratio = VIDEO_FORMAT_16_9;
drivers/staging/media/av7110/av7110.c
504
av7110->videostate.video_format = VIDEO_FORMAT_16_9;
drivers/staging/media/av7110/av7110.c
507
av7110->video_size.aspect_ratio = VIDEO_FORMAT_221_1;
drivers/staging/media/av7110/av7110.c
509
av7110->videostate.video_format = VIDEO_FORMAT_221_1;
drivers/staging/media/av7110/av7110.c
512
av7110->video_size.aspect_ratio = VIDEO_FORMAT_4_3;
drivers/staging/media/av7110/av7110.c
514
av7110->videostate.video_format = VIDEO_FORMAT_4_3;
drivers/staging/media/av7110/av7110.c
518
av7110->video_size.w, av7110->video_size.h,
drivers/staging/media/av7110/av7110.c
519
av7110->video_size.aspect_ratio);
drivers/staging/media/av7110/av7110.c
521
dvb_video_add_event(av7110, &event);
drivers/staging/media/av7110/av7110.c
528
struct dvb_ringbuffer *cibuf = &av7110->ci_wbuffer;
drivers/staging/media/av7110/av7110.c
532
iwdebi(av7110, DEBINOSWAP, IRQ_STATE_EXT, 0, 2);
drivers/staging/media/av7110/av7110.c
533
iwdebi(av7110, DEBINOSWAP, TX_LEN, 0, 2);
drivers/staging/media/av7110/av7110.c
534
iwdebi(av7110, DEBINOSWAP, TX_BUFF, 0, 2);
drivers/staging/media/av7110/av7110.c
540
iwdebi(av7110, DEBINOSWAP, IRQ_STATE_EXT, 0, 2);
drivers/staging/media/av7110/av7110.c
541
iwdebi(av7110, DEBINOSWAP, TX_LEN, 0, 2);
drivers/staging/media/av7110/av7110.c
542
iwdebi(av7110, DEBINOSWAP, TX_BUFF, 0, 2);
drivers/staging/media/av7110/av7110.c
547
dvb_ringbuffer_read(cibuf, av7110->debi_virt, len);
drivers/staging/media/av7110/av7110.c
549
iwdebi(av7110, DEBINOSWAP, TX_LEN, len, 2);
drivers/staging/media/av7110/av7110.c
550
iwdebi(av7110, DEBINOSWAP, IRQ_STATE_EXT, len, 2);
drivers/staging/media/av7110/av7110.c
552
start_debi_dma(av7110, DEBI_WRITE, DPRAM_BASE + txbuf, len);
drivers/staging/media/av7110/av7110.c
553
spin_unlock(&av7110->debilock);
drivers/staging/media/av7110/av7110.c
559
if (!av7110->playing) {
drivers/staging/media/av7110/av7110.c
560
iwdebi(av7110, DEBINOSWAP, IRQ_STATE_EXT, 0, 2);
drivers/staging/media/av7110/av7110.c
561
iwdebi(av7110, DEBINOSWAP, TX_LEN, 0, 2);
drivers/staging/media/av7110/av7110.c
562
iwdebi(av7110, DEBINOSWAP, TX_BUFF, 0, 2);
drivers/staging/media/av7110/av7110.c
566
if (av7110->debitype & 0x100) {
drivers/staging/media/av7110/av7110.c
567
spin_lock(&av7110->aout.lock);
drivers/staging/media/av7110/av7110.c
568
len = av7110_pes_play(av7110->debi_virt, &av7110->aout, 2048);
drivers/staging/media/av7110/av7110.c
569
spin_unlock(&av7110->aout.lock);
drivers/staging/media/av7110/av7110.c
571
if (len <= 0 && (av7110->debitype & 0x200) &&
drivers/staging/media/av7110/av7110.c
572
av7110->videostate.play_state != VIDEO_FREEZED) {
drivers/staging/media/av7110/av7110.c
573
spin_lock(&av7110->avout.lock);
drivers/staging/media/av7110/av7110.c
574
len = av7110_pes_play(av7110->debi_virt, &av7110->avout, 2048);
drivers/staging/media/av7110/av7110.c
575
spin_unlock(&av7110->avout.lock);
drivers/staging/media/av7110/av7110.c
578
iwdebi(av7110, DEBINOSWAP, IRQ_STATE_EXT, 0, 2);
drivers/staging/media/av7110/av7110.c
579
iwdebi(av7110, DEBINOSWAP, TX_LEN, 0, 2);
drivers/staging/media/av7110/av7110.c
580
iwdebi(av7110, DEBINOSWAP, TX_BUFF, 0, 2);
drivers/staging/media/av7110/av7110.c
584
iwdebi(av7110, DEBINOSWAP, TX_LEN, len, 2);
drivers/staging/media/av7110/av7110.c
585
iwdebi(av7110, DEBINOSWAP, IRQ_STATE_EXT, len, 2);
drivers/staging/media/av7110/av7110.c
587
start_debi_dma(av7110, DEBI_WRITE, DPRAM_BASE + txbuf, len);
drivers/staging/media/av7110/av7110.c
588
spin_unlock(&av7110->debilock);
drivers/staging/media/av7110/av7110.c
592
len = av7110->debilen;
drivers/staging/media/av7110/av7110.c
595
av7110->bmp_state = BMP_LOADED;
drivers/staging/media/av7110/av7110.c
596
iwdebi(av7110, DEBINOSWAP, IRQ_STATE_EXT, 0, 2);
drivers/staging/media/av7110/av7110.c
597
iwdebi(av7110, DEBINOSWAP, TX_LEN, 0, 2);
drivers/staging/media/av7110/av7110.c
598
iwdebi(av7110, DEBINOSWAP, TX_BUFF, 0, 2);
drivers/staging/media/av7110/av7110.c
599
wake_up(&av7110->bmpq);
drivers/staging/media/av7110/av7110.c
603
if (len > av7110->bmplen)
drivers/staging/media/av7110/av7110.c
604
len = av7110->bmplen;
drivers/staging/media/av7110/av7110.c
607
iwdebi(av7110, DEBINOSWAP, TX_LEN, len, 2);
drivers/staging/media/av7110/av7110.c
608
iwdebi(av7110, DEBINOSWAP, IRQ_STATE_EXT, len, 2);
drivers/staging/media/av7110/av7110.c
609
memcpy(av7110->debi_virt, av7110->bmpbuf + av7110->bmpp, len);
drivers/staging/media/av7110/av7110.c
610
av7110->bmpp += len;
drivers/staging/media/av7110/av7110.c
611
av7110->bmplen -= len;
drivers/staging/media/av7110/av7110.c
613
start_debi_dma(av7110, DEBI_WRITE, DPRAM_BASE + txbuf, len);
drivers/staging/media/av7110/av7110.c
614
spin_unlock(&av7110->debilock);
drivers/staging/media/av7110/av7110.c
623
iwdebi(av7110, DEBINOSWAP, RX_BUFF, 0, 2);
drivers/staging/media/av7110/av7110.c
631
start_debi_dma(av7110, DEBI_READ, DPRAM_BASE + rxbuf, len);
drivers/staging/media/av7110/av7110.c
632
spin_unlock(&av7110->debilock);
drivers/staging/media/av7110/av7110.c
637
iwdebi(av7110, DEBINOSWAP, RX_BUFF, 0, 2);
drivers/staging/media/av7110/av7110.c
640
start_debi_dma(av7110, DEBI_READ, Reserved, len);
drivers/staging/media/av7110/av7110.c
641
spin_unlock(&av7110->debilock);
drivers/staging/media/av7110/av7110.c
646
av7110_ir_handler(av7110,
drivers/staging/media/av7110/av7110.c
647
swahw32(irdebi(av7110, DEBINOSWAP, Reserved,
drivers/staging/media/av7110/av7110.c
650
iwdebi(av7110, DEBINOSWAP, RX_BUFF, 0, 2);
drivers/staging/media/av7110/av7110.c
655
av7110->debitype, av7110->debilen);
drivers/staging/media/av7110/av7110.c
658
av7110->debitype = -1;
drivers/staging/media/av7110/av7110.c
659
ARM_ClearMailBox(av7110);
drivers/staging/media/av7110/av7110.c
660
spin_unlock(&av7110->debilock);
drivers/staging/media/av7110/av7110.c
668
struct av7110 *av7110 = dvbdev->priv;
drivers/staging/media/av7110/av7110.c
670
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110.c
673
return av7110_osd_cmd(av7110, (osd_cmd_t *)parg);
drivers/staging/media/av7110/av7110.c
675
return av7110_osd_capability(av7110, (osd_cap_t *)parg);
drivers/staging/media/av7110/av7110.c
697
static inline int SetPIDs(struct av7110 *av7110, u16 vpid, u16 apid, u16 ttpid,
drivers/staging/media/av7110/av7110.c
702
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110.c
711
av7110->pids[DMX_PES_VIDEO] = 0;
drivers/staging/media/av7110/av7110.c
712
av7110->pids[DMX_PES_AUDIO] = 0;
drivers/staging/media/av7110/av7110.c
713
av7110->pids[DMX_PES_TELETEXT] = 0;
drivers/staging/media/av7110/av7110.c
714
av7110->pids[DMX_PES_PCR] = 0;
drivers/staging/media/av7110/av7110.c
717
if (av7110->audiostate.bypass_mode)
drivers/staging/media/av7110/av7110.c
720
return av7110_fw_cmd(av7110, COMTYPE_PIDFILTER, MultiPID, 6,
drivers/staging/media/av7110/av7110.c
724
int ChangePIDs(struct av7110 *av7110, u16 vpid, u16 apid, u16 ttpid,
drivers/staging/media/av7110/av7110.c
729
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110.c
731
if (mutex_lock_interruptible(&av7110->pid_mutex))
drivers/staging/media/av7110/av7110.c
735
av7110->pids[DMX_PES_VIDEO] = vpid;
drivers/staging/media/av7110/av7110.c
737
av7110->pids[DMX_PES_AUDIO] = apid;
drivers/staging/media/av7110/av7110.c
739
av7110->pids[DMX_PES_TELETEXT] = ttpid;
drivers/staging/media/av7110/av7110.c
741
av7110->pids[DMX_PES_PCR] = pcrpid;
drivers/staging/media/av7110/av7110.c
743
av7110->pids[DMX_PES_SUBTITLE] = 0;
drivers/staging/media/av7110/av7110.c
745
if (av7110->fe_synced) {
drivers/staging/media/av7110/av7110.c
746
pcrpid = av7110->pids[DMX_PES_PCR];
drivers/staging/media/av7110/av7110.c
747
ret = SetPIDs(av7110, vpid, apid, ttpid, subpid, pcrpid);
drivers/staging/media/av7110/av7110.c
750
mutex_unlock(&av7110->pid_mutex);
drivers/staging/media/av7110/av7110.c
761
struct av7110 *av7110 = dvbdmxfeed->demux->priv;
drivers/staging/media/av7110/av7110.c
768
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110.c
770
if (av7110->full_ts)
drivers/staging/media/av7110/av7110.c
785
av7110_p2t_init(&av7110->p2t_filter[dvbdmxfilter->index], dvbdmxfeed);
drivers/staging/media/av7110/av7110.c
793
ret = av7110_fw_request(av7110, buf, 20, &handle, 1);
drivers/staging/media/av7110/av7110.c
803
av7110->handle2filter[handle] = dvbdmxfilter;
drivers/staging/media/av7110/av7110.c
811
struct av7110 *av7110 = dvbdmxfilter->feed->demux->priv;
drivers/staging/media/av7110/av7110.c
817
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110.c
819
if (av7110->full_ts)
drivers/staging/media/av7110/av7110.c
829
av7110->handle2filter[handle] = NULL;
drivers/staging/media/av7110/av7110.c
834
ret = av7110_fw_request(av7110, buf, 3, answ, 2);
drivers/staging/media/av7110/av7110.c
847
struct av7110 *av7110 = dvbdmx->priv;
drivers/staging/media/av7110/av7110.c
852
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110.c
863
ret = ChangePIDs(av7110, npids[1], npids[0], npids[2], npids[3], npids[4]);
drivers/staging/media/av7110/av7110.c
869
ret = ChangePIDs(av7110, npids[1], npids[0], npids[2], npids[3], npids[4]);
drivers/staging/media/av7110/av7110.c
875
if (av7110->fe_synced) {
drivers/staging/media/av7110/av7110.c
876
ret = av7110_fw_cmd(av7110, COMTYPE_PIDFILTER, Scan, 0);
drivers/staging/media/av7110/av7110.c
881
if ((dvbdmxfeed->ts_type & TS_PACKET) && !av7110->full_ts) {
drivers/staging/media/av7110/av7110.c
883
ret = av7110_av_start_record(av7110, RP_AUDIO, dvbdmxfeed);
drivers/staging/media/av7110/av7110.c
885
ret = av7110_av_start_record(av7110, RP_VIDEO, dvbdmxfeed);
drivers/staging/media/av7110/av7110.c
893
struct av7110 *av7110 = dvbdmx->priv;
drivers/staging/media/av7110/av7110.c
899
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110.c
902
ret = av7110_av_stop(av7110, dvbdmxfeed->pes_type ? RP_VIDEO : RP_AUDIO);
drivers/staging/media/av7110/av7110.c
905
if (!av7110->rec_mode)
drivers/staging/media/av7110/av7110.c
907
if (!av7110->playing)
drivers/staging/media/av7110/av7110.c
931
ret = ChangePIDs(av7110, npids[1], npids[0], npids[2], npids[3], npids[4]);
drivers/staging/media/av7110/av7110.c
938
struct av7110 *av7110 = demux->priv;
drivers/staging/media/av7110/av7110.c
941
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110.c
946
if (!av7110->full_ts && feed->pid > 0x1fff)
drivers/staging/media/av7110/av7110.c
958
dvb_ringbuffer_flush_spinlock_wakeup(&av7110->avout);
drivers/staging/media/av7110/av7110.c
959
dvb_ringbuffer_flush_spinlock_wakeup(&av7110->aout);
drivers/staging/media/av7110/av7110.c
960
ret = av7110_av_start_play(av7110, RP_AV);
drivers/staging/media/av7110/av7110.c
975
if (av7110->full_ts) {
drivers/staging/media/av7110/av7110.c
99
static void restart_feeds(struct av7110 *av7110);
drivers/staging/media/av7110/av7110.h
267
void (*recover)(struct av7110 *av7110);
drivers/staging/media/av7110/av7110.h
289
int ChangePIDs(struct av7110 *av7110, u16 vpid, u16 apid, u16 ttpid,
drivers/staging/media/av7110/av7110.h
292
void av7110_ir_handler(struct av7110 *av7110, u32 ircom);
drivers/staging/media/av7110/av7110.h
293
int av7110_set_ir_config(struct av7110 *av7110);
drivers/staging/media/av7110/av7110.h
294
int av7110_ir_init(struct av7110 *av7110);
drivers/staging/media/av7110/av7110.h
295
void av7110_ir_exit(struct av7110 *av7110);
drivers/staging/media/av7110/av7110.h
303
int i2c_writereg(struct av7110 *av7110, u8 id, u8 reg, u8 val);
drivers/staging/media/av7110/av7110.h
304
u8 i2c_readreg(struct av7110 *av7110, u8 id, u8 reg);
drivers/staging/media/av7110/av7110.h
305
int msp_writereg(struct av7110 *av7110, u8 dev, u16 reg, u16 val);
drivers/staging/media/av7110/av7110.h
307
int av7110_init_analog_module(struct av7110 *av7110);
drivers/staging/media/av7110/av7110.h
308
int av7110_init_v4l(struct av7110 *av7110);
drivers/staging/media/av7110/av7110.h
309
int av7110_exit_v4l(struct av7110 *av7110);
drivers/staging/media/av7110/av7110.h
82
struct av7110;
drivers/staging/media/av7110/av7110_av.c
1002
struct av7110 *av7110 = dvbdev->priv;
drivers/staging/media/av7110/av7110_av.c
1005
dprintk(2, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_av.c
1007
if (av7110->audiostate.stream_source != AUDIO_SOURCE_MEMORY) {
drivers/staging/media/av7110/av7110_av.c
1015
return ts_play(av7110, buf, count, file->f_flags & O_NONBLOCK, 0);
drivers/staging/media/av7110/av7110_av.c
1017
return dvb_aplay(av7110, buf, count, file->f_flags & O_NONBLOCK, 0);
drivers/staging/media/av7110/av7110_av.c
1024
static int play_iframe(struct av7110 *av7110, char __user *buf, unsigned int len, int nonblock)
drivers/staging/media/av7110/av7110_av.c
1030
dprintk(2, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_av.c
1035
if (!(av7110->playing & RP_VIDEO)) {
drivers/staging/media/av7110/av7110_av.c
1036
if (av7110_av_start_play(av7110, RP_VIDEO) < 0)
drivers/staging/media/av7110/av7110_av.c
104
int av7110_av_start_record(struct av7110 *av7110, int av,
drivers/staging/media/av7110/av7110_av.c
1077
dvb_play_kernel(av7110, iframe_header, sizeof(iframe_header), 0, 1);
drivers/staging/media/av7110/av7110_av.c
1080
dvb_play(av7110, buf, len, 0, 1);
drivers/staging/media/av7110/av7110_av.c
1082
av7110_ipack_flush(&av7110->ipack[1]);
drivers/staging/media/av7110/av7110_av.c
1085
return vidcom(av7110, AV_VIDEO_CMD_FREEZE, 1);
drivers/staging/media/av7110/av7110_av.c
110
dprintk(2, "av7110:%p, dvb_demux_feed:%p\n", av7110, dvbdmxfeed);
drivers/staging/media/av7110/av7110_av.c
1111
static int dvb_compat_video_get_event(struct av7110 *av7110,
drivers/staging/media/av7110/av7110_av.c
1117
ret = dvb_video_get_event(av7110, &ev, flags);
drivers/staging/media/av7110/av7110_av.c
112
if (av7110->playing || (av7110->rec_mode & av))
drivers/staging/media/av7110/av7110_av.c
1133
struct av7110 *av7110 = dvbdev->priv;
drivers/staging/media/av7110/av7110_av.c
1137
dprintk(1, "av7110:%p, cmd=%04x\n", av7110, cmd);
drivers/staging/media/av7110/av7110_av.c
114
av7110_fw_cmd(av7110, COMTYPE_REC_PLAY, __Stop, 0);
drivers/staging/media/av7110/av7110_av.c
1146
if (mutex_lock_interruptible(&av7110->ioctl_mutex))
drivers/staging/media/av7110/av7110_av.c
1151
av7110->videostate.play_state = VIDEO_STOPPED;
drivers/staging/media/av7110/av7110_av.c
1152
if (av7110->videostate.stream_source == VIDEO_SOURCE_MEMORY)
drivers/staging/media/av7110/av7110_av.c
1153
ret = av7110_av_stop(av7110, RP_VIDEO);
drivers/staging/media/av7110/av7110_av.c
1155
ret = vidcom(av7110, AV_VIDEO_CMD_STOP,
drivers/staging/media/av7110/av7110_av.c
1156
av7110->videostate.video_blank ? 0 : 1);
drivers/staging/media/av7110/av7110_av.c
1158
av7110->trickmode = TRICK_NONE;
drivers/staging/media/av7110/av7110_av.c
116
av7110->rec_mode |= av;
drivers/staging/media/av7110/av7110_av.c
1162
av7110->trickmode = TRICK_NONE;
drivers/staging/media/av7110/av7110_av.c
1163
if (av7110->videostate.play_state == VIDEO_FREEZED) {
drivers/staging/media/av7110/av7110_av.c
1164
av7110->videostate.play_state = VIDEO_PLAYING;
drivers/staging/media/av7110/av7110_av.c
1165
ret = vidcom(av7110, AV_VIDEO_CMD_PLAY, 0);
drivers/staging/media/av7110/av7110_av.c
1169
if (av7110->videostate.stream_source == VIDEO_SOURCE_MEMORY) {
drivers/staging/media/av7110/av7110_av.c
1170
if (av7110->playing == RP_AV) {
drivers/staging/media/av7110/av7110_av.c
1171
ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY, __Stop, 0);
drivers/staging/media/av7110/av7110_av.c
1174
av7110->playing &= ~RP_VIDEO;
drivers/staging/media/av7110/av7110_av.c
1176
ret = av7110_av_start_play(av7110, RP_VIDEO);
drivers/staging/media/av7110/av7110_av.c
1179
ret = vidcom(av7110, AV_VIDEO_CMD_PLAY, 0);
drivers/staging/media/av7110/av7110_av.c
118
switch (av7110->rec_mode) {
drivers/staging/media/av7110/av7110_av.c
1181
av7110->videostate.play_state = VIDEO_PLAYING;
drivers/staging/media/av7110/av7110_av.c
1185
av7110->videostate.play_state = VIDEO_FREEZED;
drivers/staging/media/av7110/av7110_av.c
1186
if (av7110->playing & RP_VIDEO)
drivers/staging/media/av7110/av7110_av.c
1187
ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY, __Pause, 0);
drivers/staging/media/av7110/av7110_av.c
1189
ret = vidcom(av7110, AV_VIDEO_CMD_FREEZE, 1);
drivers/staging/media/av7110/av7110_av.c
1191
av7110->trickmode = TRICK_FREEZE;
drivers/staging/media/av7110/av7110_av.c
1195
if (av7110->playing & RP_VIDEO)
drivers/staging/media/av7110/av7110_av.c
1196
ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY, __Continue, 0);
drivers/staging/media/av7110/av7110_av.c
1198
ret = vidcom(av7110, AV_VIDEO_CMD_PLAY, 0);
drivers/staging/media/av7110/av7110_av.c
120
dvb_filter_pes2ts_init(&av7110->p2t[0],
drivers/staging/media/av7110/av7110_av.c
1200
av7110->videostate.play_state = VIDEO_PLAYING;
drivers/staging/media/av7110/av7110_av.c
1201
av7110->trickmode = TRICK_NONE;
drivers/staging/media/av7110/av7110_av.c
1206
av7110->videostate.stream_source = (video_stream_source_t)arg;
drivers/staging/media/av7110/av7110_av.c
1210
av7110->videostate.video_blank = (int)arg;
drivers/staging/media/av7110/av7110_av.c
1214
memcpy(parg, &av7110->videostate, sizeof(struct video_status));
drivers/staging/media/av7110/av7110_av.c
1219
ret = dvb_compat_video_get_event(av7110, parg, file->f_flags);
drivers/staging/media/av7110/av7110_av.c
1224
ret = dvb_video_get_event(av7110, parg, file->f_flags);
drivers/staging/media/av7110/av7110_av.c
1228
memcpy(parg, &av7110->video_size, sizeof(video_size_t));
drivers/staging/media/av7110/av7110_av.c
1237
av7110->display_panscan = VID_PAN_SCAN_PREF;
drivers/staging/media/av7110/av7110_av.c
124
ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY, __Record, 2, AudioPES, 0);
drivers/staging/media/av7110/av7110_av.c
1240
av7110->display_panscan = VID_VC_AND_PS_PREF;
drivers/staging/media/av7110/av7110_av.c
1243
av7110->display_panscan = VID_CENTRE_CUT_PREF;
drivers/staging/media/av7110/av7110_av.c
1250
av7110->videostate.display_format = format;
drivers/staging/media/av7110/av7110_av.c
1251
ret = av7110_fw_cmd(av7110, COMTYPE_ENCODER, SetPanScanType,
drivers/staging/media/av7110/av7110_av.c
1252
1, av7110->display_panscan);
drivers/staging/media/av7110/av7110_av.c
1261
av7110->display_ar = arg;
drivers/staging/media/av7110/av7110_av.c
1262
ret = av7110_fw_cmd(av7110, COMTYPE_ENCODER, SetMonitorType,
drivers/staging/media/av7110/av7110_av.c
1271
av7110->videostate.stream_source = VIDEO_SOURCE_MEMORY;
drivers/staging/media/av7110/av7110_av.c
1272
dvb_ringbuffer_flush_spinlock_wakeup(&av7110->avout);
drivers/staging/media/av7110/av7110_av.c
1273
ret = play_iframe(av7110, compat_ptr(pic->iFrame),
drivers/staging/media/av7110/av7110_av.c
128
dvb_filter_pes2ts_init(&av7110->p2t[1],
drivers/staging/media/av7110/av7110_av.c
1283
av7110->videostate.stream_source = VIDEO_SOURCE_MEMORY;
drivers/staging/media/av7110/av7110_av.c
1284
dvb_ringbuffer_flush_spinlock_wakeup(&av7110->avout);
drivers/staging/media/av7110/av7110_av.c
1285
ret = play_iframe(av7110, pic->iFrame, pic->size,
drivers/staging/media/av7110/av7110_av.c
1292
if (av7110->playing & RP_VIDEO)
drivers/staging/media/av7110/av7110_av.c
1293
ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY,
drivers/staging/media/av7110/av7110_av.c
1296
ret = vidcom(av7110, AV_VIDEO_CMD_FFWD, arg);
drivers/staging/media/av7110/av7110_av.c
1298
av7110->trickmode = TRICK_FAST;
drivers/staging/media/av7110/av7110_av.c
1299
av7110->videostate.play_state = VIDEO_PLAYING;
drivers/staging/media/av7110/av7110_av.c
1304
if (av7110->playing & RP_VIDEO) {
drivers/staging/media/av7110/av7110_av.c
1305
if (av7110->trickmode != TRICK_SLOW)
drivers/staging/media/av7110/av7110_av.c
1306
ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY, __Slow, 2, 0, 0);
drivers/staging/media/av7110/av7110_av.c
1308
ret = vidcom(av7110, AV_VIDEO_CMD_SLOW, arg);
drivers/staging/media/av7110/av7110_av.c
1310
ret = vidcom(av7110, AV_VIDEO_CMD_PLAY, 0);
drivers/staging/media/av7110/av7110_av.c
1312
ret = vidcom(av7110, AV_VIDEO_CMD_STOP, 0);
drivers/staging/media/av7110/av7110_av.c
1314
ret = vidcom(av7110, AV_VIDEO_CMD_SLOW, arg);
drivers/staging/media/av7110/av7110_av.c
1317
av7110->trickmode = TRICK_SLOW;
drivers/staging/media/av7110/av7110_av.c
1318
av7110->videostate.play_state = VIDEO_PLAYING;
drivers/staging/media/av7110/av7110_av.c
132
ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY, __Record, 2, VideoPES, 0);
drivers/staging/media/av7110/av7110_av.c
1328
dvb_ringbuffer_flush_spinlock_wakeup(&av7110->avout);
drivers/staging/media/av7110/av7110_av.c
1329
av7110_ipack_reset(&av7110->ipack[1]);
drivers/staging/media/av7110/av7110_av.c
1330
if (av7110->playing == RP_AV) {
drivers/staging/media/av7110/av7110_av.c
1331
ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY,
drivers/staging/media/av7110/av7110_av.c
1335
if (av7110->trickmode == TRICK_FAST)
drivers/staging/media/av7110/av7110_av.c
1336
ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY,
drivers/staging/media/av7110/av7110_av.c
1338
if (av7110->trickmode == TRICK_SLOW) {
drivers/staging/media/av7110/av7110_av.c
1339
ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY,
drivers/staging/media/av7110/av7110_av.c
1342
ret = vidcom(av7110, AV_VIDEO_CMD_SLOW, arg);
drivers/staging/media/av7110/av7110_av.c
1344
if (av7110->trickmode == TRICK_FREEZE)
drivers/staging/media/av7110/av7110_av.c
1345
ret = vidcom(av7110, AV_VIDEO_CMD_STOP, 1);
drivers/staging/media/av7110/av7110_av.c
1357
mutex_unlock(&av7110->ioctl_mutex);
drivers/staging/media/av7110/av7110_av.c
136
dvb_filter_pes2ts_init(&av7110->p2t[0],
drivers/staging/media/av7110/av7110_av.c
1365
struct av7110 *av7110 = dvbdev->priv;
drivers/staging/media/av7110/av7110_av.c
1369
dprintk(1, "av7110:%p, cmd=%04x\n", av7110, cmd);
drivers/staging/media/av7110/av7110_av.c
1375
if (mutex_lock_interruptible(&av7110->ioctl_mutex))
drivers/staging/media/av7110/av7110_av.c
1380
if (av7110->audiostate.stream_source == AUDIO_SOURCE_MEMORY)
drivers/staging/media/av7110/av7110_av.c
1381
ret = av7110_av_stop(av7110, RP_AUDIO);
drivers/staging/media/av7110/av7110_av.c
1383
ret = audcom(av7110, AUDIO_CMD_MUTE);
drivers/staging/media/av7110/av7110_av.c
1385
av7110->audiostate.play_state = AUDIO_STOPPED;
drivers/staging/media/av7110/av7110_av.c
1389
if (av7110->audiostate.stream_source == AUDIO_SOURCE_MEMORY)
drivers/staging/media/av7110/av7110_av.c
1390
ret = av7110_av_start_play(av7110, RP_AUDIO);
drivers/staging/media/av7110/av7110_av.c
1392
ret = audcom(av7110, AUDIO_CMD_UNMUTE);
drivers/staging/media/av7110/av7110_av.c
1394
av7110->audiostate.play_state = AUDIO_PLAYING;
drivers/staging/media/av7110/av7110_av.c
1398
ret = audcom(av7110, AUDIO_CMD_MUTE);
drivers/staging/media/av7110/av7110_av.c
140
dvb_filter_pes2ts_init(&av7110->p2t[1],
drivers/staging/media/av7110/av7110_av.c
1400
av7110->audiostate.play_state = AUDIO_PAUSED;
drivers/staging/media/av7110/av7110_av.c
1404
if (av7110->audiostate.play_state == AUDIO_PAUSED) {
drivers/staging/media/av7110/av7110_av.c
1405
av7110->audiostate.play_state = AUDIO_PLAYING;
drivers/staging/media/av7110/av7110_av.c
1406
ret = audcom(av7110, AUDIO_CMD_UNMUTE | AUDIO_CMD_PCM16);
drivers/staging/media/av7110/av7110_av.c
1411
av7110->audiostate.stream_source = (audio_stream_source_t)arg;
drivers/staging/media/av7110/av7110_av.c
1416
ret = audcom(av7110, arg ? AUDIO_CMD_MUTE : AUDIO_CMD_UNMUTE);
drivers/staging/media/av7110/av7110_av.c
1418
av7110->audiostate.mute_state = (int)arg;
drivers/staging/media/av7110/av7110_av.c
1423
av7110->audiostate.AV_sync_state = (int)arg;
drivers/staging/media/av7110/av7110_av.c
1424
ret = audcom(av7110, arg ? AUDIO_CMD_SYNC_ON : AUDIO_CMD_SYNC_OFF);
drivers/staging/media/av7110/av7110_av.c
1428
if (FW_VERSION(av7110->arm_app) < 0x2621)
drivers/staging/media/av7110/av7110_av.c
1430
av7110->audiostate.bypass_mode = (int)arg;
drivers/staging/media/av7110/av7110_av.c
1434
av7110->audiostate.channel_select = (audio_channel_select_t)arg;
drivers/staging/media/av7110/av7110_av.c
1435
switch (av7110->audiostate.channel_select) {
drivers/staging/media/av7110/av7110_av.c
1437
ret = audcom(av7110, AUDIO_CMD_STEREO);
drivers/staging/media/av7110/av7110_av.c
1439
if (av7110->adac_type == DVB_ADAC_CRYSTAL)
drivers/staging/media/av7110/av7110_av.c
144
ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY, __Record, 2, AV_PES, 0);
drivers/staging/media/av7110/av7110_av.c
1440
i2c_writereg(av7110, 0x20, 0x02, 0x49);
drivers/staging/media/av7110/av7110_av.c
1441
else if (av7110->adac_type == DVB_ADAC_MSP34x5)
drivers/staging/media/av7110/av7110_av.c
1442
msp_writereg(av7110, MSP_WR_DSP, 0x0008, 0x0220);
drivers/staging/media/av7110/av7110_av.c
1446
ret = audcom(av7110, AUDIO_CMD_MONO_L);
drivers/staging/media/av7110/av7110_av.c
1448
if (av7110->adac_type == DVB_ADAC_CRYSTAL)
drivers/staging/media/av7110/av7110_av.c
1449
i2c_writereg(av7110, 0x20, 0x02, 0x4a);
drivers/staging/media/av7110/av7110_av.c
1450
else if (av7110->adac_type == DVB_ADAC_MSP34x5)
drivers/staging/media/av7110/av7110_av.c
1451
msp_writereg(av7110, MSP_WR_DSP, 0x0008, 0x0200);
drivers/staging/media/av7110/av7110_av.c
1455
ret = audcom(av7110, AUDIO_CMD_MONO_R);
drivers/staging/media/av7110/av7110_av.c
1457
if (av7110->adac_type == DVB_ADAC_CRYSTAL)
drivers/staging/media/av7110/av7110_av.c
1458
i2c_writereg(av7110, 0x20, 0x02, 0x45);
drivers/staging/media/av7110/av7110_av.c
1459
else if (av7110->adac_type == DVB_ADAC_MSP34x5)
drivers/staging/media/av7110/av7110_av.c
1460
msp_writereg(av7110, MSP_WR_DSP, 0x0008, 0x0210);
drivers/staging/media/av7110/av7110_av.c
1470
memcpy(parg, &av7110->audiostate, sizeof(struct audio_status));
drivers/staging/media/av7110/av7110_av.c
1474
if (FW_VERSION(av7110->arm_app) < 0x2621)
drivers/staging/media/av7110/av7110_av.c
1482
dvb_ringbuffer_flush_spinlock_wakeup(&av7110->aout);
drivers/staging/media/av7110/av7110_av.c
1483
av7110_ipack_reset(&av7110->ipack[0]);
drivers/staging/media/av7110/av7110_av.c
1484
if (av7110->playing == RP_AV)
drivers/staging/media/av7110/av7110_av.c
1485
ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY,
drivers/staging/media/av7110/av7110_av.c
1496
ret = av7110_set_volume(av7110, amix->volume_left, amix->volume_right);
drivers/staging/media/av7110/av7110_av.c
150
int av7110_av_start_play(struct av7110 *av7110, int av)
drivers/staging/media/av7110/av7110_av.c
1507
mutex_unlock(&av7110->ioctl_mutex);
drivers/staging/media/av7110/av7110_av.c
1514
struct av7110 *av7110 = dvbdev->priv;
drivers/staging/media/av7110/av7110_av.c
1517
dprintk(2, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_av.c
1524
dvb_ringbuffer_flush_spinlock_wakeup(&av7110->aout);
drivers/staging/media/av7110/av7110_av.c
1525
dvb_ringbuffer_flush_spinlock_wakeup(&av7110->avout);
drivers/staging/media/av7110/av7110_av.c
1526
av7110->video_blank = 1;
drivers/staging/media/av7110/av7110_av.c
1527
av7110->audiostate.AV_sync_state = 1;
drivers/staging/media/av7110/av7110_av.c
1528
av7110->videostate.stream_source = VIDEO_SOURCE_DEMUX;
drivers/staging/media/av7110/av7110_av.c
1531
av7110->video_events.eventr = 0;
drivers/staging/media/av7110/av7110_av.c
1532
av7110->video_events.eventw = 0;
drivers/staging/media/av7110/av7110_av.c
154
dprintk(2, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_av.c
1541
struct av7110 *av7110 = dvbdev->priv;
drivers/staging/media/av7110/av7110_av.c
1543
dprintk(2, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_av.c
1546
av7110_av_stop(av7110, RP_VIDEO);
drivers/staging/media/av7110/av7110_av.c
1554
struct av7110 *av7110 = dvbdev->priv;
drivers/staging/media/av7110/av7110_av.c
1557
dprintk(2, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_av.c
156
if (av7110->rec_mode)
drivers/staging/media/av7110/av7110_av.c
1561
dvb_ringbuffer_flush_spinlock_wakeup(&av7110->aout);
drivers/staging/media/av7110/av7110_av.c
1562
av7110->audiostate.stream_source = AUDIO_SOURCE_DEMUX;
drivers/staging/media/av7110/av7110_av.c
1569
struct av7110 *av7110 = dvbdev->priv;
drivers/staging/media/av7110/av7110_av.c
1571
dprintk(2, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_av.c
1573
av7110_av_stop(av7110, RP_AUDIO);
drivers/staging/media/av7110/av7110_av.c
158
if (av7110->playing & av)
drivers/staging/media/av7110/av7110_av.c
161
av7110_fw_cmd(av7110, COMTYPE_REC_PLAY, __Stop, 0);
drivers/staging/media/av7110/av7110_av.c
1620
int av7110_av_register(struct av7110 *av7110)
drivers/staging/media/av7110/av7110_av.c
1622
av7110->audiostate.AV_sync_state = 0;
drivers/staging/media/av7110/av7110_av.c
1623
av7110->audiostate.mute_state = 0;
drivers/staging/media/av7110/av7110_av.c
1624
av7110->audiostate.play_state = AUDIO_STOPPED;
drivers/staging/media/av7110/av7110_av.c
1625
av7110->audiostate.stream_source = AUDIO_SOURCE_DEMUX;
drivers/staging/media/av7110/av7110_av.c
1626
av7110->audiostate.channel_select = AUDIO_STEREO;
drivers/staging/media/av7110/av7110_av.c
1627
av7110->audiostate.bypass_mode = 0;
drivers/staging/media/av7110/av7110_av.c
1629
av7110->videostate.video_blank = 0;
drivers/staging/media/av7110/av7110_av.c
163
if (av7110->playing == RP_NONE) {
drivers/staging/media/av7110/av7110_av.c
1630
av7110->videostate.play_state = VIDEO_STOPPED;
drivers/staging/media/av7110/av7110_av.c
1631
av7110->videostate.stream_source = VIDEO_SOURCE_DEMUX;
drivers/staging/media/av7110/av7110_av.c
1632
av7110->videostate.video_format = VIDEO_FORMAT_4_3;
drivers/staging/media/av7110/av7110_av.c
1633
av7110->videostate.display_format = VIDEO_LETTER_BOX;
drivers/staging/media/av7110/av7110_av.c
1634
av7110->display_ar = VIDEO_FORMAT_4_3;
drivers/staging/media/av7110/av7110_av.c
1635
av7110->display_panscan = VID_VC_AND_PS_PREF;
drivers/staging/media/av7110/av7110_av.c
1637
init_waitqueue_head(&av7110->video_events.wait_queue);
drivers/staging/media/av7110/av7110_av.c
1638
spin_lock_init(&av7110->video_events.lock);
drivers/staging/media/av7110/av7110_av.c
1639
av7110->video_events.eventw = 0;
drivers/staging/media/av7110/av7110_av.c
164
av7110_ipack_reset(&av7110->ipack[0]);
drivers/staging/media/av7110/av7110_av.c
1640
av7110->video_events.eventr = 0;
drivers/staging/media/av7110/av7110_av.c
1641
av7110->video_events.overflow = 0;
drivers/staging/media/av7110/av7110_av.c
1642
memset(&av7110->video_size, 0, sizeof(video_size_t));
drivers/staging/media/av7110/av7110_av.c
1644
dvb_register_device(&av7110->dvb_adapter, &av7110->video_dev,
drivers/staging/media/av7110/av7110_av.c
1645
&dvbdev_video, av7110, DVB_DEVICE_VIDEO, 0);
drivers/staging/media/av7110/av7110_av.c
1647
dvb_register_device(&av7110->dvb_adapter, &av7110->audio_dev,
drivers/staging/media/av7110/av7110_av.c
1648
&dvbdev_audio, av7110, DVB_DEVICE_AUDIO, 0);
drivers/staging/media/av7110/av7110_av.c
165
av7110_ipack_reset(&av7110->ipack[1]);
drivers/staging/media/av7110/av7110_av.c
1653
void av7110_av_unregister(struct av7110 *av7110)
drivers/staging/media/av7110/av7110_av.c
1655
dvb_unregister_device(av7110->audio_dev);
drivers/staging/media/av7110/av7110_av.c
1656
dvb_unregister_device(av7110->video_dev);
drivers/staging/media/av7110/av7110_av.c
1659
int av7110_av_init(struct av7110 *av7110)
drivers/staging/media/av7110/av7110_av.c
1665
struct ipack *ipack = av7110->ipack + i;
drivers/staging/media/av7110/av7110_av.c
1673
ipack->data = av7110;
drivers/staging/media/av7110/av7110_av.c
1676
dvb_ringbuffer_init(&av7110->avout, av7110->iobuf, AVOUTLEN);
drivers/staging/media/av7110/av7110_av.c
1677
dvb_ringbuffer_init(&av7110->aout, av7110->iobuf + AVOUTLEN, AOUTLEN);
drivers/staging/media/av7110/av7110_av.c
1679
av7110->kbuf[0] = (u8 *)(av7110->iobuf + AVOUTLEN + AOUTLEN + BMPLEN);
drivers/staging/media/av7110/av7110_av.c
168
av7110->playing |= av;
drivers/staging/media/av7110/av7110_av.c
1680
av7110->kbuf[1] = av7110->kbuf[0] + 2 * IPACKS;
drivers/staging/media/av7110/av7110_av.c
1685
void av7110_av_exit(struct av7110 *av7110)
drivers/staging/media/av7110/av7110_av.c
1687
av7110_ipack_free(&av7110->ipack[0]);
drivers/staging/media/av7110/av7110_av.c
1688
av7110_ipack_free(&av7110->ipack[1]);
drivers/staging/media/av7110/av7110_av.c
169
switch (av7110->playing) {
drivers/staging/media/av7110/av7110_av.c
171
ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY, __Play, 2, AudioPES, 0);
drivers/staging/media/av7110/av7110_av.c
174
ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY, __Play, 2, VideoPES, 0);
drivers/staging/media/av7110/av7110_av.c
175
av7110->sinfo = 0;
drivers/staging/media/av7110/av7110_av.c
178
av7110->sinfo = 0;
drivers/staging/media/av7110/av7110_av.c
179
ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY, __Play, 2, AV_PES, 0);
drivers/staging/media/av7110/av7110_av.c
185
int av7110_av_stop(struct av7110 *av7110, int av)
drivers/staging/media/av7110/av7110_av.c
189
dprintk(2, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_av.c
191
if (!(av7110->playing & av) && !(av7110->rec_mode & av))
drivers/staging/media/av7110/av7110_av.c
193
av7110_fw_cmd(av7110, COMTYPE_REC_PLAY, __Stop, 0);
drivers/staging/media/av7110/av7110_av.c
194
if (av7110->playing) {
drivers/staging/media/av7110/av7110_av.c
195
av7110->playing &= ~av;
drivers/staging/media/av7110/av7110_av.c
196
switch (av7110->playing) {
drivers/staging/media/av7110/av7110_av.c
198
ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY, __Play, 2, AudioPES, 0);
drivers/staging/media/av7110/av7110_av.c
201
ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY, __Play, 2, VideoPES, 0);
drivers/staging/media/av7110/av7110_av.c
204
ret = av7110_set_vidmode(av7110, av7110->vidmode);
drivers/staging/media/av7110/av7110_av.c
208
av7110->rec_mode &= ~av;
drivers/staging/media/av7110/av7110_av.c
209
switch (av7110->rec_mode) {
drivers/staging/media/av7110/av7110_av.c
211
ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY, __Record, 2, AudioPES, 0);
drivers/staging/media/av7110/av7110_av.c
214
ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY, __Record, 2, VideoPES, 0);
drivers/staging/media/av7110/av7110_av.c
268
int av7110_set_volume(struct av7110 *av7110, unsigned int volleft,
drivers/staging/media/av7110/av7110_av.c
274
dprintk(2, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_av.c
276
av7110->mixer.volume_left = volleft;
drivers/staging/media/av7110/av7110_av.c
277
av7110->mixer.volume_right = volright;
drivers/staging/media/av7110/av7110_av.c
279
switch (av7110->adac_type) {
drivers/staging/media/av7110/av7110_av.c
287
err = SendDAC(av7110, 3, 0x80 + volleft);
drivers/staging/media/av7110/av7110_av.c
290
return SendDAC(av7110, 4, volright);
drivers/staging/media/av7110/av7110_av.c
295
i2c_writereg(av7110, 0x20, 0x03, volleft);
drivers/staging/media/av7110/av7110_av.c
296
i2c_writereg(av7110, 0x20, 0x04, volright);
drivers/staging/media/av7110/av7110_av.c
304
msp_writereg(av7110, MSP_WR_DSP, 0x0001, balance << 8);
drivers/staging/media/av7110/av7110_av.c
305
msp_writereg(av7110, MSP_WR_DSP, 0x0000, val); /* loudspeaker */
drivers/staging/media/av7110/av7110_av.c
306
msp_writereg(av7110, MSP_WR_DSP, 0x0006, val); /* headphonesr */
drivers/staging/media/av7110/av7110_av.c
314
msp_writereg(av7110, MSP_WR_DSP, 0x0001, balance << 8);
drivers/staging/media/av7110/av7110_av.c
315
msp_writereg(av7110, MSP_WR_DSP, 0x0000, val); /* loudspeaker */
drivers/staging/media/av7110/av7110_av.c
322
int av7110_set_vidmode(struct av7110 *av7110, enum av7110_video_mode mode)
drivers/staging/media/av7110/av7110_av.c
326
dprintk(2, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_av.c
328
ret = av7110_fw_cmd(av7110, COMTYPE_ENCODER, LoadVidCode, 1, mode);
drivers/staging/media/av7110/av7110_av.c
330
if (!ret && !av7110->playing) {
drivers/staging/media/av7110/av7110_av.c
331
ret = ChangePIDs(av7110, av7110->pids[DMX_PES_VIDEO],
drivers/staging/media/av7110/av7110_av.c
332
av7110->pids[DMX_PES_AUDIO],
drivers/staging/media/av7110/av7110_av.c
333
av7110->pids[DMX_PES_TELETEXT],
drivers/staging/media/av7110/av7110_av.c
334
0, av7110->pids[DMX_PES_PCR]);
drivers/staging/media/av7110/av7110_av.c
336
ret = av7110_fw_cmd(av7110, COMTYPE_PIDFILTER, Scan, 0);
drivers/staging/media/av7110/av7110_av.c
352
static int get_video_format(struct av7110 *av7110, u8 *buf, int count)
drivers/staging/media/av7110/av7110_av.c
360
dprintk(2, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_av.c
362
if (av7110->sinfo)
drivers/staging/media/av7110/av7110_av.c
372
ret = av7110_set_vidmode(av7110, sw2mode[sw]);
drivers/staging/media/av7110/av7110_av.c
375
av7110->sinfo = 1;
drivers/staging/media/av7110/av7110_av.c
411
struct av7110 *av7110 = (struct av7110 *)priv;
drivers/staging/media/av7110/av7110_av.c
413
dprintk(2, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_av.c
416
get_video_format(av7110, buf, count);
drivers/staging/media/av7110/av7110_av.c
417
aux_ring_buffer_write(&av7110->avout, buf, count);
drivers/staging/media/av7110/av7110_av.c
419
aux_ring_buffer_write(&av7110->aout, buf, count);
drivers/staging/media/av7110/av7110_av.c
425
struct av7110 *av7110 = (struct av7110 *)priv;
drivers/staging/media/av7110/av7110_av.c
427
dprintk(2, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_av.c
429
aux_ring_buffer_write(&av7110->aout, buf, count);
drivers/staging/media/av7110/av7110_av.c
434
static ssize_t ts_play(struct av7110 *av7110, const char __user *buf,
drivers/staging/media/av7110/av7110_av.c
443
rb = (type) ? &av7110->avout : &av7110->aout;
drivers/staging/media/av7110/av7110_av.c
444
kb = av7110->kbuf[type];
drivers/staging/media/av7110/av7110_av.c
461
write_ts_to_decoder(av7110, type, kb, TS_SIZE);
drivers/staging/media/av7110/av7110_av.c
469
#define FREE_COND (dvb_ringbuffer_free(&av7110->avout) >= 20 * 1024 && \
drivers/staging/media/av7110/av7110_av.c
470
dvb_ringbuffer_free(&av7110->aout) >= 20 * 1024)
drivers/staging/media/av7110/av7110_av.c
472
static ssize_t dvb_play(struct av7110 *av7110, const char __user *buf,
drivers/staging/media/av7110/av7110_av.c
477
dprintk(2, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_av.c
479
if (!av7110->kbuf[type])
drivers/staging/media/av7110/av7110_av.c
489
if (wait_event_interruptible(av7110->avout.queue,
drivers/staging/media/av7110/av7110_av.c
496
if (copy_from_user(av7110->kbuf[type], buf, n))
drivers/staging/media/av7110/av7110_av.c
498
av7110_ipack_instant_repack(av7110->kbuf[type], n,
drivers/staging/media/av7110/av7110_av.c
499
&av7110->ipack[type]);
drivers/staging/media/av7110/av7110_av.c
506
static ssize_t dvb_play_kernel(struct av7110 *av7110, const u8 *buf,
drivers/staging/media/av7110/av7110_av.c
511
dprintk(2, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_av.c
513
if (!av7110->kbuf[type])
drivers/staging/media/av7110/av7110_av.c
523
if (wait_event_interruptible(av7110->avout.queue,
drivers/staging/media/av7110/av7110_av.c
530
av7110_ipack_instant_repack(buf, n, &av7110->ipack[type]);
drivers/staging/media/av7110/av7110_av.c
537
static ssize_t dvb_aplay(struct av7110 *av7110, const char __user *buf,
drivers/staging/media/av7110/av7110_av.c
542
dprintk(2, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_av.c
544
if (!av7110->kbuf[type])
drivers/staging/media/av7110/av7110_av.c
546
if (nonblock && dvb_ringbuffer_free(&av7110->aout) < 20 * 1024)
drivers/staging/media/av7110/av7110_av.c
550
if (dvb_ringbuffer_free(&av7110->aout) < 20 * 1024) {
drivers/staging/media/av7110/av7110_av.c
553
if (wait_event_interruptible(av7110->aout.queue,
drivers/staging/media/av7110/av7110_av.c
554
(dvb_ringbuffer_free(&av7110->aout) >= 20 * 1024)))
drivers/staging/media/av7110/av7110_av.c
560
if (copy_from_user(av7110->kbuf[type], buf, n))
drivers/staging/media/av7110/av7110_av.c
562
av7110_ipack_instant_repack(av7110->kbuf[type], n,
drivers/staging/media/av7110/av7110_av.c
563
&av7110->ipack[type]);
drivers/staging/media/av7110/av7110_av.c
76
static int write_ts_to_decoder(struct av7110 *av7110, int type, const u8 *buf, size_t len);
drivers/staging/media/av7110/av7110_av.c
813
static int write_ts_to_decoder(struct av7110 *av7110, int type, const u8 *buf, size_t len)
drivers/staging/media/av7110/av7110_av.c
815
struct ipack *ipack = &av7110->ipack[type];
drivers/staging/media/av7110/av7110_av.c
842
struct av7110 *av7110 = demux->priv;
drivers/staging/media/av7110/av7110_av.c
844
dprintk(2, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_av.c
846
if (av7110->full_ts && demux->dmx.frontend->source != DMX_MEMORY_FE)
drivers/staging/media/av7110/av7110_av.c
851
if (av7110->audiostate.stream_source == AUDIO_SOURCE_MEMORY)
drivers/staging/media/av7110/av7110_av.c
855
if (av7110->videostate.stream_source == VIDEO_SOURCE_MEMORY)
drivers/staging/media/av7110/av7110_av.c
862
return write_ts_to_decoder(av7110, feed->pes_type, buf, len);
drivers/staging/media/av7110/av7110_av.c
868
void dvb_video_add_event(struct av7110 *av7110, struct video_event *event)
drivers/staging/media/av7110/av7110_av.c
870
struct dvb_video_events *events = &av7110->video_events;
drivers/staging/media/av7110/av7110_av.c
890
static int dvb_video_get_event(struct av7110 *av7110, struct video_event *event, int flags)
drivers/staging/media/av7110/av7110_av.c
892
struct dvb_video_events *events = &av7110->video_events;
drivers/staging/media/av7110/av7110_av.c
928
struct av7110 *av7110 = dvbdev->priv;
drivers/staging/media/av7110/av7110_av.c
931
dprintk(2, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_av.c
934
poll_wait(file, &av7110->avout.queue, wait);
drivers/staging/media/av7110/av7110_av.c
936
poll_wait(file, &av7110->video_events.wait_queue, wait);
drivers/staging/media/av7110/av7110_av.c
938
if (av7110->video_events.eventw != av7110->video_events.eventr)
drivers/staging/media/av7110/av7110_av.c
942
if (av7110->playing) {
drivers/staging/media/av7110/av7110_av.c
958
struct av7110 *av7110 = dvbdev->priv;
drivers/staging/media/av7110/av7110_av.c
961
dprintk(2, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_av.c
966
if (av7110->videostate.stream_source != VIDEO_SOURCE_MEMORY)
drivers/staging/media/av7110/av7110_av.c
972
return ts_play(av7110, buf, count, file->f_flags & O_NONBLOCK, 1);
drivers/staging/media/av7110/av7110_av.c
974
return dvb_play(av7110, buf, count, file->f_flags & O_NONBLOCK, 1);
drivers/staging/media/av7110/av7110_av.c
980
struct av7110 *av7110 = dvbdev->priv;
drivers/staging/media/av7110/av7110_av.c
983
dprintk(2, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_av.c
985
poll_wait(file, &av7110->aout.queue, wait);
drivers/staging/media/av7110/av7110_av.c
987
if (av7110->playing) {
drivers/staging/media/av7110/av7110_av.c
988
if (dvb_ringbuffer_free(&av7110->aout) >= 20 * 1024)
drivers/staging/media/av7110/av7110_av.h
14
int av7110_set_volume(struct av7110 *av7110, unsigned int volleft,
drivers/staging/media/av7110/av7110_av.h
16
int av7110_av_stop(struct av7110 *av7110, int av);
drivers/staging/media/av7110/av7110_av.h
17
int av7110_av_start_record(struct av7110 *av7110, int av,
drivers/staging/media/av7110/av7110_av.h
19
int av7110_av_start_play(struct av7110 *av7110, int av);
drivers/staging/media/av7110/av7110_av.h
21
void dvb_video_add_event(struct av7110 *av7110, struct video_event *event);
drivers/staging/media/av7110/av7110_av.h
26
int av7110_av_register(struct av7110 *av7110);
drivers/staging/media/av7110/av7110_av.h
27
void av7110_av_unregister(struct av7110 *av7110);
drivers/staging/media/av7110/av7110_av.h
28
int av7110_av_init(struct av7110 *av7110);
drivers/staging/media/av7110/av7110_av.h
29
void av7110_av_exit(struct av7110 *av7110);
drivers/staging/media/av7110/av7110_av.h
5
struct av7110;
drivers/staging/media/av7110/av7110_av.h
7
int av7110_set_vidmode(struct av7110 *av7110,
drivers/staging/media/av7110/av7110_ca.c
204
struct av7110 *av7110 = dvbdev->priv;
drivers/staging/media/av7110/av7110_ca.c
207
dprintk(8, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_ca.c
211
ci_ll_flush(&av7110->ci_rbuffer, &av7110->ci_wbuffer);
drivers/staging/media/av7110/av7110_ca.c
218
struct av7110 *av7110 = dvbdev->priv;
drivers/staging/media/av7110/av7110_ca.c
219
struct dvb_ringbuffer *rbuf = &av7110->ci_rbuffer;
drivers/staging/media/av7110/av7110_ca.c
220
struct dvb_ringbuffer *wbuf = &av7110->ci_wbuffer;
drivers/staging/media/av7110/av7110_ca.c
223
dprintk(8, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_ca.c
240
struct av7110 *av7110 = dvbdev->priv;
drivers/staging/media/av7110/av7110_ca.c
244
dprintk(8, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_ca.c
246
if (mutex_lock_interruptible(&av7110->ioctl_mutex))
drivers/staging/media/av7110/av7110_ca.c
251
ret = ci_ll_reset(&av7110->ci_wbuffer, file, arg,
drivers/staging/media/av7110/av7110_ca.c
252
&av7110->ci_slot[0]);
drivers/staging/media/av7110/av7110_ca.c
259
cap.slot_type = (FW_CI_LL_SUPPORT(av7110->arm_app) ?
drivers/staging/media/av7110/av7110_ca.c
27
void CI_handle(struct av7110 *av7110, u8 *data, u16 len)
drivers/staging/media/av7110/av7110_ca.c
273
mutex_unlock(&av7110->ioctl_mutex);
drivers/staging/media/av7110/av7110_ca.c
278
av7110->ci_slot[slot_num].num = info->num;
drivers/staging/media/av7110/av7110_ca.c
279
av7110->ci_slot[slot_num].type = FW_CI_LL_SUPPORT(av7110->arm_app) ?
drivers/staging/media/av7110/av7110_ca.c
281
memcpy(info, &av7110->ci_slot[slot_num],
drivers/staging/media/av7110/av7110_ca.c
307
mutex_unlock(&av7110->ioctl_mutex);
drivers/staging/media/av7110/av7110_ca.c
31
dprintk(8, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_ca.c
310
av7110_fw_cmd(av7110, COMTYPE_PIDFILTER, SetDescr, 5,
drivers/staging/media/av7110/av7110_ca.c
324
mutex_unlock(&av7110->ioctl_mutex);
drivers/staging/media/av7110/av7110_ca.c
332
struct av7110 *av7110 = dvbdev->priv;
drivers/staging/media/av7110/av7110_ca.c
334
dprintk(8, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_ca.c
335
return ci_ll_write(&av7110->ci_wbuffer, file, buf, count, ppos);
drivers/staging/media/av7110/av7110_ca.c
342
struct av7110 *av7110 = dvbdev->priv;
drivers/staging/media/av7110/av7110_ca.c
344
dprintk(8, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_ca.c
345
return ci_ll_read(&av7110->ci_rbuffer, file, buf, count, ppos);
drivers/staging/media/av7110/av7110_ca.c
367
int av7110_ca_register(struct av7110 *av7110)
drivers/staging/media/av7110/av7110_ca.c
369
return dvb_register_device(&av7110->dvb_adapter, &av7110->ca_dev,
drivers/staging/media/av7110/av7110_ca.c
370
&dvbdev_ca, av7110, DVB_DEVICE_CA, 0);
drivers/staging/media/av7110/av7110_ca.c
373
void av7110_ca_unregister(struct av7110 *av7110)
drivers/staging/media/av7110/av7110_ca.c
375
dvb_unregister_device(av7110->ca_dev);
drivers/staging/media/av7110/av7110_ca.c
378
int av7110_ca_init(struct av7110 *av7110)
drivers/staging/media/av7110/av7110_ca.c
380
return ci_ll_init(&av7110->ci_rbuffer, &av7110->ci_wbuffer, 8192);
drivers/staging/media/av7110/av7110_ca.c
383
void av7110_ca_exit(struct av7110 *av7110)
drivers/staging/media/av7110/av7110_ca.c
385
ci_ll_release(&av7110->ci_rbuffer, &av7110->ci_wbuffer);
drivers/staging/media/av7110/av7110_ca.c
44
av7110->ci_slot[slot_num].flags = 0;
drivers/staging/media/av7110/av7110_ca.c
47
av7110->ci_slot[slot_num].flags |= CA_CI_MODULE_PRESENT;
drivers/staging/media/av7110/av7110_ca.c
50
av7110->ci_slot[slot_num].flags |= CA_CI_MODULE_READY;
drivers/staging/media/av7110/av7110_ca.h
10
int av7110_ca_register(struct av7110 *av7110);
drivers/staging/media/av7110/av7110_ca.h
11
void av7110_ca_unregister(struct av7110 *av7110);
drivers/staging/media/av7110/av7110_ca.h
12
int av7110_ca_init(struct av7110 *av7110);
drivers/staging/media/av7110/av7110_ca.h
13
void av7110_ca_exit(struct av7110 *av7110);
drivers/staging/media/av7110/av7110_ca.h
5
struct av7110;
drivers/staging/media/av7110/av7110_ca.h
7
void CI_handle(struct av7110 *av7110, u8 *data, u16 len);
drivers/staging/media/av7110/av7110_hw.c
100
void av7110_reset_arm(struct av7110 *av7110)
drivers/staging/media/av7110/av7110_hw.c
1007
rc = LoadBitmap(av7110, w, lpb, inc, data);
drivers/staging/media/av7110/av7110_hw.c
1010
rc = BlitBitmap(av7110, x0, y0 + i * lpb);
drivers/staging/media/av7110/av7110_hw.c
1016
rc = LoadBitmap(av7110, w, brest / bpl, inc, data);
drivers/staging/media/av7110/av7110_hw.c
1018
rc = BlitBitmap(av7110, x0, y0 + bnum * lpb);
drivers/staging/media/av7110/av7110_hw.c
102
saa7146_setgpio(av7110->dev, RESET_LINE, SAA7146_GPIO_OUTLO);
drivers/staging/media/av7110/av7110_hw.c
1020
release_rc = ReleaseBitmap(av7110);
drivers/staging/media/av7110/av7110_hw.c
1028
int av7110_osd_cmd(struct av7110 *av7110, osd_cmd_t *dc)
drivers/staging/media/av7110/av7110_hw.c
1032
if (mutex_lock_interruptible(&av7110->osd_mutex))
drivers/staging/media/av7110/av7110_hw.c
1037
ret = DestroyOSDWindow(av7110, av7110->osdwin);
drivers/staging/media/av7110/av7110_hw.c
1040
av7110->osdbpp[av7110->osdwin] = (dc->color - 1) & 7;
drivers/staging/media/av7110/av7110_hw.c
1041
ret = CreateOSDWindow(av7110, av7110->osdwin,
drivers/staging/media/av7110/av7110_hw.c
1042
bpp2bit[av7110->osdbpp[av7110->osdwin]],
drivers/staging/media/av7110/av7110_hw.c
1047
ret = MoveWindowAbs(av7110, av7110->osdwin, dc->x0, dc->y0);
drivers/staging/media/av7110/av7110_hw.c
105
SAA7146_IER_DISABLE(av7110->dev, MASK_19 | MASK_03);
drivers/staging/media/av7110/av7110_hw.c
1050
ret = SetColorBlend(av7110, av7110->osdwin);
drivers/staging/media/av7110/av7110_hw.c
1054
ret = MoveWindowRel(av7110, av7110->osdwin, 0, 0);
drivers/staging/media/av7110/av7110_hw.c
1057
ret = HideWindow(av7110, av7110->osdwin);
drivers/staging/media/av7110/av7110_hw.c
106
SAA7146_ISR_CLEAR(av7110->dev, MASK_19 | MASK_03);
drivers/staging/media/av7110/av7110_hw.c
1060
ret = DrawBlock(av7110, av7110->osdwin, 0, 0, 720, 576, 0);
drivers/staging/media/av7110/av7110_hw.c
1063
ret = DrawBlock(av7110, av7110->osdwin, 0, 0, 720, 576, dc->color);
drivers/staging/media/av7110/av7110_hw.c
1066
ret = OSDSetColor(av7110, dc->color, dc->x0, dc->y0, dc->x1, dc->y1);
drivers/staging/media/av7110/av7110_hw.c
1069
if (FW_VERSION(av7110->arm_app) >= 0x2618) {
drivers/staging/media/av7110/av7110_hw.c
1070
ret = OSDSetPalette(av7110, dc->data, dc->color, dc->x0);
drivers/staging/media/av7110/av7110_hw.c
108
saa7146_setgpio(av7110->dev, RESET_LINE, SAA7146_GPIO_OUTHI);
drivers/staging/media/av7110/av7110_hw.c
1085
ret = OSDSetColor(av7110, dc->color + i, r, g, b, blend);
drivers/staging/media/av7110/av7110_hw.c
1092
ret = DrawLine(av7110, av7110->osdwin,
drivers/staging/media/av7110/av7110_hw.c
1099
ret = OSDSetBlock(av7110, dc->x0, dc->y0, dc->x1, dc->y1, dc->color, dc->data);
drivers/staging/media/av7110/av7110_hw.c
1102
ret = DrawBlock(av7110, av7110->osdwin, dc->x0, dc->y0,
drivers/staging/media/av7110/av7110_hw.c
1106
ret = DrawBlock(av7110, av7110->osdwin, dc->x0, dc->y0,
drivers/staging/media/av7110/av7110_hw.c
111
ARM_ResetMailBox(av7110);
drivers/staging/media/av7110/av7110_hw.c
1110
ret = DrawLine(av7110, av7110->osdwin,
drivers/staging/media/av7110/av7110_hw.c
1124
ret = SetFont(av7110, av7110->osdwin, dc->x1,
drivers/staging/media/av7110/av7110_hw.c
1127
ret = FlushText(av7110);
drivers/staging/media/av7110/av7110_hw.c
1129
ret = WriteText(av7110, av7110->osdwin, dc->x0, dc->y0, textbuf);
drivers/staging/media/av7110/av7110_hw.c
113
SAA7146_ISR_CLEAR(av7110->dev, MASK_19 | MASK_03);
drivers/staging/media/av7110/av7110_hw.c
1136
av7110->osdwin = dc->x0;
drivers/staging/media/av7110/av7110_hw.c
114
SAA7146_IER_ENABLE(av7110->dev, MASK_03);
drivers/staging/media/av7110/av7110_hw.c
1141
ret = MoveWindowAbs(av7110, av7110->osdwin, dc->x0, dc->y0);
drivers/staging/media/av7110/av7110_hw.c
1143
ret = SetColorBlend(av7110, av7110->osdwin);
drivers/staging/media/av7110/av7110_hw.c
1151
av7110->osdbpp[av7110->osdwin] = (1 << (dc->color & 3)) - 1;
drivers/staging/media/av7110/av7110_hw.c
1153
av7110->osdbpp[av7110->osdwin] = 0;
drivers/staging/media/av7110/av7110_hw.c
1154
ret = CreateOSDWindow(av7110, av7110->osdwin, (osd_raw_window_t)dc->color,
drivers/staging/media/av7110/av7110_hw.c
1159
ret = MoveWindowAbs(av7110, av7110->osdwin, dc->x0, dc->y0);
drivers/staging/media/av7110/av7110_hw.c
116
av7110->arm_ready = 1;
drivers/staging/media/av7110/av7110_hw.c
1161
ret = SetColorBlend(av7110, av7110->osdwin);
drivers/staging/media/av7110/av7110_hw.c
1169
mutex_unlock(&av7110->osd_mutex);
drivers/staging/media/av7110/av7110_hw.c
1178
int av7110_osd_capability(struct av7110 *av7110, osd_cap_t *cap)
drivers/staging/media/av7110/av7110_hw.c
1182
if (FW_4M_SDRAM(av7110->arm_app))
drivers/staging/media/av7110/av7110_hw.c
121
static int waitdebi(struct av7110 *av7110, int adr, int state)
drivers/staging/media/av7110/av7110_hw.c
125
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110_hw.c
128
if (irdebi(av7110, DEBINOSWAP, adr, 0, 2) == state)
drivers/staging/media/av7110/av7110_hw.c
135
static int load_dram(struct av7110 *av7110, u32 *data, int len)
drivers/staging/media/av7110/av7110_hw.c
141
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110_hw.c
148
if (waitdebi(av7110, AV7110_BOOT_STATE, BOOTSTATE_BUFFER_EMPTY) < 0) {
drivers/staging/media/av7110/av7110_hw.c
153
mwdebi(av7110, DEBISWAB, bootblock,
drivers/staging/media/av7110/av7110_hw.c
156
iwdebi(av7110, DEBISWAB, AV7110_BOOT_BASE, swab32(base), 4);
drivers/staging/media/av7110/av7110_hw.c
157
iwdebi(av7110, DEBINOSWAP, AV7110_BOOT_SIZE, AV7110_BOOT_MAX_SIZE, 2);
drivers/staging/media/av7110/av7110_hw.c
158
iwdebi(av7110, DEBINOSWAP, AV7110_BOOT_STATE, BOOTSTATE_BUFFER_FULL, 2);
drivers/staging/media/av7110/av7110_hw.c
163
if (waitdebi(av7110, AV7110_BOOT_STATE, BOOTSTATE_BUFFER_EMPTY) < 0) {
drivers/staging/media/av7110/av7110_hw.c
168
mwdebi(av7110, DEBISWAB, bootblock,
drivers/staging/media/av7110/av7110_hw.c
171
mwdebi(av7110, DEBISWAB, bootblock,
drivers/staging/media/av7110/av7110_hw.c
174
iwdebi(av7110, DEBISWAB, AV7110_BOOT_BASE, swab32(base), 4);
drivers/staging/media/av7110/av7110_hw.c
175
iwdebi(av7110, DEBINOSWAP, AV7110_BOOT_SIZE, rest, 2);
drivers/staging/media/av7110/av7110_hw.c
176
iwdebi(av7110, DEBINOSWAP, AV7110_BOOT_STATE, BOOTSTATE_BUFFER_FULL, 2);
drivers/staging/media/av7110/av7110_hw.c
178
if (waitdebi(av7110, AV7110_BOOT_STATE, BOOTSTATE_BUFFER_EMPTY) < 0) {
drivers/staging/media/av7110/av7110_hw.c
182
iwdebi(av7110, DEBINOSWAP, AV7110_BOOT_SIZE, 0, 2);
drivers/staging/media/av7110/av7110_hw.c
183
iwdebi(av7110, DEBINOSWAP, AV7110_BOOT_STATE, BOOTSTATE_BUFFER_FULL, 2);
drivers/staging/media/av7110/av7110_hw.c
184
if (waitdebi(av7110, AV7110_BOOT_STATE, BOOTSTATE_AV7110_BOOT_COMPLETE) < 0) {
drivers/staging/media/av7110/av7110_hw.c
194
int av7110_bootarm(struct av7110 *av7110)
drivers/staging/media/av7110/av7110_hw.c
198
struct saa7146_dev *dev = av7110->dev;
drivers/staging/media/av7110/av7110_hw.c
202
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110_hw.c
204
av7110->arm_ready = 0;
drivers/staging/media/av7110/av7110_hw.c
209
SAA7146_IER_DISABLE(av7110->dev, MASK_03 | MASK_19);
drivers/staging/media/av7110/av7110_hw.c
210
SAA7146_ISR_CLEAR(av7110->dev, MASK_19 | MASK_03);
drivers/staging/media/av7110/av7110_hw.c
213
saa7146_write(av7110->dev, MC1, 0x08800880);
drivers/staging/media/av7110/av7110_hw.c
214
saa7146_write(av7110->dev, DD1_STREAM_B, 0x00000000);
drivers/staging/media/av7110/av7110_hw.c
215
saa7146_write(av7110->dev, MC2, (MASK_09 | MASK_25 | MASK_10 | MASK_26));
drivers/staging/media/av7110/av7110_hw.c
218
iwdebi(av7110, DEBISWAP, DPRAM_BASE, 0x76543210, 4);
drivers/staging/media/av7110/av7110_hw.c
220
iwdebi(av7110, DEBISWAP, DPRAM_BASE, 0x76543210, 4);
drivers/staging/media/av7110/av7110_hw.c
222
ret = irdebi(av7110, DEBINOSWAP, DPRAM_BASE, 0, 4);
drivers/staging/media/av7110/av7110_hw.c
229
iwdebi(av7110, DEBISWAP, DPRAM_BASE + i, 0x00, 4);
drivers/staging/media/av7110/av7110_hw.c
244
mwdebi(av7110, DEBISWAB, DPRAM_BASE, fw->data, fw->size);
drivers/staging/media/av7110/av7110_hw.c
246
iwdebi(av7110, DEBINOSWAP, AV7110_BOOT_STATE, BOOTSTATE_BUFFER_FULL, 2);
drivers/staging/media/av7110/av7110_hw.c
248
if (saa7146_wait_for_debi_done(av7110->dev, 1)) {
drivers/staging/media/av7110/av7110_hw.c
256
if (load_dram(av7110, (u32 *)av7110->bin_root, av7110->size_root) < 0) {
drivers/staging/media/av7110/av7110_hw.c
265
mwdebi(av7110, DEBISWAB, DPRAM_BASE, av7110->bin_dpram, av7110->size_dpram);
drivers/staging/media/av7110/av7110_hw.c
267
if (saa7146_wait_for_debi_done(av7110->dev, 1)) {
drivers/staging/media/av7110/av7110_hw.c
275
ARM_ResetMailBox(av7110);
drivers/staging/media/av7110/av7110_hw.c
276
SAA7146_ISR_CLEAR(av7110->dev, MASK_19 | MASK_03);
drivers/staging/media/av7110/av7110_hw.c
277
SAA7146_IER_ENABLE(av7110->dev, MASK_03);
drivers/staging/media/av7110/av7110_hw.c
279
av7110->arm_errors = 0;
drivers/staging/media/av7110/av7110_hw.c
280
av7110->arm_ready = 1;
drivers/staging/media/av7110/av7110_hw.c
289
int av7110_wait_msgstate(struct av7110 *av7110, u16 flags)
drivers/staging/media/av7110/av7110_hw.c
295
if (FW_VERSION(av7110->arm_app) <= 0x261c) {
drivers/staging/media/av7110/av7110_hw.c
305
if (mutex_lock_interruptible(&av7110->dcomlock))
drivers/staging/media/av7110/av7110_hw.c
307
stat = rdebi(av7110, DEBINOSWAP, MSGSTATE, 0, 2);
drivers/staging/media/av7110/av7110_hw.c
308
mutex_unlock(&av7110->dcomlock);
drivers/staging/media/av7110/av7110_hw.c
320
static int __av7110_send_fw_cmd(struct av7110 *av7110, u16 *buf, int length)
drivers/staging/media/av7110/av7110_hw.c
331
if (!av7110->arm_ready) {
drivers/staging/media/av7110/av7110_hw.c
339
if (rdebi(av7110, DEBINOSWAP, COMMAND, 0, 2) == 0)
drivers/staging/media/av7110/av7110_hw.c
343
av7110->arm_errors++;
drivers/staging/media/av7110/av7110_hw.c
349
if (FW_VERSION(av7110->arm_app) <= 0x261f)
drivers/staging/media/av7110/av7110_hw.c
350
wdebi(av7110, DEBINOSWAP, COM_IF_LOCK, 0xffff, 2);
drivers/staging/media/av7110/av7110_hw.c
356
if (rdebi(av7110, DEBINOSWAP, HANDSHAKE_REG, 0, 2) == 0)
drivers/staging/media/av7110/av7110_hw.c
381
if (FW_VERSION(av7110->arm_app) >= 0x261d) {
drivers/staging/media/av7110/av7110_hw.c
396
stat = rdebi(av7110, DEBINOSWAP, MSGSTATE, 0, 2);
drivers/staging/media/av7110/av7110_hw.c
405
av7110->arm_errors++;
drivers/staging/media/av7110/av7110_hw.c
413
wdebi(av7110, DEBINOSWAP, COMMAND + 2 * i, (u32)buf[i], 2);
drivers/staging/media/av7110/av7110_hw.c
416
wdebi(av7110, DEBINOSWAP, COMMAND + 2, (u32)buf[1], 2);
drivers/staging/media/av7110/av7110_hw.c
418
wdebi(av7110, DEBINOSWAP, COMMAND + 2, 0, 2);
drivers/staging/media/av7110/av7110_hw.c
420
wdebi(av7110, DEBINOSWAP, COMMAND, (u32)buf[0], 2);
drivers/staging/media/av7110/av7110_hw.c
422
if (FW_VERSION(av7110->arm_app) <= 0x261f)
drivers/staging/media/av7110/av7110_hw.c
423
wdebi(av7110, DEBINOSWAP, COM_IF_LOCK, 0x0000, 2);
drivers/staging/media/av7110/av7110_hw.c
429
if (rdebi(av7110, DEBINOSWAP, COMMAND, 0, 2) == 0)
drivers/staging/media/av7110/av7110_hw.c
439
stat = rdebi(av7110, DEBINOSWAP, MSGSTATE, 0, 2);
drivers/staging/media/av7110/av7110_hw.c
45
int av7110_debiwrite(struct av7110 *av7110, u32 config,
drivers/staging/media/av7110/av7110_hw.c
452
static int av7110_send_fw_cmd(struct av7110 *av7110, u16 *buf, int length)
drivers/staging/media/av7110/av7110_hw.c
458
if (!av7110->arm_ready) {
drivers/staging/media/av7110/av7110_hw.c
462
if (mutex_lock_interruptible(&av7110->dcomlock))
drivers/staging/media/av7110/av7110_hw.c
465
ret = __av7110_send_fw_cmd(av7110, buf, length);
drivers/staging/media/av7110/av7110_hw.c
466
mutex_unlock(&av7110->dcomlock);
drivers/staging/media/av7110/av7110_hw.c
472
int av7110_fw_cmd(struct av7110 *av7110, int type, int com, int num, ...)
drivers/staging/media/av7110/av7110_hw.c
48
struct saa7146_dev *dev = av7110->dev;
drivers/staging/media/av7110/av7110_hw.c
495
ret = av7110_send_fw_cmd(av7110, buf, num + 2);
drivers/staging/media/av7110/av7110_hw.c
502
int av7110_send_ci_cmd(struct av7110 *av7110, u8 subcom, u8 *buf, u8 len)
drivers/staging/media/av7110/av7110_hw.c
508
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110_hw.c
517
ret = av7110_send_fw_cmd(av7110, cmd, 18);
drivers/staging/media/av7110/av7110_hw.c
524
int av7110_fw_request(struct av7110 *av7110, u16 *request_buf,
drivers/staging/media/av7110/av7110_hw.c
534
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110_hw.c
536
if (!av7110->arm_ready) {
drivers/staging/media/av7110/av7110_hw.c
54
if (saa7146_wait_for_debi_done(av7110->dev, 0) < 0) {
drivers/staging/media/av7110/av7110_hw.c
541
if (mutex_lock_interruptible(&av7110->dcomlock))
drivers/staging/media/av7110/av7110_hw.c
544
err = __av7110_send_fw_cmd(av7110, request_buf, request_buf_len);
drivers/staging/media/av7110/av7110_hw.c
546
mutex_unlock(&av7110->dcomlock);
drivers/staging/media/av7110/av7110_hw.c
554
if (rdebi(av7110, DEBINOSWAP, COMMAND, 0, 2) == 0)
drivers/staging/media/av7110/av7110_hw.c
558
mutex_unlock(&av7110->dcomlock);
drivers/staging/media/av7110/av7110_hw.c
570
if (rdebi(av7110, DEBINOSWAP, HANDSHAKE_REG, 0, 2) == 0)
drivers/staging/media/av7110/av7110_hw.c
574
mutex_unlock(&av7110->dcomlock);
drivers/staging/media/av7110/av7110_hw.c
582
stat = rdebi(av7110, DEBINOSWAP, MSGSTATE, 0, 2);
drivers/staging/media/av7110/av7110_hw.c
585
mutex_unlock(&av7110->dcomlock);
drivers/staging/media/av7110/av7110_hw.c
589
mutex_unlock(&av7110->dcomlock);
drivers/staging/media/av7110/av7110_hw.c
595
reply_buf[i] = rdebi(av7110, DEBINOSWAP, COM_BUFF + 2 * i, 0, 2);
drivers/staging/media/av7110/av7110_hw.c
597
mutex_unlock(&av7110->dcomlock);
drivers/staging/media/av7110/av7110_hw.c
601
static int av7110_fw_query(struct av7110 *av7110, u16 tag, u16 *buf, s16 length)
drivers/staging/media/av7110/av7110_hw.c
605
ret = av7110_fw_request(av7110, &tag, 0, buf, length);
drivers/staging/media/av7110/av7110_hw.c
616
int av7110_firmversion(struct av7110 *av7110)
drivers/staging/media/av7110/av7110_hw.c
62
saa7146_write(dev, DEBI_AD, av7110->debi_bus);
drivers/staging/media/av7110/av7110_hw.c
621
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110_hw.c
623
if (av7110_fw_query(av7110, tag, buf, 16)) {
drivers/staging/media/av7110/av7110_hw.c
624
pr_err("failed to boot firmware @ card %d\n", av7110->dvb_adapter.num);
drivers/staging/media/av7110/av7110_hw.c
628
av7110->arm_fw = (buf[0] << 16) + buf[1];
drivers/staging/media/av7110/av7110_hw.c
629
av7110->arm_rtsl = (buf[2] << 16) + buf[3];
drivers/staging/media/av7110/av7110_hw.c
630
av7110->arm_vid = (buf[4] << 16) + buf[5];
drivers/staging/media/av7110/av7110_hw.c
631
av7110->arm_app = (buf[6] << 16) + buf[7];
drivers/staging/media/av7110/av7110_hw.c
632
av7110->avtype = (buf[8] << 16) + buf[9];
drivers/staging/media/av7110/av7110_hw.c
635
av7110->dvb_adapter.num, av7110->arm_fw,
drivers/staging/media/av7110/av7110_hw.c
636
av7110->arm_rtsl, av7110->arm_vid, av7110->arm_app);
drivers/staging/media/av7110/av7110_hw.c
639
if (FW_CI_LL_SUPPORT(av7110->arm_app))
drivers/staging/media/av7110/av7110_hw.c
641
av7110->dvb_adapter.num);
drivers/staging/media/av7110/av7110_hw.c
644
av7110->dvb_adapter.num);
drivers/staging/media/av7110/av7110_hw.c
649
int av7110_diseqc_send(struct av7110 *av7110, int len, u8 *msg, unsigned long burst)
drivers/staging/media/av7110/av7110_hw.c
655
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110_hw.c
671
ret = av7110_send_fw_cmd(av7110, buf, 18);
drivers/staging/media/av7110/av7110_hw.c
679
static inline int SetColorBlend(struct av7110 *av7110, u8 windownr)
drivers/staging/media/av7110/av7110_hw.c
68
u32 av7110_debiread(struct av7110 *av7110, u32 config, int addr, unsigned int count)
drivers/staging/media/av7110/av7110_hw.c
681
return av7110_fw_cmd(av7110, COMTYPE_OSD, SetCBlend, 1, windownr);
drivers/staging/media/av7110/av7110_hw.c
684
static inline int SetBlend_(struct av7110 *av7110, u8 windownr,
drivers/staging/media/av7110/av7110_hw.c
687
return av7110_fw_cmd(av7110, COMTYPE_OSD, SetBlend, 4,
drivers/staging/media/av7110/av7110_hw.c
691
static inline int SetColor_(struct av7110 *av7110, u8 windownr,
drivers/staging/media/av7110/av7110_hw.c
694
return av7110_fw_cmd(av7110, COMTYPE_OSD, SetColor, 5,
drivers/staging/media/av7110/av7110_hw.c
698
static inline int SetFont(struct av7110 *av7110, u8 windownr, u8 fontsize,
drivers/staging/media/av7110/av7110_hw.c
70
struct saa7146_dev *dev = av7110->dev;
drivers/staging/media/av7110/av7110_hw.c
701
return av7110_fw_cmd(av7110, COMTYPE_OSD, Set_Font, 4,
drivers/staging/media/av7110/av7110_hw.c
705
static int FlushText(struct av7110 *av7110)
drivers/staging/media/av7110/av7110_hw.c
710
if (mutex_lock_interruptible(&av7110->dcomlock))
drivers/staging/media/av7110/av7110_hw.c
715
if (rdebi(av7110, DEBINOSWAP, BUFF1_BASE, 0, 2) == 0)
drivers/staging/media/av7110/av7110_hw.c
719
mutex_unlock(&av7110->dcomlock);
drivers/staging/media/av7110/av7110_hw.c
724
mutex_unlock(&av7110->dcomlock);
drivers/staging/media/av7110/av7110_hw.c
728
static int WriteText(struct av7110 *av7110, u8 win, u16 x, u16 y, char *buf)
drivers/staging/media/av7110/av7110_hw.c
735
if (mutex_lock_interruptible(&av7110->dcomlock))
drivers/staging/media/av7110/av7110_hw.c
741
if (rdebi(av7110, DEBINOSWAP, BUFF1_BASE, 0, 2) == 0)
drivers/staging/media/av7110/av7110_hw.c
745
mutex_unlock(&av7110->dcomlock);
drivers/staging/media/av7110/av7110_hw.c
754
if (rdebi(av7110, DEBINOSWAP, HANDSHAKE_REG, 0, 2) == 0)
drivers/staging/media/av7110/av7110_hw.c
758
mutex_unlock(&av7110->dcomlock);
drivers/staging/media/av7110/av7110_hw.c
765
wdebi(av7110, DEBINOSWAP, BUFF1_BASE + i * 2,
drivers/staging/media/av7110/av7110_hw.c
768
wdebi(av7110, DEBINOSWAP, BUFF1_BASE + i * 2, 0, 2);
drivers/staging/media/av7110/av7110_hw.c
769
ret = __av7110_send_fw_cmd(av7110, cbuf, 5);
drivers/staging/media/av7110/av7110_hw.c
77
if (saa7146_wait_for_debi_done(av7110->dev, 0) < 0) {
drivers/staging/media/av7110/av7110_hw.c
770
mutex_unlock(&av7110->dcomlock);
drivers/staging/media/av7110/av7110_hw.c
776
static inline int DrawLine(struct av7110 *av7110, u8 windownr,
drivers/staging/media/av7110/av7110_hw.c
779
return av7110_fw_cmd(av7110, COMTYPE_OSD, DLine, 6,
drivers/staging/media/av7110/av7110_hw.c
783
static inline int DrawBlock(struct av7110 *av7110, u8 windownr,
drivers/staging/media/av7110/av7110_hw.c
786
return av7110_fw_cmd(av7110, COMTYPE_OSD, DBox, 6,
drivers/staging/media/av7110/av7110_hw.c
790
static inline int HideWindow(struct av7110 *av7110, u8 windownr)
drivers/staging/media/av7110/av7110_hw.c
792
return av7110_fw_cmd(av7110, COMTYPE_OSD, WHide, 1, windownr);
drivers/staging/media/av7110/av7110_hw.c
795
static inline int MoveWindowRel(struct av7110 *av7110, u8 windownr, u16 x, u16 y)
drivers/staging/media/av7110/av7110_hw.c
797
return av7110_fw_cmd(av7110, COMTYPE_OSD, WMoveD, 3, windownr, x, y);
drivers/staging/media/av7110/av7110_hw.c
800
static inline int MoveWindowAbs(struct av7110 *av7110, u8 windownr, u16 x, u16 y)
drivers/staging/media/av7110/av7110_hw.c
802
return av7110_fw_cmd(av7110, COMTYPE_OSD, WMoveA, 3, windownr, x, y);
drivers/staging/media/av7110/av7110_hw.c
805
static inline int DestroyOSDWindow(struct av7110 *av7110, u8 windownr)
drivers/staging/media/av7110/av7110_hw.c
807
return av7110_fw_cmd(av7110, COMTYPE_OSD, WDestroy, 1, windownr);
drivers/staging/media/av7110/av7110_hw.c
81
saa7146_write(dev, DEBI_AD, av7110->debi_bus);
drivers/staging/media/av7110/av7110_hw.c
810
static inline int CreateOSDWindow(struct av7110 *av7110, u8 windownr,
drivers/staging/media/av7110/av7110_hw.c
814
return av7110_fw_cmd(av7110, COMTYPE_OSD, WCreate, 4,
drivers/staging/media/av7110/av7110_hw.c
826
static inline int WaitUntilBmpLoaded(struct av7110 *av7110)
drivers/staging/media/av7110/av7110_hw.c
828
int ret = wait_event_timeout(av7110->bmpq,
drivers/staging/media/av7110/av7110_hw.c
829
av7110->bmp_state != BMP_LOADING, 10 * HZ);
drivers/staging/media/av7110/av7110_hw.c
831
pr_warn("warning: timeout waiting in LoadBitmap: %d, %d\n", ret, av7110->bmp_state);
drivers/staging/media/av7110/av7110_hw.c
832
av7110->bmp_state = BMP_NONE;
drivers/staging/media/av7110/av7110_hw.c
838
static inline int LoadBitmap(struct av7110 *av7110,
drivers/staging/media/av7110/av7110_hw.c
848
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110_hw.c
850
format = bpp2bit[av7110->osdbpp[av7110->osdwin]];
drivers/staging/media/av7110/av7110_hw.c
852
av7110->bmp_state = BMP_LOADING;
drivers/staging/media/av7110/av7110_hw.c
862
av7110->bmp_state = BMP_NONE;
drivers/staging/media/av7110/av7110_hw.c
865
av7110->bmplen = ((dx * dy * bpp + 7) & ~7) / 8;
drivers/staging/media/av7110/av7110_hw.c
866
av7110->bmpp = 0;
drivers/staging/media/av7110/av7110_hw.c
867
if (av7110->bmplen > 32768) {
drivers/staging/media/av7110/av7110_hw.c
868
av7110->bmp_state = BMP_NONE;
drivers/staging/media/av7110/av7110_hw.c
872
if (copy_from_user(av7110->bmpbuf + 1024 + i * dx, data + i * inc, dx)) {
drivers/staging/media/av7110/av7110_hw.c
873
av7110->bmp_state = BMP_NONE;
drivers/staging/media/av7110/av7110_hw.c
879
c = ((u8 *)av7110->bmpbuf)[1024 + i * delta + delta - 1];
drivers/staging/media/av7110/av7110_hw.c
88
if (saa7146_wait_for_debi_done(av7110->dev, 0) < 0) {
drivers/staging/media/av7110/av7110_hw.c
881
c |= (((u8 *)av7110->bmpbuf)[1024 + i * delta + d]
drivers/staging/media/av7110/av7110_hw.c
883
((u8 *)av7110->bmpbuf)[1024 + i] = c;
drivers/staging/media/av7110/av7110_hw.c
887
av7110->bmplen += 1024;
drivers/staging/media/av7110/av7110_hw.c
888
dprintk(4, "av7110_fw_cmd(): LoadBmp size %d\n", av7110->bmplen);
drivers/staging/media/av7110/av7110_hw.c
889
ret = av7110_fw_cmd(av7110, COMTYPE_OSD, LoadBmp, 3, format, dx, dy);
drivers/staging/media/av7110/av7110_hw.c
891
ret = WaitUntilBmpLoaded(av7110);
drivers/staging/media/av7110/av7110_hw.c
895
static int BlitBitmap(struct av7110 *av7110, u16 x, u16 y)
drivers/staging/media/av7110/av7110_hw.c
897
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110_hw.c
899
return av7110_fw_cmd(av7110, COMTYPE_OSD, BlitBmp, 4, av7110->osdwin, x, y, 0);
drivers/staging/media/av7110/av7110_hw.c
902
static inline int ReleaseBitmap(struct av7110 *av7110)
drivers/staging/media/av7110/av7110_hw.c
904
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110_hw.c
906
if (av7110->bmp_state != BMP_LOADED && FW_VERSION(av7110->arm_app) < 0x261e)
drivers/staging/media/av7110/av7110_hw.c
908
if (av7110->bmp_state == BMP_LOADING)
drivers/staging/media/av7110/av7110_hw.c
910
av7110->bmp_state = BMP_NONE;
drivers/staging/media/av7110/av7110_hw.c
911
return av7110_fw_cmd(av7110, COMTYPE_OSD, ReleaseBmp, 0);
drivers/staging/media/av7110/av7110_hw.c
930
static int OSDSetColor(struct av7110 *av7110, u8 color, u8 r, u8 g, u8 b, u8 blend)
drivers/staging/media/av7110/av7110_hw.c
940
ret = SetColor_(av7110, av7110->osdwin, bpp2pal[av7110->osdbpp[av7110->osdwin]],
drivers/staging/media/av7110/av7110_hw.c
943
ret = SetBlend_(av7110, av7110->osdwin, bpp2pal[av7110->osdbpp[av7110->osdwin]],
drivers/staging/media/av7110/av7110_hw.c
948
static int OSDSetPalette(struct av7110 *av7110, u32 __user *colors, u8 first, u8 last)
drivers/staging/media/av7110/av7110_hw.c
965
wdebi(av7110, DEBINOSWAP, DATA_BUFF3_BASE + i * 4, yuv, 4);
drivers/staging/media/av7110/av7110_hw.c
967
return av7110_fw_cmd(av7110, COMTYPE_OSD, Set_Palette, 4,
drivers/staging/media/av7110/av7110_hw.c
968
av7110->osdwin,
drivers/staging/media/av7110/av7110_hw.c
969
bpp2pal[av7110->osdbpp[av7110->osdwin]],
drivers/staging/media/av7110/av7110_hw.c
973
static int OSDSetBlock(struct av7110 *av7110, int x0, int y0,
drivers/staging/media/av7110/av7110_hw.c
986
bpp = av7110->osdbpp[av7110->osdwin] + 1;
drivers/staging/media/av7110/av7110_hw.c
993
if (av7110->bmp_state == BMP_LOADING) {
drivers/staging/media/av7110/av7110_hw.c
995
if (WARN_ON(FW_VERSION(av7110->arm_app) >= 0x261e))
drivers/staging/media/av7110/av7110_hw.c
997
rc = WaitUntilBmpLoaded(av7110);
drivers/staging/media/av7110/av7110_hw.h
360
int av7110_bootarm(struct av7110 *av7110);
drivers/staging/media/av7110/av7110_hw.h
361
int av7110_firmversion(struct av7110 *av7110);
drivers/staging/media/av7110/av7110_hw.h
366
int av7110_wait_msgstate(struct av7110 *av7110, u16 flags);
drivers/staging/media/av7110/av7110_hw.h
367
int av7110_fw_cmd(struct av7110 *av7110, int type, int com, int num, ...);
drivers/staging/media/av7110/av7110_hw.h
368
int av7110_fw_request(struct av7110 *av7110, u16 *request_buf,
drivers/staging/media/av7110/av7110_hw.h
372
int av7110_debiwrite(struct av7110 *av7110, u32 config,
drivers/staging/media/av7110/av7110_hw.h
374
u32 av7110_debiread(struct av7110 *av7110, u32 config,
drivers/staging/media/av7110/av7110_hw.h
379
static inline void iwdebi(struct av7110 *av7110, u32 config, int addr, u32 val, unsigned int count)
drivers/staging/media/av7110/av7110_hw.h
381
av7110_debiwrite(av7110, config, addr, val, count);
drivers/staging/media/av7110/av7110_hw.h
385
static inline void mwdebi(struct av7110 *av7110, u32 config, int addr,
drivers/staging/media/av7110/av7110_hw.h
388
memcpy(av7110->debi_virt, val, count);
drivers/staging/media/av7110/av7110_hw.h
389
av7110_debiwrite(av7110, config, addr, 0, count);
drivers/staging/media/av7110/av7110_hw.h
392
static inline u32 irdebi(struct av7110 *av7110, u32 config, int addr, u32 val, unsigned int count)
drivers/staging/media/av7110/av7110_hw.h
396
res = av7110_debiread(av7110, config, addr, count);
drivers/staging/media/av7110/av7110_hw.h
398
memcpy(av7110->debi_virt, (char *)&res, count);
drivers/staging/media/av7110/av7110_hw.h
403
static inline void wdebi(struct av7110 *av7110, u32 config, int addr, u32 val, unsigned int count)
drivers/staging/media/av7110/av7110_hw.h
407
spin_lock_irqsave(&av7110->debilock, flags);
drivers/staging/media/av7110/av7110_hw.h
408
av7110_debiwrite(av7110, config, addr, val, count);
drivers/staging/media/av7110/av7110_hw.h
409
spin_unlock_irqrestore(&av7110->debilock, flags);
drivers/staging/media/av7110/av7110_hw.h
412
static inline u32 rdebi(struct av7110 *av7110, u32 config, int addr, u32 val, unsigned int count)
drivers/staging/media/av7110/av7110_hw.h
417
spin_lock_irqsave(&av7110->debilock, flags);
drivers/staging/media/av7110/av7110_hw.h
418
res = av7110_debiread(av7110, config, addr, count);
drivers/staging/media/av7110/av7110_hw.h
419
spin_unlock_irqrestore(&av7110->debilock, flags);
drivers/staging/media/av7110/av7110_hw.h
424
static inline void ARM_ResetMailBox(struct av7110 *av7110)
drivers/staging/media/av7110/av7110_hw.h
428
spin_lock_irqsave(&av7110->debilock, flags);
drivers/staging/media/av7110/av7110_hw.h
429
av7110_debiread(av7110, DEBINOSWAP, IRQ_RX, 2);
drivers/staging/media/av7110/av7110_hw.h
430
av7110_debiwrite(av7110, DEBINOSWAP, IRQ_RX, 0, 2);
drivers/staging/media/av7110/av7110_hw.h
431
spin_unlock_irqrestore(&av7110->debilock, flags);
drivers/staging/media/av7110/av7110_hw.h
434
static inline void ARM_ClearMailBox(struct av7110 *av7110)
drivers/staging/media/av7110/av7110_hw.h
436
iwdebi(av7110, DEBINOSWAP, IRQ_RX, 0, 2);
drivers/staging/media/av7110/av7110_hw.h
439
static inline void ARM_ClearIrq(struct av7110 *av7110)
drivers/staging/media/av7110/av7110_hw.h
441
irdebi(av7110, DEBINOSWAP, IRQ_RX, 0, 2);
drivers/staging/media/av7110/av7110_hw.h
448
static inline int SendDAC(struct av7110 *av7110, u8 addr, u8 data)
drivers/staging/media/av7110/av7110_hw.h
450
return av7110_fw_cmd(av7110, COMTYPE_AUDIODAC, AudioDAC, 2, addr, data);
drivers/staging/media/av7110/av7110_hw.h
453
static inline int av7710_set_video_mode(struct av7110 *av7110, int mode)
drivers/staging/media/av7110/av7110_hw.h
455
return av7110_fw_cmd(av7110, COMTYPE_ENCODER, SetVidMode, 1, mode);
drivers/staging/media/av7110/av7110_hw.h
458
static inline int vidcom(struct av7110 *av7110, u32 com, u32 arg)
drivers/staging/media/av7110/av7110_hw.h
460
return av7110_fw_cmd(av7110, COMTYPE_MISC, AV7110_FW_VIDEO_COMMAND, 4,
drivers/staging/media/av7110/av7110_hw.h
465
static inline int audcom(struct av7110 *av7110, u32 com)
drivers/staging/media/av7110/av7110_hw.h
467
return av7110_fw_cmd(av7110, COMTYPE_MISC, AV7110_FW_AUDIO_COMMAND, 2,
drivers/staging/media/av7110/av7110_hw.h
471
static inline int Set22K(struct av7110 *av7110, int state)
drivers/staging/media/av7110/av7110_hw.h
473
return av7110_fw_cmd(av7110, COMTYPE_AUDIODAC, (state ? ON22K : OFF22K), 0);
drivers/staging/media/av7110/av7110_hw.h
476
int av7110_diseqc_send(struct av7110 *av7110, int len, u8 *msg, unsigned long burst);
drivers/staging/media/av7110/av7110_hw.h
479
int av7110_osd_cmd(struct av7110 *av7110, osd_cmd_t *dc);
drivers/staging/media/av7110/av7110_hw.h
480
int av7110_osd_capability(struct av7110 *av7110, osd_cap_t *cap);
drivers/staging/media/av7110/av7110_ir.c
101
return av7110_set_ir_config(av7110);
drivers/staging/media/av7110/av7110_ir.c
104
int av7110_ir_init(struct av7110 *av7110)
drivers/staging/media/av7110/av7110_ir.c
114
pci = av7110->dev->pci;
drivers/staging/media/av7110/av7110_ir.c
116
snprintf(av7110->ir.input_phys, sizeof(av7110->ir.input_phys),
drivers/staging/media/av7110/av7110_ir.c
119
rcdev->device_name = av7110->card_name;
drivers/staging/media/av7110/av7110_ir.c
121
rcdev->input_phys = av7110->ir.input_phys;
drivers/staging/media/av7110/av7110_ir.c
136
rcdev->priv = av7110;
drivers/staging/media/av7110/av7110_ir.c
138
av7110->ir.rcdev = rcdev;
drivers/staging/media/av7110/av7110_ir.c
139
av7110->ir.ir_config = IR_RC5;
drivers/staging/media/av7110/av7110_ir.c
140
av7110_set_ir_config(av7110);
drivers/staging/media/av7110/av7110_ir.c
144
av7110->ir.rcdev = NULL;
drivers/staging/media/av7110/av7110_ir.c
151
void av7110_ir_exit(struct av7110 *av7110)
drivers/staging/media/av7110/av7110_ir.c
153
rc_unregister_device(av7110->ir.rcdev);
drivers/staging/media/av7110/av7110_ir.c
21
void av7110_ir_handler(struct av7110 *av7110, u32 ircom)
drivers/staging/media/av7110/av7110_ir.c
23
struct rc_dev *rcdev = av7110->ir.rcdev;
drivers/staging/media/av7110/av7110_ir.c
31
switch (av7110->ir.ir_config) {
drivers/staging/media/av7110/av7110_ir.c
62
dprintk(2, "unknown ir config %d\n", av7110->ir.ir_config);
drivers/staging/media/av7110/av7110_ir.c
70
int av7110_set_ir_config(struct av7110 *av7110)
drivers/staging/media/av7110/av7110_ir.c
72
dprintk(4, "ir config = %08x\n", av7110->ir.ir_config);
drivers/staging/media/av7110/av7110_ir.c
74
return av7110_fw_cmd(av7110, COMTYPE_PIDFILTER, SetIR, 1,
drivers/staging/media/av7110/av7110_ir.c
75
av7110->ir.ir_config);
drivers/staging/media/av7110/av7110_ir.c
80
struct av7110 *av7110 = rcdev->priv;
drivers/staging/media/av7110/av7110_ir.c
87
if (FW_VERSION(av7110->arm_app) >= 0x2620)
drivers/staging/media/av7110/av7110_ir.c
96
if (ir_config == av7110->ir.ir_config)
drivers/staging/media/av7110/av7110_ir.c
99
av7110->ir.ir_config = ir_config;
drivers/staging/media/av7110/av7110_v4l.c
123
struct av7110 *av7110 = dev->ext_priv;
drivers/staging/media/av7110/av7110_v4l.c
129
if (i2c_transfer(&av7110->i2c_adap, &msg, 1) != 1)
drivers/staging/media/av7110/av7110_v4l.c
136
struct av7110 *av7110 = dev->ext_priv;
drivers/staging/media/av7110/av7110_v4l.c
141
if (i2c_transfer(&av7110->i2c_adap, &msg, 1) != 1)
drivers/staging/media/av7110/av7110_v4l.c
178
struct av7110 *av7110 = (struct av7110 *)dev->ext_priv;
drivers/staging/media/av7110/av7110_v4l.c
199
if (av7110->fe->ops.i2c_gate_ctrl)
drivers/staging/media/av7110/av7110_v4l.c
200
av7110->fe->ops.i2c_gate_ctrl(av7110->fe, 1);
drivers/staging/media/av7110/av7110_v4l.c
216
struct av7110 *av7110 = (struct av7110 *)dev->ext_priv;
drivers/staging/media/av7110/av7110_v4l.c
220
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110_v4l.c
222
if (av7110->current_input != 0) {
drivers/staging/media/av7110/av7110_v4l.c
229
switch (av7110->current_input) {
drivers/staging/media/av7110/av7110_v4l.c
232
msp_writereg(av7110, MSP_WR_DSP, 0x0008, 0x0000); // loudspeaker source
drivers/staging/media/av7110/av7110_v4l.c
233
msp_writereg(av7110, MSP_WR_DSP, 0x0009, 0x0000); // headphone source
drivers/staging/media/av7110/av7110_v4l.c
234
msp_writereg(av7110, MSP_WR_DSP, 0x000a, 0x0000); // SCART 1 source
drivers/staging/media/av7110/av7110_v4l.c
235
msp_writereg(av7110, MSP_WR_DSP, 0x000e, 0x3000); // FM matrix, mono
drivers/staging/media/av7110/av7110_v4l.c
236
msp_writereg(av7110, MSP_WR_DSP, 0x0000, 0x4f00); // loudspeaker + headphone
drivers/staging/media/av7110/av7110_v4l.c
237
msp_writereg(av7110, MSP_WR_DSP, 0x0007, 0x4f00); // SCART 1 volume
drivers/staging/media/av7110/av7110_v4l.c
239
if (av7110->analog_tuner_flags & ANALOG_TUNER_VES1820) {
drivers/staging/media/av7110/av7110_v4l.c
242
} else if (av7110->analog_tuner_flags & ANALOG_TUNER_STV0297) {
drivers/staging/media/av7110/av7110_v4l.c
246
if (i2c_writereg(av7110, 0x48, 0x02, 0xd0) != 1)
drivers/staging/media/av7110/av7110_v4l.c
247
dprintk(1, "saa7113 write failed @ card %d", av7110->dvb_adapter.num);
drivers/staging/media/av7110/av7110_v4l.c
251
if (i2c_writereg(av7110, 0x48, 0x02, 0xd2) != 1)
drivers/staging/media/av7110/av7110_v4l.c
252
dprintk(1, "saa7113 write failed @ card %d", av7110->dvb_adapter.num);
drivers/staging/media/av7110/av7110_v4l.c
256
if (i2c_writereg(av7110, 0x48, 0x02, 0xd9) != 1)
drivers/staging/media/av7110/av7110_v4l.c
257
dprintk(1, "saa7113 write failed @ card %d", av7110->dvb_adapter.num);
drivers/staging/media/av7110/av7110_v4l.c
268
msp_writereg(av7110, MSP_WR_DSP, 0x0008, 0x0220); // loudspeaker source
drivers/staging/media/av7110/av7110_v4l.c
269
msp_writereg(av7110, MSP_WR_DSP, 0x0009, 0x0220); // headphone source
drivers/staging/media/av7110/av7110_v4l.c
270
msp_writereg(av7110, MSP_WR_DSP, 0x000a, 0x0220); // SCART 1 source
drivers/staging/media/av7110/av7110_v4l.c
271
msp_writereg(av7110, MSP_WR_DSP, 0x000e, 0x3000); // FM matrix, mono
drivers/staging/media/av7110/av7110_v4l.c
272
msp_writereg(av7110, MSP_WR_DSP, 0x0000, 0x7f00); // loudspeaker + headphone
drivers/staging/media/av7110/av7110_v4l.c
273
msp_writereg(av7110, MSP_WR_DSP, 0x0007, 0x7f00); // SCART 1 volume
drivers/staging/media/av7110/av7110_v4l.c
275
if (av7110->analog_tuner_flags & ANALOG_TUNER_VES1820) {
drivers/staging/media/av7110/av7110_v4l.c
278
} else if (av7110->analog_tuner_flags & ANALOG_TUNER_STV0297) {
drivers/staging/media/av7110/av7110_v4l.c
28
int msp_writereg(struct av7110 *av7110, u8 dev, u16 reg, u16 val)
drivers/staging/media/av7110/av7110_v4l.c
285
if (av7110_fw_cmd(av7110, COMTYPE_AUDIODAC, ADSwitch, 1, adswitch))
drivers/staging/media/av7110/av7110_v4l.c
296
struct av7110 *av7110 = (struct av7110 *)dev->ext_priv;
drivers/staging/media/av7110/av7110_v4l.c
302
if (!av7110->analog_tuner_flags || t->index != 0)
drivers/staging/media/av7110/av7110_v4l.c
318
msp_readreg(av7110, MSP_RD_DEM, 0x007e, &stereo_det);
drivers/staging/media/av7110/av7110_v4l.c
320
msp_readreg(av7110, MSP_RD_DSP, 0x0018, &stereo_det);
drivers/staging/media/av7110/av7110_v4l.c
33
switch (av7110->adac_type) {
drivers/staging/media/av7110/av7110_v4l.c
342
struct av7110 *av7110 = (struct av7110 *)dev->ext_priv;
drivers/staging/media/av7110/av7110_v4l.c
347
if (!av7110->analog_tuner_flags || av7110->current_input != 1)
drivers/staging/media/av7110/av7110_v4l.c
377
msp_writereg(av7110, MSP_WR_DSP, 0x000e, fm_matrix);
drivers/staging/media/av7110/av7110_v4l.c
378
msp_writereg(av7110, MSP_WR_DSP, 0x0008, src);
drivers/staging/media/av7110/av7110_v4l.c
379
msp_writereg(av7110, MSP_WR_DSP, 0x0009, src);
drivers/staging/media/av7110/av7110_v4l.c
380
msp_writereg(av7110, MSP_WR_DSP, 0x000a, src);
drivers/staging/media/av7110/av7110_v4l.c
387
struct av7110 *av7110 = (struct av7110 *)dev->ext_priv;
drivers/staging/media/av7110/av7110_v4l.c
391
if (!av7110->analog_tuner_flags || av7110->current_input != 1)
drivers/staging/media/av7110/av7110_v4l.c
396
f->frequency = av7110->current_freq;
drivers/staging/media/av7110/av7110_v4l.c
403
struct av7110 *av7110 = (struct av7110 *)dev->ext_priv;
drivers/staging/media/av7110/av7110_v4l.c
407
if (!av7110->analog_tuner_flags || av7110->current_input != 1)
drivers/staging/media/av7110/av7110_v4l.c
413
msp_writereg(av7110, MSP_WR_DSP, 0x0000, 0xffe0); /* fast mute */
drivers/staging/media/av7110/av7110_v4l.c
414
msp_writereg(av7110, MSP_WR_DSP, 0x0007, 0xffe0);
drivers/staging/media/av7110/av7110_v4l.c
417
if (av7110->analog_tuner_flags & ANALOG_TUNER_VES1820)
drivers/staging/media/av7110/av7110_v4l.c
419
else if (av7110->analog_tuner_flags & ANALOG_TUNER_STV0297)
drivers/staging/media/av7110/av7110_v4l.c
421
av7110->current_freq = f->frequency;
drivers/staging/media/av7110/av7110_v4l.c
423
msp_writereg(av7110, MSP_WR_DSP, 0x0015, 0x003f); /* start stereo detection */
drivers/staging/media/av7110/av7110_v4l.c
424
msp_writereg(av7110, MSP_WR_DSP, 0x0015, 0x0000);
drivers/staging/media/av7110/av7110_v4l.c
425
msp_writereg(av7110, MSP_WR_DSP, 0x0000, 0x4f00); /* loudspeaker + headphone */
drivers/staging/media/av7110/av7110_v4l.c
426
msp_writereg(av7110, MSP_WR_DSP, 0x0007, 0x4f00); /* SCART 1 volume */
drivers/staging/media/av7110/av7110_v4l.c
433
struct av7110 *av7110 = (struct av7110 *)dev->ext_priv;
drivers/staging/media/av7110/av7110_v4l.c
437
if (av7110->analog_tuner_flags) {
drivers/staging/media/av7110/av7110_v4l.c
44
if (i2c_transfer(&av7110->i2c_adap, &msgs, 1) != 1) {
drivers/staging/media/av7110/av7110_v4l.c
45
dprintk(1, "failed @ card %d, %u = %u\n", av7110->dvb_adapter.num, reg, val);
drivers/staging/media/av7110/av7110_v4l.c
453
struct av7110 *av7110 = (struct av7110 *)dev->ext_priv;
drivers/staging/media/av7110/av7110_v4l.c
455
*input = av7110->current_input;
drivers/staging/media/av7110/av7110_v4l.c
463
struct av7110 *av7110 = (struct av7110 *)dev->ext_priv;
drivers/staging/media/av7110/av7110_v4l.c
467
if (!av7110->analog_tuner_flags)
drivers/staging/media/av7110/av7110_v4l.c
473
av7110->current_input = input;
drivers/staging/media/av7110/av7110_v4l.c
51
static int msp_readreg(struct av7110 *av7110, u8 dev, u16 reg, u16 *val)
drivers/staging/media/av7110/av7110_v4l.c
511
struct av7110 *av7110 = (struct av7110 *)dev->ext_priv;
drivers/staging/media/av7110/av7110_v4l.c
516
if (av7110->current_input >= 2)
drivers/staging/media/av7110/av7110_v4l.c
525
struct av7110 *av7110 = (struct av7110 *)dev->ext_priv;
drivers/staging/media/av7110/av7110_v4l.c
528
if (av7110->current_input >= 2)
drivers/staging/media/av7110/av7110_v4l.c
537
struct av7110 *av7110 = (struct av7110 *)dev->ext_priv;
drivers/staging/media/av7110/av7110_v4l.c
542
if (FW_VERSION(av7110->arm_app) >= 0x2623) {
drivers/staging/media/av7110/av7110_v4l.c
553
struct av7110 *av7110 = (struct av7110 *)dev->ext_priv;
drivers/staging/media/av7110/av7110_v4l.c
556
if (FW_VERSION(av7110->arm_app) < 0x2623)
drivers/staging/media/av7110/av7110_v4l.c
559
if (av7110->wssMode) {
drivers/staging/media/av7110/av7110_v4l.c
571
struct av7110 *av7110 = (struct av7110 *)dev->ext_priv;
drivers/staging/media/av7110/av7110_v4l.c
577
if (FW_VERSION(av7110->arm_app) < 0x2623)
drivers/staging/media/av7110/av7110_v4l.c
592
struct av7110 *av7110 = (struct av7110 *)dev->ext_priv;
drivers/staging/media/av7110/av7110_v4l.c
599
av7110->wssMode = 1;
drivers/staging/media/av7110/av7110_v4l.c
60
switch (av7110->adac_type) {
drivers/staging/media/av7110/av7110_v4l.c
600
av7110->wssData = 0;
drivers/staging/media/av7110/av7110_v4l.c
603
av7110->wssMode = 0;
drivers/staging/media/av7110/av7110_v4l.c
604
av7110->wssData = 0;
drivers/staging/media/av7110/av7110_v4l.c
605
return av7110_fw_cmd(av7110, COMTYPE_ENCODER,
drivers/staging/media/av7110/av7110_v4l.c
614
struct av7110 *av7110 = (struct av7110 *)dev->ext_priv;
drivers/staging/media/av7110/av7110_v4l.c
619
if (FW_VERSION(av7110->arm_app) < 0x2623 || !av7110->wssMode || count != sizeof(d))
drivers/staging/media/av7110/av7110_v4l.c
626
av7110->wssData = ((d.data[1] << 8) & 0x3f00) | d.data[0];
drivers/staging/media/av7110/av7110_v4l.c
628
av7110->wssData = 0x8000;
drivers/staging/media/av7110/av7110_v4l.c
629
rc = av7110_fw_cmd(av7110, COMTYPE_ENCODER, SetWSSConfig, 2, 1, av7110->wssData);
drivers/staging/media/av7110/av7110_v4l.c
698
int av7110_init_analog_module(struct av7110 *av7110)
drivers/staging/media/av7110/av7110_v4l.c
702
if (i2c_writereg(av7110, 0x80, 0x0, 0x80) == 1 &&
drivers/staging/media/av7110/av7110_v4l.c
703
i2c_writereg(av7110, 0x80, 0x0, 0) == 1) {
drivers/staging/media/av7110/av7110_v4l.c
705
av7110->dvb_adapter.num);
drivers/staging/media/av7110/av7110_v4l.c
706
av7110->adac_type = DVB_ADAC_MSP34x0;
drivers/staging/media/av7110/av7110_v4l.c
707
} else if (i2c_writereg(av7110, 0x84, 0x0, 0x80) == 1 &&
drivers/staging/media/av7110/av7110_v4l.c
708
i2c_writereg(av7110, 0x84, 0x0, 0) == 1) {
drivers/staging/media/av7110/av7110_v4l.c
710
av7110->dvb_adapter.num);
drivers/staging/media/av7110/av7110_v4l.c
711
av7110->adac_type = DVB_ADAC_MSP34x5;
drivers/staging/media/av7110/av7110_v4l.c
717
msp_readreg(av7110, MSP_RD_DSP, 0x001e, &version1);
drivers/staging/media/av7110/av7110_v4l.c
718
msp_readreg(av7110, MSP_RD_DSP, 0x001f, &version2);
drivers/staging/media/av7110/av7110_v4l.c
720
av7110->dvb_adapter.num, version1, version2);
drivers/staging/media/av7110/av7110_v4l.c
721
msp_writereg(av7110, MSP_WR_DSP, 0x0013, 0x0c00);
drivers/staging/media/av7110/av7110_v4l.c
722
msp_writereg(av7110, MSP_WR_DSP, 0x0000, 0x7f00); // loudspeaker + headphone
drivers/staging/media/av7110/av7110_v4l.c
723
msp_writereg(av7110, MSP_WR_DSP, 0x0008, 0x0220); // loudspeaker source
drivers/staging/media/av7110/av7110_v4l.c
724
msp_writereg(av7110, MSP_WR_DSP, 0x0009, 0x0220); // headphone source
drivers/staging/media/av7110/av7110_v4l.c
725
msp_writereg(av7110, MSP_WR_DSP, 0x0004, 0x7f00); // loudspeaker volume
drivers/staging/media/av7110/av7110_v4l.c
726
msp_writereg(av7110, MSP_WR_DSP, 0x000a, 0x0220); // SCART 1 source
drivers/staging/media/av7110/av7110_v4l.c
727
msp_writereg(av7110, MSP_WR_DSP, 0x0007, 0x7f00); // SCART 1 volume
drivers/staging/media/av7110/av7110_v4l.c
728
msp_writereg(av7110, MSP_WR_DSP, 0x000d, 0x1900); // prescale SCART
drivers/staging/media/av7110/av7110_v4l.c
73
if (i2c_transfer(&av7110->i2c_adap, &msgs[0], 2) != 2) {
drivers/staging/media/av7110/av7110_v4l.c
730
if (i2c_writereg(av7110, 0x48, 0x01, 0x00) != 1) {
drivers/staging/media/av7110/av7110_v4l.c
735
if ((av7110->dev->pci->subsystem_vendor == 0x110a) &&
drivers/staging/media/av7110/av7110_v4l.c
736
(av7110->dev->pci->subsystem_device == 0x0000)) {
drivers/staging/media/av7110/av7110_v4l.c
738
av7110->analog_tuner_flags |= ANALOG_TUNER_VES1820;
drivers/staging/media/av7110/av7110_v4l.c
739
} else if ((av7110->dev->pci->subsystem_vendor == 0x13c2) &&
drivers/staging/media/av7110/av7110_v4l.c
74
dprintk(1, "failed @ card %d, %u\n", av7110->dvb_adapter.num, reg);
drivers/staging/media/av7110/av7110_v4l.c
740
(av7110->dev->pci->subsystem_device == 0x0002)) {
drivers/staging/media/av7110/av7110_v4l.c
742
av7110->analog_tuner_flags |= ANALOG_TUNER_VES1820;
drivers/staging/media/av7110/av7110_v4l.c
743
} else if ((av7110->dev->pci->subsystem_vendor == 0x13c2) &&
drivers/staging/media/av7110/av7110_v4l.c
744
(av7110->dev->pci->subsystem_device == 0x000A)) {
drivers/staging/media/av7110/av7110_v4l.c
746
av7110->analog_tuner_flags |= ANALOG_TUNER_STV0297;
drivers/staging/media/av7110/av7110_v4l.c
750
if (av7110->analog_tuner_flags & ANALOG_TUNER_VES1820) {
drivers/staging/media/av7110/av7110_v4l.c
751
if (ves1820_writereg(av7110->dev, 0x09, 0x0f, 0x20))
drivers/staging/media/av7110/av7110_v4l.c
753
} else if (av7110->analog_tuner_flags & ANALOG_TUNER_STV0297) {
drivers/staging/media/av7110/av7110_v4l.c
754
saa7146_setgpio(av7110->dev, 1, SAA7146_GPIO_OUTLO); // TDA9819 pin9(STD)
drivers/staging/media/av7110/av7110_v4l.c
755
saa7146_setgpio(av7110->dev, 3, SAA7146_GPIO_OUTLO); // TDA9819 pin30(VIF)
drivers/staging/media/av7110/av7110_v4l.c
760
if (i2c_writereg(av7110, 0x48, i[0], i[1]) != 1) {
drivers/staging/media/av7110/av7110_v4l.c
761
dprintk(1, "saa7113 initialization failed @ card %d", av7110->dvb_adapter.num);
drivers/staging/media/av7110/av7110_v4l.c
767
msp_writereg(av7110, MSP_WR_DEM, 0x00bb, 0x02d0); // AD_CV
drivers/staging/media/av7110/av7110_v4l.c
768
msp_writereg(av7110, MSP_WR_DEM, 0x0001, 3); // FIR1
drivers/staging/media/av7110/av7110_v4l.c
769
msp_writereg(av7110, MSP_WR_DEM, 0x0001, 18); // FIR1
drivers/staging/media/av7110/av7110_v4l.c
770
msp_writereg(av7110, MSP_WR_DEM, 0x0001, 27); // FIR1
drivers/staging/media/av7110/av7110_v4l.c
771
msp_writereg(av7110, MSP_WR_DEM, 0x0001, 48); // FIR1
drivers/staging/media/av7110/av7110_v4l.c
772
msp_writereg(av7110, MSP_WR_DEM, 0x0001, 66); // FIR1
drivers/staging/media/av7110/av7110_v4l.c
773
msp_writereg(av7110, MSP_WR_DEM, 0x0001, 72); // FIR1
drivers/staging/media/av7110/av7110_v4l.c
774
msp_writereg(av7110, MSP_WR_DEM, 0x0005, 4); // FIR2
drivers/staging/media/av7110/av7110_v4l.c
775
msp_writereg(av7110, MSP_WR_DEM, 0x0005, 64); // FIR2
drivers/staging/media/av7110/av7110_v4l.c
776
msp_writereg(av7110, MSP_WR_DEM, 0x0005, 0); // FIR2
drivers/staging/media/av7110/av7110_v4l.c
777
msp_writereg(av7110, MSP_WR_DEM, 0x0005, 3); // FIR2
drivers/staging/media/av7110/av7110_v4l.c
778
msp_writereg(av7110, MSP_WR_DEM, 0x0005, 18); // FIR2
drivers/staging/media/av7110/av7110_v4l.c
779
msp_writereg(av7110, MSP_WR_DEM, 0x0005, 27); // FIR2
drivers/staging/media/av7110/av7110_v4l.c
780
msp_writereg(av7110, MSP_WR_DEM, 0x0005, 48); // FIR2
drivers/staging/media/av7110/av7110_v4l.c
781
msp_writereg(av7110, MSP_WR_DEM, 0x0005, 66); // FIR2
drivers/staging/media/av7110/av7110_v4l.c
782
msp_writereg(av7110, MSP_WR_DEM, 0x0005, 72); // FIR2
drivers/staging/media/av7110/av7110_v4l.c
783
msp_writereg(av7110, MSP_WR_DEM, 0x0083, 0xa000); // MODE_REG
drivers/staging/media/av7110/av7110_v4l.c
784
msp_writereg(av7110, MSP_WR_DEM, 0x0093, 0x00aa); // DCO1_LO 5.74MHz
drivers/staging/media/av7110/av7110_v4l.c
785
msp_writereg(av7110, MSP_WR_DEM, 0x009b, 0x04fc); // DCO1_HI
drivers/staging/media/av7110/av7110_v4l.c
786
msp_writereg(av7110, MSP_WR_DEM, 0x00a3, 0x038e); // DCO2_LO 5.5MHz
drivers/staging/media/av7110/av7110_v4l.c
787
msp_writereg(av7110, MSP_WR_DEM, 0x00ab, 0x04c6); // DCO2_HI
drivers/staging/media/av7110/av7110_v4l.c
788
msp_writereg(av7110, MSP_WR_DEM, 0x0056, 0); // LOAD_REG 1/2
drivers/staging/media/av7110/av7110_v4l.c
793
saa7146_write(av7110->dev, DD1_STREAM_B, 0x00000000);
drivers/staging/media/av7110/av7110_v4l.c
794
saa7146_write(av7110->dev, DD1_INIT, 0x03000700);
drivers/staging/media/av7110/av7110_v4l.c
795
saa7146_write(av7110->dev, MC2, (MASK_09 | MASK_25 | MASK_10 | MASK_26));
drivers/staging/media/av7110/av7110_v4l.c
800
int av7110_init_v4l(struct av7110 *av7110)
drivers/staging/media/av7110/av7110_v4l.c
802
struct saa7146_dev *dev = av7110->dev;
drivers/staging/media/av7110/av7110_v4l.c
810
if (av7110->analog_tuner_flags)
drivers/staging/media/av7110/av7110_v4l.c
844
if (FW_VERSION(av7110->arm_app) < 0x2623)
drivers/staging/media/av7110/av7110_v4l.c
847
if (saa7146_register_device(&av7110->v4l_dev, dev, "av7110", VFL_TYPE_VIDEO)) {
drivers/staging/media/av7110/av7110_v4l.c
852
if (FW_VERSION(av7110->arm_app) >= 0x2623) {
drivers/staging/media/av7110/av7110_v4l.c
853
if (saa7146_register_device(&av7110->vbi_dev, dev, "av7110", VFL_TYPE_VBI))
drivers/staging/media/av7110/av7110_v4l.c
859
int av7110_exit_v4l(struct av7110 *av7110)
drivers/staging/media/av7110/av7110_v4l.c
861
struct saa7146_dev *dev = av7110->dev;
drivers/staging/media/av7110/av7110_v4l.c
863
saa7146_unregister_device(&av7110->v4l_dev, av7110->dev);
drivers/staging/media/av7110/av7110_v4l.c
864
saa7146_unregister_device(&av7110->vbi_dev, av7110->dev);
drivers/staging/media/av7110/av7110_v4l.c
918
struct av7110 *av7110 = (struct av7110 *)dev->ext_priv;
drivers/staging/media/av7110/av7110_v4l.c
921
av7110->vidmode = AV7110_VIDEO_MODE_PAL;
drivers/staging/media/av7110/av7110_v4l.c
922
av7110_set_vidmode(av7110, av7110->vidmode);
drivers/staging/media/av7110/av7110_v4l.c
924
av7110->vidmode = AV7110_VIDEO_MODE_NTSC;
drivers/staging/media/av7110/av7110_v4l.c
925
av7110_set_vidmode(av7110, av7110->vidmode);