cregit-Linux how code gets into the kernel

Release 4.7 drivers/media/dvb-frontends/as102_fe_types.h

/*
 * Abilis Systems Single DVB-T Receiver
 * Copyright (C) 2008 Pierrick Hascoet <pierrick.hascoet@abilis.com>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2, or (at your option)
 * any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */
#ifndef _AS10X_TYPES_H_

#define _AS10X_TYPES_H_

/*********************************/
/*       MACRO DEFINITIONS       */
/*********************************/

/* bandwidth constant values */

#define BW_5_MHZ		0x00

#define BW_6_MHZ		0x01

#define BW_7_MHZ		0x02

#define BW_8_MHZ		0x03

/* hierarchy priority selection values */

#define HIER_NO_PRIORITY	0x00

#define HIER_LOW_PRIORITY	0x01

#define HIER_HIGH_PRIORITY	0x02

/* constellation available values */

#define CONST_QPSK		0x00

#define CONST_QAM16		0x01

#define CONST_QAM64		0x02

#define CONST_UNKNOWN		0xFF

/* hierarchy available values */

#define HIER_NONE		0x00

#define HIER_ALPHA_1		0x01

#define HIER_ALPHA_2		0x02

#define HIER_ALPHA_4		0x03

#define HIER_UNKNOWN		0xFF

/* interleaving available values */

#define INTLV_NATIVE		0x00

#define INTLV_IN_DEPTH		0x01

#define INTLV_UNKNOWN		0xFF

/* code rate available values */

#define CODE_RATE_1_2		0x00

#define CODE_RATE_2_3		0x01

#define CODE_RATE_3_4		0x02

#define CODE_RATE_5_6		0x03

#define CODE_RATE_7_8		0x04

#define CODE_RATE_UNKNOWN	0xFF

/* guard interval available values */

#define GUARD_INT_1_32		0x00

#define GUARD_INT_1_16		0x01

#define GUARD_INT_1_8		0x02

#define GUARD_INT_1_4		0x03

#define GUARD_UNKNOWN		0xFF

/* transmission mode available values */

#define TRANS_MODE_2K		0x00

#define TRANS_MODE_8K		0x01

#define TRANS_MODE_4K		0x02

#define TRANS_MODE_UNKNOWN	0xFF

/* DVBH signalling available values */

#define TIMESLICING_PRESENT	0x01

#define MPE_FEC_PRESENT		0x02

/* tune state available */

#define TUNE_STATUS_NOT_TUNED		0x00

#define TUNE_STATUS_IDLE		0x01

#define TUNE_STATUS_LOCKING		0x02

#define TUNE_STATUS_SIGNAL_DVB_OK	0x03

#define TUNE_STATUS_STREAM_DETECTED	0x04

#define TUNE_STATUS_STREAM_TUNED	0x05

#define TUNE_STATUS_ERROR		0xFF

/* available TS FID filter types */

#define TS_PID_TYPE_TS		0

#define TS_PID_TYPE_PSI_SI	1

#define TS_PID_TYPE_MPE		2

/* number of echos available */

#define MAX_ECHOS	15

/* Context types */

#define CONTEXT_LNA			1010

#define CONTEXT_ELNA_HYSTERESIS		4003

#define CONTEXT_ELNA_GAIN		4004

#define CONTEXT_MER_THRESHOLD		5005

#define CONTEXT_MER_OFFSET		5006

#define CONTEXT_IR_STATE		7000

#define CONTEXT_TSOUT_MSB_FIRST		7004

#define CONTEXT_TSOUT_FALLING_EDGE	7005

/* Configuration modes */

#define CFG_MODE_ON	0

#define CFG_MODE_OFF	1

#define CFG_MODE_AUTO	2


struct as10x_tps {
	
uint8_t modulation;
	
uint8_t hierarchy;
	
uint8_t interleaving_mode;
	
uint8_t code_rate_HP;
	
uint8_t code_rate_LP;
	
uint8_t guard_interval;
	
uint8_t transmission_mode;
	
uint8_t DVBH_mask_HP;
	
uint8_t DVBH_mask_LP;
	
uint16_t cell_ID;
} 
__packed;


struct as10x_tune_args {
	/* frequency */
	
uint32_t freq;
	/* bandwidth */
	
uint8_t bandwidth;
	/* hierarchy selection */
	
uint8_t hier_select;
	/* constellation */
	
uint8_t modulation;
	/* hierarchy */
	
uint8_t hierarchy;
	/* interleaving mode */
	
uint8_t interleaving_mode;
	/* code rate */
	
uint8_t code_rate;
	/* guard interval */
	
uint8_t guard_interval;
	/* transmission mode */
	
uint8_t transmission_mode;
} 
__packed;


struct as10x_tune_status {
	/* tune status */
	
uint8_t tune_state;
	/* signal strength */
	
int16_t signal_strength;
	/* packet error rate 10^-4 */
	
uint16_t PER;
	/* bit error rate 10^-4 */
	
uint16_t BER;
} 
__packed;


struct as10x_demod_stats {
	/* frame counter */
	
uint32_t frame_count;
	/* Bad frame counter */
	
uint32_t bad_frame_count;
	/* Number of wrong bytes fixed by Reed-Solomon */
	
uint32_t bytes_fixed_by_rs;
	/* Averaged MER */
	
uint16_t mer;
	/* statistics calculation state indicator (started or not) */
	
uint8_t has_started;
} 
__packed;


struct as10x_ts_filter {
	
uint16_t pid;  /* valid PID value 0x00 : 0x2000 */
	
uint8_t  type; /* Red TS_PID_TYPE_<N> values */
	
uint8_t  idx;  /* index in filtering table */
} 
__packed;


struct as10x_register_value {
	
uint8_t mode;
	union {
		
uint8_t  value8;   /* 8 bit value */
		
uint16_t value16;  /* 16 bit value */
		
uint32_t value32;  /* 32 bit value */
	} 
__packed u;
} 
__packed;


struct as10x_register_addr {
	/* register addr */
	
uint32_t addr;
	/* register mode access */
	
uint8_t mode;
};

#endif

Overall Contributors

PersonTokensPropCommitsCommitProp
pierrick hascoetpierrick hascoet42997.06%116.67%
sylwester nawrockisylwester nawrocki92.04%233.33%
mauro carvalho chehabmauro carvalho chehab30.68%233.33%
gianluca gennarigianluca gennari10.23%116.67%
Total442100.00%6100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
{% endraw %}