• M
    [media] dvb-core, tda18271c2dd: define get_if_frequency() callback · 8513e144
    Mauro Carvalho Chehab 提交于
    Tuners in general convert a high frequency carrier into an Intermediate
    Frequency (IF).
    
    Digital tuners like tda18271, xc3028, etc. generally allow changing the IF
    frequency, although they generally have recommented settings for the IF.
    Analog tuners, have a fixed IF frequency, that depends on the physical
    characteristics of some analog components.
    
    For digital tuners, it makes sense to have ways to configure IF,
    via the tuner's configuration structure, like what's done inside the
    tda18271-fe maps.
    
    The demods need to know what IF is used by the tuner, as it will need
    to convert internally from IF into baseband. Currently, the bridge driver
    needs to fill a per-demod configuration struct for it, or pass it via
    a dvb_attach parameter.
    
    The tda18271 datasheet recommends to use different IF's for different
    delivery system types and for different bandwidths.
    
    The DRX-K demod also needs to know the IF frequency in order to work,
    just like all other demods. However, as it accepts different delivery
    systems (DVB-C and DVB-T), the IF may change if the standard and/or
    bandwidth is changed.
    
    So, the usual procedure of passing it via a config struct doesn't work.
    
    One might try to code it as two separate IF frequencies, or even as a
    table in function of the delivery system and the bandwidth, but this
    will be messy.
    
    So, it is better and simpler to just add a new callback for it and
    require the tuners that can be used with MFE frontends like drx-k
    to implement a new callback to return the used IF.
    Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
    Acked-by: NAntti Palosaari <crope@iki.fi>
    8513e144
drxk_hard.c 167.2 KB