diff options
Diffstat (limited to 'drivers/media/dvb-frontends/horus3a.c')
-rw-r--r-- | drivers/media/dvb-frontends/horus3a.c | 26 |
1 files changed, 3 insertions, 23 deletions
diff --git a/drivers/media/dvb-frontends/horus3a.c b/drivers/media/dvb-frontends/horus3a.c index 000606af70f7..a98bca5270d9 100644 --- a/drivers/media/dvb-frontends/horus3a.c +++ b/drivers/media/dvb-frontends/horus3a.c | |||
@@ -66,7 +66,7 @@ static int horus3a_write_regs(struct horus3a_priv *priv, | |||
66 | } | 66 | } |
67 | }; | 67 | }; |
68 | 68 | ||
69 | if (len + 1 >= sizeof(buf)) { | 69 | if (len + 1 > sizeof(buf)) { |
70 | dev_warn(&priv->i2c->dev,"wr reg=%04x: len=%d is too big!\n", | 70 | dev_warn(&priv->i2c->dev,"wr reg=%04x: len=%d is too big!\n", |
71 | reg, len + 1); | 71 | reg, len + 1); |
72 | return -E2BIG; | 72 | return -E2BIG; |
@@ -272,24 +272,6 @@ static int horus3a_set_params(struct dvb_frontend *fe) | |||
272 | if (fc_lpf > 36) | 272 | if (fc_lpf > 36) |
273 | fc_lpf = 36; | 273 | fc_lpf = 36; |
274 | } else if (p->delivery_system == SYS_DVBS2) { | 274 | } else if (p->delivery_system == SYS_DVBS2) { |
275 | int rolloff; | ||
276 | |||
277 | switch (p->rolloff) { | ||
278 | case ROLLOFF_35: | ||
279 | rolloff = 35; | ||
280 | break; | ||
281 | case ROLLOFF_25: | ||
282 | rolloff = 25; | ||
283 | break; | ||
284 | case ROLLOFF_20: | ||
285 | rolloff = 20; | ||
286 | break; | ||
287 | case ROLLOFF_AUTO: | ||
288 | default: | ||
289 | dev_err(&priv->i2c->dev, | ||
290 | "horus3a: auto roll-off is not supported\n"); | ||
291 | return -EINVAL; | ||
292 | } | ||
293 | /* | 275 | /* |
294 | * SR <= 4.5: | 276 | * SR <= 4.5: |
295 | * fc_lpf = 5 | 277 | * fc_lpf = 5 |
@@ -302,11 +284,9 @@ static int horus3a_set_params(struct dvb_frontend *fe) | |||
302 | if (symbol_rate <= 4500) | 284 | if (symbol_rate <= 4500) |
303 | fc_lpf = 5; | 285 | fc_lpf = 5; |
304 | else if (symbol_rate <= 10000) | 286 | else if (symbol_rate <= 10000) |
305 | fc_lpf = (u8)DIV_ROUND_UP( | 287 | fc_lpf = (u8)((symbol_rate * 11 + (10000-1)) / 10000); |
306 | symbol_rate * (200 + rolloff), 200000); | ||
307 | else | 288 | else |
308 | fc_lpf = (u8)DIV_ROUND_UP( | 289 | fc_lpf = (u8)((symbol_rate * 3 + (5000-1)) / 5000 + 5); |
309 | symbol_rate * (100 + rolloff), 200000) + 5; | ||
310 | /* 5 <= fc_lpf <= 36 is valid */ | 290 | /* 5 <= fc_lpf <= 36 is valid */ |
311 | if (fc_lpf > 36) | 291 | if (fc_lpf > 36) |
312 | fc_lpf = 36; | 292 | fc_lpf = 36; |