[media] siano: add support for LNA on ISDB-T
The very same code also exists for DVB-T. Add it for ISDB-T. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
Родитель
a51fea4fdb
Коммит
0c189fa69e
|
@ -655,7 +655,7 @@ static int smsdvb_isdbt_set_frontend(struct dvb_frontend *fe)
|
||||||
int board_id = smscore_get_board_id(client->coredev);
|
int board_id = smscore_get_board_id(client->coredev);
|
||||||
struct sms_board *board = sms_get_board(board_id);
|
struct sms_board *board = sms_get_board(board_id);
|
||||||
enum sms_device_type_st type = board->type;
|
enum sms_device_type_st type = board->type;
|
||||||
|
int ret;
|
||||||
struct {
|
struct {
|
||||||
struct SmsMsgHdr_ST Msg;
|
struct SmsMsgHdr_ST Msg;
|
||||||
u32 Data[4];
|
u32 Data[4];
|
||||||
|
@ -695,6 +695,23 @@ static int smsdvb_isdbt_set_frontend(struct dvb_frontend *fe)
|
||||||
c->frequency, c->isdbt_sb_segment_count,
|
c->frequency, c->isdbt_sb_segment_count,
|
||||||
c->isdbt_sb_segment_idx);
|
c->isdbt_sb_segment_idx);
|
||||||
|
|
||||||
|
/* Disable LNA, if any. An error is returned if no LNA is present */
|
||||||
|
ret = sms_board_lna_control(client->coredev, 0);
|
||||||
|
if (ret == 0) {
|
||||||
|
fe_status_t status;
|
||||||
|
|
||||||
|
/* tune with LNA off at first */
|
||||||
|
ret = smsdvb_sendrequest_and_wait(client, &Msg, sizeof(Msg),
|
||||||
|
&client->tune_done);
|
||||||
|
|
||||||
|
smsdvb_read_status(fe, &status);
|
||||||
|
|
||||||
|
if (status & FE_HAS_LOCK)
|
||||||
|
return ret;
|
||||||
|
|
||||||
|
/* previous tune didn't lock - enable LNA and tune again */
|
||||||
|
sms_board_lna_control(client->coredev, 1);
|
||||||
|
}
|
||||||
return smsdvb_sendrequest_and_wait(client, &Msg, sizeof(Msg),
|
return smsdvb_sendrequest_and_wait(client, &Msg, sizeof(Msg),
|
||||||
&client->tune_done);
|
&client->tune_done);
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче