162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ciconfig VIDEO_IVTV
362306a36Sopenharmony_ci	tristate "Conexant cx23416/cx23415 MPEG encoder/decoder support"
462306a36Sopenharmony_ci	depends on VIDEO_DEV && PCI && I2C
562306a36Sopenharmony_ci	select I2C_ALGOBIT
662306a36Sopenharmony_ci	depends on RC_CORE
762306a36Sopenharmony_ci	select VIDEO_TUNER
862306a36Sopenharmony_ci	select VIDEO_TVEEPROM
962306a36Sopenharmony_ci	select VIDEO_CX2341X
1062306a36Sopenharmony_ci	select VIDEO_CX25840
1162306a36Sopenharmony_ci	select VIDEO_MSP3400
1262306a36Sopenharmony_ci	select VIDEO_SAA711X
1362306a36Sopenharmony_ci	select VIDEO_SAA717X
1462306a36Sopenharmony_ci	select VIDEO_SAA7127
1562306a36Sopenharmony_ci	select VIDEO_CS53L32A
1662306a36Sopenharmony_ci	select VIDEO_M52790
1762306a36Sopenharmony_ci	select VIDEO_WM8775
1862306a36Sopenharmony_ci	select VIDEO_WM8739
1962306a36Sopenharmony_ci	select VIDEO_VP27SMPX
2062306a36Sopenharmony_ci	select VIDEO_UPD64031A
2162306a36Sopenharmony_ci	select VIDEO_UPD64083
2262306a36Sopenharmony_ci	help
2362306a36Sopenharmony_ci	  This is a video4linux driver for Conexant cx23416 or cx23415 based
2462306a36Sopenharmony_ci	  PCI personal video recorder devices.
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci	  This is used in devices such as the Hauppauge PVR-150/250/350/500
2762306a36Sopenharmony_ci	  cards.
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
3062306a36Sopenharmony_ci	  module will be called ivtv.
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ciconfig VIDEO_IVTV_ALSA
3362306a36Sopenharmony_ci	tristate "Conexant cx23415/cx23416 ALSA interface for PCM audio capture"
3462306a36Sopenharmony_ci	depends on VIDEO_IVTV && SND
3562306a36Sopenharmony_ci	select SND_PCM
3662306a36Sopenharmony_ci	help
3762306a36Sopenharmony_ci	  This driver provides an ALSA interface as another method for user
3862306a36Sopenharmony_ci	  applications to obtain PCM audio data from Conexant cx23415/cx23416
3962306a36Sopenharmony_ci	  based PCI TV cards supported by the ivtv driver.
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci	  The ALSA interface has much wider use in user applications performing
4262306a36Sopenharmony_ci	  PCM audio capture, than the V4L2 "/dev/video24" PCM audio interface
4362306a36Sopenharmony_ci	  provided by the main ivtv driver.
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
4662306a36Sopenharmony_ci	  module will be called ivtv-alsa.
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ciconfig VIDEO_FB_IVTV
4962306a36Sopenharmony_ci	tristate "Conexant cx23415 framebuffer support"
5062306a36Sopenharmony_ci	depends on VIDEO_IVTV && FB
5162306a36Sopenharmony_ci	select FB_CFB_FILLRECT
5262306a36Sopenharmony_ci	select FB_CFB_COPYAREA
5362306a36Sopenharmony_ci	select FB_CFB_IMAGEBLIT
5462306a36Sopenharmony_ci	help
5562306a36Sopenharmony_ci	  This is a framebuffer driver for the Conexant cx23415 MPEG
5662306a36Sopenharmony_ci	  encoder/decoder.
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci	  This is used in the Hauppauge PVR-350 card.
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
6162306a36Sopenharmony_ci	  module will be called ivtvfb.
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ciconfig VIDEO_FB_IVTV_FORCE_PAT
6462306a36Sopenharmony_ci	bool "force cx23415 framebuffer init with x86 PAT enabled"
6562306a36Sopenharmony_ci	depends on VIDEO_FB_IVTV && X86_PAT
6662306a36Sopenharmony_ci	help
6762306a36Sopenharmony_ci	  With PAT enabled, the cx23415 framebuffer driver does not
6862306a36Sopenharmony_ci	  utilize write-combined caching on the framebuffer memory.
6962306a36Sopenharmony_ci	  For this reason, the driver will by default disable itself
7062306a36Sopenharmony_ci	  when initializied on a kernel with PAT enabled (i.e. not
7162306a36Sopenharmony_ci	  using the nopat kernel parameter).
7262306a36Sopenharmony_ci
7362306a36Sopenharmony_ci	  The driver is not easily upgradable to the PAT-aware
7462306a36Sopenharmony_ci	  ioremap_wc() API since the firmware hides the address
7562306a36Sopenharmony_ci	  ranges that should be marked write-combined from the driver.
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_ci	  With this setting enabled, the framebuffer will initialize on
7862306a36Sopenharmony_ci	  PAT-enabled systems but the framebuffer memory will be uncached.
7962306a36Sopenharmony_ci
8062306a36Sopenharmony_ci	  If unsure, say N.
81