All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] dvb_frontend: Multistream support
@ 2012-08-16 17:46 CrazyCat
  2012-08-16 18:11 ` Antti Palosaari
  2012-08-17  1:11 ` Akihiro TSUKADA
  0 siblings, 2 replies; 13+ messages in thread
From: CrazyCat @ 2012-08-16 17:46 UTC (permalink / raw)
  To: linux-media; +Cc: Mauro Carvalho Chehab, Antti Palosaari

DTV_ISDBS_TS_ID replaced with DTV_STREAM_ID.
Aliases DTV_ISDBS_TS_ID, DTV_DVBS2_MIS_ID for DTV_STREAM_ID.
DTV_DVBT2_PLP_ID marked as legacy.

Signed-off-by: Evgeny Plehov <EvgenyPlehov@ukr.net>
diff --git a/include/linux/dvb/frontend.h b/include/linux/dvb/frontend.h
index f50d405..3444dda 100644
--- a/include/linux/dvb/frontend.h
+++ b/include/linux/dvb/frontend.h
@@ -62,6 +62,7 @@ typedef enum fe_caps {
         FE_CAN_8VSB = 0x200000,
         FE_CAN_16VSB = 0x400000,
         FE_HAS_EXTENDED_CAPS = 0x800000,   /* We need more bitspace for newer APIs, indicate this. */
+ FE_CAN_MULTISTREAM = 0x4000000,  /* frontend supports DVB-S2 multistream filtering */
         FE_CAN_TURBO_FEC = 0x8000000,  /* frontend supports "turbo fec modulation" */
         FE_CAN_2G_MODULATION = 0x10000000, /* frontend supports "2nd generation modulation" (DVB-S2) */
         FE_NEEDS_BENDING = 0x20000000, /* not supported anymore, don't use (frontend requires frequency bending) */
@@ -314,9 +315,11 @@ struct dvb_frontend_event {

 #define DTV_ISDBT_LAYER_ENABLED 41

-#define DTV_ISDBS_TS_ID 42
+#define DTV_STREAM_ID 42
+#define DTV_ISDBS_TS_ID DTV_STREAM_ID
+#define DTV_DVBS2_MIS_ID DTV_STREAM_ID

-#define DTV_DVBT2_PLP_ID 43
+#define DTV_DVBT2_PLP_ID_LEGACY 43

 #define DTV_ENUM_DELSYS 44

diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.h b/drivers/media/dvb/dvb-core/dvb_frontend.h
index 7c64c09..bec0cda 100644
--- a/drivers/media/dvb/dvb-core/dvb_frontend.h
+++ b/drivers/media/dvb/dvb-core/dvb_frontend.h
@@ -368,11 +368,8 @@ struct dtv_frontend_properties {
             u8 interleaving;
         } layer[3];

- /* ISDB-T specifics */
- u32 isdbs_ts_id;
-
- /* DVB-T2 specifics */
- u32                     dvbt2_plp_id;
+ /* Multistream specifics */
+ u32 stream_id;

         /* ATSC-MH specifics */
         u8 atscmh_fic_ver;
diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.c b/drivers/media/dvb/dvb-core/dvb_frontend.c
index aebcdf2..bccd245 100644
--- a/drivers/media/dvb/dvb-core/dvb_frontend.c
+++ b/drivers/media/dvb/dvb-core/dvb_frontend.c
@@ -946,8 +946,7 @@ static int dvb_frontend_clear_cache(struct dvb_frontend *fe)
                 c->layer[i].segment_count = 0;
         }

- c->isdbs_ts_id = 0;
- c->dvbt2_plp_id = 0;
+ c->stream_id = -1;

         switch (c->delivery_system) {
         case SYS_DVBS:
@@ -1017,8 +1016,8 @@ static struct dtv_cmds_h dtv_cmds[DTV_MAX_COMMAND + 1] = {
         _DTV_CMD(DTV_ISDBT_LAYERC_SEGMENT_COUNT, 1, 0),
         _DTV_CMD(DTV_ISDBT_LAYERC_TIME_INTERLEAVING, 1, 0),

- _DTV_CMD(DTV_ISDBS_TS_ID, 1, 0),
- _DTV_CMD(DTV_DVBT2_PLP_ID, 1, 0),
+ _DTV_CMD(DTV_STREAM_ID, 1, 0),
+ _DTV_CMD(DTV_DVBT2_PLP_ID_LEGACY, 1, 0),

         /* Get */
         _DTV_CMD(DTV_DISEQC_SLAVE_REPLY, 0, 1),
@@ -1382,11 +1381,10 @@ static int dtv_property_process_get(struct dvb_frontend *fe,
         case DTV_ISDBT_LAYERC_TIME_INTERLEAVING:
                 tvp->u.data = c->layer[2].interleaving;
                 break;
- case DTV_ISDBS_TS_ID:
- tvp->u.data = c->isdbs_ts_id;
- break;
- case DTV_DVBT2_PLP_ID:
- tvp->u.data = c->dvbt2_plp_id;
+
+ case DTV_STREAM_ID:
+ case DTV_DVBT2_PLP_ID_LEGACY:
+ tvp->u.data = c->stream_id;
                 break;

         /* ATSC-MH */
@@ -1771,11 +1769,10 @@ static int dtv_property_process_set(struct dvb_frontend *fe,
         case DTV_ISDBT_LAYERC_TIME_INTERLEAVING:
                 c->layer[2].interleaving = tvp->u.data;
                 break;
- case DTV_ISDBS_TS_ID:
- c->isdbs_ts_id = tvp->u.data;
- break;
- case DTV_DVBT2_PLP_ID:
- c->dvbt2_plp_id = tvp->u.data;
+
+ case DTV_STREAM_ID:
+ case DTV_DVBT2_PLP_ID_LEGACY:
+ c->stream_id = tvp->u.data;
                 break;

         /* ATSC-MH */

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [PATCH] dvb_frontend: Multistream support
  2012-08-16 17:46 [PATCH] dvb_frontend: Multistream support CrazyCat
@ 2012-08-16 18:11 ` Antti Palosaari
  2012-08-16 23:14   ` Mauro Carvalho Chehab
                     ` (2 more replies)
  2012-08-17  1:11 ` Akihiro TSUKADA
  1 sibling, 3 replies; 13+ messages in thread
From: Antti Palosaari @ 2012-08-16 18:11 UTC (permalink / raw)
  To: CrazyCat; +Cc: linux-media, Mauro Carvalho Chehab

On 08/16/2012 08:46 PM, CrazyCat wrote:
> DTV_ISDBS_TS_ID replaced with DTV_STREAM_ID.
> Aliases DTV_ISDBS_TS_ID, DTV_DVBS2_MIS_ID for DTV_STREAM_ID.
> DTV_DVBT2_PLP_ID marked as legacy.
>
> Signed-off-by: Evgeny Plehov <EvgenyPlehov@ukr.net>
> diff --git a/include/linux/dvb/frontend.h b/include/linux/dvb/frontend.h
> index f50d405..3444dda 100644
> --- a/include/linux/dvb/frontend.h
> +++ b/include/linux/dvb/frontend.h
> @@ -62,6 +62,7 @@ typedef enum fe_caps {
>           FE_CAN_8VSB = 0x200000,
>           FE_CAN_16VSB = 0x400000,
>           FE_HAS_EXTENDED_CAPS = 0x800000,   /* We need more bitspace for newer APIs, indicate this. */
> + FE_CAN_MULTISTREAM = 0x4000000,  /* frontend supports DVB-S2 multistream filtering */
>           FE_CAN_TURBO_FEC = 0x8000000,  /* frontend supports "turbo fec modulation" */
>           FE_CAN_2G_MODULATION = 0x10000000, /* frontend supports "2nd generation modulation" (DVB-S2) */
>           FE_NEEDS_BENDING = 0x20000000, /* not supported anymore, don't use (frontend requires frequency bending) */
> @@ -314,9 +315,11 @@ struct dvb_frontend_event {
>
>   #define DTV_ISDBT_LAYER_ENABLED 41
>
> -#define DTV_ISDBS_TS_ID 42
> +#define DTV_STREAM_ID 42
> +#define DTV_ISDBS_TS_ID DTV_STREAM_ID
> +#define DTV_DVBS2_MIS_ID DTV_STREAM_ID

@Mauro, should we rename also DTV_ISDBS_TS_ID to DTV_ISDBS_TS_ID_LEGACY 
to remind users ?

> -#define DTV_DVBT2_PLP_ID 43
> +#define DTV_DVBT2_PLP_ID_LEGACY 43
>
>   #define DTV_ENUM_DELSYS 44
>
> diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.h b/drivers/media/dvb/dvb-core/dvb_frontend.h
> index 7c64c09..bec0cda 100644
> --- a/drivers/media/dvb/dvb-core/dvb_frontend.h
> +++ b/drivers/media/dvb/dvb-core/dvb_frontend.h
> @@ -368,11 +368,8 @@ struct dtv_frontend_properties {
>               u8 interleaving;
>           } layer[3];
>
> - /* ISDB-T specifics */
> - u32 isdbs_ts_id;
> -
> - /* DVB-T2 specifics */
> - u32                     dvbt2_plp_id;
> + /* Multistream specifics */
> + u32 stream_id;

u32 == 32 bit long unsigned number. See next comment.

>
>           /* ATSC-MH specifics */
>           u8 atscmh_fic_ver;
> diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.c b/drivers/media/dvb/dvb-core/dvb_frontend.c
> index aebcdf2..bccd245 100644
> --- a/drivers/media/dvb/dvb-core/dvb_frontend.c
> +++ b/drivers/media/dvb/dvb-core/dvb_frontend.c
> @@ -946,8 +946,7 @@ static int dvb_frontend_clear_cache(struct dvb_frontend *fe)
>                   c->layer[i].segment_count = 0;
>           }
>
> - c->isdbs_ts_id = 0;
> - c->dvbt2_plp_id = 0;
> + c->stream_id = -1;

unsigned number cannot be -1. It can be only 0 or bigger. Due to that 
this is wrong.

>
>           switch (c->delivery_system) {
>           case SYS_DVBS:
> @@ -1017,8 +1016,8 @@ static struct dtv_cmds_h dtv_cmds[DTV_MAX_COMMAND + 1] = {
>           _DTV_CMD(DTV_ISDBT_LAYERC_SEGMENT_COUNT, 1, 0),
>           _DTV_CMD(DTV_ISDBT_LAYERC_TIME_INTERLEAVING, 1, 0),
>
> - _DTV_CMD(DTV_ISDBS_TS_ID, 1, 0),
> - _DTV_CMD(DTV_DVBT2_PLP_ID, 1, 0),
> + _DTV_CMD(DTV_STREAM_ID, 1, 0),
> + _DTV_CMD(DTV_DVBT2_PLP_ID_LEGACY, 1, 0),
>
>           /* Get */
>           _DTV_CMD(DTV_DISEQC_SLAVE_REPLY, 0, 1),
> @@ -1382,11 +1381,10 @@ static int dtv_property_process_get(struct dvb_frontend *fe,
>           case DTV_ISDBT_LAYERC_TIME_INTERLEAVING:
>                   tvp->u.data = c->layer[2].interleaving;
>                   break;
> - case DTV_ISDBS_TS_ID:
> - tvp->u.data = c->isdbs_ts_id;
> - break;
> - case DTV_DVBT2_PLP_ID:
> - tvp->u.data = c->dvbt2_plp_id;
> +
> + case DTV_STREAM_ID:
> + case DTV_DVBT2_PLP_ID_LEGACY:
> + tvp->u.data = c->stream_id;
>                   break;
>
>           /* ATSC-MH */
> @@ -1771,11 +1769,10 @@ static int dtv_property_process_set(struct dvb_frontend *fe,
>           case DTV_ISDBT_LAYERC_TIME_INTERLEAVING:
>                   c->layer[2].interleaving = tvp->u.data;
>                   break;
> - case DTV_ISDBS_TS_ID:
> - c->isdbs_ts_id = tvp->u.data;
> - break;
> - case DTV_DVBT2_PLP_ID:
> - c->dvbt2_plp_id = tvp->u.data;
> +
> + case DTV_STREAM_ID:
> + case DTV_DVBT2_PLP_ID_LEGACY:
> + c->stream_id = tvp->u.data;
>                   break;
>
>           /* ATSC-MH */

regards
Antti


-- 
http://palosaari.fi/

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] dvb_frontend: Multistream support
  2012-08-16 18:11 ` Antti Palosaari
@ 2012-08-16 23:14   ` Mauro Carvalho Chehab
  2012-08-17 17:21   ` CrazyCat
  2012-08-17 17:52   ` CrazyCat
  2 siblings, 0 replies; 13+ messages in thread
From: Mauro Carvalho Chehab @ 2012-08-16 23:14 UTC (permalink / raw)
  To: Antti Palosaari; +Cc: CrazyCat, linux-media

Em 16-08-2012 15:11, Antti Palosaari escreveu:
> On 08/16/2012 08:46 PM, CrazyCat wrote:
>> DTV_ISDBS_TS_ID replaced with DTV_STREAM_ID.
>> Aliases DTV_ISDBS_TS_ID, DTV_DVBS2_MIS_ID for DTV_STREAM_ID.
>> DTV_DVBT2_PLP_ID marked as legacy.
>>
>> Signed-off-by: Evgeny Plehov <EvgenyPlehov@ukr.net>
>> diff --git a/include/linux/dvb/frontend.h b/include/linux/dvb/frontend.h
>> index f50d405..3444dda 100644
>> --- a/include/linux/dvb/frontend.h
>> +++ b/include/linux/dvb/frontend.h
>> @@ -62,6 +62,7 @@ typedef enum fe_caps {
>>           FE_CAN_8VSB = 0x200000,
>>           FE_CAN_16VSB = 0x400000,
>>           FE_HAS_EXTENDED_CAPS = 0x800000,   /* We need more bitspace for newer APIs, indicate this. */
>> + FE_CAN_MULTISTREAM = 0x4000000,  /* frontend supports DVB-S2 multistream filtering */

It is better to change this comment to cover the other standards.

>>           FE_CAN_TURBO_FEC = 0x8000000,  /* frontend supports "turbo fec modulation" */
>>           FE_CAN_2G_MODULATION = 0x10000000, /* frontend supports "2nd generation modulation" (DVB-S2) */
>>           FE_NEEDS_BENDING = 0x20000000, /* not supported anymore, don't use (frontend requires frequency bending) */
>> @@ -314,9 +315,11 @@ struct dvb_frontend_event {
>>
>>   #define DTV_ISDBT_LAYER_ENABLED 41
>>
>> -#define DTV_ISDBS_TS_ID 42
>> +#define DTV_STREAM_ID 42
>> +#define DTV_ISDBS_TS_ID DTV_STREAM_ID
>> +#define DTV_DVBS2_MIS_ID DTV_STREAM_ID
> 
> @Mauro, should we rename also DTV_ISDBS_TS_ID to DTV_ISDBS_TS_ID_LEGACY to remind users ?

I think so.
> 
>> -#define DTV_DVBT2_PLP_ID 43
>> +#define DTV_DVBT2_PLP_ID_LEGACY 43
>>
>>   #define DTV_ENUM_DELSYS 44
>>
>> diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.h b/drivers/media/dvb/dvb-core/dvb_frontend.h
>> index 7c64c09..bec0cda 100644
>> --- a/drivers/media/dvb/dvb-core/dvb_frontend.h
>> +++ b/drivers/media/dvb/dvb-core/dvb_frontend.h
>> @@ -368,11 +368,8 @@ struct dtv_frontend_properties {
>>               u8 interleaving;
>>           } layer[3];
>>
>> - /* ISDB-T specifics */
>> - u32 isdbs_ts_id;
>> -
>> - /* DVB-T2 specifics */
>> - u32                     dvbt2_plp_id;
>> + /* Multistream specifics */
>> + u32 stream_id;
> 
> u32 == 32 bit long unsigned number. See next comment.
> 
>>
>>           /* ATSC-MH specifics */
>>           u8 atscmh_fic_ver;
>> diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.c b/drivers/media/dvb/dvb-core/dvb_frontend.c
>> index aebcdf2..bccd245 100644
>> --- a/drivers/media/dvb/dvb-core/dvb_frontend.c
>> +++ b/drivers/media/dvb/dvb-core/dvb_frontend.c
>> @@ -946,8 +946,7 @@ static int dvb_frontend_clear_cache(struct dvb_frontend *fe)
>>                   c->layer[i].segment_count = 0;
>>           }
>>
>> - c->isdbs_ts_id = 0;
>> - c->dvbt2_plp_id = 0;
>> + c->stream_id = -1;
> 
> unsigned number cannot be -1. It can be only 0 or bigger. Due to that this is wrong.
> 
>>
>>           switch (c->delivery_system) {
>>           case SYS_DVBS:
>> @@ -1017,8 +1016,8 @@ static struct dtv_cmds_h dtv_cmds[DTV_MAX_COMMAND + 1] = {
>>           _DTV_CMD(DTV_ISDBT_LAYERC_SEGMENT_COUNT, 1, 0),
>>           _DTV_CMD(DTV_ISDBT_LAYERC_TIME_INTERLEAVING, 1, 0),
>>
>> - _DTV_CMD(DTV_ISDBS_TS_ID, 1, 0),
>> - _DTV_CMD(DTV_DVBT2_PLP_ID, 1, 0),
>> + _DTV_CMD(DTV_STREAM_ID, 1, 0),
>> + _DTV_CMD(DTV_DVBT2_PLP_ID_LEGACY, 1, 0),
>>
>>           /* Get */
>>           _DTV_CMD(DTV_DISEQC_SLAVE_REPLY, 0, 1),
>> @@ -1382,11 +1381,10 @@ static int dtv_property_process_get(struct dvb_frontend *fe,
>>           case DTV_ISDBT_LAYERC_TIME_INTERLEAVING:
>>                   tvp->u.data = c->layer[2].interleaving;
>>                   break;
>> - case DTV_ISDBS_TS_ID:
>> - tvp->u.data = c->isdbs_ts_id;
>> - break;
>> - case DTV_DVBT2_PLP_ID:
>> - tvp->u.data = c->dvbt2_plp_id;
>> +
>> + case DTV_STREAM_ID:
>> + case DTV_DVBT2_PLP_ID_LEGACY:
>> + tvp->u.data = c->stream_id;
>>                   break;
>>
>>           /* ATSC-MH */
>> @@ -1771,11 +1769,10 @@ static int dtv_property_process_set(struct dvb_frontend *fe,
>>           case DTV_ISDBT_LAYERC_TIME_INTERLEAVING:
>>                   c->layer[2].interleaving = tvp->u.data;
>>                   break;
>> - case DTV_ISDBS_TS_ID:
>> - c->isdbs_ts_id = tvp->u.data;
>> - break;
>> - case DTV_DVBT2_PLP_ID:
>> - c->dvbt2_plp_id = tvp->u.data;
>> +
>> + case DTV_STREAM_ID:
>> + case DTV_DVBT2_PLP_ID_LEGACY:
>> + c->stream_id = tvp->u.data;
>>                   break;
>>
>>           /* ATSC-MH */

The rest looks fine for me. Still missing the DocBook additions for multistream
(Documentation/DocBook/media/dvb/dvbproperty.xml).

> 
> regards
> Antti
> 
> 


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] dvb_frontend: Multistream support
  2012-08-16 17:46 [PATCH] dvb_frontend: Multistream support CrazyCat
  2012-08-16 18:11 ` Antti Palosaari
@ 2012-08-17  1:11 ` Akihiro TSUKADA
  1 sibling, 0 replies; 13+ messages in thread
From: Akihiro TSUKADA @ 2012-08-17  1:11 UTC (permalink / raw)
  To: Linux Media Mailing List

Hi,

> diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.h b/drivers/media/dvb/dvb-core/dvb_frontend.h
> index 7c64c09..bec0cda 100644
> --- a/drivers/media/dvb/dvb-core/dvb_frontend.h
> +++ b/drivers/media/dvb/dvb-core/dvb_frontend.h
> @@ -368,11 +368,8 @@ struct dtv_frontend_properties {
>              u8 interleaving;
>          } layer[3];
> 
> - /* ISDB-T specifics */
> - u32 isdbs_ts_id;
> -
> - /* DVB-T2 specifics */
> - u32                     dvbt2_plp_id;
> + /* Multistream specifics */
> + u32 stream_id;
> 
>          /* ATSC-MH specifics */
>          u8 atscmh_fic_ver;

It would be nice if you would include a patch to replace isdbs_ts_id
in dvb/pt1/va1j5jf8007s.c, which is the only file to use the variable.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] dvb_frontend: Multistream support
  2012-08-16 18:11 ` Antti Palosaari
  2012-08-16 23:14   ` Mauro Carvalho Chehab
@ 2012-08-17 17:21   ` CrazyCat
  2012-08-17 18:52     ` Antti Palosaari
  2012-08-17 19:01     ` Mauro Carvalho Chehab
  2012-08-17 17:52   ` CrazyCat
  2 siblings, 2 replies; 13+ messages in thread
From: CrazyCat @ 2012-08-17 17:21 UTC (permalink / raw)
  To: Antti Palosaari; +Cc: linux-media


16.08.2012, 21:11, "Antti Palosaari" <crope@iki.fi>:
>>  - /* ISDB-T specifics */
>>  - u32 isdbs_ts_id;
>>  -
>>  - /* DVB-T2 specifics */
>>  - u32                     dvbt2_plp_id;
>>  + /* Multistream specifics */
>>  + u32 stream_id;
>
> u32 == 32 bit long unsigned number. See next comment.
>>
>>  - c->isdbs_ts_id = 0;
>>  - c->dvbt2_plp_id = 0;
>>  + c->stream_id = -1;
>
> unsigned number cannot be -1. It can be only 0 or bigger. Due to that
> this is wrong.

so maybe better declare in as int ? depend from standard valid stream id (for DVB is 0-255) and any another value (-1) disable stream filtering in demod.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] dvb_frontend: Multistream support
  2012-08-16 18:11 ` Antti Palosaari
  2012-08-16 23:14   ` Mauro Carvalho Chehab
  2012-08-17 17:21   ` CrazyCat
@ 2012-08-17 17:52   ` CrazyCat
  2012-08-17 18:48     ` Mauro Carvalho Chehab
  2 siblings, 1 reply; 13+ messages in thread
From: CrazyCat @ 2012-08-17 17:52 UTC (permalink / raw)
  To: Antti Palosaari; +Cc: linux-media, Mauro Carvalho Chehab

16.08.2012, 21:11, "Antti Palosaari" <crope@iki.fi>:
> @Mauro, should we rename also DTV_ISDBS_TS_ID to DTV_ISDBS_TS_ID_LEGACY
> to remind users ?

Maybe leave DTV_ISDBS_TS_ID and convert DTV_DVBT2_PLP_ID to  DTV_DVB_STREAM_ID ? and dvbt2_plp_id convert to dvb_stream_id.

Because DVB and ISDB different standards and look like stream id for ISDB is 16 bit, for DVB-S2/T2 8 bit.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] dvb_frontend: Multistream support
  2012-08-17 17:52   ` CrazyCat
@ 2012-08-17 18:48     ` Mauro Carvalho Chehab
  0 siblings, 0 replies; 13+ messages in thread
From: Mauro Carvalho Chehab @ 2012-08-17 18:48 UTC (permalink / raw)
  To: CrazyCat; +Cc: Antti Palosaari, linux-media

Em 17-08-2012 14:52, CrazyCat escreveu:
> 16.08.2012, 21:11, "Antti Palosaari" <crope@iki.fi>:
>> @Mauro, should we rename also DTV_ISDBS_TS_ID to DTV_ISDBS_TS_ID_LEGACY
>> to remind users ?
> 
> Maybe leave DTV_ISDBS_TS_ID and convert DTV_DVBT2_PLP_ID to  DTV_DVB_STREAM_ID ? and dvbt2_plp_id convert to dvb_stream_id.
> 
> Because DVB and ISDB different standards and look like stream id for ISDB is 16 bit, for DVB-S2/T2 8 bit.

Well, Frequency range in satellite standards are in kHz, while the frequencies on 
the other ones are in Hz. So, I don't think that the number of bits should limit
it. In a matter of fact, even on DVB-T/T2, DVB-S/S2, ... there are some fields
that gained more bits.

So, I don't see any issue on using DTV_DVB_STREAM_ID on all of them, even if
the number of bits are different.

Of course, the API documentation should be clear about the field differences.

Regards,
Mauro.
 


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] dvb_frontend: Multistream support
  2012-08-17 17:21   ` CrazyCat
@ 2012-08-17 18:52     ` Antti Palosaari
  2012-08-17 19:01     ` Mauro Carvalho Chehab
  1 sibling, 0 replies; 13+ messages in thread
From: Antti Palosaari @ 2012-08-17 18:52 UTC (permalink / raw)
  To: CrazyCat; +Cc: linux-media

On 08/17/2012 08:21 PM, CrazyCat wrote:
>
> 16.08.2012, 21:11, "Antti Palosaari" <crope@iki.fi>:
>>>   - /* ISDB-T specifics */
>>>   - u32 isdbs_ts_id;
>>>   -
>>>   - /* DVB-T2 specifics */
>>>   - u32                     dvbt2_plp_id;
>>>   + /* Multistream specifics */
>>>   + u32 stream_id;
>>
>> u32 == 32 bit long unsigned number. See next comment.
>>>
>>>   - c->isdbs_ts_id = 0;
>>>   - c->dvbt2_plp_id = 0;
>>>   + c->stream_id = -1;
>>
>> unsigned number cannot be -1. It can be only 0 or bigger. Due to that
>> this is wrong.
>
> so maybe better declare in as int ? depend from standard valid stream id (for DVB is 0-255) and any another value (-1) disable stream filtering in demod.

I agree that. Actually I was thinking same. For DVB-T2 valid values are 
0-255, I haven't looked others but surely int maximum should enough for all.

regards
Antti

-- 
http://palosaari.fi/

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] dvb_frontend: Multistream support
  2012-08-17 17:21   ` CrazyCat
  2012-08-17 18:52     ` Antti Palosaari
@ 2012-08-17 19:01     ` Mauro Carvalho Chehab
  2012-08-21  0:42       ` CrazyCat
  1 sibling, 1 reply; 13+ messages in thread
From: Mauro Carvalho Chehab @ 2012-08-17 19:01 UTC (permalink / raw)
  To: CrazyCat; +Cc: Antti Palosaari, linux-media

Em 17-08-2012 14:21, CrazyCat escreveu:
> 
> 16.08.2012, 21:11, "Antti Palosaari" <crope@iki.fi>:
>>>  - /* ISDB-T specifics */
>>>  - u32 isdbs_ts_id;
>>>  -
>>>  - /* DVB-T2 specifics */
>>>  - u32                     dvbt2_plp_id;
>>>  + /* Multistream specifics */
>>>  + u32 stream_id;
>>
>> u32 == 32 bit long unsigned number. See next comment.
>>>
>>>  - c->isdbs_ts_id = 0;
>>>  - c->dvbt2_plp_id = 0;
>>>  + c->stream_id = -1;
>>
>> unsigned number cannot be -1. It can be only 0 or bigger. Due to that
>> this is wrong.
> 
> so maybe better declare in as int ? depend from standard valid stream id (for DVB is 0-255) and any another value (-1) disable stream filtering in demod.

It should be noticed that DVBv5 will pass it as u32 in any case.
So, maybe it is better to use UINT_MAX as the no-filter value:

/home/v4l/v4l/patchwork/include/linux/kernel.h:#define UINT_MAX	(~0U)


Some care is needed when doing that, to avoid 32bits/64bits compat
conflicts. Also, this define doesn't exist in userspace.

so, maybe using something like:

#define NO_STREAM_ID_FILTER	(~0U)

Would work properly, as, even on 64bits system with 32bits userspace,
this should work

or, if we want to be pedantic:

#define NO_STREAM_ID_FILTER	((u32)(~0U))


> --
> 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] 13+ messages in thread

* Re: [PATCH] dvb_frontend: Multistream support
  2012-08-17 19:01     ` Mauro Carvalho Chehab
@ 2012-08-21  0:42       ` CrazyCat
  2012-08-21 20:42         ` Georgi Chorbadzhiyski
  2012-09-11 18:18         ` Mauro Carvalho Chehab
  0 siblings, 2 replies; 13+ messages in thread
From: CrazyCat @ 2012-08-21  0:42 UTC (permalink / raw)
  To: Mauro Carvalho Chehab; +Cc: Antti Palosaari, linux-media

Multistream support with all recommendations.

Signed-off-by: Evgeny Plehov <EvgenyPlehov@ukr.net>
diff --git a/include/linux/dvb/frontend.h b/include/linux/dvb/frontend.h
index bb51edf..a6a6839 100644
--- a/include/linux/dvb/frontend.h
+++ b/include/linux/dvb/frontend.h
@@ -62,6 +62,7 @@ typedef enum fe_caps {
 	FE_CAN_8VSB			= 0x200000,
 	FE_CAN_16VSB			= 0x400000,
 	FE_HAS_EXTENDED_CAPS		= 0x800000,   /* We need more bitspace for newer APIs, indicate this. */
+	FE_CAN_MULTISTREAM		= 0x4000000,  /* frontend supports DVB-S2 multistream filtering */
 	FE_CAN_TURBO_FEC		= 0x8000000,  /* frontend supports "turbo fec modulation" */
 	FE_CAN_2G_MODULATION		= 0x10000000, /* frontend supports "2nd generation modulation" (DVB-S2) */
 	FE_NEEDS_BENDING		= 0x20000000, /* not supported anymore, don't use (frontend requires frequency bending) */
@@ -338,9 +339,9 @@ struct dvb_frontend_event {
 
 #define DTV_ISDBT_LAYER_ENABLED	41
 
-#define DTV_ISDBS_TS_ID		42
-
-#define DTV_DVBT2_PLP_ID	43
+#define DTV_STREAM_ID		42
+#define DTV_ISDBS_TS_ID_LEGACY	DTV_STREAM_ID
+#define DTV_DVBT2_PLP_ID_LEGACY	43
 
 #define DTV_ENUM_DELSYS		44
 
@@ -436,6 +437,7 @@ enum atscmh_rs_code_mode {
 	ATSCMH_RSCODE_RES        = 3,
 };
 
+#define NO_STREAM_ID_FILTER	(~0U)
 
 struct dtv_cmds_h {
 	char	*name;		/* A display name for debugging purposes */
diff --git a/drivers/media/dvb-core/dvb_frontend.h b/drivers/media/dvb-core/dvb_frontend.h
index db309db..33996a0 100644
--- a/drivers/media/dvb-core/dvb_frontend.h
+++ b/drivers/media/dvb-core/dvb_frontend.h
@@ -370,11 +370,8 @@ struct dtv_frontend_properties {
 	    u8			interleaving;
 	} layer[3];
 
-	/* ISDB-T specifics */
-	u32			isdbs_ts_id;
-
-	/* DVB-T2 specifics */
-	u32                     dvbt2_plp_id;
+	/* Multistream specifics */
+	u32			stream_id;
 
 	/* ATSC-MH specifics */
 	u8			atscmh_fic_ver;
diff --git a/drivers/media/dvb-core/dvb_frontend.c b/drivers/media/dvb-core/dvb_frontend.c
index aa4d4d8..fc0c0ca 100644
--- a/drivers/media/dvb-core/dvb_frontend.c
+++ b/drivers/media/dvb-core/dvb_frontend.c
@@ -946,8 +946,7 @@ static int dvb_frontend_clear_cache(struct dvb_frontend *fe)
 		c->layer[i].segment_count = 0;
 	}
 
-	c->isdbs_ts_id = 0;
-	c->dvbt2_plp_id = 0;
+	c->stream_id = NO_STREAM_ID_FILTER;
 
 	switch (c->delivery_system) {
 	case SYS_DVBS:
@@ -1018,8 +1017,8 @@ static struct dtv_cmds_h dtv_cmds[DTV_MAX_COMMAND + 1] = {
 	_DTV_CMD(DTV_ISDBT_LAYERC_SEGMENT_COUNT, 1, 0),
 	_DTV_CMD(DTV_ISDBT_LAYERC_TIME_INTERLEAVING, 1, 0),
 
-	_DTV_CMD(DTV_ISDBS_TS_ID, 1, 0),
-	_DTV_CMD(DTV_DVBT2_PLP_ID, 1, 0),
+	_DTV_CMD(DTV_STREAM_ID, 1, 0),
+	_DTV_CMD(DTV_DVBT2_PLP_ID_LEGACY, 1, 0),
 
 	/* Get */
 	_DTV_CMD(DTV_DISEQC_SLAVE_REPLY, 0, 1),
@@ -1387,11 +1386,11 @@ static int dtv_property_process_get(struct dvb_frontend *fe,
 	case DTV_ISDBT_LAYERC_TIME_INTERLEAVING:
 		tvp->u.data = c->layer[2].interleaving;
 		break;
-	case DTV_ISDBS_TS_ID:
-		tvp->u.data = c->isdbs_ts_id;
-		break;
-	case DTV_DVBT2_PLP_ID:
-		tvp->u.data = c->dvbt2_plp_id;
+
+	/* Multistream support */
+	case DTV_STREAM_ID:
+	case DTV_DVBT2_PLP_ID_LEGACY:
+		tvp->u.data = c->stream_id;
 		break;
 
 	/* ATSC-MH */
@@ -1779,11 +1778,11 @@ static int dtv_property_process_set(struct dvb_frontend *fe,
 	case DTV_ISDBT_LAYERC_TIME_INTERLEAVING:
 		c->layer[2].interleaving = tvp->u.data;
 		break;
-	case DTV_ISDBS_TS_ID:
-		c->isdbs_ts_id = tvp->u.data;
-		break;
-	case DTV_DVBT2_PLP_ID:
-		c->dvbt2_plp_id = tvp->u.data;
+
+	/* Multistream support */
+	case DTV_STREAM_ID:
+	case DTV_DVBT2_PLP_ID_LEGACY:
+		c->stream_id = tvp->u.data;
 		break;
 
 	/* ATSC-MH */


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [PATCH] dvb_frontend: Multistream support
  2012-08-21  0:42       ` CrazyCat
@ 2012-08-21 20:42         ` Georgi Chorbadzhiyski
  2012-09-11 18:18         ` Mauro Carvalho Chehab
  1 sibling, 0 replies; 13+ messages in thread
From: Georgi Chorbadzhiyski @ 2012-08-21 20:42 UTC (permalink / raw)
  To: CrazyCat; +Cc: Mauro Carvalho Chehab, Antti Palosaari, linux-media

On 8/21/12 3:42 AM, CrazyCat wrote:
> Multistream support with all recommendations.
>
> Signed-off-by: Evgeny Plehov <EvgenyPlehov@ukr.net>
> diff --git a/include/linux/dvb/frontend.h b/include/linux/dvb/frontend.h
> index bb51edf..a6a6839 100644
> --- a/include/linux/dvb/frontend.h
> +++ b/include/linux/dvb/frontend.h
> @@ -62,6 +62,7 @@ typedef enum fe_caps {
>   	FE_CAN_8VSB			= 0x200000,
>   	FE_CAN_16VSB			= 0x400000,
>   	FE_HAS_EXTENDED_CAPS		= 0x800000,   /* We need more bitspace for newer APIs, indicate this. */
> +	FE_CAN_MULTISTREAM		= 0x4000000,  /* frontend supports DVB-S2 multistream filtering */
>   	FE_CAN_TURBO_FEC		= 0x8000000,  /* frontend supports "turbo fec modulation" */
>   	FE_CAN_2G_MODULATION		= 0x10000000, /* frontend supports "2nd generation modulation" (DVB-S2) */
>   	FE_NEEDS_BENDING		= 0x20000000, /* not supported anymore, don't use (frontend requires frequency bending) */
> @@ -338,9 +339,9 @@ struct dvb_frontend_event {
>
>   #define DTV_ISDBT_LAYER_ENABLED	41
>
> -#define DTV_ISDBS_TS_ID		42
> -
> -#define DTV_DVBT2_PLP_ID	43
> +#define DTV_STREAM_ID		42
> +#define DTV_ISDBS_TS_ID_LEGACY	DTV_STREAM_ID
> +#define DTV_DVBT2_PLP_ID_LEGACY	43
>
>   #define DTV_ENUM_DELSYS		44
>
> @@ -436,6 +437,7 @@ enum atscmh_rs_code_mode {
>   	ATSCMH_RSCODE_RES        = 3,
>   };
>
> +#define NO_STREAM_ID_FILTER	(~0U)
>
>   struct dtv_cmds_h {
>   	char	*name;		/* A display name for debugging purposes */
> diff --git a/drivers/media/dvb-core/dvb_frontend.h b/drivers/media/dvb-core/dvb_frontend.h
> index db309db..33996a0 100644
> --- a/drivers/media/dvb-core/dvb_frontend.h
> +++ b/drivers/media/dvb-core/dvb_frontend.h
> @@ -370,11 +370,8 @@ struct dtv_frontend_properties {
>   	    u8			interleaving;
>   	} layer[3];
>
> -	/* ISDB-T specifics */
> -	u32			isdbs_ts_id;
> -
> -	/* DVB-T2 specifics */
> -	u32                     dvbt2_plp_id;
> +	/* Multistream specifics */
> +	u32			stream_id;
>
>   	/* ATSC-MH specifics */
>   	u8			atscmh_fic_ver;

Shouldn't DVB_API_VERSION minor be increased or I should check for
defined(DTV_STREAM_ID) when implementing MIS support in dvblast?

-- 
Georgi Chorbadzhiyski
http://georgi.unixsol.org/

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] dvb_frontend: Multistream support
  2012-08-21  0:42       ` CrazyCat
  2012-08-21 20:42         ` Georgi Chorbadzhiyski
@ 2012-09-11 18:18         ` Mauro Carvalho Chehab
  1 sibling, 0 replies; 13+ messages in thread
From: Mauro Carvalho Chehab @ 2012-09-11 18:18 UTC (permalink / raw)
  To: CrazyCat
  Cc: Antti Palosaari, linux-media, Akihiro TSUKADA, Georgi Chorbadzhiyski

Em 20-08-2012 21:42, CrazyCat escreveu:
> Multistream support with all recommendations.
> 
> Signed-off-by: Evgeny Plehov <EvgenyPlehov@ukr.net>
> diff --git a/include/linux/dvb/frontend.h b/include/linux/dvb/frontend.h
> index bb51edf..a6a6839 100644
> --- a/include/linux/dvb/frontend.h
> +++ b/include/linux/dvb/frontend.h
> @@ -62,6 +62,7 @@ typedef enum fe_caps {
>  	FE_CAN_8VSB			= 0x200000,
>  	FE_CAN_16VSB			= 0x400000,
>  	FE_HAS_EXTENDED_CAPS		= 0x800000,   /* We need more bitspace for newer APIs, indicate this. */
> +	FE_CAN_MULTISTREAM		= 0x4000000,  /* frontend supports DVB-S2 multistream filtering */

Hmm... the comment here is not 100%, as this can be used not only by DVB-S2, but also
for DVB-T2, ISDB-S (and maybe others in the future, like DVB-C2).

Instead of adding a big comment here, you should patch the API spec, 
at Documentation/DocBook/media/dvb/dvbproperty.xml, pointing that
this capability, and the corresponding properties are 
for DVB-S2, ISDB-S and DVB-T2.

>  	FE_CAN_TURBO_FEC		= 0x8000000,  /* frontend supports "turbo fec modulation" */
>  	FE_CAN_2G_MODULATION		= 0x10000000, /* frontend supports "2nd generation modulation" (DVB-S2) */
>  	FE_NEEDS_BENDING		= 0x20000000, /* not supported anymore, don't use (frontend requires frequency bending) */
> @@ -338,9 +339,9 @@ struct dvb_frontend_event {
>  
>  #define DTV_ISDBT_LAYER_ENABLED	41
>  
> -#define DTV_ISDBS_TS_ID		42
> -
> -#define DTV_DVBT2_PLP_ID	43
> +#define DTV_STREAM_ID		42
> +#define DTV_ISDBS_TS_ID_LEGACY	DTV_STREAM_ID
> +#define DTV_DVBT2_PLP_ID_LEGACY	43
>  
>  #define DTV_ENUM_DELSYS		44
>  
> @@ -436,6 +437,7 @@ enum atscmh_rs_code_mode {
>  	ATSCMH_RSCODE_RES        = 3,
>  };
>  
> +#define NO_STREAM_ID_FILTER	(~0U)
>  
>  struct dtv_cmds_h {
>  	char	*name;		/* A display name for debugging purposes */
> diff --git a/drivers/media/dvb-core/dvb_frontend.h b/drivers/media/dvb-core/dvb_frontend.h
> index db309db..33996a0 100644
> --- a/drivers/media/dvb-core/dvb_frontend.h
> +++ b/drivers/media/dvb-core/dvb_frontend.h
> @@ -370,11 +370,8 @@ struct dtv_frontend_properties {
>  	    u8			interleaving;
>  	} layer[3];
>  
> -	/* ISDB-T specifics */
> -	u32			isdbs_ts_id;
> -
> -	/* DVB-T2 specifics */
> -	u32                     dvbt2_plp_id;
> +	/* Multistream specifics */
> +	u32			stream_id;
>  
>  	/* ATSC-MH specifics */
>  	u8			atscmh_fic_ver;
> diff --git a/drivers/media/dvb-core/dvb_frontend.c b/drivers/media/dvb-core/dvb_frontend.c
> index aa4d4d8..fc0c0ca 100644
> --- a/drivers/media/dvb-core/dvb_frontend.c
> +++ b/drivers/media/dvb-core/dvb_frontend.c
> @@ -946,8 +946,7 @@ static int dvb_frontend_clear_cache(struct dvb_frontend *fe)
>  		c->layer[i].segment_count = 0;
>  	}
>  
> -	c->isdbs_ts_id = 0;
> -	c->dvbt2_plp_id = 0;
> +	c->stream_id = NO_STREAM_ID_FILTER;
>  
>  	switch (c->delivery_system) {
>  	case SYS_DVBS:
> @@ -1018,8 +1017,8 @@ static struct dtv_cmds_h dtv_cmds[DTV_MAX_COMMAND + 1] = {
>  	_DTV_CMD(DTV_ISDBT_LAYERC_SEGMENT_COUNT, 1, 0),
>  	_DTV_CMD(DTV_ISDBT_LAYERC_TIME_INTERLEAVING, 1, 0),
>  
> -	_DTV_CMD(DTV_ISDBS_TS_ID, 1, 0),
> -	_DTV_CMD(DTV_DVBT2_PLP_ID, 1, 0),
> +	_DTV_CMD(DTV_STREAM_ID, 1, 0),
> +	_DTV_CMD(DTV_DVBT2_PLP_ID_LEGACY, 1, 0),
>  
>  	/* Get */
>  	_DTV_CMD(DTV_DISEQC_SLAVE_REPLY, 0, 1),
> @@ -1387,11 +1386,11 @@ static int dtv_property_process_get(struct dvb_frontend *fe,
>  	case DTV_ISDBT_LAYERC_TIME_INTERLEAVING:
>  		tvp->u.data = c->layer[2].interleaving;
>  		break;
> -	case DTV_ISDBS_TS_ID:
> -		tvp->u.data = c->isdbs_ts_id;
> -		break;
> -	case DTV_DVBT2_PLP_ID:
> -		tvp->u.data = c->dvbt2_plp_id;
> +
> +	/* Multistream support */
> +	case DTV_STREAM_ID:
> +	case DTV_DVBT2_PLP_ID_LEGACY:
> +		tvp->u.data = c->stream_id;
>  		break;
>  
>  	/* ATSC-MH */
> @@ -1779,11 +1778,11 @@ static int dtv_property_process_set(struct dvb_frontend *fe,
>  	case DTV_ISDBT_LAYERC_TIME_INTERLEAVING:
>  		c->layer[2].interleaving = tvp->u.data;
>  		break;
> -	case DTV_ISDBS_TS_ID:
> -		c->isdbs_ts_id = tvp->u.data;
> -		break;
> -	case DTV_DVBT2_PLP_ID:
> -		c->dvbt2_plp_id = tvp->u.data;
> +
> +	/* Multistream support */
> +	case DTV_STREAM_ID:
> +	case DTV_DVBT2_PLP_ID_LEGACY:
> +		c->stream_id = tvp->u.data;
>  		break;
>  
>  	/* ATSC-MH */
> 

Em 16-08-2012 22:11, Akihiro TSUKADA escreveu:
> Hi,
> 
> It would be nice if you would include a patch to replace isdbs_ts_id
> in dvb/pt1/va1j5jf8007s.c, which is the only file to use the variable.

Good point. This patch shouldn't break any existing drivers, so you should
replace the occurrences of the legacy symbols to reflect this change.

Em 21-08-2012 17:42, Georgi Chorbadzhiyski escreveu:
> Shouldn't DVB_API_VERSION minor be increased or I should check for
> defined(DTV_STREAM_ID) when implementing MIS support in dvblast?

Good point. API minor version should be incremented on both frontend.h header
file and at the DocBook API file.

Could you please address the above requests, and also patch the DVB API 
docs to reflect this change (Documentation/DocBook/media/dvb/dvbproperty.xml),
describing the meaning for this property and for what standards it should be used?

Thank you!
Mauro

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH] dvb_frontend: Multistream support
@ 2012-09-13 14:13 CrazyCat
  0 siblings, 0 replies; 13+ messages in thread
From: CrazyCat @ 2012-09-13 14:13 UTC (permalink / raw)
  To: linux-media; +Cc: Mauro Carvalho Chehab

Multistream support for DVBAPI. Version increased to 5.8.

Signed-off-by: Evgeny Plehov <EvgenyPlehov@ukr.net>
diff --git a/include/linux/dvb/frontend.h b/include/linux/dvb/frontend.h
index bb51edf..a6a6839 100644
--- a/include/linux/dvb/frontend.h
+++ b/include/linux/dvb/frontend.h
@@ -62,6 +62,7 @@ typedef enum fe_caps {
 	FE_CAN_8VSB			= 0x200000,
 	FE_CAN_16VSB			= 0x400000,
 	FE_HAS_EXTENDED_CAPS		= 0x800000,   /* We need more bitspace for newer APIs, indicate this. */
+	FE_CAN_MULTISTREAM		= 0x4000000,  /* frontend supports multistream filtering */
 	FE_CAN_TURBO_FEC		= 0x8000000,  /* frontend supports "turbo fec modulation" */
 	FE_CAN_2G_MODULATION		= 0x10000000, /* frontend supports "2nd generation modulation" (DVB-S2) */
 	FE_NEEDS_BENDING		= 0x20000000, /* not supported anymore, don't use (frontend requires frequency bending) */
@@ -338,9 +339,9 @@ struct dvb_frontend_event {
 
 #define DTV_ISDBT_LAYER_ENABLED	41
 
-#define DTV_ISDBS_TS_ID		42
-
-#define DTV_DVBT2_PLP_ID	43
+#define DTV_STREAM_ID		42
+#define DTV_ISDBS_TS_ID_LEGACY	DTV_STREAM_ID
+#define DTV_DVBT2_PLP_ID_LEGACY	43
 
 #define DTV_ENUM_DELSYS		44
 
@@ -436,6 +437,7 @@ enum atscmh_rs_code_mode {
 	ATSCMH_RSCODE_RES        = 3,
 };
 
+#define NO_STREAM_ID_FILTER	(~0U)
 
 struct dtv_cmds_h {
 	char	*name;		/* A display name for debugging purposes */
diff --git a/drivers/media/dvb-core/dvb_frontend.h b/drivers/media/dvb-core/dvb_frontend.h
index db309db..33996a0 100644
--- a/drivers/media/dvb-core/dvb_frontend.h
+++ b/drivers/media/dvb-core/dvb_frontend.h
@@ -370,11 +370,8 @@ struct dtv_frontend_properties {
 	    u8			interleaving;
 	} layer[3];
 
-	/* ISDB-T specifics */
-	u32			isdbs_ts_id;
-
-	/* DVB-T2 specifics */
-	u32                     dvbt2_plp_id;
+	/* Multistream specifics */
+	u32			stream_id;
 
 	/* ATSC-MH specifics */
 	u8			atscmh_fic_ver;
diff --git a/drivers/media/dvb-core/dvb_frontend.c b/drivers/media/dvb-core/dvb_frontend.c
index aa4d4d8..fc0c0ca 100644
--- a/drivers/media/dvb-core/dvb_frontend.c
+++ b/drivers/media/dvb-core/dvb_frontend.c
@@ -946,8 +946,7 @@ static int dvb_frontend_clear_cache(struct dvb_frontend *fe)
 		c->layer[i].segment_count = 0;
 	}
 
-	c->isdbs_ts_id = 0;
-	c->dvbt2_plp_id = 0;
+	c->stream_id = NO_STREAM_ID_FILTER;
 
 	switch (c->delivery_system) {
 	case SYS_DVBS:
@@ -1018,8 +1017,8 @@ static struct dtv_cmds_h dtv_cmds[DTV_MAX_COMMAND + 1] = {
 	_DTV_CMD(DTV_ISDBT_LAYERC_SEGMENT_COUNT, 1, 0),
 	_DTV_CMD(DTV_ISDBT_LAYERC_TIME_INTERLEAVING, 1, 0),
 
-	_DTV_CMD(DTV_ISDBS_TS_ID, 1, 0),
-	_DTV_CMD(DTV_DVBT2_PLP_ID, 1, 0),
+	_DTV_CMD(DTV_STREAM_ID, 1, 0),
+	_DTV_CMD(DTV_DVBT2_PLP_ID_LEGACY, 1, 0),
 
 	/* Get */
 	_DTV_CMD(DTV_DISEQC_SLAVE_REPLY, 0, 1),
@@ -1387,11 +1386,11 @@ static int dtv_property_process_get(struct dvb_frontend *fe,
 	case DTV_ISDBT_LAYERC_TIME_INTERLEAVING:
 		tvp->u.data = c->layer[2].interleaving;
 		break;
-	case DTV_ISDBS_TS_ID:
-		tvp->u.data = c->isdbs_ts_id;
-		break;
-	case DTV_DVBT2_PLP_ID:
-		tvp->u.data = c->dvbt2_plp_id;
+
+	/* Multistream support */
+	case DTV_STREAM_ID:
+	case DTV_DVBT2_PLP_ID_LEGACY:
+		tvp->u.data = c->stream_id;
 		break;
 
 	/* ATSC-MH */
@@ -1779,11 +1778,11 @@ static int dtv_property_process_set(struct dvb_frontend *fe,
 	case DTV_ISDBT_LAYERC_TIME_INTERLEAVING:
 		c->layer[2].interleaving = tvp->u.data;
 		break;
-	case DTV_ISDBS_TS_ID:
-		c->isdbs_ts_id = tvp->u.data;
-		break;
-	case DTV_DVBT2_PLP_ID:
-		c->dvbt2_plp_id = tvp->u.data;
+
+	/* Multistream support */
+	case DTV_STREAM_ID:
+	case DTV_DVBT2_PLP_ID_LEGACY:
+		c->stream_id = tvp->u.data;
 		break;
 
 	/* ATSC-MH */
diff --git a/include/linux/dvb/version.h b/include/linux/dvb/version.h
index 70c2c7e..20e5eac 100644
--- a/include/linux/dvb/version.h
+++ b/include/linux/dvb/version.h
@@ -24,6 +24,6 @@
 #define _DVBVERSION_H_
 
 #define DVB_API_VERSION 5
-#define DVB_API_VERSION_MINOR 7
+#define DVB_API_VERSION_MINOR 8
 
 #endif /*_DVBVERSION_H_*/

^ permalink raw reply related	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2012-09-13 14:13 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-08-16 17:46 [PATCH] dvb_frontend: Multistream support CrazyCat
2012-08-16 18:11 ` Antti Palosaari
2012-08-16 23:14   ` Mauro Carvalho Chehab
2012-08-17 17:21   ` CrazyCat
2012-08-17 18:52     ` Antti Palosaari
2012-08-17 19:01     ` Mauro Carvalho Chehab
2012-08-21  0:42       ` CrazyCat
2012-08-21 20:42         ` Georgi Chorbadzhiyski
2012-09-11 18:18         ` Mauro Carvalho Chehab
2012-08-17 17:52   ` CrazyCat
2012-08-17 18:48     ` Mauro Carvalho Chehab
2012-08-17  1:11 ` Akihiro TSUKADA
2012-09-13 14:13 CrazyCat

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.