config DVB_CINERGYT2
	tristate "Terratec CinergyT2/qanu USB2 DVB-T receiver"
	depends on DVB_CORE && USB
	help
	  Support for "TerraTec CinergyT2" USB2.0 Highspeed DVB Receivers

	  Say Y if you own such a device and want to use it.


config DVB_CINERGYT2_TUNING
	bool "sophisticated fine-tuning for CinergyT2 cards"
	depends on DVB_CINERGYT2
	help
	  Here you can fine-tune some parameters of the CinergyT2 driver.

	  Normally you don't need to touch this, but in exotic setups you
	  may fine-tune your setup and adjust e.g. DMA buffer sizes for
	  a particular application.


config DVB_CINERGYT2_STREAM_URB_COUNT
	int "Number of queued USB Request Blocks for Highspeed Stream Transfers"
	depends on DVB_CINERGYT2_TUNING
	default "32"
	help
	  USB Request Blocks for Highspeed Stream transfers are scheduled in
	  a queue for the Host Controller.

	  Usually the default value is a safe choice.

	  You may increase this number if you are using this device in a
	  Server Environment with many high-traffic USB Highspeed devices
	  sharing the same USB bus.


config DVB_CINERGYT2_STREAM_BUF_SIZE
	int "Size of URB Stream Buffers for Highspeed Transfers"
	depends on DVB_CINERGYT2_TUNING
	default "512"
	help
	  Should be a multiple of native buffer size of 512 bytes.
	  Default value is a safe choice.

	  You may increase this number if you are using this device in a
	  Server Environment with many high-traffic USB Highspeed devices
	  sharing the same USB bus.


config DVB_CINERGYT2_QUERY_INTERVAL
	int "Status update interval [milliseconds]"
	depends on DVB_CINERGYT2_TUNING
	default "250"
	help
	  This is the interval for status readouts from the demodulator.
	  You may try lower values if you need more responsive signal quality
	  measurements.

	  Please keep in mind that these updates cause traffic on the tuner
	  control bus and thus may or may not affect receiption sensitivity.

	  The default value should be a safe choice for common applications.


config DVB_CINERGYT2_ENABLE_RC_INPUT_DEVICE
	bool "Register the onboard IR Remote Control Receiver as Input Device"
	depends on DVB_CINERGYT2_TUNING
	default y
	help
	  Enable this option if you want to use the onboard Infrared Remote
	  Control Receiver as Linux-Input device.

	  Right now only the keycode table for the default Remote Control
	  delivered with the device is supported, please see the driver
	  source code to find out how to add support for other controls.


config DVB_CINERGYT2_RC_QUERY_INTERVAL
	int "Infrared Remote Controller update interval [milliseconds]"
	depends on DVB_CINERGYT2_TUNING && DVB_CINERGYT2_ENABLE_RC_INPUT_DEVICE
	default "50"
	help
	  If you have a very fast-repeating remote control you can try lower
	  values, for normal consumer receivers the default value should be
	  a safe choice.

