From 7602ecf3e5610f0631816a4d835317c14f1c3611 Mon Sep 17 00:00:00 2001 From: Ralph Metzler Date: Fri, 4 Aug 2017 17:50:03 +0200 Subject: [PATCH] fixed regression for FSM modulators --- ddbridge/ddbridge-main.c | 2 +- ddbridge/ddbridge-modulator.c | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/ddbridge/ddbridge-main.c b/ddbridge/ddbridge-main.c index 82061d0..7e39ebc 100644 --- a/ddbridge/ddbridge-main.c +++ b/ddbridge/ddbridge-main.c @@ -286,7 +286,7 @@ static int __devinit ddb_probe(struct pci_dev *pdev, ddbwritel(dev, 0, DMA_BASE_WRITE); if (dev->link[0].info->type == DDB_MOD) { - if (dev->link[0].info->version == 1) + if (dev->link[0].info->version <= 1) if (ddbreadl(dev, 0x1c) == 4) dev->link[0].info->port_num = 4; } diff --git a/ddbridge/ddbridge-modulator.c b/ddbridge/ddbridge-modulator.c index 4c78f03..d59a341 100644 --- a/ddbridge/ddbridge-modulator.c +++ b/ddbridge/ddbridge-modulator.c @@ -516,6 +516,7 @@ static int mod_fsm_setup(struct ddb *dev, u32 FrequencyPlan, else ddbwritel(dev, FSM_GAIN_N96, FSM_GAIN); + ddbwritel(dev, FSM_CONTROL_ENABLE, FSM_CONTROL); dev->link[0].info->port_num = MaxUsedChannels; return status; @@ -1644,6 +1645,13 @@ static int mod_init_2(struct ddb *dev, u32 Frequency) mod_set_symbolrate(mod, 6900000); mod_set_frequency(mod, dev->mod_base.frequency + i * 8000000); } + if (streams <= 8) + mod_set_vga(dev, RF_VGA_GAIN_N8); + else if (streams <= 16) + mod_set_vga(dev, RF_VGA_GAIN_N16); + else + mod_set_vga(dev, RF_VGA_GAIN_N24); + mod_set_attenuator(dev, 0); return 0; }