drivers/staging/media/av7110/av7110.c
1017
if (av7110->full_ts) {
drivers/staging/media/av7110/av7110.c
1040
static void restart_feeds(struct av7110 *av7110)
drivers/staging/media/av7110/av7110.c
1042
struct dvb_demux *dvbdmx = &av7110->demux;
drivers/staging/media/av7110/av7110.c
1048
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110.c
1050
mode = av7110->playing;
drivers/staging/media/av7110/av7110.c
1051
av7110->playing = 0;
drivers/staging/media/av7110/av7110.c
1052
av7110->rec_mode = 0;
drivers/staging/media/av7110/av7110.c
1054
feeding = av7110->feeding1; /* full_ts mod */
drivers/staging/media/av7110/av7110.c
1073
av7110->feeding1 = feeding; /* full_ts mod */
drivers/staging/media/av7110/av7110.c
1076
av7110_av_start_play(av7110, mode);
drivers/staging/media/av7110/av7110.c
1086
struct av7110 *av7110;
drivers/staging/media/av7110/av7110.c
1094
av7110 = dvbdemux->priv;
drivers/staging/media/av7110/av7110.c
1096
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110.c
1101
ret = av7110_fw_request(av7110, &tag, 0, fwstc, 4);
drivers/staging/media/av7110/av7110.c
1123
struct av7110 *av7110 = fe->dvb->priv;
drivers/staging/media/av7110/av7110.c
1127
return Set22K(av7110, 1);
drivers/staging/media/av7110/av7110.c
113
static void init_av7110_av(struct av7110 *av7110)
drivers/staging/media/av7110/av7110.c
1130
return Set22K(av7110, 0);
drivers/staging/media/av7110/av7110.c
1140
struct av7110 *av7110 = fe->dvb->priv;
drivers/staging/media/av7110/av7110.c
1142
return av7110_diseqc_send(av7110, cmd->msg_len, cmd->msg, -1);
drivers/staging/media/av7110/av7110.c
1148
struct av7110 *av7110 = fe->dvb->priv;
drivers/staging/media/av7110/av7110.c
1150
return av7110_diseqc_send(av7110, 0, NULL, minicmd);
drivers/staging/media/av7110/av7110.c
1154
static int stop_ts_capture(struct av7110 *budget)
drivers/staging/media/av7110/av7110.c
116
struct saa7146_dev *dev = av7110->dev;
drivers/staging/media/av7110/av7110.c
1166
static int start_ts_capture(struct av7110 *budget)
drivers/staging/media/av7110/av7110.c
1186
struct av7110 *budget = demux->priv;
drivers/staging/media/av7110/av7110.c
119
av7110->adac_type = DVB_ADAC_TI;
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
1201
struct av7110 *budget = demux->priv;
drivers/staging/media/av7110/av7110.c
1214
struct av7110 *budget = from_tasklet(budget, t, vpe_tasklet);
drivers/staging/media/av7110/av7110.c
124
ret = av7110_fw_cmd(av7110, COMTYPE_ENCODER,
drivers/staging/media/av7110/av7110.c
125
AV7110_SET_MONITOR_TYPE, 1, av7110->display_ar);
drivers/staging/media/av7110/av7110.c
1251
static int av7110_register(struct av7110 *av7110)
drivers/staging/media/av7110/av7110.c
1254
struct dvb_demux *dvbdemux = &av7110->demux;
drivers/staging/media/av7110/av7110.c
1255
struct dvb_demux *dvbdemux1 = &av7110->demux1;
drivers/staging/media/av7110/av7110.c
1257
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110.c
1259
if (av7110->registered)
drivers/staging/media/av7110/av7110.c
1262
av7110->registered = 1;
drivers/staging/media/av7110/av7110.c
1264
dvbdemux->priv = (void *)av7110;
drivers/staging/media/av7110/av7110.c
1267
av7110->handle2filter[i] = NULL;
drivers/staging/media/av7110/av7110.c
1269
dvbdemux->filternum = (av7110->full_ts) ? 256 : 32;
drivers/staging/media/av7110/av7110.c
1270
dvbdemux->feednum = (av7110->full_ts) ? 256 : 32;
drivers/staging/media/av7110/av7110.c
1277
dvb_dmx_init(&av7110->demux);
drivers/staging/media/av7110/av7110.c
1278
av7110->demux.dmx.get_stc = dvb_get_stc;
drivers/staging/media/av7110/av7110.c
128
ret = av7110_fw_cmd(av7110, COMTYPE_ENCODER,
drivers/staging/media/av7110/av7110.c
1280
av7110->dmxdev.filternum = (av7110->full_ts) ? 256 : 32;
drivers/staging/media/av7110/av7110.c
1281
av7110->dmxdev.demux = &dvbdemux->dmx;
drivers/staging/media/av7110/av7110.c
1282
av7110->dmxdev.capabilities = 0;
drivers/staging/media/av7110/av7110.c
1284
dvb_dmxdev_init(&av7110->dmxdev, &av7110->dvb_adapter);
drivers/staging/media/av7110/av7110.c
1286
av7110->hw_frontend.source = DMX_FRONTEND_0;
drivers/staging/media/av7110/av7110.c
1288
ret = dvbdemux->dmx.add_frontend(&dvbdemux->dmx, &av7110->hw_frontend);
drivers/staging/media/av7110/av7110.c
1293
av7110->mem_frontend.source = DMX_MEMORY_FE;
drivers/staging/media/av7110/av7110.c
1295
ret = dvbdemux->dmx.add_frontend(&dvbdemux->dmx, &av7110->mem_frontend);
drivers/staging/media/av7110/av7110.c
130
av7110->display_panscan);
drivers/staging/media/av7110/av7110.c
1301
&av7110->hw_frontend);
drivers/staging/media/av7110/av7110.c
1305
av7110_av_register(av7110);
drivers/staging/media/av7110/av7110.c
1306
av7110_ca_register(av7110);
drivers/staging/media/av7110/av7110.c
1309
dvb_register_device(&av7110->dvb_adapter, &av7110->osd_dev,
drivers/staging/media/av7110/av7110.c
1310
&dvbdev_osd, av7110, DVB_DEVICE_OSD, 0);
drivers/staging/media/av7110/av7110.c
1313
dvb_net_init(&av7110->dvb_adapter, &av7110->dvb_net, &dvbdemux->dmx);
drivers/staging/media/av7110/av7110.c
1319
dvbdemux1->priv = (void *)av7110;
drivers/staging/media/av7110/av7110.c
1330
dvb_dmx_init(&av7110->demux1);
drivers/staging/media/av7110/av7110.c
1332
av7110->dmxdev1.filternum = 256;
drivers/staging/media/av7110/av7110.c
1333
av7110->dmxdev1.demux = &dvbdemux1->dmx;
drivers/staging/media/av7110/av7110.c
1334
av7110->dmxdev1.capabilities = 0;
drivers/staging/media/av7110/av7110.c
1336
dvb_dmxdev_init(&av7110->dmxdev1, &av7110->dvb_adapter);
drivers/staging/media/av7110/av7110.c
1338
dvb_net_init(&av7110->dvb_adapter, &av7110->dvb_net1, &dvbdemux1->dmx);
drivers/staging/media/av7110/av7110.c
134
ret = av7110_fw_cmd(av7110, COMTYPE_ENCODER,
drivers/staging/media/av7110/av7110.c
1344
static void dvb_unregister(struct av7110 *av7110)
drivers/staging/media/av7110/av7110.c
1346
struct dvb_demux *dvbdemux = &av7110->demux;
drivers/staging/media/av7110/av7110.c
1347
struct dvb_demux *dvbdemux1 = &av7110->demux1;
drivers/staging/media/av7110/av7110.c
1349
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110.c
1351
if (!av7110->registered)
drivers/staging/media/av7110/av7110.c
1355
dvb_net_release(&av7110->dvb_net1);
drivers/staging/media/av7110/av7110.c
1357
dvb_dmxdev_release(&av7110->dmxdev1);
drivers/staging/media/av7110/av7110.c
1358
dvb_dmx_release(&av7110->demux1);
drivers/staging/media/av7110/av7110.c
1361
dvb_net_release(&av7110->dvb_net);
drivers/staging/media/av7110/av7110.c
1364
dvbdemux->dmx.remove_frontend(&dvbdemux->dmx, &av7110->hw_frontend);
drivers/staging/media/av7110/av7110.c
1365
dvbdemux->dmx.remove_frontend(&dvbdemux->dmx, &av7110->mem_frontend);
drivers/staging/media/av7110/av7110.c
1367
dvb_dmxdev_release(&av7110->dmxdev);
drivers/staging/media/av7110/av7110.c
1368
dvb_dmx_release(&av7110->demux);
drivers/staging/media/av7110/av7110.c
1370
if (av7110->fe) {
drivers/staging/media/av7110/av7110.c
1371
dvb_unregister_frontend(av7110->fe);
drivers/staging/media/av7110/av7110.c
1372
dvb_frontend_detach(av7110->fe);
drivers/staging/media/av7110/av7110.c
1374
dvb_unregister_device(av7110->osd_dev);
drivers/staging/media/av7110/av7110.c
1375
av7110_av_unregister(av7110);
drivers/staging/media/av7110/av7110.c
1376
av7110_ca_unregister(av7110);
drivers/staging/media/av7110/av7110.c
138
ret = av7110_fw_cmd(av7110, COMTYPE_ENCODER,
drivers/staging/media/av7110/av7110.c
1383
int i2c_writereg(struct av7110 *av7110, u8 id, u8 reg, u8 val)
drivers/staging/media/av7110/av7110.c
1392
return i2c_transfer(&av7110->i2c_adap, &msgs, 1);
drivers/staging/media/av7110/av7110.c
1395
u8 i2c_readreg(struct av7110 *av7110, u8 id, u8 reg)
drivers/staging/media/av7110/av7110.c
1410
i2c_transfer(&av7110->i2c_adap, msgs, 2);
drivers/staging/media/av7110/av7110.c
1419
static int check_firmware(struct av7110 *av7110)
drivers/staging/media/av7110/av7110.c
1425
ptr = av7110->bin_fw;
drivers/staging/media/av7110/av7110.c
143
ret = av7710_set_video_mode(av7110, vidmode);
drivers/staging/media/av7110/av7110.c
1446
av7110->bin_dpram = ptr;
drivers/staging/media/av7110/av7110.c
1447
av7110->size_dpram = len;
drivers/staging/media/av7110/av7110.c
1457
len > ((av7110->bin_fw + av7110->size_fw) - ptr)) {
drivers/staging/media/av7110/av7110.c
1465
av7110->bin_root = ptr;
drivers/staging/media/av7110/av7110.c
1466
av7110->size_root = len;
drivers/staging/media/av7110/av7110.c
1470
static void put_firmware(struct av7110 *av7110)
drivers/staging/media/av7110/av7110.c
1472
vfree(av7110->bin_fw);
drivers/staging/media/av7110/av7110.c
1475
static int get_firmware(struct av7110 *av7110)
drivers/staging/media/av7110/av7110.c
1481
ret = request_firmware(&fw, "dvb-ttpci-01.fw", &av7110->dev->pci->dev);
drivers/staging/media/av7110/av7110.c
149
av7110->analog_tuner_flags = 0;
drivers/staging/media/av7110/av7110.c
150
av7110->current_input = 0;
drivers/staging/media/av7110/av7110.c
1500
av7110->bin_fw = vmalloc(fw->size);
drivers/staging/media/av7110/av7110.c
1501
if (!av7110->bin_fw) {
drivers/staging/media/av7110/av7110.c
1507
memcpy(av7110->bin_fw, fw->data, fw->size);
drivers/staging/media/av7110/av7110.c
1508
av7110->size_fw = fw->size;
drivers/staging/media/av7110/av7110.c
1509
ret = check_firmware(av7110);
drivers/staging/media/av7110/av7110.c
1511
vfree(av7110->bin_fw);
drivers/staging/media/av7110/av7110.c
152
av7110_fw_cmd(av7110, COMTYPE_AUDIODAC, ADSwitch, 1, 0); // SPDIF on
drivers/staging/media/av7110/av7110.c
1520
struct av7110 *av7110 = fe->dvb->priv;
drivers/staging/media/av7110/av7110.c
153
if (i2c_writereg(av7110, 0x20, 0x00, 0x00) == 1) {
drivers/staging/media/av7110/av7110.c
154
pr_info("Crystal audio DAC @ card %d detected\n", av7110->dvb_adapter.num);
drivers/staging/media/av7110/av7110.c
1549
if (i2c_transfer(&av7110->i2c_adap, &msg, 1) != 1)
drivers/staging/media/av7110/av7110.c
155
av7110->adac_type = DVB_ADAC_CRYSTAL;
drivers/staging/media/av7110/av7110.c
156
i2c_writereg(av7110, 0x20, 0x01, 0xd2);
drivers/staging/media/av7110/av7110.c
1563
struct av7110 *av7110 = fe->dvb->priv;
drivers/staging/media/av7110/av7110.c
157
i2c_writereg(av7110, 0x20, 0x02, 0x49);
drivers/staging/media/av7110/av7110.c
1577
if (i2c_transfer(&av7110->i2c_adap, &msg, 1) != 1)
drivers/staging/media/av7110/av7110.c
158
i2c_writereg(av7110, 0x20, 0x03, 0x00);
drivers/staging/media/av7110/av7110.c
159
i2c_writereg(av7110, 0x20, 0x04, 0x00);
drivers/staging/media/av7110/av7110.c
1592
struct av7110 *av7110 = fe->dvb->priv;
drivers/staging/media/av7110/av7110.c
1605
if (i2c_transfer(&av7110->i2c_adap, &msg, 1) != 1)
drivers/staging/media/av7110/av7110.c
1617
struct av7110 *av7110 = fe->dvb->priv;
drivers/staging/media/av7110/av7110.c
1632
if (i2c_transfer(&av7110->i2c_adap, &msg, 1) != 1)
drivers/staging/media/av7110/av7110.c
164
} else if (av7110_init_analog_module(av7110) == 0) {
drivers/staging/media/av7110/av7110.c
1647
struct av7110 *av7110 = fe->dvb->priv;
drivers/staging/media/av7110/av7110.c
1666
if (i2c_transfer(&av7110->i2c_adap, &msg, 1) != 1)
drivers/staging/media/av7110/av7110.c
167
pr_info("DVB-C w/o analog module @ card %d detected\n", av7110->dvb_adapter.num);
drivers/staging/media/av7110/av7110.c
1674
struct av7110 *av7110 = fe->dvb->priv;
drivers/staging/media/av7110/av7110.c
1676
return request_firmware(fw, name, &av7110->dev->pci->dev);
drivers/staging/media/av7110/av7110.c
168
av7110->adac_type = DVB_ADAC_NONE;
drivers/staging/media/av7110/av7110.c
170
av7110->adac_type = adac;
drivers/staging/media/av7110/av7110.c
171
pr_info("adac type set to %d @ card %d\n", av7110->adac_type, av7110->dvb_adapter.num);
drivers/staging/media/av7110/av7110.c
174
if (av7110->adac_type == DVB_ADAC_NONE || av7110->adac_type == DVB_ADAC_MSP34x0) {
drivers/staging/media/av7110/av7110.c
176
ret = av7110_fw_cmd(av7110, COMTYPE_AUDIODAC, MainSwitch, 1, 0);
drivers/staging/media/av7110/av7110.c
1783
struct av7110 *av7110 = fe->dvb->priv;
drivers/staging/media/av7110/av7110.c
179
ret = av7110_fw_cmd(av7110, COMTYPE_AUDIODAC, ADSwitch, 1, 1);
drivers/staging/media/av7110/av7110.c
1809
if (i2c_transfer(&av7110->i2c_adap, &msg, 1) != 1) {
drivers/staging/media/av7110/av7110.c
1818
if (i2c_transfer(&av7110->i2c_adap, &readmsg, 1) == 1)
drivers/staging/media/av7110/av7110.c
183
((av7110->dev->pci->subsystem_vendor == 0x110a) ||
drivers/staging/media/av7110/av7110.c
1837
struct av7110 *av7110 = fe->dvb->priv;
drivers/staging/media/av7110/av7110.c
184
(av7110->dev->pci->subsystem_vendor == 0x13c2)) &&
drivers/staging/media/av7110/av7110.c
185
(av7110->dev->pci->subsystem_device == 0x0000)) {
drivers/staging/media/av7110/av7110.c
1872
if (i2c_transfer(&av7110->i2c_adap, &msg, 1) != 1)
drivers/staging/media/av7110/av7110.c
1881
static int av7110_fe_lock_fix(struct av7110 *av7110, enum fe_status status)
drivers/staging/media/av7110/av7110.c
1886
av7110->fe_status = status;
drivers/staging/media/av7110/av7110.c
1888
if (av7110->fe_synced == synced)
drivers/staging/media/av7110/av7110.c
1891
if (av7110->playing) {
drivers/staging/media/av7110/av7110.c
1892
av7110->fe_synced = synced;
drivers/staging/media/av7110/av7110.c
1896
if (mutex_lock_interruptible(&av7110->pid_mutex))
drivers/staging/media/av7110/av7110.c
1900
ret = SetPIDs(av7110, av7110->pids[DMX_PES_VIDEO],
drivers/staging/media/av7110/av7110.c
1901
av7110->pids[DMX_PES_AUDIO],
drivers/staging/media/av7110/av7110.c
1902
av7110->pids[DMX_PES_TELETEXT], 0,
drivers/staging/media/av7110/av7110.c
1903
av7110->pids[DMX_PES_PCR]);
drivers/staging/media/av7110/av7110.c
1905
ret = av7110_fw_cmd(av7110, COMTYPE_PIDFILTER,
drivers/staging/media/av7110/av7110.c
1908
ret = SetPIDs(av7110, 0, 0, 0, 0, 0);
drivers/staging/media/av7110/av7110.c
1910
ret = av7110_fw_cmd(av7110, COMTYPE_PID_FILTER,
drivers/staging/media/av7110/av7110.c
1913
ret = av7110_wait_msgstate(av7110, GPMQBusy);
drivers/staging/media/av7110/av7110.c
1918
av7110->fe_synced = synced;
drivers/staging/media/av7110/av7110.c
192
av7110_fw_cmd(av7110, COMTYPE_AUDIODAC, SpdifSwitch, 1, 0); // SPDIF on
drivers/staging/media/av7110/av7110.c
1920
mutex_unlock(&av7110->pid_mutex);
drivers/staging/media/av7110/av7110.c
1926
struct av7110 *av7110 = fe->dvb->priv;
drivers/staging/media/av7110/av7110.c
1928
int ret = av7110_fe_lock_fix(av7110, 0);
drivers/staging/media/av7110/av7110.c
1931
ret = av7110->fe_set_frontend(fe);
drivers/staging/media/av7110/av7110.c
1938
struct av7110 *av7110 = fe->dvb->priv;
drivers/staging/media/av7110/av7110.c
194
ret = av7110_set_volume(av7110, av7110->mixer.volume_left, av7110->mixer.volume_right);
drivers/staging/media/av7110/av7110.c
1940
int ret = av7110_fe_lock_fix(av7110, 0);
drivers/staging/media/av7110/av7110.c
1943
ret = av7110->fe_init(fe);
drivers/staging/media/av7110/av7110.c
1950
struct av7110 *av7110 = fe->dvb->priv;
drivers/staging/media/av7110/av7110.c
1953
int ret = av7110->fe_read_status(fe, status);
drivers/staging/media/av7110/av7110.c
1956
if (((*status ^ av7110->fe_status) & FE_HAS_LOCK) && (*status & FE_HAS_LOCK))
drivers/staging/media/av7110/av7110.c
1957
ret = av7110_fe_lock_fix(av7110, *status);
drivers/staging/media/av7110/av7110.c
1963
struct av7110 *av7110 = fe->dvb->priv;
drivers/staging/media/av7110/av7110.c
1965
int ret = av7110_fe_lock_fix(av7110, 0);
drivers/staging/media/av7110/av7110.c
1968
ret = av7110->fe_diseqc_reset_overload(fe);
drivers/staging/media/av7110/av7110.c
1975
struct av7110 *av7110 = fe->dvb->priv;
drivers/staging/media/av7110/av7110.c
1977
int ret = av7110_fe_lock_fix(av7110, 0);
drivers/staging/media/av7110/av7110.c
1980
av7110->saved_master_cmd = *cmd;
drivers/staging/media/av7110/av7110.c
1981
ret = av7110->fe_diseqc_send_master_cmd(fe, cmd);
drivers/staging/media/av7110/av7110.c
1989
struct av7110 *av7110 = fe->dvb->priv;
drivers/staging/media/av7110/av7110.c
199
static void recover_arm(struct av7110 *av7110)
drivers/staging/media/av7110/av7110.c
1991
int ret = av7110_fe_lock_fix(av7110, 0);
drivers/staging/media/av7110/av7110.c
1994
av7110->saved_minicmd = minicmd;
drivers/staging/media/av7110/av7110.c
1995
ret = av7110->fe_diseqc_send_burst(fe, minicmd);
drivers/staging/media/av7110/av7110.c
2003
struct av7110 *av7110 = fe->dvb->priv;
drivers/staging/media/av7110/av7110.c
2005
int ret = av7110_fe_lock_fix(av7110, 0);
drivers/staging/media/av7110/av7110.c
2008
av7110->saved_tone = tone;
drivers/staging/media/av7110/av7110.c
2009
ret = av7110->fe_set_tone(fe, tone);
drivers/staging/media/av7110/av7110.c
201
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110.c
2017
struct av7110 *av7110 = fe->dvb->priv;
drivers/staging/media/av7110/av7110.c
2019
int ret = av7110_fe_lock_fix(av7110, 0);
drivers/staging/media/av7110/av7110.c
2022
av7110->saved_voltage = voltage;
drivers/staging/media/av7110/av7110.c
2023
ret = av7110->fe_set_voltage(fe, voltage);
drivers/staging/media/av7110/av7110.c
203
av7110_bootarm(av7110);
drivers/staging/media/av7110/av7110.c
2030
struct av7110 *av7110 = fe->dvb->priv;
drivers/staging/media/av7110/av7110.c
2032
int ret = av7110_fe_lock_fix(av7110, 0);
drivers/staging/media/av7110/av7110.c
2035
ret = av7110->fe_dishnetwork_send_legacy_command(fe, cmd);
drivers/staging/media/av7110/av7110.c
2039
static void dvb_s_recover(struct av7110 *av7110)
drivers/staging/media/av7110/av7110.c
2041
av7110_fe_init(av7110->fe);
drivers/staging/media/av7110/av7110.c
2043
av7110_fe_set_voltage(av7110->fe, av7110->saved_voltage);
drivers/staging/media/av7110/av7110.c
2044
if (av7110->saved_master_cmd.msg_len) {
drivers/staging/media/av7110/av7110.c
2046
av7110_fe_diseqc_send_master_cmd(av7110->fe, &av7110->saved_master_cmd);
drivers/staging/media/av7110/av7110.c
2049
av7110_fe_diseqc_send_burst(av7110->fe, av7110->saved_minicmd);
drivers/staging/media/av7110/av7110.c
2051
av7110_fe_set_tone(av7110->fe, av7110->saved_tone);
drivers/staging/media/av7110/av7110.c
2053
av7110_fe_set_frontend(av7110->fe);
drivers/staging/media/av7110/av7110.c
2056
static u8 read_pwm(struct av7110 *av7110)
drivers/staging/media/av7110/av7110.c
206
init_av7110_av(av7110);
drivers/staging/media/av7110/av7110.c
2063
if ((i2c_transfer(&av7110->i2c_adap, msg, 2) != 2) || (pwm == 0xff))
drivers/staging/media/av7110/av7110.c
2069
static int frontend_init(struct av7110 *av7110)
drivers/staging/media/av7110/av7110.c
2073
if (av7110->dev->pci->subsystem_vendor == 0x110a) {
drivers/staging/media/av7110/av7110.c
2074
switch (av7110->dev->pci->subsystem_device) {
drivers/staging/media/av7110/av7110.c
2076
av7110->fe = dvb_attach(ves1820_attach, &philips_cd1516_config,
drivers/staging/media/av7110/av7110.c
2077
&av7110->i2c_adap, read_pwm(av7110));
drivers/staging/media/av7110/av7110.c
2078
if (av7110->fe)
drivers/staging/media/av7110/av7110.c
2079
av7110->fe->ops.tuner_ops.set_params = philips_cd1516_tuner_set_params;
drivers/staging/media/av7110/av7110.c
2083
} else if (av7110->dev->pci->subsystem_vendor == 0x13c2) {
drivers/staging/media/av7110/av7110.c
2084
switch (av7110->dev->pci->subsystem_device) {
drivers/staging/media/av7110/av7110.c
209
if (av7110->recover)
drivers/staging/media/av7110/av7110.c
2090
av7110->fe = dvb_attach(ves1x93_attach, &alps_bsrv2_config, &av7110->i2c_adap);
drivers/staging/media/av7110/av7110.c
2091
if (av7110->fe) {
drivers/staging/media/av7110/av7110.c
2092
av7110->fe->ops.tuner_ops.set_params = alps_bsrv2_tuner_set_params;
drivers/staging/media/av7110/av7110.c
2093
av7110->fe->ops.diseqc_send_master_cmd = av7110_diseqc_send_master_cmd;
drivers/staging/media/av7110/av7110.c
2094
av7110->fe->ops.diseqc_send_burst = av7110_diseqc_send_burst;
drivers/staging/media/av7110/av7110.c
2095
av7110->fe->ops.set_tone = av7110_set_tone;
drivers/staging/media/av7110/av7110.c
2096
av7110->recover = dvb_s_recover;
drivers/staging/media/av7110/av7110.c
210
av7110->recover(av7110);
drivers/staging/media/av7110/av7110.c
2101
av7110->fe = dvb_attach(stv0299_attach, &alps_bsru6_config, &av7110->i2c_adap);
drivers/staging/media/av7110/av7110.c
2102
if (av7110->fe) {
drivers/staging/media/av7110/av7110.c
2103
av7110->fe->ops.tuner_ops.set_params = alps_bsru6_tuner_set_params;
drivers/staging/media/av7110/av7110.c
2104
av7110->fe->tuner_priv = &av7110->i2c_adap;
drivers/staging/media/av7110/av7110.c
2106
av7110->fe->ops.diseqc_send_master_cmd = av7110_diseqc_send_master_cmd;
drivers/staging/media/av7110/av7110.c
2107
av7110->fe->ops.diseqc_send_burst = av7110_diseqc_send_burst;
drivers/staging/media/av7110/av7110.c
2108
av7110->fe->ops.set_tone = av7110_set_tone;
drivers/staging/media/av7110/av7110.c
2109
av7110->recover = dvb_s_recover;
drivers/staging/media/av7110/av7110.c
2114
av7110->fe = dvb_attach(tda8083_attach, &grundig_29504_451_config, &av7110->i2c_adap);
drivers/staging/media/av7110/av7110.c
2115
if (av7110->fe) {
drivers/staging/media/av7110/av7110.c
2116
av7110->fe->ops.tuner_ops.set_params = grundig_29504_451_tuner_set_params;
drivers/staging/media/av7110/av7110.c
2117
av7110->fe->ops.diseqc_send_master_cmd = av7110_diseqc_send_master_cmd;
drivers/staging/media/av7110/av7110.c
2118
av7110->fe->ops.diseqc_send_burst = av7110_diseqc_send_burst;
drivers/staging/media/av7110/av7110.c
2119
av7110->fe->ops.set_tone = av7110_set_tone;
drivers/staging/media/av7110/av7110.c
212
restart_feeds(av7110);
drivers/staging/media/av7110/av7110.c
2120
av7110->recover = dvb_s_recover;
drivers/staging/media/av7110/av7110.c
2125
switch (av7110->dev->pci->subsystem_device) {
drivers/staging/media/av7110/av7110.c
2128
av7110->fe = dvb_attach(ves1820_attach, &philips_cd1516_config, &av7110->i2c_adap,
drivers/staging/media/av7110/av7110.c
2129
read_pwm(av7110));
drivers/staging/media/av7110/av7110.c
2130
if (av7110->fe)
drivers/staging/media/av7110/av7110.c
2131
av7110->fe->ops.tuner_ops.set_params = philips_cd1516_tuner_set_params;
drivers/staging/media/av7110/av7110.c
2135
av7110->fe = dvb_attach(ves1820_attach, &alps_tdbe2_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 = alps_tdbe2_tuner_set_params;
drivers/staging/media/av7110/av7110.c
2148
fe = dvb_attach(sp8870_attach, &alps_tdlb7_config, &av7110->i2c_adap);
drivers/staging/media/av7110/av7110.c
215
av7110_set_ir_config(av7110);
drivers/staging/media/av7110/av7110.c
2151
av7110->fe = fe;
drivers/staging/media/av7110/av7110.c
2159
av7110->fe = dvb_attach(l64781_attach, &grundig_29504_401_config, &av7110->i2c_adap);
drivers/staging/media/av7110/av7110.c
2160
if (av7110->fe)
drivers/staging/media/av7110/av7110.c
2161
av7110->fe->ops.tuner_ops.set_params = grundig_29504_401_tuner_set_params;
drivers/staging/media/av7110/av7110.c
2166
av7110->fe = dvb_attach(ves1820_attach, &alps_tdbe2_config, &av7110->i2c_adap, read_pwm(av7110));
drivers/staging/media/av7110/av7110.c
2167
if (av7110->fe)
drivers/staging/media/av7110/av7110.c
2168
av7110->fe->ops.tuner_ops.set_params = alps_tdbe2_tuner_set_params;
drivers/staging/media/av7110/av7110.c
2173
av7110->fe = dvb_attach(ves1x93_attach, &alps_bsrv2_config, &av7110->i2c_adap);
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_bsrv2_tuner_set_params;
drivers/staging/media/av7110/av7110.c
2176
av7110->fe->ops.diseqc_send_master_cmd = av7110_diseqc_send_master_cmd;
drivers/staging/media/av7110/av7110.c
2177
av7110->fe->ops.diseqc_send_burst = av7110_diseqc_send_burst;
drivers/staging/media/av7110/av7110.c
2178
av7110->fe->ops.set_tone = av7110_set_tone;
drivers/staging/media/av7110/av7110.c
2179
av7110->recover = dvb_s_recover;
drivers/staging/media/av7110/av7110.c
2185
av7110->fe = dvb_attach(tda8083_attach, &grundig_29504_451_config, &av7110->i2c_adap);
drivers/staging/media/av7110/av7110.c
2186
if (av7110->fe) {
drivers/staging/media/av7110/av7110.c
2187
av7110->fe->ops.tuner_ops.set_params = grundig_29504_451_tuner_set_params;
drivers/staging/media/av7110/av7110.c
2188
av7110->fe->ops.diseqc_send_master_cmd = av7110_diseqc_send_master_cmd;
drivers/staging/media/av7110/av7110.c
2189
av7110->fe->ops.diseqc_send_burst = av7110_diseqc_send_burst;
drivers/staging/media/av7110/av7110.c
219
static void av7110_arm_sync(struct av7110 *av7110)
drivers/staging/media/av7110/av7110.c
2190
av7110->fe->ops.set_tone = av7110_set_tone;
drivers/staging/media/av7110/av7110.c
2191
av7110->recover = dvb_s_recover;
drivers/staging/media/av7110/av7110.c
2197
av7110->fe = dvb_attach(stv0297_attach, &nexusca_stv0297_config, &av7110->i2c_adap);
drivers/staging/media/av7110/av7110.c
2198
if (av7110->fe) {
drivers/staging/media/av7110/av7110.c
2199
av7110->fe->ops.tuner_ops.set_params = nexusca_stv0297_tuner_set_params;
drivers/staging/media/av7110/av7110.c
2202
saa7146_setgpio(av7110->dev, 1, SAA7146_GPIO_OUTLO); // TDA9819 pin9(STD)
drivers/staging/media/av7110/av7110.c
2203
saa7146_setgpio(av7110->dev, 3, SAA7146_GPIO_OUTLO); // TDA9819 pin30(VIF)
drivers/staging/media/av7110/av7110.c
2206
av7110->dev->i2c_bitrate = SAA7146_I2C_BUS_BIT_RATE_240;
drivers/staging/media/av7110/av7110.c
221
if (av7110->arm_thread)
drivers/staging/media/av7110/av7110.c
2213
av7110->fe = dvb_attach(stv0299_attach, &alps_bsbe1_config, &av7110->i2c_adap);
drivers/staging/media/av7110/av7110.c
2214
if (av7110->fe) {
drivers/staging/media/av7110/av7110.c
2215
av7110->fe->ops.tuner_ops.set_params = alps_bsbe1_tuner_set_params;
drivers/staging/media/av7110/av7110.c
2216
av7110->fe->tuner_priv = &av7110->i2c_adap;
drivers/staging/media/av7110/av7110.c
2218
if (!dvb_attach(lnbp21_attach, av7110->fe, &av7110->i2c_adap, 0, 0)) {
drivers/staging/media/av7110/av7110.c
222
kthread_stop(av7110->arm_thread);
drivers/staging/media/av7110/av7110.c
2220
if (av7110->fe->ops.release)
drivers/staging/media/av7110/av7110.c
2221
av7110->fe->ops.release(av7110->fe);
drivers/staging/media/av7110/av7110.c
2222
av7110->fe = NULL;
drivers/staging/media/av7110/av7110.c
2224
av7110->fe->ops.dishnetwork_send_legacy_command = NULL;
drivers/staging/media/av7110/av7110.c
2225
av7110->recover = dvb_s_recover;
drivers/staging/media/av7110/av7110.c
2232
if (!av7110->fe) {
drivers/staging/media/av7110/av7110.c
2236
av7110->dev->pci->vendor, av7110->dev->pci->device,
drivers/staging/media/av7110/av7110.c
2237
av7110->dev->pci->subsystem_vendor, av7110->dev->pci->subsystem_device);
drivers/staging/media/av7110/av7110.c
2239
FE_FUNC_OVERRIDE(av7110->fe->ops.init, av7110->fe_init, av7110_fe_init);
drivers/staging/media/av7110/av7110.c
224
av7110->arm_thread = NULL;
drivers/staging/media/av7110/av7110.c
2240
FE_FUNC_OVERRIDE(av7110->fe->ops.read_status, av7110->fe_read_status, av7110_fe_read_status);
drivers/staging/media/av7110/av7110.c
2241
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
2242
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
2243
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
2244
FE_FUNC_OVERRIDE(av7110->fe->ops.set_tone, av7110->fe_set_tone, av7110_fe_set_tone);
drivers/staging/media/av7110/av7110.c
2245
FE_FUNC_OVERRIDE(av7110->fe->ops.set_voltage, av7110->fe_set_voltage, av7110_fe_set_voltage);
drivers/staging/media/av7110/av7110.c
2246
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
2247
FE_FUNC_OVERRIDE(av7110->fe->ops.set_frontend, av7110->fe_set_frontend, av7110_fe_set_frontend);
drivers/staging/media/av7110/av7110.c
2249
ret = dvb_register_frontend(&av7110->dvb_adapter, av7110->fe);
drivers/staging/media/av7110/av7110.c
2252
dvb_frontend_detach(av7110->fe);
drivers/staging/media/av7110/av7110.c
2253
av7110->fe = NULL;
drivers/staging/media/av7110/av7110.c
229
struct av7110 *av7110 = data;
drivers/staging/media/av7110/av7110.c
2324
struct av7110 *av7110;
drivers/staging/media/av7110/av7110.c
233
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110.c
236
timeout = wait_event_interruptible_timeout(av7110->arm_wait,
drivers/staging/media/av7110/av7110.c
2420
av7110 = kzalloc_obj(*av7110);
drivers/staging/media/av7110/av7110.c
2421
if (!av7110) {
drivers/staging/media/av7110/av7110.c
2426
av7110->card_name = (char *)pci_ext->ext_priv;
drivers/staging/media/av7110/av7110.c
2427
av7110->dev = dev;
drivers/staging/media/av7110/av7110.c
2428
dev->ext_priv = av7110;
drivers/staging/media/av7110/av7110.c
2430
ret = get_firmware(av7110);
drivers/staging/media/av7110/av7110.c
2434
ret = dvb_register_adapter(&av7110->dvb_adapter, av7110->card_name,
drivers/staging/media/av7110/av7110.c
244
if (!av7110->arm_ready)
drivers/staging/media/av7110/av7110.c
2444
strscpy(av7110->i2c_adap.name, pci_ext->ext_priv,
drivers/staging/media/av7110/av7110.c
2445
sizeof(av7110->i2c_adap.name));
drivers/staging/media/av7110/av7110.c
2447
saa7146_i2c_adapter_prepare(dev, &av7110->i2c_adap, SAA7146_I2C_BUS_BIT_RATE_120); /* 275 kHz */
drivers/staging/media/av7110/av7110.c
2449
ret = i2c_add_adapter(&av7110->i2c_adap);
drivers/staging/media/av7110/av7110.c
2453
ttpci_eeprom_parse_mac(&av7110->i2c_adap,
drivers/staging/media/av7110/av7110.c
2454
av7110->dvb_adapter.proposed_mac);
drivers/staging/media/av7110/av7110.c
2459
av7110->full_ts = true;
drivers/staging/media/av7110/av7110.c
2462
if (i2c_readreg(av7110, 0xaa, 0) == 0x4f && i2c_readreg(av7110, 0xaa, 1) == 0x45) {
drivers/staging/media/av7110/av7110.c
2463
u8 flags = i2c_readreg(av7110, 0xaa, 2);
drivers/staging/media/av7110/av7110.c
2466
av7110->full_ts = true;
drivers/staging/media/av7110/av7110.c
2469
if (av7110->full_ts) {
drivers/staging/media/av7110/av7110.c
247
if (mutex_lock_interruptible(&av7110->dcomlock))
drivers/staging/media/av7110/av7110.c
2471
spin_lock_init(&av7110->feedlock1);
drivers/staging/media/av7110/av7110.c
2472
av7110->grabbing = saa7146_vmalloc_build_pgtable(pdev, length,
drivers/staging/media/av7110/av7110.c
2473
&av7110->pt);
drivers/staging/media/av7110/av7110.c
2474
if (!av7110->grabbing)
drivers/staging/media/av7110/av7110.c
249
newloops = rdebi(av7110, DEBINOSWAP, STATUS_LOOPS, 0, 2);
drivers/staging/media/av7110/av7110.c
2492
saa7146_write(dev, BASE_PAGE3, av7110->pt.dma | ME1 | 0x90);
drivers/staging/media/av7110/av7110.c
2496
tasklet_setup(&av7110->vpe_tasklet, vpeirq);
drivers/staging/media/av7110/av7110.c
2499
spin_lock_init(&av7110->feedlock1);
drivers/staging/media/av7110/av7110.c
250
mutex_unlock(&av7110->dcomlock);
drivers/staging/media/av7110/av7110.c
2500
av7110->grabbing = saa7146_vmalloc_build_pgtable(pdev, length,
drivers/staging/media/av7110/av7110.c
2501
&av7110->pt);
drivers/staging/media/av7110/av7110.c
2502
if (!av7110->grabbing)
drivers/staging/media/av7110/av7110.c
2515
saa7146_write(dev, BASE_PAGE3, av7110->pt.dma | ME1 | 0x90);
drivers/staging/media/av7110/av7110.c
252
if (newloops == av7110->arm_loops || av7110->arm_errors > 3) {
drivers/staging/media/av7110/av7110.c
253
pr_err("ARM crashed @ card %d\n", av7110->dvb_adapter.num);
drivers/staging/media/av7110/av7110.c
255
recover_arm(av7110);
drivers/staging/media/av7110/av7110.c
257
if (mutex_lock_interruptible(&av7110->dcomlock))
drivers/staging/media/av7110/av7110.c
2577
tasklet_setup(&av7110->vpe_tasklet, vpeirq);
drivers/staging/media/av7110/av7110.c
259
newloops = rdebi(av7110, DEBINOSWAP, STATUS_LOOPS, 0, 2) - 1;
drivers/staging/media/av7110/av7110.c
2592
tasklet_setup(&av7110->debi_tasklet, debiirq);
drivers/staging/media/av7110/av7110.c
2593
tasklet_setup(&av7110->gpio_tasklet, gpioirq);
drivers/staging/media/av7110/av7110.c
2595
mutex_init(&av7110->pid_mutex);
drivers/staging/media/av7110/av7110.c
2598
spin_lock_init(&av7110->debilock);
drivers/staging/media/av7110/av7110.c
2599
mutex_init(&av7110->dcomlock);
drivers/staging/media/av7110/av7110.c
260
mutex_unlock(&av7110->dcomlock);
drivers/staging/media/av7110/av7110.c
2600
av7110->debitype = -1;
drivers/staging/media/av7110/av7110.c
2603
av7110->osdwin = 1;
drivers/staging/media/av7110/av7110.c
2604
mutex_init(&av7110->osd_mutex);
drivers/staging/media/av7110/av7110.c
2607
av7110->vidmode = tv_standard == 1 ? AV7110_VIDEO_MODE_NTSC
drivers/staging/media/av7110/av7110.c
2611
init_waitqueue_head(&av7110->arm_wait);
drivers/staging/media/av7110/av7110.c
2612
av7110->arm_thread = NULL;
drivers/staging/media/av7110/av7110.c
2615
av7110->debi_virt = dma_alloc_coherent(&pdev->dev, 8192,
drivers/staging/media/av7110/av7110.c
2616
&av7110->debi_bus, GFP_KERNEL);
drivers/staging/media/av7110/av7110.c
2617
if (!av7110->debi_virt)
drivers/staging/media/av7110/av7110.c
262
av7110->arm_loops = newloops;
drivers/staging/media/av7110/av7110.c
2620
av7110->iobuf = vmalloc(AVOUTLEN + AOUTLEN + BMPLEN + 4 * IPACKS);
drivers/staging/media/av7110/av7110.c
2621
if (!av7110->iobuf)
drivers/staging/media/av7110/av7110.c
2624
ret = av7110_av_init(av7110);
drivers/staging/media/av7110/av7110.c
2629
av7110->bmpbuf = av7110->iobuf + AVOUTLEN + AOUTLEN;
drivers/staging/media/av7110/av7110.c
263
av7110->arm_errors = 0;
drivers/staging/media/av7110/av7110.c
2630
init_waitqueue_head(&av7110->bmpq);
drivers/staging/media/av7110/av7110.c
2632
ret = av7110_ca_init(av7110);
drivers/staging/media/av7110/av7110.c
2637
ret = av7110_bootarm(av7110);
drivers/staging/media/av7110/av7110.c
2641
ret = av7110_firmversion(av7110);
drivers/staging/media/av7110/av7110.c
2645
if (FW_VERSION(av7110->arm_app) < 0x2501)
drivers/staging/media/av7110/av7110.c
2647
FW_VERSION(av7110->arm_app));
drivers/staging/media/av7110/av7110.c
2649
thread = kthread_run(arm_thread, (void *)av7110, "arm_mon");
drivers/staging/media/av7110/av7110.c
2654
av7110->arm_thread = thread;
drivers/staging/media/av7110/av7110.c
2657
av7110->mixer.volume_left = volume;
drivers/staging/media/av7110/av7110.c
2658
av7110->mixer.volume_right = volume;
drivers/staging/media/av7110/av7110.c
2660
ret = av7110_register(av7110);
drivers/staging/media/av7110/av7110.c
2664
init_av7110_av(av7110);
drivers/staging/media/av7110/av7110.c
2670
ret = av7110_init_v4l(av7110);
drivers/staging/media/av7110/av7110.c
2674
av7110->dvb_adapter.priv = av7110;
drivers/staging/media/av7110/av7110.c
2675
ret = frontend_init(av7110);
drivers/staging/media/av7110/av7110.c
2679
mutex_init(&av7110->ioctl_mutex);
drivers/staging/media/av7110/av7110.c
2682
av7110_ir_init(av7110);
drivers/staging/media/av7110/av7110.c
2690
av7110_exit_v4l(av7110);
drivers/staging/media/av7110/av7110.c
2692
dvb_unregister(av7110);
drivers/staging/media/av7110/av7110.c
2694
av7110_arm_sync(av7110);
drivers/staging/media/av7110/av7110.c
2698
av7110_ca_exit(av7110);
drivers/staging/media/av7110/av7110.c
2700
av7110_av_exit(av7110);
drivers/staging/media/av7110/av7110.c
2702
vfree(av7110->iobuf);
drivers/staging/media/av7110/av7110.c
2704
dma_free_coherent(&pdev->dev, 8192, av7110->debi_virt,
drivers/staging/media/av7110/av7110.c
2705
av7110->debi_bus);
drivers/staging/media/av7110/av7110.c
2707
if (av7110->grabbing)
drivers/staging/media/av7110/av7110.c
2708
saa7146_vfree_destroy_pgtable(pdev, av7110->grabbing, &av7110->pt);
drivers/staging/media/av7110/av7110.c
2710
i2c_del_adapter(&av7110->i2c_adap);
drivers/staging/media/av7110/av7110.c
2712
dvb_unregister_adapter(&av7110->dvb_adapter);
drivers/staging/media/av7110/av7110.c
2714
put_firmware(av7110);
drivers/staging/media/av7110/av7110.c
2716
kfree(av7110);
drivers/staging/media/av7110/av7110.c
2722
struct av7110 *av7110 = saa->ext_priv;
drivers/staging/media/av7110/av7110.c
2724
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110.c
2727
av7110_ir_exit(av7110);
drivers/staging/media/av7110/av7110.c
2729
if (budgetpatch || av7110->full_ts) {
drivers/staging/media/av7110/av7110.c
2740
tasklet_kill(&av7110->vpe_tasklet);
drivers/staging/media/av7110/av7110.c
2741
saa7146_vfree_destroy_pgtable(saa->pci, av7110->grabbing, &av7110->pt);
drivers/staging/media/av7110/av7110.c
2743
av7110_exit_v4l(av7110);
drivers/staging/media/av7110/av7110.c
2745
av7110_arm_sync(av7110);
drivers/staging/media/av7110/av7110.c
2747
tasklet_kill(&av7110->debi_tasklet);
drivers/staging/media/av7110/av7110.c
2748
tasklet_kill(&av7110->gpio_tasklet);
drivers/staging/media/av7110/av7110.c
2750
dvb_unregister(av7110);
drivers/staging/media/av7110/av7110.c
2755
av7110_ca_exit(av7110);
drivers/staging/media/av7110/av7110.c
2756
av7110_av_exit(av7110);
drivers/staging/media/av7110/av7110.c
2758
vfree(av7110->iobuf);
drivers/staging/media/av7110/av7110.c
2759
dma_free_coherent(&saa->pci->dev, 8192, av7110->debi_virt,
drivers/staging/media/av7110/av7110.c
276
struct av7110 *av7110)
drivers/staging/media/av7110/av7110.c
2760
av7110->debi_bus);
drivers/staging/media/av7110/av7110.c
2762
i2c_del_adapter(&av7110->i2c_adap);
drivers/staging/media/av7110/av7110.c
2764
dvb_unregister_adapter(&av7110->dvb_adapter);
drivers/staging/media/av7110/av7110.c
2768
put_firmware(av7110);
drivers/staging/media/av7110/av7110.c
2770
kfree(av7110);
drivers/staging/media/av7110/av7110.c
2779
struct av7110 *av7110 = dev->ext_priv;
drivers/staging/media/av7110/av7110.c
2802
SAA7146_IER_DISABLE(av7110->dev, MASK_19);
drivers/staging/media/av7110/av7110.c
2803
SAA7146_ISR_CLEAR(av7110->dev, MASK_19);
drivers/staging/media/av7110/av7110.c
2804
tasklet_schedule(&av7110->debi_tasklet);
drivers/staging/media/av7110/av7110.c
2809
tasklet_schedule(&av7110->gpio_tasklet);
drivers/staging/media/av7110/av7110.c
2813
tasklet_schedule(&av7110->vpe_tasklet);
drivers/staging/media/av7110/av7110.c
313
&av7110->p2t_filter[dvbdmxfilter->index]);
drivers/staging/media/av7110/av7110.c
322
static inline void start_debi_dma(struct av7110 *av7110, int dir,
drivers/staging/media/av7110/av7110.c
326
if (saa7146_wait_for_debi_done(av7110->dev, 0)) {
drivers/staging/media/av7110/av7110.c
331
SAA7146_ISR_CLEAR(av7110->dev, MASK_19); /* for good measure */
drivers/staging/media/av7110/av7110.c
332
SAA7146_IER_ENABLE(av7110->dev, MASK_19);
drivers/staging/media/av7110/av7110.c
336
iwdebi(av7110, DEBISWAB, addr, 0, (len + 3) & ~3);
drivers/staging/media/av7110/av7110.c
338
irdebi(av7110, DEBISWAB, addr, 0, len);
drivers/staging/media/av7110/av7110.c
343
struct av7110 *av7110 = from_tasklet(av7110, t, debi_tasklet);
drivers/staging/media/av7110/av7110.c
344
int type = av7110->debitype;
drivers/staging/media/av7110/av7110.c
352
saa7146_read(av7110->dev, PSR), saa7146_read(av7110->dev, SSR));
drivers/staging/media/av7110/av7110.c
355
av7110->debitype = -1;
drivers/staging/media/av7110/av7110.c
359
dvb_dmx_swfilter_packets(&av7110->demux,
drivers/staging/media/av7110/av7110.c
360
(const u8 *)av7110->debi_virt,
drivers/staging/media/av7110/av7110.c
361
av7110->debilen / 188);
drivers/staging/media/av7110/av7110.c
366
if (av7110->demux.recording)
drivers/staging/media/av7110/av7110.c
367
av7110_record_cb(&av7110->p2t[handle],
drivers/staging/media/av7110/av7110.c
368
(u8 *)av7110->debi_virt,
drivers/staging/media/av7110/av7110.c
369
av7110->debilen);
drivers/staging/media/av7110/av7110.c
376
if (av7110->handle2filter[handle])
drivers/staging/media/av7110/av7110.c
377
DvbDmxFilterCallback((u8 *)av7110->debi_virt,
drivers/staging/media/av7110/av7110.c
378
av7110->debilen, NULL, 0,
drivers/staging/media/av7110/av7110.c
379
av7110->handle2filter[handle],
drivers/staging/media/av7110/av7110.c
380
av7110);
drivers/staging/media/av7110/av7110.c
386
u8 *data = av7110->debi_virt;
drivers/staging/media/av7110/av7110.c
396
av7110->ci_slot[data_0].flags = flags;
drivers/staging/media/av7110/av7110.c
398
ci_get_data(&av7110->ci_rbuffer,
drivers/staging/media/av7110/av7110.c
399
av7110->debi_virt,
drivers/staging/media/av7110/av7110.c
400
av7110->debilen);
drivers/staging/media/av7110/av7110.c
407
CI_handle(av7110, (u8 *)av7110->debi_virt, av7110->debilen);
drivers/staging/media/av7110/av7110.c
412
((s8 *)av7110->debi_virt)[Reserved_SIZE - 1] = 0;
drivers/staging/media/av7110/av7110.c
413
pr_info("%s\n", (s8 *)av7110->debi_virt);
drivers/staging/media/av7110/av7110.c
433
spin_lock(&av7110->debilock);
drivers/staging/media/av7110/av7110.c
435
iwdebi(av7110, DEBINOSWAP, xfer, 0, 2);
drivers/staging/media/av7110/av7110.c
436
ARM_ClearMailBox(av7110);
drivers/staging/media/av7110/av7110.c
437
spin_unlock(&av7110->debilock);
drivers/staging/media/av7110/av7110.c
443
struct av7110 *av7110 = from_tasklet(av7110, t, gpio_tasklet);
drivers/staging/media/av7110/av7110.c
447
if (av7110->debitype != -1)
drivers/staging/media/av7110/av7110.c
450
saa7146_read(av7110->dev, PSR), saa7146_read(av7110->dev, SSR));
drivers/staging/media/av7110/av7110.c
452
if (saa7146_wait_for_debi_done(av7110->dev, 0)) {
drivers/staging/media/av7110/av7110.c
457
spin_lock(&av7110->debilock);
drivers/staging/media/av7110/av7110.c
458
ARM_ClearIrq(av7110);
drivers/staging/media/av7110/av7110.c
461
av7110->debitype = irdebi(av7110, DEBINOSWAP, IRQ_STATE, 0, 2);
drivers/staging/media/av7110/av7110.c
462
av7110->debilen = irdebi(av7110, DEBINOSWAP, IRQ_STATE_EXT, 0, 2);
drivers/staging/media/av7110/av7110.c
463
rxbuf = irdebi(av7110, DEBINOSWAP, RX_BUFF, 0, 2);
drivers/staging/media/av7110/av7110.c
464
txbuf = irdebi(av7110, DEBINOSWAP, TX_BUFF, 0, 2);
drivers/staging/media/av7110/av7110.c
465
len = (av7110->debilen + 3) & ~3;
drivers/staging/media/av7110/av7110.c
467
dprintk(8, "GPIO0 irq 0x%04x %d\n", av7110->debitype, av7110->debilen);
drivers/staging/media/av7110/av7110.c
469
switch (av7110->debitype & 0xff) {
drivers/staging/media/av7110/av7110.c
479
av7110->video_size.w = irdebi(av7110, DEBINOSWAP, STATUS_MPEG_WIDTH, 0, 2);
drivers/staging/media/av7110/av7110.c
480
h_ar = irdebi(av7110, DEBINOSWAP, STATUS_MPEG_HEIGHT_AR, 0, 2);
drivers/staging/media/av7110/av7110.c
482
iwdebi(av7110, DEBINOSWAP, IRQ_STATE_EXT, 0, 2);
drivers/staging/media/av7110/av7110.c
483
iwdebi(av7110, DEBINOSWAP, RX_BUFF, 0, 2);
drivers/staging/media/av7110/av7110.c
485
av7110->video_size.h = h_ar & 0xfff;
drivers/staging/media/av7110/av7110.c
488
event.u.size.w = av7110->video_size.w;
drivers/staging/media/av7110/av7110.c
489
event.u.size.h = av7110->video_size.h;
drivers/staging/media/av7110/av7110.c
492
av7110->video_size.aspect_ratio = VIDEO_FORMAT_16_9;
drivers/staging/media/av7110/av7110.c
494
av7110->videostate.video_format = VIDEO_FORMAT_16_9;
drivers/staging/media/av7110/av7110.c
497
av7110->video_size.aspect_ratio = VIDEO_FORMAT_221_1;
drivers/staging/media/av7110/av7110.c
499
av7110->videostate.video_format = VIDEO_FORMAT_221_1;
drivers/staging/media/av7110/av7110.c
502
av7110->video_size.aspect_ratio = VIDEO_FORMAT_4_3;
drivers/staging/media/av7110/av7110.c
504
av7110->videostate.video_format = VIDEO_FORMAT_4_3;
drivers/staging/media/av7110/av7110.c
508
av7110->video_size.w, av7110->video_size.h,
drivers/staging/media/av7110/av7110.c
509
av7110->video_size.aspect_ratio);
drivers/staging/media/av7110/av7110.c
511
dvb_video_add_event(av7110, &event);
drivers/staging/media/av7110/av7110.c
518
struct dvb_ringbuffer *cibuf = &av7110->ci_wbuffer;
drivers/staging/media/av7110/av7110.c
522
iwdebi(av7110, DEBINOSWAP, IRQ_STATE_EXT, 0, 2);
drivers/staging/media/av7110/av7110.c
523
iwdebi(av7110, DEBINOSWAP, TX_LEN, 0, 2);
drivers/staging/media/av7110/av7110.c
524
iwdebi(av7110, DEBINOSWAP, TX_BUFF, 0, 2);
drivers/staging/media/av7110/av7110.c
530
iwdebi(av7110, DEBINOSWAP, IRQ_STATE_EXT, 0, 2);
drivers/staging/media/av7110/av7110.c
531
iwdebi(av7110, DEBINOSWAP, TX_LEN, 0, 2);
drivers/staging/media/av7110/av7110.c
532
iwdebi(av7110, DEBINOSWAP, TX_BUFF, 0, 2);
drivers/staging/media/av7110/av7110.c
537
dvb_ringbuffer_read(cibuf, av7110->debi_virt, len);
drivers/staging/media/av7110/av7110.c
539
iwdebi(av7110, DEBINOSWAP, TX_LEN, len, 2);
drivers/staging/media/av7110/av7110.c
540
iwdebi(av7110, DEBINOSWAP, IRQ_STATE_EXT, len, 2);
drivers/staging/media/av7110/av7110.c
542
start_debi_dma(av7110, DEBI_WRITE, DPRAM_BASE + txbuf, len);
drivers/staging/media/av7110/av7110.c
543
spin_unlock(&av7110->debilock);
drivers/staging/media/av7110/av7110.c
549
if (!av7110->playing) {
drivers/staging/media/av7110/av7110.c
550
iwdebi(av7110, DEBINOSWAP, IRQ_STATE_EXT, 0, 2);
drivers/staging/media/av7110/av7110.c
551
iwdebi(av7110, DEBINOSWAP, TX_LEN, 0, 2);
drivers/staging/media/av7110/av7110.c
552
iwdebi(av7110, DEBINOSWAP, TX_BUFF, 0, 2);
drivers/staging/media/av7110/av7110.c
556
if (av7110->debitype & 0x100) {
drivers/staging/media/av7110/av7110.c
557
spin_lock(&av7110->aout.lock);
drivers/staging/media/av7110/av7110.c
558
len = av7110_pes_play(av7110->debi_virt, &av7110->aout, 2048);
drivers/staging/media/av7110/av7110.c
559
spin_unlock(&av7110->aout.lock);
drivers/staging/media/av7110/av7110.c
561
if (len <= 0 && (av7110->debitype & 0x200) &&
drivers/staging/media/av7110/av7110.c
562
av7110->videostate.play_state != VIDEO_FREEZED) {
drivers/staging/media/av7110/av7110.c
563
spin_lock(&av7110->avout.lock);
drivers/staging/media/av7110/av7110.c
564
len = av7110_pes_play(av7110->debi_virt, &av7110->avout, 2048);
drivers/staging/media/av7110/av7110.c
565
spin_unlock(&av7110->avout.lock);
drivers/staging/media/av7110/av7110.c
568
iwdebi(av7110, DEBINOSWAP, IRQ_STATE_EXT, 0, 2);
drivers/staging/media/av7110/av7110.c
569
iwdebi(av7110, DEBINOSWAP, TX_LEN, 0, 2);
drivers/staging/media/av7110/av7110.c
570
iwdebi(av7110, DEBINOSWAP, TX_BUFF, 0, 2);
drivers/staging/media/av7110/av7110.c
574
iwdebi(av7110, DEBINOSWAP, TX_LEN, len, 2);
drivers/staging/media/av7110/av7110.c
575
iwdebi(av7110, DEBINOSWAP, IRQ_STATE_EXT, len, 2);
drivers/staging/media/av7110/av7110.c
577
start_debi_dma(av7110, DEBI_WRITE, DPRAM_BASE + txbuf, len);
drivers/staging/media/av7110/av7110.c
578
spin_unlock(&av7110->debilock);
drivers/staging/media/av7110/av7110.c
582
len = av7110->debilen;
drivers/staging/media/av7110/av7110.c
585
av7110->bmp_state = BMP_LOADED;
drivers/staging/media/av7110/av7110.c
586
iwdebi(av7110, DEBINOSWAP, IRQ_STATE_EXT, 0, 2);
drivers/staging/media/av7110/av7110.c
587
iwdebi(av7110, DEBINOSWAP, TX_LEN, 0, 2);
drivers/staging/media/av7110/av7110.c
588
iwdebi(av7110, DEBINOSWAP, TX_BUFF, 0, 2);
drivers/staging/media/av7110/av7110.c
589
wake_up(&av7110->bmpq);
drivers/staging/media/av7110/av7110.c
593
if (len > av7110->bmplen)
drivers/staging/media/av7110/av7110.c
594
len = av7110->bmplen;
drivers/staging/media/av7110/av7110.c
597
iwdebi(av7110, DEBINOSWAP, TX_LEN, len, 2);
drivers/staging/media/av7110/av7110.c
598
iwdebi(av7110, DEBINOSWAP, IRQ_STATE_EXT, len, 2);
drivers/staging/media/av7110/av7110.c
599
memcpy(av7110->debi_virt, av7110->bmpbuf + av7110->bmpp, len);
drivers/staging/media/av7110/av7110.c
600
av7110->bmpp += len;
drivers/staging/media/av7110/av7110.c
601
av7110->bmplen -= len;
drivers/staging/media/av7110/av7110.c
603
start_debi_dma(av7110, DEBI_WRITE, DPRAM_BASE + txbuf, len);
drivers/staging/media/av7110/av7110.c
604
spin_unlock(&av7110->debilock);
drivers/staging/media/av7110/av7110.c
613
iwdebi(av7110, DEBINOSWAP, RX_BUFF, 0, 2);
drivers/staging/media/av7110/av7110.c
621
start_debi_dma(av7110, DEBI_READ, DPRAM_BASE + rxbuf, len);
drivers/staging/media/av7110/av7110.c
622
spin_unlock(&av7110->debilock);
drivers/staging/media/av7110/av7110.c
627
iwdebi(av7110, DEBINOSWAP, RX_BUFF, 0, 2);
drivers/staging/media/av7110/av7110.c
630
start_debi_dma(av7110, DEBI_READ, Reserved, len);
drivers/staging/media/av7110/av7110.c
631
spin_unlock(&av7110->debilock);
drivers/staging/media/av7110/av7110.c
636
av7110_ir_handler(av7110,
drivers/staging/media/av7110/av7110.c
637
swahw32(irdebi(av7110, DEBINOSWAP, Reserved,
drivers/staging/media/av7110/av7110.c
640
iwdebi(av7110, DEBINOSWAP, RX_BUFF, 0, 2);
drivers/staging/media/av7110/av7110.c
645
av7110->debitype, av7110->debilen);
drivers/staging/media/av7110/av7110.c
648
av7110->debitype = -1;
drivers/staging/media/av7110/av7110.c
649
ARM_ClearMailBox(av7110);
drivers/staging/media/av7110/av7110.c
650
spin_unlock(&av7110->debilock);
drivers/staging/media/av7110/av7110.c
658
struct av7110 *av7110 = dvbdev->priv;
drivers/staging/media/av7110/av7110.c
660
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110.c
663
return av7110_osd_cmd(av7110, (osd_cmd_t *)parg);
drivers/staging/media/av7110/av7110.c
665
return av7110_osd_capability(av7110, (osd_cap_t *)parg);
drivers/staging/media/av7110/av7110.c
687
static inline int SetPIDs(struct av7110 *av7110, u16 vpid, u16 apid, u16 ttpid,
drivers/staging/media/av7110/av7110.c
692
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110.c
701
av7110->pids[DMX_PES_VIDEO] = 0;
drivers/staging/media/av7110/av7110.c
702
av7110->pids[DMX_PES_AUDIO] = 0;
drivers/staging/media/av7110/av7110.c
703
av7110->pids[DMX_PES_TELETEXT] = 0;
drivers/staging/media/av7110/av7110.c
704
av7110->pids[DMX_PES_PCR] = 0;
drivers/staging/media/av7110/av7110.c
707
if (av7110->audiostate.bypass_mode)
drivers/staging/media/av7110/av7110.c
710
return av7110_fw_cmd(av7110, COMTYPE_PIDFILTER,
drivers/staging/media/av7110/av7110.c
715
int ChangePIDs(struct av7110 *av7110, u16 vpid, u16 apid, u16 ttpid,
drivers/staging/media/av7110/av7110.c
720
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110.c
722
if (mutex_lock_interruptible(&av7110->pid_mutex))
drivers/staging/media/av7110/av7110.c
726
av7110->pids[DMX_PES_VIDEO] = vpid;
drivers/staging/media/av7110/av7110.c
728
av7110->pids[DMX_PES_AUDIO] = apid;
drivers/staging/media/av7110/av7110.c
730
av7110->pids[DMX_PES_TELETEXT] = ttpid;
drivers/staging/media/av7110/av7110.c
732
av7110->pids[DMX_PES_PCR] = pcrpid;
drivers/staging/media/av7110/av7110.c
734
av7110->pids[DMX_PES_SUBTITLE] = 0;
drivers/staging/media/av7110/av7110.c
736
if (av7110->fe_synced) {
drivers/staging/media/av7110/av7110.c
737
pcrpid = av7110->pids[DMX_PES_PCR];
drivers/staging/media/av7110/av7110.c
738
ret = SetPIDs(av7110, vpid, apid, ttpid, subpid, pcrpid);
drivers/staging/media/av7110/av7110.c
741
mutex_unlock(&av7110->pid_mutex);
drivers/staging/media/av7110/av7110.c
752
struct av7110 *av7110 = dvbdmxfeed->demux->priv;
drivers/staging/media/av7110/av7110.c
758
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110.c
760
if (av7110->full_ts)
drivers/staging/media/av7110/av7110.c
775
av7110_p2t_init(&av7110->p2t_filter[dvbdmxfilter->index], dvbdmxfeed);
drivers/staging/media/av7110/av7110.c
783
ret = av7110_fw_request(av7110, buf, 20, &handle, 1);
drivers/staging/media/av7110/av7110.c
793
av7110->handle2filter[handle] = dvbdmxfilter;
drivers/staging/media/av7110/av7110.c
801
struct av7110 *av7110 = dvbdmxfilter->feed->demux->priv;
drivers/staging/media/av7110/av7110.c
807
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110.c
809
if (av7110->full_ts)
drivers/staging/media/av7110/av7110.c
819
av7110->handle2filter[handle] = NULL;
drivers/staging/media/av7110/av7110.c
824
ret = av7110_fw_request(av7110, buf, 3, answ, 2);
drivers/staging/media/av7110/av7110.c
837
struct av7110 *av7110 = dvbdmx->priv;
drivers/staging/media/av7110/av7110.c
842
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110.c
853
ret = ChangePIDs(av7110, npids[1], npids[0], npids[2], npids[3], npids[4]);
drivers/staging/media/av7110/av7110.c
859
ret = ChangePIDs(av7110, npids[1], npids[0], npids[2], npids[3], npids[4]);
drivers/staging/media/av7110/av7110.c
865
if (av7110->fe_synced) {
drivers/staging/media/av7110/av7110.c
866
ret = av7110_fw_cmd(av7110, COMTYPE_PIDFILTER,
drivers/staging/media/av7110/av7110.c
872
if ((dvbdmxfeed->ts_type & TS_PACKET) && !av7110->full_ts) {
drivers/staging/media/av7110/av7110.c
874
ret = av7110_av_start_record(av7110, RP_AUDIO, dvbdmxfeed);
drivers/staging/media/av7110/av7110.c
876
ret = av7110_av_start_record(av7110, RP_VIDEO, dvbdmxfeed);
drivers/staging/media/av7110/av7110.c
884
struct av7110 *av7110 = dvbdmx->priv;
drivers/staging/media/av7110/av7110.c
890
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110.c
893
ret = av7110_av_stop(av7110, dvbdmxfeed->pes_type ? RP_VIDEO : RP_AUDIO);
drivers/staging/media/av7110/av7110.c
896
if (!av7110->rec_mode)
drivers/staging/media/av7110/av7110.c
898
if (!av7110->playing)
drivers/staging/media/av7110/av7110.c
922
ret = ChangePIDs(av7110, npids[1], npids[0], npids[2], npids[3], npids[4]);
drivers/staging/media/av7110/av7110.c
929
struct av7110 *av7110 = demux->priv;
drivers/staging/media/av7110/av7110.c
932
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110.c
937
if (!av7110->full_ts && feed->pid > 0x1fff)
drivers/staging/media/av7110/av7110.c
949
dvb_ringbuffer_flush_spinlock_wakeup(&av7110->avout);
drivers/staging/media/av7110/av7110.c
950
dvb_ringbuffer_flush_spinlock_wakeup(&av7110->aout);
drivers/staging/media/av7110/av7110.c
951
ret = av7110_av_start_play(av7110, RP_AV);
drivers/staging/media/av7110/av7110.c
966
if (av7110->full_ts) {
drivers/staging/media/av7110/av7110.c
99
static void restart_feeds(struct av7110 *av7110);
drivers/staging/media/av7110/av7110.c
996
struct av7110 *av7110 = demux->priv;
drivers/staging/media/av7110/av7110.c
999
dprintk(4, "%p\n", 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
poll_wait(file, &av7110->aout.queue, wait);
drivers/staging/media/av7110/av7110_av.c
1009
if (av7110->playing) {
drivers/staging/media/av7110/av7110_av.c
1010
if (dvb_ringbuffer_free(&av7110->aout) >= 20 * 1024)
drivers/staging/media/av7110/av7110_av.c
1024
struct av7110 *av7110 = dvbdev->priv;
drivers/staging/media/av7110/av7110_av.c
1027
dprintk(2, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_av.c
1029
if (av7110->audiostate.stream_source != AUDIO_SOURCE_MEMORY) {
drivers/staging/media/av7110/av7110_av.c
1037
return ts_play(av7110, buf, count, file->f_flags & O_NONBLOCK, 0);
drivers/staging/media/av7110/av7110_av.c
1039
return dvb_aplay(av7110, buf, count, file->f_flags & O_NONBLOCK, 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
1046
static int play_iframe(struct av7110 *av7110, char __user *buf, unsigned int len, int nonblock)
drivers/staging/media/av7110/av7110_av.c
1052
dprintk(2, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_av.c
1057
if (!(av7110->playing & RP_VIDEO)) {
drivers/staging/media/av7110/av7110_av.c
1058
if (av7110_av_start_play(av7110, RP_VIDEO) < 0)
drivers/staging/media/av7110/av7110_av.c
1099
dvb_play_kernel(av7110, iframe_header, sizeof(iframe_header), 0, 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
1102
dvb_play(av7110, buf, len, 0, 1);
drivers/staging/media/av7110/av7110_av.c
1104
av7110_ipack_flush(&av7110->ipack[1]);
drivers/staging/media/av7110/av7110_av.c
1107
return vidcom(av7110, AV_VIDEO_CMD_FREEZE, 1);
drivers/staging/media/av7110/av7110_av.c
112
if (av7110->playing || (av7110->rec_mode & av))
drivers/staging/media/av7110/av7110_av.c
1133
static int dvb_compat_video_get_event(struct av7110 *av7110,
drivers/staging/media/av7110/av7110_av.c
1139
ret = dvb_video_get_event(av7110, &ev, flags);
drivers/staging/media/av7110/av7110_av.c
114
av7110_fw_cmd(av7110, COMTYPE_REC_PLAY, AV7110_REC_PLAY_STOP, 0);
drivers/staging/media/av7110/av7110_av.c
1155
struct av7110 *av7110 = dvbdev->priv;
drivers/staging/media/av7110/av7110_av.c
1159
dprintk(1, "av7110:%p, cmd=%04x\n", av7110, cmd);
drivers/staging/media/av7110/av7110_av.c
116
av7110->rec_mode |= av;
drivers/staging/media/av7110/av7110_av.c
1168
if (mutex_lock_interruptible(&av7110->ioctl_mutex))
drivers/staging/media/av7110/av7110_av.c
1173
av7110->videostate.play_state = VIDEO_STOPPED;
drivers/staging/media/av7110/av7110_av.c
1174
if (av7110->videostate.stream_source == VIDEO_SOURCE_MEMORY)
drivers/staging/media/av7110/av7110_av.c
1175
ret = av7110_av_stop(av7110, RP_VIDEO);
drivers/staging/media/av7110/av7110_av.c
1177
ret = vidcom(av7110, AV_VIDEO_CMD_STOP,
drivers/staging/media/av7110/av7110_av.c
1178
av7110->videostate.video_blank ? 0 : 1);
drivers/staging/media/av7110/av7110_av.c
118
switch (av7110->rec_mode) {
drivers/staging/media/av7110/av7110_av.c
1180
av7110->trickmode = TRICK_NONE;
drivers/staging/media/av7110/av7110_av.c
1184
av7110->trickmode = TRICK_NONE;
drivers/staging/media/av7110/av7110_av.c
1185
if (av7110->videostate.play_state == VIDEO_FREEZED) {
drivers/staging/media/av7110/av7110_av.c
1186
av7110->videostate.play_state = VIDEO_PLAYING;
drivers/staging/media/av7110/av7110_av.c
1187
ret = vidcom(av7110, AV_VIDEO_CMD_PLAY, 0);
drivers/staging/media/av7110/av7110_av.c
1191
if (av7110->videostate.stream_source == VIDEO_SOURCE_MEMORY) {
drivers/staging/media/av7110/av7110_av.c
1192
if (av7110->playing == RP_AV) {
drivers/staging/media/av7110/av7110_av.c
1193
ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY,
drivers/staging/media/av7110/av7110_av.c
1197
av7110->playing &= ~RP_VIDEO;
drivers/staging/media/av7110/av7110_av.c
1199
ret = av7110_av_start_play(av7110, RP_VIDEO);
drivers/staging/media/av7110/av7110_av.c
120
dvb_filter_pes2ts_init(&av7110->p2t[0],
drivers/staging/media/av7110/av7110_av.c
1202
ret = vidcom(av7110, AV_VIDEO_CMD_PLAY, 0);
drivers/staging/media/av7110/av7110_av.c
1204
av7110->videostate.play_state = VIDEO_PLAYING;
drivers/staging/media/av7110/av7110_av.c
1208
av7110->videostate.play_state = VIDEO_FREEZED;
drivers/staging/media/av7110/av7110_av.c
1209
if (av7110->playing & RP_VIDEO)
drivers/staging/media/av7110/av7110_av.c
1210
ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY,
drivers/staging/media/av7110/av7110_av.c
1213
ret = vidcom(av7110, AV_VIDEO_CMD_FREEZE, 1);
drivers/staging/media/av7110/av7110_av.c
1215
av7110->trickmode = TRICK_FREEZE;
drivers/staging/media/av7110/av7110_av.c
1219
if (av7110->playing & RP_VIDEO)
drivers/staging/media/av7110/av7110_av.c
1220
ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY,
drivers/staging/media/av7110/av7110_av.c
1223
ret = vidcom(av7110, AV_VIDEO_CMD_PLAY, 0);
drivers/staging/media/av7110/av7110_av.c
1225
av7110->videostate.play_state = VIDEO_PLAYING;
drivers/staging/media/av7110/av7110_av.c
1226
av7110->trickmode = TRICK_NONE;
drivers/staging/media/av7110/av7110_av.c
1231
av7110->videostate.stream_source = (video_stream_source_t)arg;
drivers/staging/media/av7110/av7110_av.c
1235
av7110->videostate.video_blank = (int)arg;
drivers/staging/media/av7110/av7110_av.c
1239
memcpy(parg, &av7110->videostate, sizeof(struct video_status));
drivers/staging/media/av7110/av7110_av.c
124
ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY,
drivers/staging/media/av7110/av7110_av.c
1244
ret = dvb_compat_video_get_event(av7110, parg, file->f_flags);
drivers/staging/media/av7110/av7110_av.c
1249
ret = dvb_video_get_event(av7110, parg, file->f_flags);
drivers/staging/media/av7110/av7110_av.c
1253
memcpy(parg, &av7110->video_size, sizeof(video_size_t));
drivers/staging/media/av7110/av7110_av.c
1262
av7110->display_panscan = VID_PAN_SCAN_PREF;
drivers/staging/media/av7110/av7110_av.c
1265
av7110->display_panscan = VID_VC_AND_PS_PREF;
drivers/staging/media/av7110/av7110_av.c
1268
av7110->display_panscan = VID_CENTRE_CUT_PREF;
drivers/staging/media/av7110/av7110_av.c
1275
av7110->videostate.display_format = format;
drivers/staging/media/av7110/av7110_av.c
1276
ret = av7110_fw_cmd(av7110, COMTYPE_ENCODER,
drivers/staging/media/av7110/av7110_av.c
1278
av7110->display_panscan);
drivers/staging/media/av7110/av7110_av.c
1287
av7110->display_ar = arg;
drivers/staging/media/av7110/av7110_av.c
1288
ret = av7110_fw_cmd(av7110, COMTYPE_ENCODER,
drivers/staging/media/av7110/av7110_av.c
1297
av7110->videostate.stream_source = VIDEO_SOURCE_MEMORY;
drivers/staging/media/av7110/av7110_av.c
1298
dvb_ringbuffer_flush_spinlock_wakeup(&av7110->avout);
drivers/staging/media/av7110/av7110_av.c
1299
ret = play_iframe(av7110, compat_ptr(pic->iFrame),
drivers/staging/media/av7110/av7110_av.c
130
dvb_filter_pes2ts_init(&av7110->p2t[1],
drivers/staging/media/av7110/av7110_av.c
1309
av7110->videostate.stream_source = VIDEO_SOURCE_MEMORY;
drivers/staging/media/av7110/av7110_av.c
1310
dvb_ringbuffer_flush_spinlock_wakeup(&av7110->avout);
drivers/staging/media/av7110/av7110_av.c
1311
ret = play_iframe(av7110, pic->iFrame, pic->size,
drivers/staging/media/av7110/av7110_av.c
1318
if (av7110->playing & RP_VIDEO)
drivers/staging/media/av7110/av7110_av.c
1319
ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY,
drivers/staging/media/av7110/av7110_av.c
1323
ret = vidcom(av7110, AV_VIDEO_CMD_FFWD, arg);
drivers/staging/media/av7110/av7110_av.c
1325
av7110->trickmode = TRICK_FAST;
drivers/staging/media/av7110/av7110_av.c
1326
av7110->videostate.play_state = VIDEO_PLAYING;
drivers/staging/media/av7110/av7110_av.c
1331
if (av7110->playing & RP_VIDEO) {
drivers/staging/media/av7110/av7110_av.c
1332
if (av7110->trickmode != TRICK_SLOW)
drivers/staging/media/av7110/av7110_av.c
1333
ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY,
drivers/staging/media/av7110/av7110_av.c
1337
ret = vidcom(av7110, AV_VIDEO_CMD_SLOW, arg);
drivers/staging/media/av7110/av7110_av.c
1339
ret = vidcom(av7110, AV_VIDEO_CMD_PLAY, 0);
drivers/staging/media/av7110/av7110_av.c
134
ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY,
drivers/staging/media/av7110/av7110_av.c
1341
ret = vidcom(av7110, AV_VIDEO_CMD_STOP, 0);
drivers/staging/media/av7110/av7110_av.c
1343
ret = vidcom(av7110, AV_VIDEO_CMD_SLOW, arg);
drivers/staging/media/av7110/av7110_av.c
1346
av7110->trickmode = TRICK_SLOW;
drivers/staging/media/av7110/av7110_av.c
1347
av7110->videostate.play_state = VIDEO_PLAYING;
drivers/staging/media/av7110/av7110_av.c
1357
dvb_ringbuffer_flush_spinlock_wakeup(&av7110->avout);
drivers/staging/media/av7110/av7110_av.c
1358
av7110_ipack_reset(&av7110->ipack[1]);
drivers/staging/media/av7110/av7110_av.c
1359
if (av7110->playing == RP_AV) {
drivers/staging/media/av7110/av7110_av.c
1360
ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY,
drivers/staging/media/av7110/av7110_av.c
1365
if (av7110->trickmode == TRICK_FAST)
drivers/staging/media/av7110/av7110_av.c
1366
ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY,
drivers/staging/media/av7110/av7110_av.c
1369
if (av7110->trickmode == TRICK_SLOW) {
drivers/staging/media/av7110/av7110_av.c
1370
ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY,
drivers/staging/media/av7110/av7110_av.c
1374
ret = vidcom(av7110, AV_VIDEO_CMD_SLOW, arg);
drivers/staging/media/av7110/av7110_av.c
1376
if (av7110->trickmode == TRICK_FREEZE)
drivers/staging/media/av7110/av7110_av.c
1377
ret = vidcom(av7110, AV_VIDEO_CMD_STOP, 1);
drivers/staging/media/av7110/av7110_av.c
1389
mutex_unlock(&av7110->ioctl_mutex);
drivers/staging/media/av7110/av7110_av.c
1397
struct av7110 *av7110 = dvbdev->priv;
drivers/staging/media/av7110/av7110_av.c
140
dvb_filter_pes2ts_init(&av7110->p2t[0],
drivers/staging/media/av7110/av7110_av.c
1401
dprintk(1, "av7110:%p, cmd=%04x\n", av7110, cmd);
drivers/staging/media/av7110/av7110_av.c
1407
if (mutex_lock_interruptible(&av7110->ioctl_mutex))
drivers/staging/media/av7110/av7110_av.c
1412
if (av7110->audiostate.stream_source == AUDIO_SOURCE_MEMORY)
drivers/staging/media/av7110/av7110_av.c
1413
ret = av7110_av_stop(av7110, RP_AUDIO);
drivers/staging/media/av7110/av7110_av.c
1415
ret = audcom(av7110, AUDIO_CMD_MUTE);
drivers/staging/media/av7110/av7110_av.c
1417
av7110->audiostate.play_state = AUDIO_STOPPED;
drivers/staging/media/av7110/av7110_av.c
1421
if (av7110->audiostate.stream_source == AUDIO_SOURCE_MEMORY)
drivers/staging/media/av7110/av7110_av.c
1422
ret = av7110_av_start_play(av7110, RP_AUDIO);
drivers/staging/media/av7110/av7110_av.c
1424
ret = audcom(av7110, AUDIO_CMD_UNMUTE);
drivers/staging/media/av7110/av7110_av.c
1426
av7110->audiostate.play_state = AUDIO_PLAYING;
drivers/staging/media/av7110/av7110_av.c
1430
ret = audcom(av7110, AUDIO_CMD_MUTE);
drivers/staging/media/av7110/av7110_av.c
1432
av7110->audiostate.play_state = AUDIO_PAUSED;
drivers/staging/media/av7110/av7110_av.c
1436
if (av7110->audiostate.play_state == AUDIO_PAUSED) {
drivers/staging/media/av7110/av7110_av.c
1437
av7110->audiostate.play_state = AUDIO_PLAYING;
drivers/staging/media/av7110/av7110_av.c
1438
ret = audcom(av7110, AUDIO_CMD_UNMUTE | AUDIO_CMD_PCM16);
drivers/staging/media/av7110/av7110_av.c
144
dvb_filter_pes2ts_init(&av7110->p2t[1],
drivers/staging/media/av7110/av7110_av.c
1443
av7110->audiostate.stream_source = (audio_stream_source_t)arg;
drivers/staging/media/av7110/av7110_av.c
1448
ret = audcom(av7110, arg ? AUDIO_CMD_MUTE : AUDIO_CMD_UNMUTE);
drivers/staging/media/av7110/av7110_av.c
1450
av7110->audiostate.mute_state = (int)arg;
drivers/staging/media/av7110/av7110_av.c
1455
av7110->audiostate.AV_sync_state = (int)arg;
drivers/staging/media/av7110/av7110_av.c
1456
ret = audcom(av7110, arg ? AUDIO_CMD_SYNC_ON : AUDIO_CMD_SYNC_OFF);
drivers/staging/media/av7110/av7110_av.c
1460
if (FW_VERSION(av7110->arm_app) < 0x2621)
drivers/staging/media/av7110/av7110_av.c
1462
av7110->audiostate.bypass_mode = (int)arg;
drivers/staging/media/av7110/av7110_av.c
1466
av7110->audiostate.channel_select = (audio_channel_select_t)arg;
drivers/staging/media/av7110/av7110_av.c
1467
switch (av7110->audiostate.channel_select) {
drivers/staging/media/av7110/av7110_av.c
1469
ret = audcom(av7110, AUDIO_CMD_STEREO);
drivers/staging/media/av7110/av7110_av.c
1471
if (av7110->adac_type == DVB_ADAC_CRYSTAL)
drivers/staging/media/av7110/av7110_av.c
1472
i2c_writereg(av7110, 0x20, 0x02, 0x49);
drivers/staging/media/av7110/av7110_av.c
1473
else if (av7110->adac_type == DVB_ADAC_MSP34x5)
drivers/staging/media/av7110/av7110_av.c
1474
msp_writereg(av7110, MSP_WR_DSP, 0x0008, 0x0220);
drivers/staging/media/av7110/av7110_av.c
1478
ret = audcom(av7110, AUDIO_CMD_MONO_L);
drivers/staging/media/av7110/av7110_av.c
148
ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY,
drivers/staging/media/av7110/av7110_av.c
1480
if (av7110->adac_type == DVB_ADAC_CRYSTAL)
drivers/staging/media/av7110/av7110_av.c
1481
i2c_writereg(av7110, 0x20, 0x02, 0x4a);
drivers/staging/media/av7110/av7110_av.c
1482
else if (av7110->adac_type == DVB_ADAC_MSP34x5)
drivers/staging/media/av7110/av7110_av.c
1483
msp_writereg(av7110, MSP_WR_DSP, 0x0008, 0x0200);
drivers/staging/media/av7110/av7110_av.c
1487
ret = audcom(av7110, AUDIO_CMD_MONO_R);
drivers/staging/media/av7110/av7110_av.c
1489
if (av7110->adac_type == DVB_ADAC_CRYSTAL)
drivers/staging/media/av7110/av7110_av.c
1490
i2c_writereg(av7110, 0x20, 0x02, 0x45);
drivers/staging/media/av7110/av7110_av.c
1491
else if (av7110->adac_type == DVB_ADAC_MSP34x5)
drivers/staging/media/av7110/av7110_av.c
1492
msp_writereg(av7110, MSP_WR_DSP, 0x0008, 0x0210);
drivers/staging/media/av7110/av7110_av.c
1502
memcpy(parg, &av7110->audiostate, sizeof(struct audio_status));
drivers/staging/media/av7110/av7110_av.c
1506
if (FW_VERSION(av7110->arm_app) < 0x2621)
drivers/staging/media/av7110/av7110_av.c
1514
dvb_ringbuffer_flush_spinlock_wakeup(&av7110->aout);
drivers/staging/media/av7110/av7110_av.c
1515
av7110_ipack_reset(&av7110->ipack[0]);
drivers/staging/media/av7110/av7110_av.c
1516
if (av7110->playing == RP_AV)
drivers/staging/media/av7110/av7110_av.c
1517
ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY,
drivers/staging/media/av7110/av7110_av.c
1529
ret = av7110_set_volume(av7110, amix->volume_left, amix->volume_right);
drivers/staging/media/av7110/av7110_av.c
1540
mutex_unlock(&av7110->ioctl_mutex);
drivers/staging/media/av7110/av7110_av.c
1547
struct av7110 *av7110 = dvbdev->priv;
drivers/staging/media/av7110/av7110_av.c
1550
dprintk(2, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_av.c
1557
dvb_ringbuffer_flush_spinlock_wakeup(&av7110->aout);
drivers/staging/media/av7110/av7110_av.c
1558
dvb_ringbuffer_flush_spinlock_wakeup(&av7110->avout);
drivers/staging/media/av7110/av7110_av.c
1559
av7110->video_blank = 1;
drivers/staging/media/av7110/av7110_av.c
156
int av7110_av_start_play(struct av7110 *av7110, int av)
drivers/staging/media/av7110/av7110_av.c
1560
av7110->audiostate.AV_sync_state = 1;
drivers/staging/media/av7110/av7110_av.c
1561
av7110->videostate.stream_source = VIDEO_SOURCE_DEMUX;
drivers/staging/media/av7110/av7110_av.c
1564
av7110->video_events.eventr = 0;
drivers/staging/media/av7110/av7110_av.c
1565
av7110->video_events.eventw = 0;
drivers/staging/media/av7110/av7110_av.c
1574
struct av7110 *av7110 = dvbdev->priv;
drivers/staging/media/av7110/av7110_av.c
1576
dprintk(2, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_av.c
1579
av7110_av_stop(av7110, RP_VIDEO);
drivers/staging/media/av7110/av7110_av.c
1587
struct av7110 *av7110 = dvbdev->priv;
drivers/staging/media/av7110/av7110_av.c
1590
dprintk(2, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_av.c
1594
dvb_ringbuffer_flush_spinlock_wakeup(&av7110->aout);
drivers/staging/media/av7110/av7110_av.c
1595
av7110->audiostate.stream_source = AUDIO_SOURCE_DEMUX;
drivers/staging/media/av7110/av7110_av.c
160
dprintk(2, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_av.c
1602
struct av7110 *av7110 = dvbdev->priv;
drivers/staging/media/av7110/av7110_av.c
1604
dprintk(2, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_av.c
1606
av7110_av_stop(av7110, RP_AUDIO);
drivers/staging/media/av7110/av7110_av.c
162
if (av7110->rec_mode)
drivers/staging/media/av7110/av7110_av.c
164
if (av7110->playing & av)
drivers/staging/media/av7110/av7110_av.c
1653
int av7110_av_register(struct av7110 *av7110)
drivers/staging/media/av7110/av7110_av.c
1655
av7110->audiostate.AV_sync_state = 0;
drivers/staging/media/av7110/av7110_av.c
1656
av7110->audiostate.mute_state = 0;
drivers/staging/media/av7110/av7110_av.c
1657
av7110->audiostate.play_state = AUDIO_STOPPED;
drivers/staging/media/av7110/av7110_av.c
1658
av7110->audiostate.stream_source = AUDIO_SOURCE_DEMUX;
drivers/staging/media/av7110/av7110_av.c
1659
av7110->audiostate.channel_select = AUDIO_STEREO;
drivers/staging/media/av7110/av7110_av.c
1660
av7110->audiostate.bypass_mode = 0;
drivers/staging/media/av7110/av7110_av.c
1662
av7110->videostate.video_blank = 0;
drivers/staging/media/av7110/av7110_av.c
1663
av7110->videostate.play_state = VIDEO_STOPPED;
drivers/staging/media/av7110/av7110_av.c
1664
av7110->videostate.stream_source = VIDEO_SOURCE_DEMUX;
drivers/staging/media/av7110/av7110_av.c
1665
av7110->videostate.video_format = VIDEO_FORMAT_4_3;
drivers/staging/media/av7110/av7110_av.c
1666
av7110->videostate.display_format = VIDEO_LETTER_BOX;
drivers/staging/media/av7110/av7110_av.c
1667
av7110->display_ar = VIDEO_FORMAT_4_3;
drivers/staging/media/av7110/av7110_av.c
1668
av7110->display_panscan = VID_VC_AND_PS_PREF;
drivers/staging/media/av7110/av7110_av.c
167
av7110_fw_cmd(av7110, COMTYPE_REC_PLAY, AV7110_REC_PLAY_STOP, 0);
drivers/staging/media/av7110/av7110_av.c
1670
init_waitqueue_head(&av7110->video_events.wait_queue);
drivers/staging/media/av7110/av7110_av.c
1671
spin_lock_init(&av7110->video_events.lock);
drivers/staging/media/av7110/av7110_av.c
1672
av7110->video_events.eventw = 0;
drivers/staging/media/av7110/av7110_av.c
1673
av7110->video_events.eventr = 0;
drivers/staging/media/av7110/av7110_av.c
1674
av7110->video_events.overflow = 0;
drivers/staging/media/av7110/av7110_av.c
1675
memset(&av7110->video_size, 0, sizeof(video_size_t));
drivers/staging/media/av7110/av7110_av.c
1677
dvb_register_device(&av7110->dvb_adapter, &av7110->video_dev,
drivers/staging/media/av7110/av7110_av.c
1678
&dvbdev_video, av7110, DVB_DEVICE_VIDEO, 0);
drivers/staging/media/av7110/av7110_av.c
1680
dvb_register_device(&av7110->dvb_adapter, &av7110->audio_dev,
drivers/staging/media/av7110/av7110_av.c
1681
&dvbdev_audio, av7110, DVB_DEVICE_AUDIO, 0);
drivers/staging/media/av7110/av7110_av.c
1686
void av7110_av_unregister(struct av7110 *av7110)
drivers/staging/media/av7110/av7110_av.c
1688
dvb_unregister_device(av7110->audio_dev);
drivers/staging/media/av7110/av7110_av.c
1689
dvb_unregister_device(av7110->video_dev);
drivers/staging/media/av7110/av7110_av.c
169
if (av7110->playing == RP_NONE) {
drivers/staging/media/av7110/av7110_av.c
1692
int av7110_av_init(struct av7110 *av7110)
drivers/staging/media/av7110/av7110_av.c
1698
struct ipack *ipack = av7110->ipack + i;
drivers/staging/media/av7110/av7110_av.c
170
av7110_ipack_reset(&av7110->ipack[0]);
drivers/staging/media/av7110/av7110_av.c
1706
ipack->data = av7110;
drivers/staging/media/av7110/av7110_av.c
1709
dvb_ringbuffer_init(&av7110->avout, av7110->iobuf, AVOUTLEN);
drivers/staging/media/av7110/av7110_av.c
171
av7110_ipack_reset(&av7110->ipack[1]);
drivers/staging/media/av7110/av7110_av.c
1710
dvb_ringbuffer_init(&av7110->aout, av7110->iobuf + AVOUTLEN, AOUTLEN);
drivers/staging/media/av7110/av7110_av.c
1712
av7110->kbuf[0] = (u8 *)(av7110->iobuf + AVOUTLEN + AOUTLEN + BMPLEN);
drivers/staging/media/av7110/av7110_av.c
1713
av7110->kbuf[1] = av7110->kbuf[0] + 2 * IPACKS;
drivers/staging/media/av7110/av7110_av.c
1718
void av7110_av_exit(struct av7110 *av7110)
drivers/staging/media/av7110/av7110_av.c
1720
av7110_ipack_free(&av7110->ipack[0]);
drivers/staging/media/av7110/av7110_av.c
1721
av7110_ipack_free(&av7110->ipack[1]);
drivers/staging/media/av7110/av7110_av.c
174
av7110->playing |= av;
drivers/staging/media/av7110/av7110_av.c
175
switch (av7110->playing) {
drivers/staging/media/av7110/av7110_av.c
177
ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY,
drivers/staging/media/av7110/av7110_av.c
182
ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY,
drivers/staging/media/av7110/av7110_av.c
185
av7110->sinfo = 0;
drivers/staging/media/av7110/av7110_av.c
188
av7110->sinfo = 0;
drivers/staging/media/av7110/av7110_av.c
189
ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY,
drivers/staging/media/av7110/av7110_av.c
197
int av7110_av_stop(struct av7110 *av7110, int av)
drivers/staging/media/av7110/av7110_av.c
201
dprintk(2, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_av.c
203
if (!(av7110->playing & av) && !(av7110->rec_mode & av))
drivers/staging/media/av7110/av7110_av.c
205
av7110_fw_cmd(av7110, COMTYPE_REC_PLAY, AV7110_REC_PLAY_STOP, 0);
drivers/staging/media/av7110/av7110_av.c
206
if (av7110->playing) {
drivers/staging/media/av7110/av7110_av.c
207
av7110->playing &= ~av;
drivers/staging/media/av7110/av7110_av.c
208
switch (av7110->playing) {
drivers/staging/media/av7110/av7110_av.c
210
ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY,
drivers/staging/media/av7110/av7110_av.c
215
ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY,
drivers/staging/media/av7110/av7110_av.c
220
ret = av7110_set_vidmode(av7110, av7110->vidmode);
drivers/staging/media/av7110/av7110_av.c
224
av7110->rec_mode &= ~av;
drivers/staging/media/av7110/av7110_av.c
225
switch (av7110->rec_mode) {
drivers/staging/media/av7110/av7110_av.c
227
ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY,
drivers/staging/media/av7110/av7110_av.c
232
ret = av7110_fw_cmd(av7110, COMTYPE_REC_PLAY,
drivers/staging/media/av7110/av7110_av.c
288
int av7110_set_volume(struct av7110 *av7110, unsigned int volleft,
drivers/staging/media/av7110/av7110_av.c
294
dprintk(2, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_av.c
296
av7110->mixer.volume_left = volleft;
drivers/staging/media/av7110/av7110_av.c
297
av7110->mixer.volume_right = volright;
drivers/staging/media/av7110/av7110_av.c
299
switch (av7110->adac_type) {
drivers/staging/media/av7110/av7110_av.c
307
err = SendDAC(av7110, 3, 0x80 + volleft);
drivers/staging/media/av7110/av7110_av.c
310
return SendDAC(av7110, 4, volright);
drivers/staging/media/av7110/av7110_av.c
315
i2c_writereg(av7110, 0x20, 0x03, volleft);
drivers/staging/media/av7110/av7110_av.c
316
i2c_writereg(av7110, 0x20, 0x04, volright);
drivers/staging/media/av7110/av7110_av.c
324
msp_writereg(av7110, MSP_WR_DSP, 0x0001, balance << 8);
drivers/staging/media/av7110/av7110_av.c
325
msp_writereg(av7110, MSP_WR_DSP, 0x0000, val); /* loudspeaker */
drivers/staging/media/av7110/av7110_av.c
326
msp_writereg(av7110, MSP_WR_DSP, 0x0006, val); /* headphonesr */
drivers/staging/media/av7110/av7110_av.c
334
msp_writereg(av7110, MSP_WR_DSP, 0x0001, balance << 8);
drivers/staging/media/av7110/av7110_av.c
335
msp_writereg(av7110, MSP_WR_DSP, 0x0000, val); /* loudspeaker */
drivers/staging/media/av7110/av7110_av.c
342
int av7110_set_vidmode(struct av7110 *av7110, enum av7110_video_mode mode)
drivers/staging/media/av7110/av7110_av.c
346
dprintk(2, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_av.c
348
ret = av7110_fw_cmd(av7110, COMTYPE_ENCODER,
drivers/staging/media/av7110/av7110_av.c
351
if (!ret && !av7110->playing) {
drivers/staging/media/av7110/av7110_av.c
352
ret = ChangePIDs(av7110, av7110->pids[DMX_PES_VIDEO],
drivers/staging/media/av7110/av7110_av.c
353
av7110->pids[DMX_PES_AUDIO],
drivers/staging/media/av7110/av7110_av.c
354
av7110->pids[DMX_PES_TELETEXT],
drivers/staging/media/av7110/av7110_av.c
355
0, av7110->pids[DMX_PES_PCR]);
drivers/staging/media/av7110/av7110_av.c
357
ret = av7110_fw_cmd(av7110, COMTYPE_PIDFILTER,
drivers/staging/media/av7110/av7110_av.c
374
static int get_video_format(struct av7110 *av7110, u8 *buf, int count)
drivers/staging/media/av7110/av7110_av.c
382
dprintk(2, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_av.c
384
if (av7110->sinfo)
drivers/staging/media/av7110/av7110_av.c
394
ret = av7110_set_vidmode(av7110, sw2mode[sw]);
drivers/staging/media/av7110/av7110_av.c
397
av7110->sinfo = 1;
drivers/staging/media/av7110/av7110_av.c
433
struct av7110 *av7110 = (struct av7110 *)priv;
drivers/staging/media/av7110/av7110_av.c
435
dprintk(2, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_av.c
438
get_video_format(av7110, buf, count);
drivers/staging/media/av7110/av7110_av.c
439
aux_ring_buffer_write(&av7110->avout, buf, count);
drivers/staging/media/av7110/av7110_av.c
441
aux_ring_buffer_write(&av7110->aout, buf, count);
drivers/staging/media/av7110/av7110_av.c
447
struct av7110 *av7110 = (struct av7110 *)priv;
drivers/staging/media/av7110/av7110_av.c
449
dprintk(2, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_av.c
451
aux_ring_buffer_write(&av7110->aout, buf, count);
drivers/staging/media/av7110/av7110_av.c
456
static ssize_t ts_play(struct av7110 *av7110, const char __user *buf,
drivers/staging/media/av7110/av7110_av.c
465
rb = (type) ? &av7110->avout : &av7110->aout;
drivers/staging/media/av7110/av7110_av.c
466
kb = av7110->kbuf[type];
drivers/staging/media/av7110/av7110_av.c
483
write_ts_to_decoder(av7110, type, kb, TS_SIZE);
drivers/staging/media/av7110/av7110_av.c
491
#define FREE_COND (dvb_ringbuffer_free(&av7110->avout) >= 20 * 1024 && \
drivers/staging/media/av7110/av7110_av.c
492
dvb_ringbuffer_free(&av7110->aout) >= 20 * 1024)
drivers/staging/media/av7110/av7110_av.c
494
static ssize_t dvb_play(struct av7110 *av7110, const char __user *buf,
drivers/staging/media/av7110/av7110_av.c
499
dprintk(2, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_av.c
501
if (!av7110->kbuf[type])
drivers/staging/media/av7110/av7110_av.c
511
if (wait_event_interruptible(av7110->avout.queue,
drivers/staging/media/av7110/av7110_av.c
518
if (copy_from_user(av7110->kbuf[type], buf, n))
drivers/staging/media/av7110/av7110_av.c
520
av7110_ipack_instant_repack(av7110->kbuf[type], n,
drivers/staging/media/av7110/av7110_av.c
521
&av7110->ipack[type]);
drivers/staging/media/av7110/av7110_av.c
528
static ssize_t dvb_play_kernel(struct av7110 *av7110, const u8 *buf,
drivers/staging/media/av7110/av7110_av.c
533
dprintk(2, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_av.c
535
if (!av7110->kbuf[type])
drivers/staging/media/av7110/av7110_av.c
545
if (wait_event_interruptible(av7110->avout.queue,
drivers/staging/media/av7110/av7110_av.c
552
av7110_ipack_instant_repack(buf, n, &av7110->ipack[type]);
drivers/staging/media/av7110/av7110_av.c
559
static ssize_t dvb_aplay(struct av7110 *av7110, const char __user *buf,
drivers/staging/media/av7110/av7110_av.c
564
dprintk(2, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_av.c
566
if (!av7110->kbuf[type])
drivers/staging/media/av7110/av7110_av.c
568
if (nonblock && dvb_ringbuffer_free(&av7110->aout) < 20 * 1024)
drivers/staging/media/av7110/av7110_av.c
572
if (dvb_ringbuffer_free(&av7110->aout) < 20 * 1024) {
drivers/staging/media/av7110/av7110_av.c
575
if (wait_event_interruptible(av7110->aout.queue,
drivers/staging/media/av7110/av7110_av.c
576
(dvb_ringbuffer_free(&av7110->aout) >= 20 * 1024)))
drivers/staging/media/av7110/av7110_av.c
582
if (copy_from_user(av7110->kbuf[type], buf, n))
drivers/staging/media/av7110/av7110_av.c
584
av7110_ipack_instant_repack(av7110->kbuf[type], n,
drivers/staging/media/av7110/av7110_av.c
585
&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
835
static int write_ts_to_decoder(struct av7110 *av7110, int type, const u8 *buf, size_t len)
drivers/staging/media/av7110/av7110_av.c
837
struct ipack *ipack = &av7110->ipack[type];
drivers/staging/media/av7110/av7110_av.c
864
struct av7110 *av7110 = demux->priv;
drivers/staging/media/av7110/av7110_av.c
866
dprintk(2, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_av.c
868
if (av7110->full_ts && demux->dmx.frontend->source != DMX_MEMORY_FE)
drivers/staging/media/av7110/av7110_av.c
873
if (av7110->audiostate.stream_source == AUDIO_SOURCE_MEMORY)
drivers/staging/media/av7110/av7110_av.c
877
if (av7110->videostate.stream_source == VIDEO_SOURCE_MEMORY)
drivers/staging/media/av7110/av7110_av.c
884
return write_ts_to_decoder(av7110, feed->pes_type, buf, len);
drivers/staging/media/av7110/av7110_av.c
890
void dvb_video_add_event(struct av7110 *av7110, struct video_event *event)
drivers/staging/media/av7110/av7110_av.c
892
struct dvb_video_events *events = &av7110->video_events;
drivers/staging/media/av7110/av7110_av.c
912
static int dvb_video_get_event(struct av7110 *av7110, struct video_event *event, int flags)
drivers/staging/media/av7110/av7110_av.c
914
struct dvb_video_events *events = &av7110->video_events;
drivers/staging/media/av7110/av7110_av.c
950
struct av7110 *av7110 = dvbdev->priv;
drivers/staging/media/av7110/av7110_av.c
953
dprintk(2, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_av.c
956
poll_wait(file, &av7110->avout.queue, wait);
drivers/staging/media/av7110/av7110_av.c
958
poll_wait(file, &av7110->video_events.wait_queue, wait);
drivers/staging/media/av7110/av7110_av.c
960
if (av7110->video_events.eventw != av7110->video_events.eventr)
drivers/staging/media/av7110/av7110_av.c
964
if (av7110->playing) {
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
988
if (av7110->videostate.stream_source != VIDEO_SOURCE_MEMORY)
drivers/staging/media/av7110/av7110_av.c
994
return ts_play(av7110, buf, count, file->f_flags & O_NONBLOCK, 1);
drivers/staging/media/av7110/av7110_av.c
996
return dvb_play(av7110, buf, count, file->f_flags & O_NONBLOCK, 1);
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,
drivers/staging/media/av7110/av7110_ca.c
325
mutex_unlock(&av7110->ioctl_mutex);
drivers/staging/media/av7110/av7110_ca.c
333
struct av7110 *av7110 = dvbdev->priv;
drivers/staging/media/av7110/av7110_ca.c
335
dprintk(8, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_ca.c
336
return ci_ll_write(&av7110->ci_wbuffer, file, buf, count, ppos);
drivers/staging/media/av7110/av7110_ca.c
343
struct av7110 *av7110 = dvbdev->priv;
drivers/staging/media/av7110/av7110_ca.c
345
dprintk(8, "av7110:%p\n", av7110);
drivers/staging/media/av7110/av7110_ca.c
346
return ci_ll_read(&av7110->ci_rbuffer, file, buf, count, ppos);
drivers/staging/media/av7110/av7110_ca.c
368
int av7110_ca_register(struct av7110 *av7110)
drivers/staging/media/av7110/av7110_ca.c
370
return dvb_register_device(&av7110->dvb_adapter, &av7110->ca_dev,
drivers/staging/media/av7110/av7110_ca.c
371
&dvbdev_ca, av7110, DVB_DEVICE_CA, 0);
drivers/staging/media/av7110/av7110_ca.c
374
void av7110_ca_unregister(struct av7110 *av7110)
drivers/staging/media/av7110/av7110_ca.c
376
dvb_unregister_device(av7110->ca_dev);
drivers/staging/media/av7110/av7110_ca.c
379
int av7110_ca_init(struct av7110 *av7110)
drivers/staging/media/av7110/av7110_ca.c
381
return ci_ll_init(&av7110->ci_rbuffer, &av7110->ci_wbuffer, 8192);
drivers/staging/media/av7110/av7110_ca.c
384
void av7110_ca_exit(struct av7110 *av7110)
drivers/staging/media/av7110/av7110_ca.c
386
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
1001
ret = MoveWindowAbs(av7110, av7110->osdwin, dc->x0, dc->y0);
drivers/staging/media/av7110/av7110_hw.c
1004
ret = SetColorBlend(av7110, av7110->osdwin);
drivers/staging/media/av7110/av7110_hw.c
1008
ret = MoveWindowRel(av7110, av7110->osdwin, 0, 0);
drivers/staging/media/av7110/av7110_hw.c
1011
ret = HideWindow(av7110, av7110->osdwin);
drivers/staging/media/av7110/av7110_hw.c
1014
ret = DrawBlock(av7110, av7110->osdwin, 0, 0, 720, 576, 0);
drivers/staging/media/av7110/av7110_hw.c
1017
ret = DrawBlock(av7110, av7110->osdwin, 0, 0, 720, 576, dc->color);
drivers/staging/media/av7110/av7110_hw.c
102
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110_hw.c
1020
ret = OSDSetColor(av7110, dc->color, dc->x0, dc->y0, dc->x1, dc->y1);
drivers/staging/media/av7110/av7110_hw.c
1023
if (FW_VERSION(av7110->arm_app) >= 0x2618) {
drivers/staging/media/av7110/av7110_hw.c
1024
ret = OSDSetPalette(av7110, dc->data, dc->color, dc->x0);
drivers/staging/media/av7110/av7110_hw.c
1039
ret = OSDSetColor(av7110, dc->color + i, r, g, b, blend);
drivers/staging/media/av7110/av7110_hw.c
1046
ret = DrawLine(av7110, av7110->osdwin,
drivers/staging/media/av7110/av7110_hw.c
105
if (irdebi(av7110, DEBINOSWAP, adr, 0, 2) == state)
drivers/staging/media/av7110/av7110_hw.c
1053
ret = OSDSetBlock(av7110, dc->x0, dc->y0, dc->x1, dc->y1, dc->color, dc->data);
drivers/staging/media/av7110/av7110_hw.c
1056
ret = DrawBlock(av7110, av7110->osdwin, dc->x0, dc->y0,
drivers/staging/media/av7110/av7110_hw.c
1060
ret = DrawBlock(av7110, av7110->osdwin, dc->x0, dc->y0,
drivers/staging/media/av7110/av7110_hw.c
1064
ret = DrawLine(av7110, av7110->osdwin,
drivers/staging/media/av7110/av7110_hw.c
1078
ret = SetFont(av7110, av7110->osdwin, dc->x1,
drivers/staging/media/av7110/av7110_hw.c
1081
ret = FlushText(av7110);
drivers/staging/media/av7110/av7110_hw.c
1083
ret = WriteText(av7110, av7110->osdwin, dc->x0, dc->y0, textbuf);
drivers/staging/media/av7110/av7110_hw.c
1090
av7110->osdwin = dc->x0;
drivers/staging/media/av7110/av7110_hw.c
1095
ret = MoveWindowAbs(av7110, av7110->osdwin, dc->x0, dc->y0);
drivers/staging/media/av7110/av7110_hw.c
1097
ret = SetColorBlend(av7110, av7110->osdwin);
drivers/staging/media/av7110/av7110_hw.c
1105
av7110->osdbpp[av7110->osdwin] = (1 << (dc->color & 3)) - 1;
drivers/staging/media/av7110/av7110_hw.c
1107
av7110->osdbpp[av7110->osdwin] = 0;
drivers/staging/media/av7110/av7110_hw.c
1108
ret = CreateOSDWindow(av7110, av7110->osdwin, (osd_raw_window_t)dc->color,
drivers/staging/media/av7110/av7110_hw.c
1113
ret = MoveWindowAbs(av7110, av7110->osdwin, dc->x0, dc->y0);
drivers/staging/media/av7110/av7110_hw.c
1115
ret = SetColorBlend(av7110, av7110->osdwin);
drivers/staging/media/av7110/av7110_hw.c
112
static int load_dram(struct av7110 *av7110, u32 *data, int len)
drivers/staging/media/av7110/av7110_hw.c
1123
mutex_unlock(&av7110->osd_mutex);
drivers/staging/media/av7110/av7110_hw.c
1132
int av7110_osd_capability(struct av7110 *av7110, osd_cap_t *cap)
drivers/staging/media/av7110/av7110_hw.c
1136
if (FW_4M_SDRAM(av7110->arm_app))
drivers/staging/media/av7110/av7110_hw.c
118
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110_hw.c
125
if (waitdebi(av7110, AV7110_BOOT_STATE, BOOTSTATE_BUFFER_EMPTY) < 0) {
drivers/staging/media/av7110/av7110_hw.c
130
mwdebi(av7110, DEBISWAB, bootblock,
drivers/staging/media/av7110/av7110_hw.c
133
iwdebi(av7110, DEBISWAB, AV7110_BOOT_BASE, swab32(base), 4);
drivers/staging/media/av7110/av7110_hw.c
134
iwdebi(av7110, DEBINOSWAP, AV7110_BOOT_SIZE, AV7110_BOOT_MAX_SIZE, 2);
drivers/staging/media/av7110/av7110_hw.c
135
iwdebi(av7110, DEBINOSWAP, AV7110_BOOT_STATE, BOOTSTATE_BUFFER_FULL, 2);
drivers/staging/media/av7110/av7110_hw.c
140
if (waitdebi(av7110, AV7110_BOOT_STATE, BOOTSTATE_BUFFER_EMPTY) < 0) {
drivers/staging/media/av7110/av7110_hw.c
145
mwdebi(av7110, DEBISWAB, bootblock,
drivers/staging/media/av7110/av7110_hw.c
148
mwdebi(av7110, DEBISWAB, bootblock,
drivers/staging/media/av7110/av7110_hw.c
151
iwdebi(av7110, DEBISWAB, AV7110_BOOT_BASE, swab32(base), 4);
drivers/staging/media/av7110/av7110_hw.c
152
iwdebi(av7110, DEBINOSWAP, AV7110_BOOT_SIZE, rest, 2);
drivers/staging/media/av7110/av7110_hw.c
153
iwdebi(av7110, DEBINOSWAP, AV7110_BOOT_STATE, BOOTSTATE_BUFFER_FULL, 2);
drivers/staging/media/av7110/av7110_hw.c
155
if (waitdebi(av7110, AV7110_BOOT_STATE, BOOTSTATE_BUFFER_EMPTY) < 0) {
drivers/staging/media/av7110/av7110_hw.c
159
iwdebi(av7110, DEBINOSWAP, AV7110_BOOT_SIZE, 0, 2);
drivers/staging/media/av7110/av7110_hw.c
160
iwdebi(av7110, DEBINOSWAP, AV7110_BOOT_STATE, BOOTSTATE_BUFFER_FULL, 2);
drivers/staging/media/av7110/av7110_hw.c
161
if (waitdebi(av7110, AV7110_BOOT_STATE, BOOTSTATE_AV7110_BOOT_COMPLETE) < 0) {
drivers/staging/media/av7110/av7110_hw.c
171
int av7110_bootarm(struct av7110 *av7110)
drivers/staging/media/av7110/av7110_hw.c
175
struct saa7146_dev *dev = av7110->dev;
drivers/staging/media/av7110/av7110_hw.c
179
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110_hw.c
181
av7110->arm_ready = 0;
drivers/staging/media/av7110/av7110_hw.c
186
SAA7146_IER_DISABLE(av7110->dev, MASK_03 | MASK_19);
drivers/staging/media/av7110/av7110_hw.c
187
SAA7146_ISR_CLEAR(av7110->dev, MASK_19 | MASK_03);
drivers/staging/media/av7110/av7110_hw.c
190
saa7146_write(av7110->dev, MC1, 0x08800880);
drivers/staging/media/av7110/av7110_hw.c
191
saa7146_write(av7110->dev, DD1_STREAM_B, 0x00000000);
drivers/staging/media/av7110/av7110_hw.c
192
saa7146_write(av7110->dev, MC2, (MASK_09 | MASK_25 | MASK_10 | MASK_26));
drivers/staging/media/av7110/av7110_hw.c
195
iwdebi(av7110, DEBISWAP, DPRAM_BASE, 0x76543210, 4);
drivers/staging/media/av7110/av7110_hw.c
197
iwdebi(av7110, DEBISWAP, DPRAM_BASE, 0x76543210, 4);
drivers/staging/media/av7110/av7110_hw.c
199
ret = irdebi(av7110, DEBINOSWAP, DPRAM_BASE, 0, 4);
drivers/staging/media/av7110/av7110_hw.c
206
iwdebi(av7110, DEBISWAP, DPRAM_BASE + i, 0x00, 4);
drivers/staging/media/av7110/av7110_hw.c
221
mwdebi(av7110, DEBISWAB, DPRAM_BASE, fw->data, fw->size);
drivers/staging/media/av7110/av7110_hw.c
223
iwdebi(av7110, DEBINOSWAP, AV7110_BOOT_STATE, BOOTSTATE_BUFFER_FULL, 2);
drivers/staging/media/av7110/av7110_hw.c
225
if (saa7146_wait_for_debi_done(av7110->dev, 1)) {
drivers/staging/media/av7110/av7110_hw.c
233
if (load_dram(av7110, (u32 *)av7110->bin_root, av7110->size_root) < 0) {
drivers/staging/media/av7110/av7110_hw.c
242
mwdebi(av7110, DEBISWAB, DPRAM_BASE, av7110->bin_dpram, av7110->size_dpram);
drivers/staging/media/av7110/av7110_hw.c
244
if (saa7146_wait_for_debi_done(av7110->dev, 1)) {
drivers/staging/media/av7110/av7110_hw.c
252
ARM_ResetMailBox(av7110);
drivers/staging/media/av7110/av7110_hw.c
253
SAA7146_ISR_CLEAR(av7110->dev, MASK_19 | MASK_03);
drivers/staging/media/av7110/av7110_hw.c
254
SAA7146_IER_ENABLE(av7110->dev, MASK_03);
drivers/staging/media/av7110/av7110_hw.c
256
av7110->arm_errors = 0;
drivers/staging/media/av7110/av7110_hw.c
257
av7110->arm_ready = 1;
drivers/staging/media/av7110/av7110_hw.c
266
int av7110_wait_msgstate(struct av7110 *av7110, u16 flags)
drivers/staging/media/av7110/av7110_hw.c
272
if (FW_VERSION(av7110->arm_app) <= 0x261c) {
drivers/staging/media/av7110/av7110_hw.c
282
if (mutex_lock_interruptible(&av7110->dcomlock))
drivers/staging/media/av7110/av7110_hw.c
284
stat = rdebi(av7110, DEBINOSWAP, MSGSTATE, 0, 2);
drivers/staging/media/av7110/av7110_hw.c
285
mutex_unlock(&av7110->dcomlock);
drivers/staging/media/av7110/av7110_hw.c
297
static int __av7110_send_fw_cmd(struct av7110 *av7110, u16 *buf, int length)
drivers/staging/media/av7110/av7110_hw.c
308
if (!av7110->arm_ready) {
drivers/staging/media/av7110/av7110_hw.c
316
if (rdebi(av7110, DEBINOSWAP, COMMAND, 0, 2) == 0)
drivers/staging/media/av7110/av7110_hw.c
320
av7110->arm_errors++;
drivers/staging/media/av7110/av7110_hw.c
326
if (FW_VERSION(av7110->arm_app) <= 0x261f)
drivers/staging/media/av7110/av7110_hw.c
327
wdebi(av7110, DEBINOSWAP, COM_IF_LOCK, 0xffff, 2);
drivers/staging/media/av7110/av7110_hw.c
333
if (rdebi(av7110, DEBINOSWAP, HANDSHAKE_REG, 0, 2) == 0)
drivers/staging/media/av7110/av7110_hw.c
358
if (FW_VERSION(av7110->arm_app) >= 0x261d) {
drivers/staging/media/av7110/av7110_hw.c
373
stat = rdebi(av7110, DEBINOSWAP, MSGSTATE, 0, 2);
drivers/staging/media/av7110/av7110_hw.c
382
av7110->arm_errors++;
drivers/staging/media/av7110/av7110_hw.c
390
wdebi(av7110, DEBINOSWAP, COMMAND + 2 * i, (u32)buf[i], 2);
drivers/staging/media/av7110/av7110_hw.c
393
wdebi(av7110, DEBINOSWAP, COMMAND + 2, (u32)buf[1], 2);
drivers/staging/media/av7110/av7110_hw.c
395
wdebi(av7110, DEBINOSWAP, COMMAND + 2, 0, 2);
drivers/staging/media/av7110/av7110_hw.c
397
wdebi(av7110, DEBINOSWAP, COMMAND, (u32)buf[0], 2);
drivers/staging/media/av7110/av7110_hw.c
399
if (FW_VERSION(av7110->arm_app) <= 0x261f)
drivers/staging/media/av7110/av7110_hw.c
400
wdebi(av7110, DEBINOSWAP, COM_IF_LOCK, 0x0000, 2);
drivers/staging/media/av7110/av7110_hw.c
406
if (rdebi(av7110, DEBINOSWAP, COMMAND, 0, 2) == 0)
drivers/staging/media/av7110/av7110_hw.c
416
stat = rdebi(av7110, DEBINOSWAP, MSGSTATE, 0, 2);
drivers/staging/media/av7110/av7110_hw.c
429
static int av7110_send_fw_cmd(struct av7110 *av7110, u16 *buf, int length)
drivers/staging/media/av7110/av7110_hw.c
435
if (!av7110->arm_ready) {
drivers/staging/media/av7110/av7110_hw.c
439
if (mutex_lock_interruptible(&av7110->dcomlock))
drivers/staging/media/av7110/av7110_hw.c
442
ret = __av7110_send_fw_cmd(av7110, buf, length);
drivers/staging/media/av7110/av7110_hw.c
443
mutex_unlock(&av7110->dcomlock);
drivers/staging/media/av7110/av7110_hw.c
449
int av7110_fw_cmd(struct av7110 *av7110, int type, int com, int num, ...)
drivers/staging/media/av7110/av7110_hw.c
45
int av7110_debiwrite(struct av7110 *av7110, u32 config,
drivers/staging/media/av7110/av7110_hw.c
472
ret = av7110_send_fw_cmd(av7110, buf, num + 2);
drivers/staging/media/av7110/av7110_hw.c
478
int av7110_fw_request(struct av7110 *av7110, u16 *request_buf,
drivers/staging/media/av7110/av7110_hw.c
48
struct saa7146_dev *dev = av7110->dev;
drivers/staging/media/av7110/av7110_hw.c
488
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110_hw.c
490
if (!av7110->arm_ready) {
drivers/staging/media/av7110/av7110_hw.c
495
if (mutex_lock_interruptible(&av7110->dcomlock))
drivers/staging/media/av7110/av7110_hw.c
498
err = __av7110_send_fw_cmd(av7110, request_buf, request_buf_len);
drivers/staging/media/av7110/av7110_hw.c
500
mutex_unlock(&av7110->dcomlock);
drivers/staging/media/av7110/av7110_hw.c
508
if (rdebi(av7110, DEBINOSWAP, COMMAND, 0, 2) == 0)
drivers/staging/media/av7110/av7110_hw.c
512
mutex_unlock(&av7110->dcomlock);
drivers/staging/media/av7110/av7110_hw.c
524
if (rdebi(av7110, DEBINOSWAP, HANDSHAKE_REG, 0, 2) == 0)
drivers/staging/media/av7110/av7110_hw.c
528
mutex_unlock(&av7110->dcomlock);
drivers/staging/media/av7110/av7110_hw.c
536
stat = rdebi(av7110, DEBINOSWAP, MSGSTATE, 0, 2);
drivers/staging/media/av7110/av7110_hw.c
539
mutex_unlock(&av7110->dcomlock);
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
543
mutex_unlock(&av7110->dcomlock);
drivers/staging/media/av7110/av7110_hw.c
549
reply_buf[i] = rdebi(av7110, DEBINOSWAP, COM_BUFF + 2 * i, 0, 2);
drivers/staging/media/av7110/av7110_hw.c
551
mutex_unlock(&av7110->dcomlock);
drivers/staging/media/av7110/av7110_hw.c
555
static int av7110_fw_query(struct av7110 *av7110, u16 tag, u16 *buf, s16 length)
drivers/staging/media/av7110/av7110_hw.c
559
ret = av7110_fw_request(av7110, &tag, 0, buf, length);
drivers/staging/media/av7110/av7110_hw.c
570
int av7110_firmversion(struct av7110 *av7110)
drivers/staging/media/av7110/av7110_hw.c
575
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110_hw.c
577
if (av7110_fw_query(av7110, tag, buf, 16)) {
drivers/staging/media/av7110/av7110_hw.c
578
pr_err("failed to boot firmware @ card %d\n", av7110->dvb_adapter.num);
drivers/staging/media/av7110/av7110_hw.c
582
av7110->arm_fw = (buf[0] << 16) + buf[1];
drivers/staging/media/av7110/av7110_hw.c
583
av7110->arm_rtsl = (buf[2] << 16) + buf[3];
drivers/staging/media/av7110/av7110_hw.c
584
av7110->arm_vid = (buf[4] << 16) + buf[5];
drivers/staging/media/av7110/av7110_hw.c
585
av7110->arm_app = (buf[6] << 16) + buf[7];
drivers/staging/media/av7110/av7110_hw.c
586
av7110->avtype = (buf[8] << 16) + buf[9];
drivers/staging/media/av7110/av7110_hw.c
589
av7110->dvb_adapter.num, av7110->arm_fw,
drivers/staging/media/av7110/av7110_hw.c
590
av7110->arm_rtsl, av7110->arm_vid, av7110->arm_app);
drivers/staging/media/av7110/av7110_hw.c
593
if (FW_CI_LL_SUPPORT(av7110->arm_app))
drivers/staging/media/av7110/av7110_hw.c
595
av7110->dvb_adapter.num);
drivers/staging/media/av7110/av7110_hw.c
598
av7110->dvb_adapter.num);
drivers/staging/media/av7110/av7110_hw.c
603
int av7110_diseqc_send(struct av7110 *av7110, int len, u8 *msg, unsigned long burst)
drivers/staging/media/av7110/av7110_hw.c
609
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110_hw.c
62
saa7146_write(dev, DEBI_AD, av7110->debi_bus);
drivers/staging/media/av7110/av7110_hw.c
625
ret = av7110_send_fw_cmd(av7110, buf, 18);
drivers/staging/media/av7110/av7110_hw.c
633
static inline int SetColorBlend(struct av7110 *av7110, u8 windownr)
drivers/staging/media/av7110/av7110_hw.c
635
return av7110_fw_cmd(av7110, COMTYPE_OSD, SetCBlend, 1, windownr);
drivers/staging/media/av7110/av7110_hw.c
638
static inline int SetBlend_(struct av7110 *av7110, u8 windownr,
drivers/staging/media/av7110/av7110_hw.c
641
return av7110_fw_cmd(av7110, COMTYPE_OSD, SetBlend, 4,
drivers/staging/media/av7110/av7110_hw.c
645
static inline int SetColor_(struct av7110 *av7110, u8 windownr,
drivers/staging/media/av7110/av7110_hw.c
648
return av7110_fw_cmd(av7110, COMTYPE_OSD, SetColor, 5,
drivers/staging/media/av7110/av7110_hw.c
652
static inline int SetFont(struct av7110 *av7110, u8 windownr, u8 fontsize,
drivers/staging/media/av7110/av7110_hw.c
655
return av7110_fw_cmd(av7110, COMTYPE_OSD, Set_Font, 4,
drivers/staging/media/av7110/av7110_hw.c
659
static int FlushText(struct av7110 *av7110)
drivers/staging/media/av7110/av7110_hw.c
664
if (mutex_lock_interruptible(&av7110->dcomlock))
drivers/staging/media/av7110/av7110_hw.c
669
if (rdebi(av7110, DEBINOSWAP, BUFF1_BASE, 0, 2) == 0)
drivers/staging/media/av7110/av7110_hw.c
673
mutex_unlock(&av7110->dcomlock);
drivers/staging/media/av7110/av7110_hw.c
678
mutex_unlock(&av7110->dcomlock);
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
682
static int WriteText(struct av7110 *av7110, u8 win, u16 x, u16 y, char *buf)
drivers/staging/media/av7110/av7110_hw.c
689
if (mutex_lock_interruptible(&av7110->dcomlock))
drivers/staging/media/av7110/av7110_hw.c
695
if (rdebi(av7110, DEBINOSWAP, BUFF1_BASE, 0, 2) == 0)
drivers/staging/media/av7110/av7110_hw.c
699
mutex_unlock(&av7110->dcomlock);
drivers/staging/media/av7110/av7110_hw.c
70
struct saa7146_dev *dev = av7110->dev;
drivers/staging/media/av7110/av7110_hw.c
708
if (rdebi(av7110, DEBINOSWAP, HANDSHAKE_REG, 0, 2) == 0)
drivers/staging/media/av7110/av7110_hw.c
712
mutex_unlock(&av7110->dcomlock);
drivers/staging/media/av7110/av7110_hw.c
719
wdebi(av7110, DEBINOSWAP, BUFF1_BASE + i * 2,
drivers/staging/media/av7110/av7110_hw.c
722
wdebi(av7110, DEBINOSWAP, BUFF1_BASE + i * 2, 0, 2);
drivers/staging/media/av7110/av7110_hw.c
723
ret = __av7110_send_fw_cmd(av7110, cbuf, 5);
drivers/staging/media/av7110/av7110_hw.c
724
mutex_unlock(&av7110->dcomlock);
drivers/staging/media/av7110/av7110_hw.c
730
static inline int DrawLine(struct av7110 *av7110, u8 windownr,
drivers/staging/media/av7110/av7110_hw.c
733
return av7110_fw_cmd(av7110, COMTYPE_OSD, DLine, 6,
drivers/staging/media/av7110/av7110_hw.c
737
static inline int DrawBlock(struct av7110 *av7110, u8 windownr,
drivers/staging/media/av7110/av7110_hw.c
740
return av7110_fw_cmd(av7110, COMTYPE_OSD, DBox, 6,
drivers/staging/media/av7110/av7110_hw.c
744
static inline int HideWindow(struct av7110 *av7110, u8 windownr)
drivers/staging/media/av7110/av7110_hw.c
746
return av7110_fw_cmd(av7110, COMTYPE_OSD, WHide, 1, windownr);
drivers/staging/media/av7110/av7110_hw.c
749
static inline int MoveWindowRel(struct av7110 *av7110, u8 windownr, u16 x, u16 y)
drivers/staging/media/av7110/av7110_hw.c
751
return av7110_fw_cmd(av7110, COMTYPE_OSD, WMoveD, 3, windownr, x, y);
drivers/staging/media/av7110/av7110_hw.c
754
static inline int MoveWindowAbs(struct av7110 *av7110, u8 windownr, u16 x, u16 y)
drivers/staging/media/av7110/av7110_hw.c
756
return av7110_fw_cmd(av7110, COMTYPE_OSD, WMoveA, 3, windownr, x, y);
drivers/staging/media/av7110/av7110_hw.c
759
static inline int DestroyOSDWindow(struct av7110 *av7110, u8 windownr)
drivers/staging/media/av7110/av7110_hw.c
761
return av7110_fw_cmd(av7110, COMTYPE_OSD, WDestroy, 1, windownr);
drivers/staging/media/av7110/av7110_hw.c
764
static inline int CreateOSDWindow(struct av7110 *av7110, u8 windownr,
drivers/staging/media/av7110/av7110_hw.c
768
return av7110_fw_cmd(av7110, COMTYPE_OSD, WCreate, 4,
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
780
static inline int WaitUntilBmpLoaded(struct av7110 *av7110)
drivers/staging/media/av7110/av7110_hw.c
782
int ret = wait_event_timeout(av7110->bmpq,
drivers/staging/media/av7110/av7110_hw.c
783
av7110->bmp_state != BMP_LOADING, 10 * HZ);
drivers/staging/media/av7110/av7110_hw.c
785
pr_warn("warning: timeout waiting in LoadBitmap: %d, %d\n", ret, av7110->bmp_state);
drivers/staging/media/av7110/av7110_hw.c
786
av7110->bmp_state = BMP_NONE;
drivers/staging/media/av7110/av7110_hw.c
792
static inline int LoadBitmap(struct av7110 *av7110,
drivers/staging/media/av7110/av7110_hw.c
802
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110_hw.c
804
format = bpp2bit[av7110->osdbpp[av7110->osdwin]];
drivers/staging/media/av7110/av7110_hw.c
806
av7110->bmp_state = BMP_LOADING;
drivers/staging/media/av7110/av7110_hw.c
81
saa7146_write(dev, DEBI_AD, av7110->debi_bus);
drivers/staging/media/av7110/av7110_hw.c
816
av7110->bmp_state = BMP_NONE;
drivers/staging/media/av7110/av7110_hw.c
819
av7110->bmplen = ((dx * dy * bpp + 7) & ~7) / 8;
drivers/staging/media/av7110/av7110_hw.c
820
av7110->bmpp = 0;
drivers/staging/media/av7110/av7110_hw.c
821
if (av7110->bmplen > 32768) {
drivers/staging/media/av7110/av7110_hw.c
822
av7110->bmp_state = BMP_NONE;
drivers/staging/media/av7110/av7110_hw.c
826
if (copy_from_user(av7110->bmpbuf + 1024 + i * dx, data + i * inc, dx)) {
drivers/staging/media/av7110/av7110_hw.c
827
av7110->bmp_state = BMP_NONE;
drivers/staging/media/av7110/av7110_hw.c
833
c = ((u8 *)av7110->bmpbuf)[1024 + i * delta + delta - 1];
drivers/staging/media/av7110/av7110_hw.c
835
c |= (((u8 *)av7110->bmpbuf)[1024 + i * delta + d]
drivers/staging/media/av7110/av7110_hw.c
837
((u8 *)av7110->bmpbuf)[1024 + i] = c;
drivers/staging/media/av7110/av7110_hw.c
841
av7110->bmplen += 1024;
drivers/staging/media/av7110/av7110_hw.c
842
dprintk(4, "av7110_fw_cmd(): LoadBmp size %d\n", av7110->bmplen);
drivers/staging/media/av7110/av7110_hw.c
843
ret = av7110_fw_cmd(av7110, COMTYPE_OSD, LoadBmp, 3, format, dx, dy);
drivers/staging/media/av7110/av7110_hw.c
845
ret = WaitUntilBmpLoaded(av7110);
drivers/staging/media/av7110/av7110_hw.c
849
static int BlitBitmap(struct av7110 *av7110, u16 x, u16 y)
drivers/staging/media/av7110/av7110_hw.c
851
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110_hw.c
853
return av7110_fw_cmd(av7110, COMTYPE_OSD, BlitBmp, 4, av7110->osdwin, x, y, 0);
drivers/staging/media/av7110/av7110_hw.c
856
static inline int ReleaseBitmap(struct av7110 *av7110)
drivers/staging/media/av7110/av7110_hw.c
858
dprintk(4, "%p\n", av7110);
drivers/staging/media/av7110/av7110_hw.c
860
if (av7110->bmp_state != BMP_LOADED && FW_VERSION(av7110->arm_app) < 0x261e)
drivers/staging/media/av7110/av7110_hw.c
862
if (av7110->bmp_state == BMP_LOADING)
drivers/staging/media/av7110/av7110_hw.c
864
av7110->bmp_state = BMP_NONE;
drivers/staging/media/av7110/av7110_hw.c
865
return av7110_fw_cmd(av7110, COMTYPE_OSD, ReleaseBmp, 0);
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
884
static int OSDSetColor(struct av7110 *av7110, u8 color, u8 r, u8 g, u8 b, u8 blend)
drivers/staging/media/av7110/av7110_hw.c
894
ret = SetColor_(av7110, av7110->osdwin, bpp2pal[av7110->osdbpp[av7110->osdwin]],
drivers/staging/media/av7110/av7110_hw.c
897
ret = SetBlend_(av7110, av7110->osdwin, bpp2pal[av7110->osdbpp[av7110->osdwin]],
drivers/staging/media/av7110/av7110_hw.c
902
static int OSDSetPalette(struct av7110 *av7110, u32 __user *colors, u8 first, u8 last)
drivers/staging/media/av7110/av7110_hw.c
919
wdebi(av7110, DEBINOSWAP, DATA_BUFF3_BASE + i * 4, yuv, 4);
drivers/staging/media/av7110/av7110_hw.c
921
return av7110_fw_cmd(av7110, COMTYPE_OSD, Set_Palette, 4,
drivers/staging/media/av7110/av7110_hw.c
922
av7110->osdwin,
drivers/staging/media/av7110/av7110_hw.c
923
bpp2pal[av7110->osdbpp[av7110->osdwin]],
drivers/staging/media/av7110/av7110_hw.c
927
static int OSDSetBlock(struct av7110 *av7110, int x0, int y0,
drivers/staging/media/av7110/av7110_hw.c
940
bpp = av7110->osdbpp[av7110->osdwin] + 1;
drivers/staging/media/av7110/av7110_hw.c
947
if (av7110->bmp_state == BMP_LOADING) {
drivers/staging/media/av7110/av7110_hw.c
949
if (WARN_ON(FW_VERSION(av7110->arm_app) >= 0x261e))
drivers/staging/media/av7110/av7110_hw.c
951
rc = WaitUntilBmpLoaded(av7110);
drivers/staging/media/av7110/av7110_hw.c
961
rc = LoadBitmap(av7110, w, lpb, inc, data);
drivers/staging/media/av7110/av7110_hw.c
964
rc = BlitBitmap(av7110, x0, y0 + i * lpb);
drivers/staging/media/av7110/av7110_hw.c
970
rc = LoadBitmap(av7110, w, brest / bpl, inc, data);
drivers/staging/media/av7110/av7110_hw.c
972
rc = BlitBitmap(av7110, x0, y0 + bnum * lpb);
drivers/staging/media/av7110/av7110_hw.c
974
release_rc = ReleaseBitmap(av7110);
drivers/staging/media/av7110/av7110_hw.c
98
static int waitdebi(struct av7110 *av7110, int adr, int state)
drivers/staging/media/av7110/av7110_hw.c
982
int av7110_osd_cmd(struct av7110 *av7110, osd_cmd_t *dc)
drivers/staging/media/av7110/av7110_hw.c
986
if (mutex_lock_interruptible(&av7110->osd_mutex))
drivers/staging/media/av7110/av7110_hw.c
991
ret = DestroyOSDWindow(av7110, av7110->osdwin);
drivers/staging/media/av7110/av7110_hw.c
994
av7110->osdbpp[av7110->osdwin] = (dc->color - 1) & 7;
drivers/staging/media/av7110/av7110_hw.c
995
ret = CreateOSDWindow(av7110, av7110->osdwin,
drivers/staging/media/av7110/av7110_hw.c
996
bpp2bit[av7110->osdbpp[av7110->osdwin]],
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,
drivers/staging/media/av7110/av7110_hw.h
459
static inline int vidcom(struct av7110 *av7110, u32 com, u32 arg)
drivers/staging/media/av7110/av7110_hw.h
461
return av7110_fw_cmd(av7110, COMTYPE_MISC, AV7110_FW_VIDEO_COMMAND, 4,
drivers/staging/media/av7110/av7110_hw.h
466
static inline int audcom(struct av7110 *av7110, u32 com)
drivers/staging/media/av7110/av7110_hw.h
468
return av7110_fw_cmd(av7110, COMTYPE_MISC, AV7110_FW_AUDIO_COMMAND, 2,
drivers/staging/media/av7110/av7110_hw.h
472
static inline int Set22K(struct av7110 *av7110, int state)
drivers/staging/media/av7110/av7110_hw.h
474
return av7110_fw_cmd(av7110, COMTYPE_AUDIODAC, (state ? ON22K : OFF22K), 0);
drivers/staging/media/av7110/av7110_hw.h
477
int av7110_diseqc_send(struct av7110 *av7110, int len, u8 *msg, unsigned long burst);
drivers/staging/media/av7110/av7110_hw.h
480
int av7110_osd_cmd(struct av7110 *av7110, osd_cmd_t *dc);
drivers/staging/media/av7110/av7110_hw.h
481
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
154
rc_free_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,
drivers/staging/media/av7110/av7110_ir.c
75
AV7110_SET_IR, 1, 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->wss_mode) {
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->wss_mode = 1;
drivers/staging/media/av7110/av7110_v4l.c
60
switch (av7110->adac_type) {
drivers/staging/media/av7110/av7110_v4l.c
600
av7110->wss_data = 0;
drivers/staging/media/av7110/av7110_v4l.c
603
av7110->wss_mode = 0;
drivers/staging/media/av7110/av7110_v4l.c
604
av7110->wss_data = 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 ||
drivers/staging/media/av7110/av7110_v4l.c
620
!av7110->wss_mode || count != sizeof(d))
drivers/staging/media/av7110/av7110_v4l.c
627
av7110->wss_data = ((d.data[1] << 8) & 0x3f00) | d.data[0];
drivers/staging/media/av7110/av7110_v4l.c
629
av7110->wss_data = 0x8000;
drivers/staging/media/av7110/av7110_v4l.c
630
rc = av7110_fw_cmd(av7110, COMTYPE_ENCODER,
drivers/staging/media/av7110/av7110_v4l.c
631
AV7110_SET_WSS_CONFIG, 2, 1, av7110->wss_data);
drivers/staging/media/av7110/av7110_v4l.c
700
int av7110_init_analog_module(struct av7110 *av7110)
drivers/staging/media/av7110/av7110_v4l.c
704
if (i2c_writereg(av7110, 0x80, 0x0, 0x80) == 1 &&
drivers/staging/media/av7110/av7110_v4l.c
705
i2c_writereg(av7110, 0x80, 0x0, 0) == 1) {
drivers/staging/media/av7110/av7110_v4l.c
707
av7110->dvb_adapter.num);
drivers/staging/media/av7110/av7110_v4l.c
708
av7110->adac_type = DVB_ADAC_MSP34x0;
drivers/staging/media/av7110/av7110_v4l.c
709
} else if (i2c_writereg(av7110, 0x84, 0x0, 0x80) == 1 &&
drivers/staging/media/av7110/av7110_v4l.c
710
i2c_writereg(av7110, 0x84, 0x0, 0) == 1) {
drivers/staging/media/av7110/av7110_v4l.c
712
av7110->dvb_adapter.num);
drivers/staging/media/av7110/av7110_v4l.c
713
av7110->adac_type = DVB_ADAC_MSP34x5;
drivers/staging/media/av7110/av7110_v4l.c
719
msp_readreg(av7110, MSP_RD_DSP, 0x001e, &version1);
drivers/staging/media/av7110/av7110_v4l.c
720
msp_readreg(av7110, MSP_RD_DSP, 0x001f, &version2);
drivers/staging/media/av7110/av7110_v4l.c
722
av7110->dvb_adapter.num, version1, version2);
drivers/staging/media/av7110/av7110_v4l.c
723
msp_writereg(av7110, MSP_WR_DSP, 0x0013, 0x0c00);
drivers/staging/media/av7110/av7110_v4l.c
724
msp_writereg(av7110, MSP_WR_DSP, 0x0000, 0x7f00); // loudspeaker + headphone
drivers/staging/media/av7110/av7110_v4l.c
725
msp_writereg(av7110, MSP_WR_DSP, 0x0008, 0x0220); // loudspeaker source
drivers/staging/media/av7110/av7110_v4l.c
726
msp_writereg(av7110, MSP_WR_DSP, 0x0009, 0x0220); // headphone source
drivers/staging/media/av7110/av7110_v4l.c
727
msp_writereg(av7110, MSP_WR_DSP, 0x0004, 0x7f00); // loudspeaker volume
drivers/staging/media/av7110/av7110_v4l.c
728
msp_writereg(av7110, MSP_WR_DSP, 0x000a, 0x0220); // SCART 1 source
drivers/staging/media/av7110/av7110_v4l.c
729
msp_writereg(av7110, MSP_WR_DSP, 0x0007, 0x7f00); // SCART 1 volume
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
msp_writereg(av7110, MSP_WR_DSP, 0x000d, 0x1900); // prescale SCART
drivers/staging/media/av7110/av7110_v4l.c
732
if (i2c_writereg(av7110, 0x48, 0x01, 0x00) != 1) {
drivers/staging/media/av7110/av7110_v4l.c
737
if ((av7110->dev->pci->subsystem_vendor == 0x110a) &&
drivers/staging/media/av7110/av7110_v4l.c
738
(av7110->dev->pci->subsystem_device == 0x0000)) {
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->analog_tuner_flags |= ANALOG_TUNER_VES1820;
drivers/staging/media/av7110/av7110_v4l.c
741
} else if ((av7110->dev->pci->subsystem_vendor == 0x13c2) &&
drivers/staging/media/av7110/av7110_v4l.c
742
(av7110->dev->pci->subsystem_device == 0x0002)) {
drivers/staging/media/av7110/av7110_v4l.c
744
av7110->analog_tuner_flags |= ANALOG_TUNER_VES1820;
drivers/staging/media/av7110/av7110_v4l.c
745
} else if ((av7110->dev->pci->subsystem_vendor == 0x13c2) &&
drivers/staging/media/av7110/av7110_v4l.c
746
(av7110->dev->pci->subsystem_device == 0x000A)) {
drivers/staging/media/av7110/av7110_v4l.c
748
av7110->analog_tuner_flags |= ANALOG_TUNER_STV0297;
drivers/staging/media/av7110/av7110_v4l.c
752
if (av7110->analog_tuner_flags & ANALOG_TUNER_VES1820) {
drivers/staging/media/av7110/av7110_v4l.c
753
if (ves1820_writereg(av7110->dev, 0x09, 0x0f, 0x20))
drivers/staging/media/av7110/av7110_v4l.c
755
} else if (av7110->analog_tuner_flags & ANALOG_TUNER_STV0297) {
drivers/staging/media/av7110/av7110_v4l.c
756
saa7146_setgpio(av7110->dev, 1, SAA7146_GPIO_OUTLO); // TDA9819 pin9(STD)
drivers/staging/media/av7110/av7110_v4l.c
757
saa7146_setgpio(av7110->dev, 3, SAA7146_GPIO_OUTLO); // TDA9819 pin30(VIF)
drivers/staging/media/av7110/av7110_v4l.c
762
if (i2c_writereg(av7110, 0x48, i[0], i[1]) != 1) {
drivers/staging/media/av7110/av7110_v4l.c
763
dprintk(1, "saa7113 initialization failed @ card %d", av7110->dvb_adapter.num);
drivers/staging/media/av7110/av7110_v4l.c
769
msp_writereg(av7110, MSP_WR_DEM, 0x00bb, 0x02d0); // AD_CV
drivers/staging/media/av7110/av7110_v4l.c
770
msp_writereg(av7110, MSP_WR_DEM, 0x0001, 3); // FIR1
drivers/staging/media/av7110/av7110_v4l.c
771
msp_writereg(av7110, MSP_WR_DEM, 0x0001, 18); // FIR1
drivers/staging/media/av7110/av7110_v4l.c
772
msp_writereg(av7110, MSP_WR_DEM, 0x0001, 27); // FIR1
drivers/staging/media/av7110/av7110_v4l.c
773
msp_writereg(av7110, MSP_WR_DEM, 0x0001, 48); // FIR1
drivers/staging/media/av7110/av7110_v4l.c
774
msp_writereg(av7110, MSP_WR_DEM, 0x0001, 66); // FIR1
drivers/staging/media/av7110/av7110_v4l.c
775
msp_writereg(av7110, MSP_WR_DEM, 0x0001, 72); // FIR1
drivers/staging/media/av7110/av7110_v4l.c
776
msp_writereg(av7110, MSP_WR_DEM, 0x0005, 4); // FIR2
drivers/staging/media/av7110/av7110_v4l.c
777
msp_writereg(av7110, MSP_WR_DEM, 0x0005, 64); // FIR2
drivers/staging/media/av7110/av7110_v4l.c
778
msp_writereg(av7110, MSP_WR_DEM, 0x0005, 0); // FIR2
drivers/staging/media/av7110/av7110_v4l.c
779
msp_writereg(av7110, MSP_WR_DEM, 0x0005, 3); // FIR2
drivers/staging/media/av7110/av7110_v4l.c
780
msp_writereg(av7110, MSP_WR_DEM, 0x0005, 18); // FIR2
drivers/staging/media/av7110/av7110_v4l.c
781
msp_writereg(av7110, MSP_WR_DEM, 0x0005, 27); // FIR2
drivers/staging/media/av7110/av7110_v4l.c
782
msp_writereg(av7110, MSP_WR_DEM, 0x0005, 48); // FIR2
drivers/staging/media/av7110/av7110_v4l.c
783
msp_writereg(av7110, MSP_WR_DEM, 0x0005, 66); // FIR2
drivers/staging/media/av7110/av7110_v4l.c
784
msp_writereg(av7110, MSP_WR_DEM, 0x0005, 72); // FIR2
drivers/staging/media/av7110/av7110_v4l.c
785
msp_writereg(av7110, MSP_WR_DEM, 0x0083, 0xa000); // MODE_REG
drivers/staging/media/av7110/av7110_v4l.c
786
msp_writereg(av7110, MSP_WR_DEM, 0x0093, 0x00aa); // DCO1_LO 5.74MHz
drivers/staging/media/av7110/av7110_v4l.c
787
msp_writereg(av7110, MSP_WR_DEM, 0x009b, 0x04fc); // DCO1_HI
drivers/staging/media/av7110/av7110_v4l.c
788
msp_writereg(av7110, MSP_WR_DEM, 0x00a3, 0x038e); // DCO2_LO 5.5MHz
drivers/staging/media/av7110/av7110_v4l.c
789
msp_writereg(av7110, MSP_WR_DEM, 0x00ab, 0x04c6); // DCO2_HI
drivers/staging/media/av7110/av7110_v4l.c
790
msp_writereg(av7110, MSP_WR_DEM, 0x0056, 0); // LOAD_REG 1/2
drivers/staging/media/av7110/av7110_v4l.c
795
saa7146_write(av7110->dev, DD1_STREAM_B, 0x00000000);
drivers/staging/media/av7110/av7110_v4l.c
796
saa7146_write(av7110->dev, DD1_INIT, 0x03000700);
drivers/staging/media/av7110/av7110_v4l.c
797
saa7146_write(av7110->dev, MC2, (MASK_09 | MASK_25 | MASK_10 | MASK_26));
drivers/staging/media/av7110/av7110_v4l.c
802
int av7110_init_v4l(struct av7110 *av7110)
drivers/staging/media/av7110/av7110_v4l.c
804
struct saa7146_dev *dev = av7110->dev;
drivers/staging/media/av7110/av7110_v4l.c
812
if (av7110->analog_tuner_flags)
drivers/staging/media/av7110/av7110_v4l.c
846
if (FW_VERSION(av7110->arm_app) < 0x2623)
drivers/staging/media/av7110/av7110_v4l.c
849
if (saa7146_register_device(&av7110->v4l_dev, dev, "av7110", VFL_TYPE_VIDEO)) {
drivers/staging/media/av7110/av7110_v4l.c
854
if (FW_VERSION(av7110->arm_app) >= 0x2623) {
drivers/staging/media/av7110/av7110_v4l.c
855
if (saa7146_register_device(&av7110->vbi_dev, dev, "av7110", VFL_TYPE_VBI))
drivers/staging/media/av7110/av7110_v4l.c
861
int av7110_exit_v4l(struct av7110 *av7110)
drivers/staging/media/av7110/av7110_v4l.c
863
struct saa7146_dev *dev = av7110->dev;
drivers/staging/media/av7110/av7110_v4l.c
865
saa7146_unregister_device(&av7110->v4l_dev, av7110->dev);
drivers/staging/media/av7110/av7110_v4l.c
866
saa7146_unregister_device(&av7110->vbi_dev, av7110->dev);
drivers/staging/media/av7110/av7110_v4l.c
920
struct av7110 *av7110 = (struct av7110 *)dev->ext_priv;
drivers/staging/media/av7110/av7110_v4l.c
923
av7110->vidmode = AV7110_VIDEO_MODE_PAL;
drivers/staging/media/av7110/av7110_v4l.c
924
av7110_set_vidmode(av7110, av7110->vidmode);
drivers/staging/media/av7110/av7110_v4l.c
926
av7110->vidmode = AV7110_VIDEO_MODE_NTSC;
drivers/staging/media/av7110/av7110_v4l.c
927
av7110_set_vidmode(av7110, av7110->vidmode);