* v4 [PATCH 07/10] TDA18271: Allow frontend to set DELSYS
@ 2011-12-10 4:43 Manu Abraham
2011-12-10 12:41 ` Mauro Carvalho Chehab
0 siblings, 1 reply; 4+ messages in thread
From: Manu Abraham @ 2011-12-10 4:43 UTC (permalink / raw)
To: Linux Media Mailing List
[-- Attachment #1: Type: text/plain, Size: 1 bytes --]
[-- Attachment #2: 0007-TDA18271-Allow-frontend-to-set-DELSYS-rather-than-qu.patch --]
[-- Type: text/x-patch, Size: 3713 bytes --]
From 252d4ec800ba73bde8958b8c23ca92a6e17288e2 Mon Sep 17 00:00:00 2001
From: Manu Abraham <abraham.manu@gmail.com>
Date: Thu, 24 Nov 2011 19:15:56 +0530
Subject: [PATCH 07/10] TDA18271: Allow frontend to set DELSYS, rather than querying fe->ops.info.type
With any tuner that can tune to multiple delivery systems/standards, it does
query fe->ops.info.type to determine frontend type and set the delivery
system type. fe->ops.info.type can handle only 4 delivery systems, viz FE_QPSK,
FE_QAM, FE_OFDM and FE_ATSC.
The change allows the tuner to be set to any delivery system specified in
fe_delivery_system_t, thereby simplifying a lot of issues.
Signed-off-by: Manu Abraham <abraham.manu@gmail.com>
---
drivers/media/common/tuners/tda18271-fe.c | 81 +++++++++++++++--------------
1 files changed, 41 insertions(+), 40 deletions(-)
diff --git a/drivers/media/common/tuners/tda18271-fe.c b/drivers/media/common/tuners/tda18271-fe.c
index 3347c5b..cee1a39 100644
--- a/drivers/media/common/tuners/tda18271-fe.c
+++ b/drivers/media/common/tuners/tda18271-fe.c
@@ -935,69 +935,70 @@ static int tda18271_set_params(struct dvb_frontend *fe,
struct tda18271_std_map *std_map = &priv->std;
struct tda18271_std_map_item *map;
int ret;
- u32 bw, freq = params->frequency;
+ u32 bw, bandwidth = 0, freq;
+ fe_delivery_system_t delsys;
+
+ delsys = fe->dtv_property_cache.delivery_system;
+ bw = fe->dtv_property_cache.bandwidth_hz;
+ freq = fe->dtv_property_cache.frequency;
priv->mode = TDA18271_DIGITAL;
- if (fe->ops.info.type == FE_ATSC) {
- switch (params->u.vsb.modulation) {
- case VSB_8:
- case VSB_16:
- map = &std_map->atsc_6;
- break;
- case QAM_64:
- case QAM_256:
- map = &std_map->qam_6;
- break;
- default:
- tda_warn("modulation not set!\n");
+ if (!delsys || !freq) {
+ tda_warn("delsys:%d freq:%d!\n", delsys, freq);
+ return -EINVAL;
+ }
+ switch (delsys) {
+ case SYS_ATSC:
+ map = &std_map->atsc_6;
+ bandwidth = 6000000;
+ break;
+ case SYS_DVBC_ANNEX_B:
+ map = &std_map->qam_6;
+ bandwidth = 6000000;
+ break;
+ case SYS_DVBC_ANNEX_A:
+ case SYS_DVBC_ANNEX_C:
+ map = &std_map->qam_8;
+ bandwidth = 8000000;
+ break;
+ case SYS_DVBT:
+ case SYS_DVBT2:
+ if (!bw)
return -EINVAL;
- }
-#if 0
- /* userspace request is already center adjusted */
- freq += 1750000; /* Adjust to center (+1.75MHZ) */
-#endif
- bw = 6000000;
- } else if (fe->ops.info.type == FE_OFDM) {
- switch (params->u.ofdm.bandwidth) {
- case BANDWIDTH_6_MHZ:
- bw = 6000000;
+ switch (bw) {
+ case 6000000:
map = &std_map->dvbt_6;
break;
- case BANDWIDTH_7_MHZ:
- bw = 7000000;
+ case 7000000:
map = &std_map->dvbt_7;
break;
- case BANDWIDTH_8_MHZ:
- bw = 8000000;
+ case 8000000:
map = &std_map->dvbt_8;
break;
default:
- tda_warn("bandwidth not set!\n");
- return -EINVAL;
+ ret = -EINVAL;
+ goto fail;
}
- } else if (fe->ops.info.type == FE_QAM) {
- /* DVB-C */
- map = &std_map->qam_8;
- bw = 8000000;
- } else {
- tda_warn("modulation type not supported!\n");
- return -EINVAL;
+ break;
+ default:
+ tda_warn("Invalid delivery system!\n");
+ ret = -EINVAL;
+ goto fail;
}
-
/* When tuning digital, the analog demod must be tri-stated */
if (fe->ops.analog_ops.standby)
fe->ops.analog_ops.standby(fe);
- ret = tda18271_tune(fe, map, freq, bw);
+ ret = tda18271_tune(fe, map, freq, bandwidth);
if (tda_fail(ret))
goto fail;
priv->if_freq = map->if_freq;
priv->frequency = freq;
- priv->bandwidth = (fe->ops.info.type == FE_OFDM) ?
- params->u.ofdm.bandwidth : 0;
+ priv->bandwidth = (delsys == SYS_DVBT || delsys == SYS_DVBT2) ?
+ bandwidth : 0;
fail:
return ret;
}
--
1.7.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: v4 [PATCH 07/10] TDA18271: Allow frontend to set DELSYS
2011-12-10 4:43 v4 [PATCH 07/10] TDA18271: Allow frontend to set DELSYS Manu Abraham
@ 2011-12-10 12:41 ` Mauro Carvalho Chehab
2011-12-10 12:45 ` Mauro Carvalho Chehab
0 siblings, 1 reply; 4+ messages in thread
From: Mauro Carvalho Chehab @ 2011-12-10 12:41 UTC (permalink / raw)
To: Manu Abraham; +Cc: Linux Media Mailing List
On 10-12-2011 02:43, Manu Abraham wrote:
> From 252d4ec800ba73bde8958b8c23ca92a6e17288e2 Mon Sep 17 00:00:00 2001
> From: Manu Abraham <abraham.manu@gmail.com>
> Date: Thu, 24 Nov 2011 19:15:56 +0530
> Subject: [PATCH 07/10] TDA18271: Allow frontend to set DELSYS, rather than querying fe->ops.info.type
>
> With any tuner that can tune to multiple delivery systems/standards, it does
> query fe->ops.info.type to determine frontend type and set the delivery
> system type. fe->ops.info.type can handle only 4 delivery systems, viz FE_QPSK,
> FE_QAM, FE_OFDM and FE_ATSC.
>
> The change allows the tuner to be set to any delivery system specified in
> fe_delivery_system_t, thereby simplifying a lot of issues.
>
> Signed-off-by: Manu Abraham <abraham.manu@gmail.com>
> ---
> drivers/media/common/tuners/tda18271-fe.c | 81 +++++++++++++++--------------
> 1 files changed, 41 insertions(+), 40 deletions(-)
>
> diff --git a/drivers/media/common/tuners/tda18271-fe.c b/drivers/media/common/tuners/tda18271-fe.c
> index 3347c5b..cee1a39 100644
> --- a/drivers/media/common/tuners/tda18271-fe.c
> +++ b/drivers/media/common/tuners/tda18271-fe.c
> @@ -935,69 +935,70 @@ static int tda18271_set_params(struct dvb_frontend *fe,
> struct tda18271_std_map *std_map = &priv->std;
> struct tda18271_std_map_item *map;
> int ret;
> - u32 bw, freq = params->frequency;
> + u32 bw, bandwidth = 0, freq;
> + fe_delivery_system_t delsys;
> +
> + delsys = fe->dtv_property_cache.delivery_system;
> + bw = fe->dtv_property_cache.bandwidth_hz;
> + freq = fe->dtv_property_cache.frequency;
>
> priv->mode = TDA18271_DIGITAL;
>
> - if (fe->ops.info.type == FE_ATSC) {
> - switch (params->u.vsb.modulation) {
> - case VSB_8:
> - case VSB_16:
> - map = &std_map->atsc_6;
> - break;
> - case QAM_64:
> - case QAM_256:
> - map = &std_map->qam_6;
> - break;
> - default:
> - tda_warn("modulation not set!\n");
> + if (!delsys || !freq) {
> + tda_warn("delsys:%d freq:%d!\n", delsys, freq);
> + return -EINVAL;
> + }
> + switch (delsys) {
> + case SYS_ATSC:
> + map = &std_map->atsc_6;
> + bandwidth = 6000000;
> + break;
> + case SYS_DVBC_ANNEX_B:
> + map = &std_map->qam_6;
> + bandwidth = 6000000;
> + break;
> + case SYS_DVBC_ANNEX_A:
> + case SYS_DVBC_ANNEX_C:
> + map = &std_map->qam_8;
> + bandwidth = 8000000;
> + break;
This is wrong.
The bandwidth needs to be calculated, based on the roll-off factor.
Also, this patch doesn't apply anymore, due to the patches that were
already applied.
> + case SYS_DVBT:
> + case SYS_DVBT2:
> + if (!bw)
> return -EINVAL;
> - }
> -#if 0
> - /* userspace request is already center adjusted */
> - freq += 1750000; /* Adjust to center (+1.75MHZ) */
> -#endif
> - bw = 6000000;
> - } else if (fe->ops.info.type == FE_OFDM) {
> - switch (params->u.ofdm.bandwidth) {
> - case BANDWIDTH_6_MHZ:
> - bw = 6000000;
> + switch (bw) {
> + case 6000000:
> map = &std_map->dvbt_6;
> break;
> - case BANDWIDTH_7_MHZ:
> - bw = 7000000;
> + case 7000000:
> map = &std_map->dvbt_7;
> break;
> - case BANDWIDTH_8_MHZ:
> - bw = 8000000;
> + case 8000000:
> map = &std_map->dvbt_8;
> break;
> default:
> - tda_warn("bandwidth not set!\n");
> - return -EINVAL;
> + ret = -EINVAL;
> + goto fail;
> }
> - } else if (fe->ops.info.type == FE_QAM) {
> - /* DVB-C */
> - map = &std_map->qam_8;
> - bw = 8000000;
> - } else {
> - tda_warn("modulation type not supported!\n");
> - return -EINVAL;
> + break;
> + default:
> + tda_warn("Invalid delivery system!\n");
> + ret = -EINVAL;
> + goto fail;
> }
> -
> /* When tuning digital, the analog demod must be tri-stated */
> if (fe->ops.analog_ops.standby)
> fe->ops.analog_ops.standby(fe);
>
> - ret = tda18271_tune(fe, map, freq, bw);
> + ret = tda18271_tune(fe, map, freq, bandwidth);
>
> if (tda_fail(ret))
> goto fail;
>
> priv->if_freq = map->if_freq;
> priv->frequency = freq;
> - priv->bandwidth = (fe->ops.info.type == FE_OFDM) ?
> - params->u.ofdm.bandwidth : 0;
> + priv->bandwidth = (delsys == SYS_DVBT || delsys == SYS_DVBT2) ?
> + bandwidth : 0;
This rises an interesting point: it may be useful to store the bandwidth
used by the tuner, in order to allow applications to retrieve this value.
Besides that, returning 0 for bandwidth is meaningless, as the transmission
uses some bandwidth. So, IMO, this is better:
priv->bandwidth = bandwidth;
Regards,
Mauro
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: v4 [PATCH 07/10] TDA18271: Allow frontend to set DELSYS
2011-12-10 12:41 ` Mauro Carvalho Chehab
@ 2011-12-10 12:45 ` Mauro Carvalho Chehab
2011-12-12 4:06 ` Manu Abraham
0 siblings, 1 reply; 4+ messages in thread
From: Mauro Carvalho Chehab @ 2011-12-10 12:45 UTC (permalink / raw)
To: Manu Abraham; +Cc: Linux Media Mailing List
On 10-12-2011 10:41, Mauro Carvalho Chehab wrote:
> On 10-12-2011 02:43, Manu Abraham wrote:
>> From 252d4ec800ba73bde8958b8c23ca92a6e17288e2 Mon Sep 17 00:00:00 2001
>> From: Manu Abraham <abraham.manu@gmail.com>
>> Date: Thu, 24 Nov 2011 19:15:56 +0530
>> Subject: [PATCH 07/10] TDA18271: Allow frontend to set DELSYS, rather than querying fe->ops.info.type
>>
>> With any tuner that can tune to multiple delivery systems/standards, it does
>> query fe->ops.info.type to determine frontend type and set the delivery
>> system type. fe->ops.info.type can handle only 4 delivery systems, viz FE_QPSK,
>> FE_QAM, FE_OFDM and FE_ATSC.
>>
>> The change allows the tuner to be set to any delivery system specified in
>> fe_delivery_system_t, thereby simplifying a lot of issues.
>>
>> Signed-off-by: Manu Abraham <abraham.manu@gmail.com>
>> ---
>> drivers/media/common/tuners/tda18271-fe.c | 81 +++++++++++++++--------------
>> 1 files changed, 41 insertions(+), 40 deletions(-)
>>
>> diff --git a/drivers/media/common/tuners/tda18271-fe.c b/drivers/media/common/tuners/tda18271-fe.c
>> index 3347c5b..cee1a39 100644
>> --- a/drivers/media/common/tuners/tda18271-fe.c
>> +++ b/drivers/media/common/tuners/tda18271-fe.c
>> @@ -935,69 +935,70 @@ static int tda18271_set_params(struct dvb_frontend *fe,
>> struct tda18271_std_map *std_map = &priv->std;
>> struct tda18271_std_map_item *map;
>> int ret;
>> - u32 bw, freq = params->frequency;
>> + u32 bw, bandwidth = 0, freq;
>> + fe_delivery_system_t delsys;
>> +
>> + delsys = fe->dtv_property_cache.delivery_system;
>> + bw = fe->dtv_property_cache.bandwidth_hz;
>> + freq = fe->dtv_property_cache.frequency;
>>
>> priv->mode = TDA18271_DIGITAL;
>>
>> - if (fe->ops.info.type == FE_ATSC) {
>> - switch (params->u.vsb.modulation) {
>> - case VSB_8:
>> - case VSB_16:
>> - map = &std_map->atsc_6;
>> - break;
>> - case QAM_64:
>> - case QAM_256:
>> - map = &std_map->qam_6;
>> - break;
>> - default:
>> - tda_warn("modulation not set!\n");
>> + if (!delsys || !freq) {
>> + tda_warn("delsys:%d freq:%d!\n", delsys, freq);
>> + return -EINVAL;
>> + }
>> + switch (delsys) {
>> + case SYS_ATSC:
>> + map = &std_map->atsc_6;
>> + bandwidth = 6000000;
>> + break;
>> + case SYS_DVBC_ANNEX_B:
>> + map = &std_map->qam_6;
>> + bandwidth = 6000000;
>> + break;
>> + case SYS_DVBC_ANNEX_A:
>> + case SYS_DVBC_ANNEX_C:
>> + map = &std_map->qam_8;
>> + bandwidth = 8000000;
>> + break;
>
> This is wrong.
>
> The bandwidth needs to be calculated, based on the roll-off factor.
> Also, this patch doesn't apply anymore, due to the patches that were
> already applied.
This is actually not true. The other tda18271 has the code for bandwidth
calculus, not this one. Anyway, this driver needs a bandwidth estimation
for DVB-C. Mental note added.
>
>> + case SYS_DVBT:
>> + case SYS_DVBT2:
>> + if (!bw)
>> return -EINVAL;
>> - }
>> -#if 0
>> - /* userspace request is already center adjusted */
>> - freq += 1750000; /* Adjust to center (+1.75MHZ) */
>> -#endif
>> - bw = 6000000;
>> - } else if (fe->ops.info.type == FE_OFDM) {
>> - switch (params->u.ofdm.bandwidth) {
>> - case BANDWIDTH_6_MHZ:
>> - bw = 6000000;
>> + switch (bw) {
>> + case 6000000:
>> map = &std_map->dvbt_6;
>> break;
>> - case BANDWIDTH_7_MHZ:
>> - bw = 7000000;
>> + case 7000000:
>> map = &std_map->dvbt_7;
>> break;
>> - case BANDWIDTH_8_MHZ:
>> - bw = 8000000;
>> + case 8000000:
>> map = &std_map->dvbt_8;
>> break;
>> default:
>> - tda_warn("bandwidth not set!\n");
>> - return -EINVAL;
>> + ret = -EINVAL;
>> + goto fail;
>> }
>> - } else if (fe->ops.info.type == FE_QAM) {
>> - /* DVB-C */
>> - map = &std_map->qam_8;
>> - bw = 8000000;
>> - } else {
>> - tda_warn("modulation type not supported!\n");
>> - return -EINVAL;
>> + break;
>> + default:
>> + tda_warn("Invalid delivery system!\n");
>> + ret = -EINVAL;
>> + goto fail;
>> }
>> -
>> /* When tuning digital, the analog demod must be tri-stated */
>> if (fe->ops.analog_ops.standby)
>> fe->ops.analog_ops.standby(fe);
>>
>> - ret = tda18271_tune(fe, map, freq, bw);
>> + ret = tda18271_tune(fe, map, freq, bandwidth);
>>
>> if (tda_fail(ret))
>> goto fail;
>>
>> priv->if_freq = map->if_freq;
>> priv->frequency = freq;
>> - priv->bandwidth = (fe->ops.info.type == FE_OFDM) ?
>> - params->u.ofdm.bandwidth : 0;
>> + priv->bandwidth = (delsys == SYS_DVBT || delsys == SYS_DVBT2) ?
>> + bandwidth : 0;
>
> This rises an interesting point: it may be useful to store the bandwidth
> used by the tuner, in order to allow applications to retrieve this value.
>
> Besides that, returning 0 for bandwidth is meaningless, as the transmission
> uses some bandwidth. So, IMO, this is better:
> priv->bandwidth = bandwidth;
>
> Regards,
> Mauro
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: v4 [PATCH 07/10] TDA18271: Allow frontend to set DELSYS
2011-12-10 12:45 ` Mauro Carvalho Chehab
@ 2011-12-12 4:06 ` Manu Abraham
0 siblings, 0 replies; 4+ messages in thread
From: Manu Abraham @ 2011-12-12 4:06 UTC (permalink / raw)
To: Mauro Carvalho Chehab; +Cc: Linux Media Mailing List
On Sat, Dec 10, 2011 at 6:15 PM, Mauro Carvalho Chehab
<maurochehab@gmail.com> wrote:
> On 10-12-2011 10:41, Mauro Carvalho Chehab wrote:
>>
>> On 10-12-2011 02:43, Manu Abraham wrote:
>>>
>>> From 252d4ec800ba73bde8958b8c23ca92a6e17288e2 Mon Sep 17 00:00:00 2001
>>> From: Manu Abraham <abraham.manu@gmail.com>
>>> Date: Thu, 24 Nov 2011 19:15:56 +0530
>>> Subject: [PATCH 07/10] TDA18271: Allow frontend to set DELSYS, rather
>>> than querying fe->ops.info.type
>>>
>>> With any tuner that can tune to multiple delivery systems/standards, it
>>> does
>>> query fe->ops.info.type to determine frontend type and set the delivery
>>> system type. fe->ops.info.type can handle only 4 delivery systems, viz
>>> FE_QPSK,
>>> FE_QAM, FE_OFDM and FE_ATSC.
>>>
>>> The change allows the tuner to be set to any delivery system specified in
>>> fe_delivery_system_t, thereby simplifying a lot of issues.
>>>
>>> Signed-off-by: Manu Abraham <abraham.manu@gmail.com>
>>> ---
>>> drivers/media/common/tuners/tda18271-fe.c | 81
>>> +++++++++++++++--------------
>>> 1 files changed, 41 insertions(+), 40 deletions(-)
>>>
>>> diff --git a/drivers/media/common/tuners/tda18271-fe.c
>>> b/drivers/media/common/tuners/tda18271-fe.c
>>> index 3347c5b..cee1a39 100644
>>> --- a/drivers/media/common/tuners/tda18271-fe.c
>>> +++ b/drivers/media/common/tuners/tda18271-fe.c
>>> @@ -935,69 +935,70 @@ static int tda18271_set_params(struct dvb_frontend
>>> *fe,
>>> struct tda18271_std_map *std_map = &priv->std;
>>> struct tda18271_std_map_item *map;
>>> int ret;
>>> - u32 bw, freq = params->frequency;
>>> + u32 bw, bandwidth = 0, freq;
>>> + fe_delivery_system_t delsys;
>>> +
>>> + delsys = fe->dtv_property_cache.delivery_system;
>>> + bw = fe->dtv_property_cache.bandwidth_hz;
>>> + freq = fe->dtv_property_cache.frequency;
>>>
>>> priv->mode = TDA18271_DIGITAL;
>>>
>>> - if (fe->ops.info.type == FE_ATSC) {
>>> - switch (params->u.vsb.modulation) {
>>> - case VSB_8:
>>> - case VSB_16:
>>> - map = &std_map->atsc_6;
>>> - break;
>>> - case QAM_64:
>>> - case QAM_256:
>>> - map = &std_map->qam_6;
>>> - break;
>>> - default:
>>> - tda_warn("modulation not set!\n");
>>> + if (!delsys || !freq) {
>>> + tda_warn("delsys:%d freq:%d!\n", delsys, freq);
>>> + return -EINVAL;
>>> + }
>>> + switch (delsys) {
>>> + case SYS_ATSC:
>>> + map = &std_map->atsc_6;
>>> + bandwidth = 6000000;
>>> + break;
>>> + case SYS_DVBC_ANNEX_B:
>>> + map = &std_map->qam_6;
>>> + bandwidth = 6000000;
>>> + break;
>>> + case SYS_DVBC_ANNEX_A:
>>> + case SYS_DVBC_ANNEX_C:
>>> + map = &std_map->qam_8;
>>> + bandwidth = 8000000;
>>> + break;
>>
>>
>> This is wrong.
>>
>> The bandwidth needs to be calculated, based on the roll-off factor.
>
>
>
>> Also, this patch doesn't apply anymore, due to the patches that were
>> already applied.
>
>
> This is actually not true. The other tda18271 has the code for bandwidth
> calculus, not this one. Anyway, this driver needs a bandwidth estimation
> for DVB-C. Mental note added.
>
When applying a patch series, the right way is not to make too
many modifications, thinking that some other driver has it. What
I did was to handle it according to the coding style and code flow
of each driver. In any case, you can add calculations based on
rolloff in a later stage. Rather than making large changes which
the driver authors/maintainers might not appreciate.
>>
>>> + case SYS_DVBT:
>>> + case SYS_DVBT2:
>>> + if (!bw)
>>> return -EINVAL;
>>> - }
>>> -#if 0
>>> - /* userspace request is already center adjusted */
>>> - freq += 1750000; /* Adjust to center (+1.75MHZ) */
>>> -#endif
>>> - bw = 6000000;
>>> - } else if (fe->ops.info.type == FE_OFDM) {
>>> - switch (params->u.ofdm.bandwidth) {
>>> - case BANDWIDTH_6_MHZ:
>>> - bw = 6000000;
>>> + switch (bw) {
>>> + case 6000000:
>>> map = &std_map->dvbt_6;
>>> break;
>>> - case BANDWIDTH_7_MHZ:
>>> - bw = 7000000;
>>> + case 7000000:
>>> map = &std_map->dvbt_7;
>>> break;
>>> - case BANDWIDTH_8_MHZ:
>>> - bw = 8000000;
>>> + case 8000000:
>>> map = &std_map->dvbt_8;
>>> break;
>>> default:
>>> - tda_warn("bandwidth not set!\n");
>>> - return -EINVAL;
>>> + ret = -EINVAL;
>>> + goto fail;
>>> }
>>> - } else if (fe->ops.info.type == FE_QAM) {
>>> - /* DVB-C */
>>> - map = &std_map->qam_8;
>>> - bw = 8000000;
>>> - } else {
>>> - tda_warn("modulation type not supported!\n");
>>> - return -EINVAL;
>>> + break;
>>> + default:
>>> + tda_warn("Invalid delivery system!\n");
>>> + ret = -EINVAL;
>>> + goto fail;
>>> }
>>> -
>>> /* When tuning digital, the analog demod must be tri-stated */
>>> if (fe->ops.analog_ops.standby)
>>> fe->ops.analog_ops.standby(fe);
>>>
>>> - ret = tda18271_tune(fe, map, freq, bw);
>>> + ret = tda18271_tune(fe, map, freq, bandwidth);
>>>
>>> if (tda_fail(ret))
>>> goto fail;
>>>
>>> priv->if_freq = map->if_freq;
>>> priv->frequency = freq;
>>> - priv->bandwidth = (fe->ops.info.type == FE_OFDM) ?
>>> - params->u.ofdm.bandwidth : 0;
>>> + priv->bandwidth = (delsys == SYS_DVBT || delsys == SYS_DVBT2) ?
>>> + bandwidth : 0;
>>
>>
>> This rises an interesting point: it may be useful to store the bandwidth
>> used by the tuner, in order to allow applications to retrieve this value.
>>
The logic is the same as that of the existing logic, nothing new.
No new logic introduced.
- priv->bandwidth = (fe->ops.info.type == FE_OFDM) ?
- params->u.ofdm.bandwidth : 0;
+ priv->bandwidth = (delsys == SYS_DVBT || delsys == SYS_DVBT2) ?
+ bandwidth : 0;
As you can see, only fe_info has been switched to use delsys instead.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2011-12-12 4:06 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-12-10 4:43 v4 [PATCH 07/10] TDA18271: Allow frontend to set DELSYS Manu Abraham
2011-12-10 12:41 ` Mauro Carvalho Chehab
2011-12-10 12:45 ` Mauro Carvalho Chehab
2011-12-12 4:06 ` Manu Abraham
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).