Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a4de91be authored by Steven Toth's avatar Steven Toth Committed by Mauro Carvalho Chehab
Browse files

V4L/DVB (9180): S2API: Added support for DTV_CODE_RATE_HP/LP



Reports from users that using the new API for tuning DTV was failing,
and the cache was missing some essential items.

Signed-off-by: default avatarSteven Toth <stoth@linuxtv.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent cc7d705e
Loading
Loading
Loading
Loading
+32 −0
Original line number Diff line number Diff line
@@ -830,6 +830,16 @@ struct dtv_cmds_h dtv_cmds[] = {
		.cmd	= DTV_DELIVERY_SYSTEM,
		.set	= 1,
	},
	[DTV_CODE_RATE_HP] = {
		.name	= "DTV_CODE_RATE_HP",
		.cmd	= DTV_CODE_RATE_HP,
		.set	= 1,
	},
	[DTV_CODE_RATE_LP] = {
		.name	= "DTV_CODE_RATE_LP",
		.cmd	= DTV_CODE_RATE_LP,
		.set	= 1,
	},
	/* Get */
	[DTV_DISEQC_SLAVE_REPLY] = {
		.name	= "DTV_DISEQC_SLAVE_REPLY",
@@ -842,6 +852,16 @@ struct dtv_cmds_h dtv_cmds[] = {
		.cmd	= DTV_API_VERSION,
		.set	= 0,
	},
	[DTV_CODE_RATE_HP] = {
		.name	= "DTV_CODE_RATE_HP",
		.cmd	= DTV_CODE_RATE_HP,
		.set	= 0,
	},
	[DTV_CODE_RATE_LP] = {
		.name	= "DTV_CODE_RATE_LP",
		.cmd	= DTV_CODE_RATE_LP,
		.set	= 0,
	},
};

void dtv_property_dump(struct dtv_property *tvp)
@@ -1121,6 +1141,12 @@ int dtv_property_process_get(struct dvb_frontend *fe, struct dtv_property *tvp,
	case DTV_API_VERSION:
		tvp->u.data = (DVB_API_VERSION << 8) | DVB_API_VERSION_MINOR;
		break;
	case DTV_CODE_RATE_HP:
		tvp->u.data = fe->dtv_property_cache.code_rate_HP;
		break;
	case DTV_CODE_RATE_LP:
		tvp->u.data = fe->dtv_property_cache.code_rate_LP;
		break;
	default:
		r = -1;
	}
@@ -1202,6 +1228,12 @@ int dtv_property_process_set(struct dvb_frontend *fe, struct dtv_property *tvp,
		r = dvb_frontend_ioctl_legacy(inode, file, FE_SET_TONE,
			(void *)fe->dtv_property_cache.sectone);
		break;
	case DTV_CODE_RATE_HP:
		fe->dtv_property_cache.code_rate_HP = tvp->u.data;
		break;
	case DTV_CODE_RATE_LP:
		fe->dtv_property_cache.code_rate_LP = tvp->u.data;
		break;
	default:
		r = -1;
	}
+4 −1
Original line number Diff line number Diff line
@@ -268,8 +268,11 @@ struct dvb_frontend_event {
#define DTV_DELIVERY_SYSTEM	17

#define DTV_API_VERSION				35
#define DTV_API_VERSION				35
#define DTV_CODE_RATE_HP			36
#define DTV_CODE_RATE_LP			37

#define DTV_MAX_COMMAND				DTV_API_VERSION
#define DTV_MAX_COMMAND				DTV_CODE_RATE_LP

typedef enum fe_pilot {
	PILOT_ON,