Lines Matching refs:budget

2  * budget-ci.c: driver for the SAA7146 based Budget DVB cards
39 #include "budget.h"
110 struct budget budget;
123 u32 command = ttpci_budget_debiread(&budget_ci->budget, DEBINOSWAP, DEBIADDR_IR, 2, 1, 0) >> 8;
176 struct saa7146_dev *saa = budget_ci->budget.dev;
211 switch (budget_ci->budget.dev->pci->subsystem_device) {
259 struct saa7146_dev *saa = budget_ci->budget.dev;
275 return ttpci_budget_debiread(&budget_ci->budget, DEBICICAM,
286 return ttpci_budget_debiwrite(&budget_ci->budget, DEBICICAM,
297 return ttpci_budget_debiread(&budget_ci->budget, DEBICICAM,
308 return ttpci_budget_debiwrite(&budget_ci->budget, DEBICICAM,
315 struct saa7146_dev *saa = budget_ci->budget.dev;
325 ttpci_budget_debiwrite(&budget_ci->budget, DEBICICTL, DEBIADDR_CICONTROL, 1, 0, 1, 0);
327 ttpci_budget_debiwrite(&budget_ci->budget, DEBICICTL, DEBIADDR_CICONTROL, 1,
338 struct saa7146_dev *saa = budget_ci->budget.dev;
351 struct saa7146_dev *saa = budget_ci->budget.dev;
359 tmp = ttpci_budget_debiread(&budget_ci->budget, DEBICICTL, DEBIADDR_CICONTROL, 1, 1, 0);
360 ttpci_budget_debiwrite(&budget_ci->budget, DEBICICTL, DEBIADDR_CICONTROL, 1,
370 struct saa7146_dev *saa = budget_ci->budget.dev;
374 if (!budget_ci->budget.ci_present)
378 flags = ttpci_budget_debiread(&budget_ci->budget, DEBICICTL, DEBIADDR_CICONTROL, 1, 1, 0);
422 if (!budget_ci->budget.ci_present)
426 flags = ttpci_budget_debiread(&budget_ci->budget, DEBICICTL, DEBIADDR_CICONTROL, 1, 1, 0);
455 struct saa7146_dev *saa = budget_ci->budget.dev;
467 ci_version = ttpci_budget_debiread(&budget_ci->budget, DEBICICTL, DEBIADDR_CIVERSION, 1, 1, 0);
474 flags = ttpci_budget_debiread(&budget_ci->budget, DEBICICTL, DEBIADDR_CICONTROL, 1, 1, 0);
501 if ((result = dvb_ca_en50221_init(&budget_ci->budget.dvb_adapter,
520 ttpci_budget_debiwrite(&budget_ci->budget, DEBICICTL, DEBIADDR_CICONTROL, 1,
525 budget_ci->budget.ci_present = 1;
544 struct saa7146_dev *saa = budget_ci->budget.dev;
554 ttpci_budget_debiwrite(&budget_ci->budget, DEBICICTL, DEBIADDR_CICONTROL, 1, 0, 1, 0);
556 ttpci_budget_debiwrite(&budget_ci->budget, DEBICICTL, DEBIADDR_CICONTROL, 1,
581 if ((*isr & MASK_03) && (budget_ci->budget.ci_present) && (budget_ci->ci_irq))
694 if (i2c_transfer(&budget_ci->budget.i2c_adap, &msg, 1) != 1)
725 if (i2c_transfer(&budget_ci->budget.i2c_adap, &tuner_msg, 1) != 1)
735 if (i2c_transfer(&budget_ci->budget.i2c_adap, &tuner_msg, 1) != 1) {
738 i2c_transfer(&budget_ci->budget.i2c_adap, &tuner_msg, 1);
823 if (i2c_transfer(&budget_ci->budget.i2c_adap, &tuner_msg, 1) != 1)
835 return request_firmware(fw, name, &budget_ci->budget.dev->pci->dev);
921 if (i2c_transfer(&budget_ci->budget.i2c_adap, &tuner_msg, 1) != 1)
928 if (i2c_transfer(&budget_ci->budget.i2c_adap, &tuner_msg, 1) != 1)
1317 switch (budget_ci->budget.dev->pci->subsystem_device) {
1318 case 0x100c: // Hauppauge/TT Nova-CI budget (stv0299/ALPS BSRU6(tsa5059))
1319 budget_ci->budget.dvb_frontend =
1320 dvb_attach(stv0299_attach, &alps_bsru6_config, &budget_ci->budget.i2c_adap);
1321 if (budget_ci->budget.dvb_frontend) {
1322 budget_ci->budget.dvb_frontend->ops.tuner_ops.set_params = alps_bsru6_tuner_set_params;
1323 budget_ci->budget.dvb_frontend->tuner_priv = &budget_ci->budget.i2c_adap;
1328 case 0x100f: // Hauppauge/TT Nova-CI budget (stv0299b/Philips su1278(tsa5059))
1329 budget_ci->budget.dvb_frontend =
1330 dvb_attach(stv0299_attach, &philips_su1278_tt_config, &budget_ci->budget.i2c_adap);
1331 if (budget_ci->budget.dvb_frontend) {
1332 budget_ci->budget.dvb_frontend->ops.tuner_ops.set_params = philips_su1278_tt_tuner_set_params;
1337 case 0x1010: // TT DVB-C CI budget (stv0297/Philips tdm1316l(tda6651tt))
1339 budget_ci->budget.dvb_frontend =
1340 dvb_attach(stv0297_attach, &dvbc_philips_tdm1316l_config, &budget_ci->budget.i2c_adap);
1341 if (budget_ci->budget.dvb_frontend) {
1342 budget_ci->budget.dvb_frontend->ops.tuner_ops.set_params = dvbc_philips_tdm1316l_tuner_set_params;
1347 case 0x1011: // Hauppauge/TT Nova-T budget (tda10045/Philips tdm1316l(tda6651tt) + TDA9889)
1349 budget_ci->budget.dvb_frontend =
1350 dvb_attach(tda10045_attach, &philips_tdm1316l_config, &budget_ci->budget.i2c_adap);
1351 if (budget_ci->budget.dvb_frontend) {
1352 budget_ci->budget.dvb_frontend->ops.tuner_ops.init = philips_tdm1316l_tuner_init;
1353 budget_ci->budget.dvb_frontend->ops.tuner_ops.set_params = philips_tdm1316l_tuner_set_params;
1358 case 0x1012: // TT DVB-T CI budget (tda10046/Philips tdm1316l(tda6651tt))
1360 budget_ci->budget.dvb_frontend =
1361 dvb_attach(tda10046_attach, &philips_tdm1316l_config_invert, &budget_ci->budget.i2c_adap);
1362 if (budget_ci->budget.dvb_frontend) {
1363 budget_ci->budget.dvb_frontend->ops.tuner_ops.init = philips_tdm1316l_tuner_init;
1364 budget_ci->budget.dvb_frontend->ops.tuner_ops.set_params = philips_tdm1316l_tuner_set_params;
1370 budget_ci->budget.dvb_frontend = dvb_attach(stv0299_attach, &alps_bsbe1_config, &budget_ci->budget.i2c_adap);
1371 if (budget_ci->budget.dvb_frontend) {
1372 budget_ci->budget.dvb_frontend->ops.tuner_ops.set_params = alps_bsbe1_tuner_set_params;
1373 budget_ci->budget.dvb_frontend->tuner_priv = &budget_ci->budget.i2c_adap;
1375 budget_ci->budget.dvb_frontend->ops.dishnetwork_send_legacy_command = NULL;
1376 if (dvb_attach(lnbp21_attach, budget_ci->budget.dvb_frontend, &budget_ci->budget.i2c_adap, LNBP21_LLC, 0) == NULL) {
1378 dvb_frontend_detach(budget_ci->budget.dvb_frontend);
1379 budget_ci->budget.dvb_frontend = NULL;
1385 budget_ci->budget.dvb_frontend = dvb_attach(tda10023_attach, &tda10023_config, &budget_ci->budget.i2c_adap, 0x48);
1386 if (budget_ci->budget.dvb_frontend) {
1387 if (dvb_attach(tda827x_attach, budget_ci->budget.dvb_frontend, 0x61, &budget_ci->budget.i2c_adap, &tda827x_config) == NULL) {
1389 dvb_frontend_detach(budget_ci->budget.dvb_frontend);
1390 budget_ci->budget.dvb_frontend = NULL;
1396 budget_ci->budget.dvb_frontend = dvb_attach(stv0288_attach, &stv0288_bsbe1_d01a_config, &budget_ci->budget.i2c_adap);
1397 if (budget_ci->budget.dvb_frontend) {
1398 if (dvb_attach(stb6000_attach, budget_ci->budget.dvb_frontend, 0x63, &budget_ci->budget.i2c_adap)) {
1399 if (!dvb_attach(lnbp21_attach, budget_ci->budget.dvb_frontend, &budget_ci->budget.i2c_adap, 0, 0)) {
1401 dvb_frontend_detach(budget_ci->budget.dvb_frontend);
1402 budget_ci->budget.dvb_frontend = NULL;
1406 dvb_frontend_detach(budget_ci->budget.dvb_frontend);
1407 budget_ci->budget.dvb_frontend = NULL;
1425 saa7146_setgpio(budget_ci->budget.dev, 2, SAA7146_GPIO_OUTLO);
1429 saa7146_setgpio(budget_ci->budget.dev, 2, SAA7146_GPIO_OUTHI);
1436 budget_ci->budget.dvb_frontend = dvb_attach(stb0899_attach, &tt3200_config, &budget_ci->budget.i2c_adap);
1437 if (budget_ci->budget.dvb_frontend) {
1438 if (dvb_attach(stb6100_attach, budget_ci->budget.dvb_frontend, &tt3200_stb6100_config, &budget_ci->budget.i2c_adap)) {
1439 if (!dvb_attach(lnbp21_attach, budget_ci->budget.dvb_frontend, &budget_ci->budget.i2c_adap, 0, 0)) {
1441 dvb_frontend_detach(budget_ci->budget.dvb_frontend);
1442 budget_ci->budget.dvb_frontend = NULL;
1445 dvb_frontend_detach(budget_ci->budget.dvb_frontend);
1446 budget_ci->budget.dvb_frontend = NULL;
1453 if (budget_ci->budget.dvb_frontend == NULL) {
1454 printk("budget-ci: A frontend driver was not found for device [%04x:%04x] subsystem [%04x:%04x]\n",
1455 budget_ci->budget.dev->pci->vendor,
1456 budget_ci->budget.dev->pci->device,
1457 budget_ci->budget.dev->pci->subsystem_vendor,
1458 budget_ci->budget.dev->pci->subsystem_device);
1461 (&budget_ci->budget.dvb_adapter, budget_ci->budget.dvb_frontend)) {
1462 printk("budget-ci: Frontend registration failed!\n");
1463 dvb_frontend_detach(budget_ci->budget.dvb_frontend);
1464 budget_ci->budget.dvb_frontend = NULL;
1484 err = ttpci_budget_init(&budget_ci->budget, dev, info, THIS_MODULE,
1495 budget_ci->budget.dvb_adapter.priv = budget_ci;
1498 ttpci_budget_init_hooks(&budget_ci->budget);
1503 ttpci_budget_deinit(&budget_ci->budget);
1513 struct saa7146_dev *saa = budget_ci->budget.dev;
1516 if (budget_ci->budget.ci_present)
1519 if (budget_ci->budget.dvb_frontend) {
1520 dvb_unregister_frontend(budget_ci->budget.dvb_frontend);
1521 dvb_frontend_detach(budget_ci->budget.dvb_frontend);
1523 err = ttpci_budget_deinit(&budget_ci->budget);
1590 "budget PCI DVB cards w/ CI-module produced by "