Re: [PATCH 0/5] Driver support for cards based on Digital Devices bridge (ddbridge)

2011-07-16 Thread Mauro Carvalho Chehab
Em 17-07-2011 00:02, Andreas Oberritter escreveu:

>> Approach 2 limits the usage of two simultaneous fe, when they're not
>> mutually exclusive. Not sure if this is actually a problem.
> 
> This would be a problem, of course. If they're not mutually exclusive,
> then I'd expect the possibility to use them simultaneously.

>From userspace perspective, the possibility of using them simultaneously
may not actually be useful, provided that they both share the same
demux interface.

However, I agree that adding an artificial limit there doesn't seem right.

Cheers,
Mauro.
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[GIT pull for 3.0] media regression fixes: Was: Re: [GIT PULL for 3.0] master

2011-07-16 Thread Mauro Carvalho Chehab
Em 16-07-2011 12:42, Mauro Carvalho Chehab escreveu:
> Linus,

In time:

Email subject got wrong... 

Note to myself: I should avoid rush sending emails just before a weekend 
travel...

The patches at the tree are correct, and I double-checked it on my
notebook.

Thanks!
Mauro

> 
> Please pull from:
>   ssh://master.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git 
> v4l_for_linus
> 
> For a couple of regression fixes for 3.0.
> 
> Thanks!
> Mauro
> 
> The following changes since commit ddc6ff31cc22720c46c1547a5310ea260a968ae9:
> 
>   [media] msp3400: fill in v4l2_tuner based on vt->type field (2011-07-07 
> 17:28:30 -0300)
> 
> are available in the git repository at:
>   ssh://master.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git 
> v4l_for_linus
> 
> Devin Heitmueller (1):
>   [media] dvb_frontend: fix race condition in stopping/starting frontend
> 
> Jarod Wilson (2):
>   [media] Revert "V4L/DVB: cx23885: Enable Message Signaled 
> Interrupts(MSI)"
>   [media] nuvoton-cir: make idle timeout more sane
> 
> Mauro Carvalho Chehab (1):
>   [media] tuner-core: fix a 2.6.39 regression with mt20xx
> 
> Rafi Rubin (2):
>   [media] mceusb: Timeout unit corrections
>   [media] mceusb: increase default timeout to 100ms
> 
> Ralf Baechle (1):
>   [media] MEDIA: Fix non-ISA_DMA_API link failure of sound code
> 
> Randy Dunlap (1):
>   [media] media: fix radio-sf16fmr2 build when SND is not enabled
> 
>  drivers/media/dvb/dvb-core/dvb_frontend.c  |8 
>  drivers/media/radio/Kconfig|4 ++--
>  drivers/media/rc/mceusb.c  |9 +
>  drivers/media/rc/nuvoton-cir.c |2 +-
>  drivers/media/video/cx23885/cx23885-core.c |9 ++---
>  drivers/media/video/tuner-core.c   |   16 
>  6 files changed, 30 insertions(+), 18 deletions(-)
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/5] Driver support for cards based on Digital Devices bridge (ddbridge)

2011-07-16 Thread Andreas Oberritter
On 17.07.2011 02:56, Mauro Carvalho Chehab wrote:
> Em 16-07-2011 12:53, Andreas Oberritter escreveu:
>> On 16.07.2011 17:44, Antti Palosaari wrote:
>>> On 07/16/2011 06:40 PM, Andreas Oberritter wrote:
 On 16.07.2011 16:54, Mauro Carvalho Chehab wrote:
> Em 16-07-2011 11:16, Antti Palosaari escreveu:
>> On 07/16/2011 03:25 PM, Mauro Carvalho Chehab wrote:
>>> Em 15-07-2011 20:41, Antti Palosaari escreveu:
 On 07/15/2011 08:01 PM, Andreas Oberritter wrote:
> On 15.07.2011 15:25, Mauro Carvalho Chehab wrote:
>> Em 15-07-2011 05:26, Ralph Metzler escreveu:
>>> At the same time I want to add delivery system properties to
>>> support everything in one frontend device.
>>> Adding a parameter to select C or T as default should help in most
>>> cases where the application does not support switching yet.
>>
>> If I understood well, creating a multi-delivery type of frontend
>> for
>> devices like DRX-K makes sense for me.
>>
>> We need to take some care about how to add support for them, to
>> avoid
>> breaking userspace, or to follow kernel deprecating rules, by
>> adding
>> some legacy compatibility glue for a few kernel versions. So,
>> the sooner
>> we add such support, the better, as less drivers will need to
>> support
>> a "fallback" mechanism.
>>
>> The current DVB version 5 API doesn't prevent some userspace
>> application
>> to change the delivery system[1] for a given frontend. This
>> feature is
>> actually used by DVB-T2 and DVB-S2 drivers. This actually
>> improved the
>> DVB API multi-fe support, by avoiding the need of create of a
>> secondary
>> frontend for T2/S2.
>>
>> Userspace applications can detect that feature by using
>> FE_CAN_2G_MODULATION
>> flag, but this mechanism doesn't allow other types of changes like
>> from/to DVB-T/DVB-C or from/to DVB-T/ISDB-T. So, drivers that
>> allow such
>> type of delivery system switch, using the same chip ended by
>> needing to
>> add two frontends.
>>
>> Maybe we can add a generic FE_CAN_MULTI_DELIVERY flag to
>> fe_caps_t, and
>> add a way to query the type of delivery systems supported by a
>> driver.
>>
>> [1]
>> http://linuxtv.org/downloads/v4l-dvb-apis/FE_GET_SET_PROPERTY.html#DTV-DELIVERY-SYSTEM
>>
>
> I don't think it's necessary to add a new flag. It should be
> sufficient
> to add a property like "DTV_SUPPORTED_DELIVERY_SYSTEMS", which
> should be
> read-only and return an array of type fe_delivery_system_t.
>
> Querying this new property on present kernels hopefully fails with a
> non-zero return code. in which case FE_GET_INFO should be used to
> query
> the delivery system.
>
> In future kernels we can provide a default implementation, returning
> exactly one fe_delivery_system_t for unported drivers. Other drivers
> should be able to override this default implementation in their
> get_property callback.

 One thing I want to say is that consider about devices which does
 have MFE using two different *physical* demods, not integrated to
 same silicon.

 If you add such FE delsys switch mechanism it needs some more glue
 to bind two physical FEs to one virtual FE. I see much easier to
 keep all FEs as own - just register those under the same adapter
 if FEs are shared.
>>>
>>> In this case, the driver should just create two frontends, as
>>> currently.
>>>
>>> There's a difference when there are two physical FE's and just one FE:
>>> with 2 FE's, the userspace application can just keep both opened at
>>> the same time. Some applications (like vdr) assumes that all multi-fe
>>> are like that.
>>
>> Does this mean demod is not sleeping (.init() called)?
>>
>>> When there's just a single FE, but the driver needs to "fork" it in
>>> two
>>> due to the API troubles, the driver needs to prevent the usage of both
>>> fe's, either at open or at the ioctl level. So, applications like vdr
>>> will only use the first frontend.
>>
>> Lets take example. There is shared MFE having DVB-S, DVB-T and
>> DVB-C. DVB-T and DVB-C are integrated to one chip whilst DVB-S have
>> own.
>>
>> One remark: In my previous mail I assumed that in your example DVB-S and
>> either DVB-C or DVB-T can be tuned simultaneously, i.e. there are two
>> antenna connectors and two tuners in addition to the two demod chips. If
>> this assumtion was wrong, then of course approach 2 is the sane one, not
>> appr

Re: [PATCH 0/5] Driver support for cards based on Digital Devices bridge (ddbridge)

2011-07-16 Thread Andreas Oberritter
On 16.07.2011 18:37, Rémi Denis-Courmont wrote:
> Le samedi 16 juillet 2011 18:53:16 Andreas Oberritter, vous avez écrit :
>>> You are wrong, actually you can. At least here in Finland some cable
>>> networks offers DVB-T too.
>>
>> I know that there are cable operators which use DVB-T, but they don't
>> use DVB-C simultaneously. This wouldn't make sense, unless they didn't
>> want their customers to receive their signals.
> 
> They do offer both simultaneously. DNA (formerly Welho) in Helsinki provides 
> both DVB-T and DVB-C on the same cable, obviously on different frequencies.

Is there any channel available on DVB-T which isn't available on DVB-C
in this cable network?
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Imon module Oops and kernel hang

2011-07-16 Thread Chris W
On 17/07/11 10:43, Andy Walls wrote:
> This is an obviously repeatable NULL pointer dereference in
> rc_g_keycode_from_table().  The faulting line of code in both cases
> disasembles to:
> 
>   1e: 8b 80 dc 00 00 00   mov0xdc(%eax),%eax
> 
> %eax obviously holds the value 0 (NULL).  But I'm having a hard time
> telling to where exactly that line of assembly corresponds in
> rc_g_keycode_from_table().  And I can't tell from the source which data
> structure has something at offset 0xdc that gets derefernced early:
> struct rc_dev or struct rc_map.
> 
> Could you provide the output of 
> 
> $ locate rc-core.ko
> $ objdump -d -l /blah/blah/drivers/media/rc/rc-core.ko 
> 
> for the rc_g_keycode_from_table() function?


I have a few copies lying about now.

kepler ~ # locate rc-core.ko
/lib/modules/2.6.38-gentoo-r6/kernel/drivers/media/rc/rc-core.ko
/lib/modules/2.6.39.3/kernel/drivers/media/rc/rc-core.ko
/lib/modules/3.0.0-rc7/kernel/drivers/media/rc/rc-core.ko
/usr/src/linux-2.6.38-gentoo-r6/drivers/media/rc/.rc-core.ko.cmd
/usr/src/linux-2.6.38-gentoo-r6/drivers/media/rc/rc-core.ko
/usr/src/linux-2.6.39.3/drivers/media/rc/.rc-core.ko.cmd
/usr/src/linux-2.6.39.3/drivers/media/rc/rc-core.ko
/usr/src/linux-3.0-rc7/drivers/media/rc/.rc-core.ko.cmd
/usr/src/linux-3.0-rc7/drivers/media/rc/rc-core.ko

This is from my current running kernel
/lib/modules/2.6.38-gentoo-r6/kernel/drivers/media/rc/rc-core.ko

and the partial objdump and corresponding oops/crash output:

0450 :
rc_g_keycode_from_table():
 450:   55  push   %ebp
 451:   89 e5   mov%esp,%ebp
 453:   57  push   %edi
 454:   56  push   %esi
 455:   53  push   %ebx
 456:   83 ec 24sub$0x24,%esp
 459:   89 45 e8mov%eax,-0x18(%ebp)
 45c:   9c  pushf
 45d:   8f 45 ecpopl   -0x14(%ebp)
 460:   fa  cli
 461:   89 e0   mov%esp,%eax
 463:   25 00 e0 ff ff  and$0xe000,%eax
 468:   ff 40 14incl   0x14(%eax)
 46b:   8b 45 e8mov-0x18(%ebp),%eax
 46e:   8b 80 d4 00 00 00   mov0xd4(%eax),%eax
 474:   89 c3   mov%eax,%ebx
 476:   89 45 f0mov%eax,-0x10(%ebp)
 479:   4b  dec%ebx
 47a:   78 38   js 4b4 

 47c:   8b 45 e8mov-0x18(%ebp),%eax
 47f:   31 c9   xor%ecx,%ecx
 481:   8b b0 cc 00 00 00   mov0xcc(%eax),%esi
 487:   eb 0e   jmp497 

 489:   8d b4 26 00 00 00 00lea0x0(%esi,%eiz,1),%esi
 490:   8d 48 01lea0x1(%eax),%ecx
 493:   39 d9   cmp%ebx,%ecx
 495:   7f 1d   jg 4b4 

 497:   8d 04 0blea(%ebx,%ecx,1),%eax
 49a:   89 c7   mov%eax,%edi
 49c:   c1 ef 1fshr$0x1f,%edi
 49f:   8d 04 07lea(%edi,%eax,1),%eax
 4a2:   d1 f8   sar%eax
 4a4:   8d 3c c6lea(%esi,%eax,8),%edi
 4a7:   3b 17   cmp(%edi),%edx
 4a9:   77 e5   ja 490 

 4ab:   73 3b   jae4e8 

 4ad:   8d 58 fflea-0x1(%eax),%ebx
 4b0:   39 d9   cmp%ebx,%ecx
 4b2:   7e e3   jle497 

 4b4:   31 db   xor%ebx,%ebx
 4b6:   ff 75 ecpushl  -0x14(%ebp)
 4b9:   9d  popf
 4ba:   89 e0   mov%esp,%eax
 4bc:   25 00 e0 ff ff  and$0xe000,%eax
 4c1:   ff 48 14decl   0x14(%eax)
 4c4:   8b 40 08mov0x8(%eax),%eax
 4c7:   a8 08   test   $0x8,%al
 4c9:   75 52   jne51d 

 4cb:   85 db   test   %ebx,%ebx
 4cd:   74 0a   je 4d9 

 4cf:   8b 3d 00 00 00 00   mov0x0,%edi
 4d5:   85 ff   test   %edi,%edi
 4d7:   7f 19   jg 4f2 

 4d9:   83 c4 24add$0x24,%esp
 4dc:   89 d8   mov%ebx,%eax
 4de:   5b  pop%ebx
 4df:   5e  pop%esi
 4e0:   5f  pop%edi
 4e1:   c9  leave
 4e2:   c3  ret
 4e3:   90  nop
 4e4:   8d 74 26 00

Re: [PATCH 0/5] Driver support for cards based on Digital Devices bridge (ddbridge)

2011-07-16 Thread Mauro Carvalho Chehab
Em 16-07-2011 12:44, Antti Palosaari escreveu:
> On 07/16/2011 06:40 PM, Andreas Oberritter wrote:
>> On 16.07.2011 16:54, Mauro Carvalho Chehab wrote:
>>> Em 16-07-2011 11:16, Antti Palosaari escreveu:

>>> Approach 4) fe0 is a frontend "superset"
>>>
>>> *adapter0
>>> *frontend0 (DVB-S/DVB-S2/DVB-T/DVB-T2/DVB-C/ISDB-T) - aka: FE superset
>>> *frontend1 (DVB-S/DVB-S2)
>>> *frontend2 (DVB-T/DVB-T2)
>>> *frontend3 (DVB-C)
>>> *frontend4 (ISDB-T)
>>>
>>> fe0 will need some special logic to allow redirecting a FE call to the 
>>> right fe, if
>>> there are more than one physical frontend bound into the FE API.
>>>
>>> I'm starting to think that (4) is the better approach, as it won't break 
>>> legacy
>>> applications, and it will provide an easier way for new applications to 
>>> control
>>> the frontend with just one frontend.
>>
>> Approach 4 would break existing applications, because suddenly they'd
>> have to cope with an additional device. It would be impossible for an
>> existing application to tell whether frontend0 (from your example) was a
>> real device or not.

(not sure who commented this... somehow, I didn't receive the original email - 
well,
I'll just reply on Antti's answer)

Yes, an existing application will not know how to handle such fe, but, as the 
other
fe's are still provided, they can swill switch the delivery system by replacing 
the
frontend they're using. There are some alternatives for this approach, like:

Approach 5) fe0 is a frontend "superset", initialized to handle the first 
registered
delivery system

>>> *adapter0
>>> *frontend0 (DVB-S/DVB-S2), but allows changing to DVB-T/DVB-T2/DVB-C/ISDB-T
>>> *frontend1 (DVB-T/DVB-T2)
>>> *frontend2 (DVB-C)
>>> *frontend3 (ISDB-T)

(so, it is something between approach 1 and 4)

Being frankly, I think that this would be messy.

In any case, I think that, if we decide for something like approach 4 or 5, we 
should deprecate the support for the extra frontends, after kernel + 2 versions,
so, falling back into approach 2 (e. g. just one frontend for all delivery 
systems).

I also think that we should get a decision about that for 3.1, and port DRX-K to
the agreed approach before the release of 3.1, as it will be one less driver 
that
we'll need to concern about migrating.

Cheers,
Mauro
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/5] Driver support for cards based on Digital Devices bridge (ddbridge)

2011-07-16 Thread Mauro Carvalho Chehab
Em 16-07-2011 12:53, Andreas Oberritter escreveu:
> On 16.07.2011 17:44, Antti Palosaari wrote:
>> On 07/16/2011 06:40 PM, Andreas Oberritter wrote:
>>> On 16.07.2011 16:54, Mauro Carvalho Chehab wrote:
 Em 16-07-2011 11:16, Antti Palosaari escreveu:
> On 07/16/2011 03:25 PM, Mauro Carvalho Chehab wrote:
>> Em 15-07-2011 20:41, Antti Palosaari escreveu:
>>> On 07/15/2011 08:01 PM, Andreas Oberritter wrote:
 On 15.07.2011 15:25, Mauro Carvalho Chehab wrote:
> Em 15-07-2011 05:26, Ralph Metzler escreveu:
>> At the same time I want to add delivery system properties to
>> support everything in one frontend device.
>> Adding a parameter to select C or T as default should help in most
>> cases where the application does not support switching yet.
>
> If I understood well, creating a multi-delivery type of frontend
> for
> devices like DRX-K makes sense for me.
>
> We need to take some care about how to add support for them, to
> avoid
> breaking userspace, or to follow kernel deprecating rules, by
> adding
> some legacy compatibility glue for a few kernel versions. So,
> the sooner
> we add such support, the better, as less drivers will need to
> support
> a "fallback" mechanism.
>
> The current DVB version 5 API doesn't prevent some userspace
> application
> to change the delivery system[1] for a given frontend. This
> feature is
> actually used by DVB-T2 and DVB-S2 drivers. This actually
> improved the
> DVB API multi-fe support, by avoiding the need of create of a
> secondary
> frontend for T2/S2.
>
> Userspace applications can detect that feature by using
> FE_CAN_2G_MODULATION
> flag, but this mechanism doesn't allow other types of changes like
> from/to DVB-T/DVB-C or from/to DVB-T/ISDB-T. So, drivers that
> allow such
> type of delivery system switch, using the same chip ended by
> needing to
> add two frontends.
>
> Maybe we can add a generic FE_CAN_MULTI_DELIVERY flag to
> fe_caps_t, and
> add a way to query the type of delivery systems supported by a
> driver.
>
> [1]
> http://linuxtv.org/downloads/v4l-dvb-apis/FE_GET_SET_PROPERTY.html#DTV-DELIVERY-SYSTEM
>

 I don't think it's necessary to add a new flag. It should be
 sufficient
 to add a property like "DTV_SUPPORTED_DELIVERY_SYSTEMS", which
 should be
 read-only and return an array of type fe_delivery_system_t.

 Querying this new property on present kernels hopefully fails with a
 non-zero return code. in which case FE_GET_INFO should be used to
 query
 the delivery system.

 In future kernels we can provide a default implementation, returning
 exactly one fe_delivery_system_t for unported drivers. Other drivers
 should be able to override this default implementation in their
 get_property callback.
>>>
>>> One thing I want to say is that consider about devices which does
>>> have MFE using two different *physical* demods, not integrated to
>>> same silicon.
>>>
>>> If you add such FE delsys switch mechanism it needs some more glue
>>> to bind two physical FEs to one virtual FE. I see much easier to
>>> keep all FEs as own - just register those under the same adapter
>>> if FEs are shared.
>>
>> In this case, the driver should just create two frontends, as
>> currently.
>>
>> There's a difference when there are two physical FE's and just one FE:
>> with 2 FE's, the userspace application can just keep both opened at
>> the same time. Some applications (like vdr) assumes that all multi-fe
>> are like that.
>
> Does this mean demod is not sleeping (.init() called)?
>
>> When there's just a single FE, but the driver needs to "fork" it in
>> two
>> due to the API troubles, the driver needs to prevent the usage of both
>> fe's, either at open or at the ioctl level. So, applications like vdr
>> will only use the first frontend.
>
> Lets take example. There is shared MFE having DVB-S, DVB-T and
> DVB-C. DVB-T and DVB-C are integrated to one chip whilst DVB-S have
> own.
> 
> One remark: In my previous mail I assumed that in your example DVB-S and
> either DVB-C or DVB-T can be tuned simultaneously, i.e. there are two
> antenna connectors and two tuners in addition to the two demod chips. If
> this assumtion was wrong, then of course approach 2 is the sane one, not
> approach 3.
> 
> Currently it will shown as:

 Let me name the approaches:

 Approach 1)
> * adapter0
> ** frontend0 (DVB-S)
> **

Re: Imon module Oops and kernel hang

2011-07-16 Thread Andy Walls
On Thu, 2011-07-14 at 12:41 +1000, Chris W wrote:
> On 14/07/11 08:11, Jarod Wilson wrote:
> > On Jul 13, 2011, at 1:42 AM, Chris W wrote:
> > Just noticed your report is for 2.6.39.x and 2.6.38.x only, but I'm
> > not aware of any relevant imon changes between 2.6.39 and 3.0.
> 
> I just tried 3.0.0-rc7 with the same result (used defaults for new
> config items.  I manually loaded both keymaps before imon.  I looks like
> the mystery T889 has become a T886... compiler generated temporary name
> perhaps?
> 
> > Looks like I'll probably have to give that a spin, since I'm not
> > seeing the problem here (I can also switch to an 0xffdc device, which
> > is actually handled a bit differently by the driver).
> 
> I understand that the 0xffdc device covers a multitude of physical
> variants.   Is there any information from the device itself that drives
> the selected keymap?  If so, how do I extract it?
> 
> Regards,
> Chris
> 
> 

This is an obviously repeatable NULL pointer dereference in
rc_g_keycode_from_table().  The faulting line of code in both cases
disasembles to:

  1e:   8b 80 dc 00 00 00   mov0xdc(%eax),%eax

%eax obviously holds the value 0 (NULL).  But I'm having a hard time
telling to where exactly that line of assembly corresponds in
rc_g_keycode_from_table().  And I can't tell from the source which data
structure has something at offset 0xdc that gets derefernced early:
struct rc_dev or struct rc_map.

Could you provide the output of 

$ locate rc-core.ko
$ objdump -d -l /blah/blah/drivers/media/rc/rc-core.ko 

for the rc_g_keycode_from_table() function?

Regards,
Andy

> Jul 14 11:19:38 kepler BUG: unable to handle kernel
> Jul 14 11:19:38 kepler NULL pointer dereference
> Jul 14 11:19:38 kepler at 00dc
> Jul 14 11:19:38 kepler IP:
> Jul 14 11:19:38 kepler [] rc_g_keycode_from_table+0x1e/0xe0
> [rc_core]
> Jul 14 11:19:38 kepler *pde = 
> Jul 14 11:19:38 kepler
> Jul 14 11:19:38 kepler Oops:  [#1]
> Jul 14 11:19:38 kepler PREEMPT
> Jul 14 11:19:38 kepler
> Jul 14 11:19:38 kepler Modules linked in:
> Jul 14 11:19:38 kepler imon(+)
> Jul 14 11:19:38 kepler rc_imon_pad
> Jul 14 11:19:38 kepler rc_imon_mce
> Jul 14 11:19:38 kepler netconsole
> Jul 14 11:19:38 kepler asb100
> Jul 14 11:19:38 kepler hwmon_vid
> Jul 14 11:19:38 kepler cx22702
> Jul 14 11:19:38 kepler dvb_pll
> Jul 14 11:19:38 kepler mt352
> Jul 14 11:19:38 kepler cx88_dvb
> Jul 14 11:19:38 kepler cx88_vp3054_i2c
> Jul 14 11:19:38 kepler videobuf_dvb
> Jul 14 11:19:38 kepler snd_via82xx
> Jul 14 11:19:38 kepler snd_ac97_codec
> Jul 14 11:19:38 kepler cx8800
> Jul 14 11:19:38 kepler cx8802
> Jul 14 11:19:38 kepler cx88xx
> Jul 14 11:19:38 kepler ac97_bus
> Jul 14 11:19:38 kepler snd_mpu401_uart
> Jul 14 11:19:38 kepler snd_rawmidi
> Jul 14 11:19:38 kepler b44
> Jul 14 11:19:38 kepler ssb
> Jul 14 11:19:38 kepler rc_core
> Jul 14 11:19:38 kepler i2c_algo_bit
> Jul 14 11:19:38 kepler mii
> Jul 14 11:19:38 kepler tveeprom
> Jul 14 11:19:38 kepler btcx_risc
> Jul 14 11:19:38 kepler i2c_viapro
> Jul 14 11:19:38 kepler videobuf_dma_sg
> Jul 14 11:19:38 kepler videobuf_core
> Jul 14 11:19:38 kepler [last unloaded: ir_nec_decoder]
> Jul 14 11:19:38 kepler
> Jul 14 11:19:38 kepler
> Jul 14 11:19:38 kepler Pid: 2885, comm: modprobe Not tainted 3.0.0-rc7 #1
> Jul 14 11:19:38 kepler System Manufacturer System Name
> Jul 14 11:19:38 kepler /A7V8X
> Jul 14 11:19:38 kepler
> Jul 14 11:19:38 kepler EIP: 0060:[] EFLAGS: 00010002 CPU: 0
> Jul 14 11:19:38 kepler EIP is at rc_g_keycode_from_table+0x1e/0xe0 [rc_core]
> Jul 14 11:19:38 kepler EAX:  EBX: f5610800 ECX: 0008 EDX:
> 
> Jul 14 11:19:38 kepler ESI:  EDI:  EBP: f7009e48 ESP:
> f7009e18
> Jul 14 11:19:38 kepler DS: 007b ES: 007b FS:  GS: 0033 SS: 0068
> Jul 14 11:19:38 kepler Process modprobe (pid: 2885, ti=f7008000
> task=f708ada0 task.ti=f5706000)
> Jul 14 11:19:38 kepler Stack:
> Jul 14 11:19:38 kepler f71cc8c0
> Jul 14 11:19:38 kepler 0082
> Jul 14 11:19:38 kepler 0002
> Jul 14 11:19:38 kepler f7009e2c
> Jul 14 11:19:38 kepler c101eabb
> Jul 14 11:19:38 kepler f71cc8c0
> Jul 14 11:19:38 kepler 
> Jul 14 11:19:38 kepler 0086
> Jul 14 11:19:38 kepler
> Jul 14 11:19:38 kepler 0086
> Jul 14 11:19:38 kepler f5610800
> Jul 14 11:19:38 kepler 
> Jul 14 11:19:38 kepler 
> Jul 14 11:19:38 kepler f7009e58
> Jul 14 11:19:38 kepler f87be59c
> Jul 14 11:19:38 kepler f5610800
> Jul 14 11:19:38 kepler f5610841
> Jul 14 11:19:38 kepler
> Jul 14 11:19:38 kepler f7009edc
> Jul 14 11:19:38 kepler f87be6dc
> Jul 14 11:19:38 kepler f68c00a4
> Jul 14 11:19:38 kepler f7009e6c
> Jul 14 11:19:38 kepler f68c5760
> Jul 14 11:19:38 kepler f7009e74
> Jul 14 11:19:38 kepler f68c00a4
> Jul 14 11:19:38 kepler f7009e98
> Jul 14 11:19:38 kepler
> Jul 14 11:19:38 kepler Call Trace:
> Jul 14 11:19:38 kepler [] ? T.886+0x1b/0x30
> Jul 14 11:19:38 kepler [] imon_remote_key_lookup+0x1c/0x70 [imon]
> Jul 14 11:19:38 kepler [] imon_

Re: [PATCH] v4l: mt9v032: Fix Bayer pattern

2011-07-16 Thread Guennadi Liakhovetski
On Sat, 16 Jul 2011, Laurent Pinchart wrote:

> Hi Guennadi,
> 
> On Saturday 16 July 2011 01:11:28 Guennadi Liakhovetski wrote:
> > On Fri, 15 Jul 2011, Laurent Pinchart wrote:
> > > Compute crop rectangle boundaries to ensure a GRBG Bayer pattern.
> > > 
> > > Signed-off-by: Laurent Pinchart 
> > > ---
> > > 
> > >  drivers/media/video/mt9v032.c |   20 ++--
> > >  1 files changed, 10 insertions(+), 10 deletions(-)
> > > 
> > > If there's no comment I'll send a pull request for this patch in a couple
> > > of days.
> > 
> > Hm, I might have a comment: why?... Isn't it natural to accept the fact,
> > that different sensors put a different Bayer pixel at their sensor matrix
> > origin? Isn't that why we have all possible Bayer formats? Maybe you just
> > have to choose a different output format?
> 
> That's the other solution. The driver currently claims the device outputs 
> SGRBG, but configures it to output SGBGR. This is clearly a bug. Is it better 
> to modify the format than the crop rectangle location ?

Actually, it is interesting. I just looked (again) in the mt9v032 and some 
other Aptina Bayer sensor datasheets, and they actually have _odd_ numbers 
of rows and columns. So, mt9v032 actually has 753x481 active pixels. And 
that extra pixel is explicitly provided to adjust the origin colour. Ok, 
they write, it is for uniformity with the mirrored image, but who believes 
them?;-) So, maybe you should adjust your max values to the above ones, 
then taking one pixel out of your image will not reduce your useful image 
size.

Thanks
Guennadi

> The OMAP3 ISP supports all Bayer formats, but the driver configures itself 
> for 
> SGRBG by default. Using another pattern currently requires userspace software 
> to change several hardware-dependent parameters (including matrices and 
> tables). This should eventually be fixed in the OMAP3 ISP driver, but for the 
> time being application developers will have an easier life if the sensor 
> outputs SGRBG instead of SGBRG.
> 
> -- 
> Regards,
> 
> Laurent Pinchart
> 

---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


usbvision: disable scaling for Nogatech MicroCam

2011-07-16 Thread Ondrej Zary
Scaling causes bad artifacts (horizontal lines) with compression at least
with Nogatech MicroCam so disable it (for this HW).

This also fixes messed up image with some programs (Cheese with 160x120,
Adobe Flash). HW seems to support only image widths that are multiple of 64
but the driver does not account that in vidioc_try_fmt_vid_cap(). Cheese
calls try_fmt with 160x120, succeeds and then assumes that it really gets
data in that resolution - but it gets 128x120 instead. Don't know if this
affects other usbvision devices, it would be great if someone could test it.

Signed-off-by: Ondrej Zary 

diff -urp linux-2.6.39-rc2-/drivers/media/video/usbvision//usbvision-video.c 
linux-2.6.39-rc2/drivers/media/video/usbvision/usbvision-video.c
--- linux-2.6.39-rc2-/drivers/media/video/usbvision//usbvision-video.c  
2011-07-16 16:42:35.0 +0200
+++ linux-2.6.39-rc2/drivers/media/video/usbvision/usbvision-video.c
2011-07-16 16:36:43.0 +0200
@@ -924,6 +924,11 @@ static int vidioc_try_fmt_vid_cap(struct
RESTRICT_TO_RANGE(vf->fmt.pix.width, MIN_FRAME_WIDTH, MAX_FRAME_WIDTH);
RESTRICT_TO_RANGE(vf->fmt.pix.height, MIN_FRAME_HEIGHT, 
MAX_FRAME_HEIGHT);
 
+   if (usbvision_device_data[usbvision->dev_model].codec == CODEC_WEBCAM) {
+   vf->fmt.pix.width = MAX_FRAME_WIDTH;
+   vf->fmt.pix.height = MAX_FRAME_HEIGHT;
+   }
+
vf->fmt.pix.bytesperline = vf->fmt.pix.width*
usbvision->palette.bytes_per_pixel;
vf->fmt.pix.sizeimage = vf->fmt.pix.bytesperline*vf->fmt.pix.height;
@@ -952,6 +957,11 @@ static int vidioc_s_fmt_vid_cap(struct f
 
usbvision->cur_frame = NULL;
 
+   if (usbvision_device_data[usbvision->dev_model].codec == CODEC_WEBCAM) {
+   vf->fmt.pix.width = MAX_FRAME_WIDTH;
+   vf->fmt.pix.height = MAX_FRAME_HEIGHT;
+   }
+
/* by now we are committed to the new data... */
usbvision_set_output(usbvision, vf->fmt.pix.width, vf->fmt.pix.height);
 

-- 
Ondrej Zary
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[cron job] v4l-dvb daily build: ERRORS

2011-07-16 Thread Hans Verkuil
This message is generated daily by a cron job that builds v4l-dvb for
the kernels and architectures in the list below.

Results of the daily build of v4l-dvb:

date:Sat Jul 16 19:00:36 CEST 2011
git hash:bec969c908bb22931fd5ab8ecdf99de8702a6a31
gcc version:  i686-linux-gcc (GCC) 4.5.1
host hardware:x86_64
host os:  2.6.32.5

linux-git-armv5: WARNINGS
linux-git-armv5-davinci: WARNINGS
linux-git-armv5-ixp: WARNINGS
linux-git-armv5-omap2: WARNINGS
linux-git-i686: WARNINGS
linux-git-m32r: WARNINGS
linux-git-mips: WARNINGS
linux-git-powerpc64: WARNINGS
linux-git-x86_64: WARNINGS
linux-2.6.31.12-i686: ERRORS
linux-2.6.32.6-i686: WARNINGS
linux-2.6.33-i686: WARNINGS
linux-2.6.34-i686: WARNINGS
linux-2.6.35.3-i686: WARNINGS
linux-2.6.36-i686: WARNINGS
linux-2.6.37-i686: WARNINGS
linux-2.6.38.2-i686: WARNINGS
linux-2.6.39.1-i686: WARNINGS
linux-2.6.31.12-x86_64: ERRORS
linux-2.6.32.6-x86_64: WARNINGS
linux-2.6.33-x86_64: WARNINGS
linux-2.6.34-x86_64: WARNINGS
linux-2.6.35.3-x86_64: WARNINGS
linux-2.6.36-x86_64: WARNINGS
linux-2.6.37-x86_64: WARNINGS
linux-2.6.38.2-x86_64: WARNINGS
linux-2.6.39.1-x86_64: WARNINGS
spec-git: ERRORS
sparse: ERRORS

Detailed results are available here:

http://www.xs4all.nl/~hverkuil/logs/Saturday.log

Full logs are available here:

http://www.xs4all.nl/~hverkuil/logs/Saturday.tar.bz2

The V4L-DVB specification from this daily build is here:

http://www.xs4all.nl/~hverkuil/spec/media.html
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/5] Driver support for cards based on Digital Devices bridge (ddbridge)

2011-07-16 Thread Rémi Denis-Courmont
Le samedi 16 juillet 2011 18:53:16 Andreas Oberritter, vous avez écrit :
> > You are wrong, actually you can. At least here in Finland some cable
> > networks offers DVB-T too.
> 
> I know that there are cable operators which use DVB-T, but they don't
> use DVB-C simultaneously. This wouldn't make sense, unless they didn't
> want their customers to receive their signals.

They do offer both simultaneously. DNA (formerly Welho) in Helsinki provides 
both DVB-T and DVB-C on the same cable, obviously on different frequencies.

-- 
Rémi Denis-Courmont
http://www.remlab.net/
http://fi.linkedin.com/in/remidenis
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/5] Driver support for cards based on Digital Devices bridge (ddbridge)

2011-07-16 Thread Antti Palosaari

On 07/16/2011 06:53 PM, Andreas Oberritter wrote:

On 16.07.2011 17:44, Antti Palosaari wrote:

On 07/16/2011 06:40 PM, Andreas Oberritter wrote:

On 16.07.2011 16:54, Mauro Carvalho Chehab wrote:

Em 16-07-2011 11:16, Antti Palosaari escreveu:

On 07/16/2011 03:25 PM, Mauro Carvalho Chehab wrote:

Em 15-07-2011 20:41, Antti Palosaari escreveu:

On 07/15/2011 08:01 PM, Andreas Oberritter wrote:

On 15.07.2011 15:25, Mauro Carvalho Chehab wrote:

Em 15-07-2011 05:26, Ralph Metzler escreveu:

At the same time I want to add delivery system properties to
support everything in one frontend device.
Adding a parameter to select C or T as default should help in most
cases where the application does not support switching yet.


If I understood well, creating a multi-delivery type of frontend
for
devices like DRX-K makes sense for me.

We need to take some care about how to add support for them, to
avoid
breaking userspace, or to follow kernel deprecating rules, by
adding
some legacy compatibility glue for a few kernel versions. So,
the sooner
we add such support, the better, as less drivers will need to
support
a "fallback" mechanism.

The current DVB version 5 API doesn't prevent some userspace
application
to change the delivery system[1] for a given frontend. This
feature is
actually used by DVB-T2 and DVB-S2 drivers. This actually
improved the
DVB API multi-fe support, by avoiding the need of create of a
secondary
frontend for T2/S2.

Userspace applications can detect that feature by using
FE_CAN_2G_MODULATION
flag, but this mechanism doesn't allow other types of changes like
from/to DVB-T/DVB-C or from/to DVB-T/ISDB-T. So, drivers that
allow such
type of delivery system switch, using the same chip ended by
needing to
add two frontends.

Maybe we can add a generic FE_CAN_MULTI_DELIVERY flag to
fe_caps_t, and
add a way to query the type of delivery systems supported by a
driver.

[1]
http://linuxtv.org/downloads/v4l-dvb-apis/FE_GET_SET_PROPERTY.html#DTV-DELIVERY-SYSTEM



I don't think it's necessary to add a new flag. It should be
sufficient
to add a property like "DTV_SUPPORTED_DELIVERY_SYSTEMS", which
should be
read-only and return an array of type fe_delivery_system_t.

Querying this new property on present kernels hopefully fails with a
non-zero return code. in which case FE_GET_INFO should be used to
query
the delivery system.

In future kernels we can provide a default implementation, returning
exactly one fe_delivery_system_t for unported drivers. Other drivers
should be able to override this default implementation in their
get_property callback.


One thing I want to say is that consider about devices which does
have MFE using two different *physical* demods, not integrated to
same silicon.

If you add such FE delsys switch mechanism it needs some more glue
to bind two physical FEs to one virtual FE. I see much easier to
keep all FEs as own - just register those under the same adapter
if FEs are shared.


In this case, the driver should just create two frontends, as
currently.

There's a difference when there are two physical FE's and just one FE:
with 2 FE's, the userspace application can just keep both opened at
the same time. Some applications (like vdr) assumes that all multi-fe
are like that.


Does this mean demod is not sleeping (.init() called)?


When there's just a single FE, but the driver needs to "fork" it in
two
due to the API troubles, the driver needs to prevent the usage of both
fe's, either at open or at the ioctl level. So, applications like vdr
will only use the first frontend.


Lets take example. There is shared MFE having DVB-S, DVB-T and
DVB-C. DVB-T and DVB-C are integrated to one chip whilst DVB-S have
own.


One remark: In my previous mail I assumed that in your example DVB-S and
either DVB-C or DVB-T can be tuned simultaneously, i.e. there are two
antenna connectors and two tuners in addition to the two demod chips. If
this assumtion was wrong, then of course approach 2 is the sane one, not
approach 3.


My assumption was that frontends are using shared HW resources for 
reason or the other and thus only one FE can be used at the time.


When there is no shared resources it should be implemented as multiple 
adapters.



Currently it will shown as:


Let me name the approaches:

Approach 1)

* adapter0
** frontend0 (DVB-S)
** frontend1 (DVB-T)
** frontend2 (DVB-C)


Approach 2)

Your new "ideal" solution will be:
* adapter0
** frontend0 (DVB-S/T/C)


Approach 3)

What really happens (mixed old and new):
* adapter0
** frontend0 (DVB-S)
** frontend1 (DVB-T/C)


What I've said before is that approach 3 is the "ideal" solution.


It does not look very good to offer this kind of mixed solution,
since it is possible to offer only one solution for userspace, new
or old, but not mixing.


Good point.

There's an additional aspect to handle: if a driver that uses
approach 1, a conversion
to either approach 2 or 3 would break existing applications that
can't handle with
the new approac

Re: [PATCH 0/5] Driver support for cards based on Digital Devices bridge (ddbridge)

2011-07-16 Thread Andreas Oberritter
On 16.07.2011 17:44, Antti Palosaari wrote:
> On 07/16/2011 06:40 PM, Andreas Oberritter wrote:
>> On 16.07.2011 16:54, Mauro Carvalho Chehab wrote:
>>> Em 16-07-2011 11:16, Antti Palosaari escreveu:
 On 07/16/2011 03:25 PM, Mauro Carvalho Chehab wrote:
> Em 15-07-2011 20:41, Antti Palosaari escreveu:
>> On 07/15/2011 08:01 PM, Andreas Oberritter wrote:
>>> On 15.07.2011 15:25, Mauro Carvalho Chehab wrote:
 Em 15-07-2011 05:26, Ralph Metzler escreveu:
> At the same time I want to add delivery system properties to
> support everything in one frontend device.
> Adding a parameter to select C or T as default should help in most
> cases where the application does not support switching yet.

 If I understood well, creating a multi-delivery type of frontend
 for
 devices like DRX-K makes sense for me.

 We need to take some care about how to add support for them, to
 avoid
 breaking userspace, or to follow kernel deprecating rules, by
 adding
 some legacy compatibility glue for a few kernel versions. So,
 the sooner
 we add such support, the better, as less drivers will need to
 support
 a "fallback" mechanism.

 The current DVB version 5 API doesn't prevent some userspace
 application
 to change the delivery system[1] for a given frontend. This
 feature is
 actually used by DVB-T2 and DVB-S2 drivers. This actually
 improved the
 DVB API multi-fe support, by avoiding the need of create of a
 secondary
 frontend for T2/S2.

 Userspace applications can detect that feature by using
 FE_CAN_2G_MODULATION
 flag, but this mechanism doesn't allow other types of changes like
 from/to DVB-T/DVB-C or from/to DVB-T/ISDB-T. So, drivers that
 allow such
 type of delivery system switch, using the same chip ended by
 needing to
 add two frontends.

 Maybe we can add a generic FE_CAN_MULTI_DELIVERY flag to
 fe_caps_t, and
 add a way to query the type of delivery systems supported by a
 driver.

 [1]
 http://linuxtv.org/downloads/v4l-dvb-apis/FE_GET_SET_PROPERTY.html#DTV-DELIVERY-SYSTEM

>>>
>>> I don't think it's necessary to add a new flag. It should be
>>> sufficient
>>> to add a property like "DTV_SUPPORTED_DELIVERY_SYSTEMS", which
>>> should be
>>> read-only and return an array of type fe_delivery_system_t.
>>>
>>> Querying this new property on present kernels hopefully fails with a
>>> non-zero return code. in which case FE_GET_INFO should be used to
>>> query
>>> the delivery system.
>>>
>>> In future kernels we can provide a default implementation, returning
>>> exactly one fe_delivery_system_t for unported drivers. Other drivers
>>> should be able to override this default implementation in their
>>> get_property callback.
>>
>> One thing I want to say is that consider about devices which does
>> have MFE using two different *physical* demods, not integrated to
>> same silicon.
>>
>> If you add such FE delsys switch mechanism it needs some more glue
>> to bind two physical FEs to one virtual FE. I see much easier to
>> keep all FEs as own - just register those under the same adapter
>> if FEs are shared.
>
> In this case, the driver should just create two frontends, as
> currently.
>
> There's a difference when there are two physical FE's and just one FE:
> with 2 FE's, the userspace application can just keep both opened at
> the same time. Some applications (like vdr) assumes that all multi-fe
> are like that.

 Does this mean demod is not sleeping (.init() called)?

> When there's just a single FE, but the driver needs to "fork" it in
> two
> due to the API troubles, the driver needs to prevent the usage of both
> fe's, either at open or at the ioctl level. So, applications like vdr
> will only use the first frontend.

 Lets take example. There is shared MFE having DVB-S, DVB-T and
 DVB-C. DVB-T and DVB-C are integrated to one chip whilst DVB-S have
 own.

One remark: In my previous mail I assumed that in your example DVB-S and
either DVB-C or DVB-T can be tuned simultaneously, i.e. there are two
antenna connectors and two tuners in addition to the two demod chips. If
this assumtion was wrong, then of course approach 2 is the sane one, not
approach 3.

 Currently it will shown as:
>>>
>>> Let me name the approaches:
>>>
>>> Approach 1)
 * adapter0
 ** frontend0 (DVB-S)
 ** frontend1 (DVB-T)
 ** frontend2 (DVB-C)
>>>
>>> Approach 2)
 Your new "ideal" solution will be:
 * adapter0
 ** frontend0 (DVB-S/T/C)
>>>
>>> Approach 3)
>>

Re: [PATCH 0/5] Driver support for cards based on Digital Devices bridge (ddbridge)

2011-07-16 Thread Antti Palosaari

On 07/16/2011 06:40 PM, Andreas Oberritter wrote:

On 16.07.2011 16:54, Mauro Carvalho Chehab wrote:

Em 16-07-2011 11:16, Antti Palosaari escreveu:

On 07/16/2011 03:25 PM, Mauro Carvalho Chehab wrote:

Em 15-07-2011 20:41, Antti Palosaari escreveu:

On 07/15/2011 08:01 PM, Andreas Oberritter wrote:

On 15.07.2011 15:25, Mauro Carvalho Chehab wrote:

Em 15-07-2011 05:26, Ralph Metzler escreveu:

At the same time I want to add delivery system properties to
support everything in one frontend device.
Adding a parameter to select C or T as default should help in most
cases where the application does not support switching yet.


If I understood well, creating a multi-delivery type of frontend for
devices like DRX-K makes sense for me.

We need to take some care about how to add support for them, to avoid
breaking userspace, or to follow kernel deprecating rules, by adding
some legacy compatibility glue for a few kernel versions. So, the sooner
we add such support, the better, as less drivers will need to support
a "fallback" mechanism.

The current DVB version 5 API doesn't prevent some userspace application
to change the delivery system[1] for a given frontend. This feature is
actually used by DVB-T2 and DVB-S2 drivers. This actually improved the
DVB API multi-fe support, by avoiding the need of create of a secondary
frontend for T2/S2.

Userspace applications can detect that feature by using FE_CAN_2G_MODULATION
flag, but this mechanism doesn't allow other types of changes like
from/to DVB-T/DVB-C or from/to DVB-T/ISDB-T. So, drivers that allow such
type of delivery system switch, using the same chip ended by needing to
add two frontends.

Maybe we can add a generic FE_CAN_MULTI_DELIVERY flag to fe_caps_t, and
add a way to query the type of delivery systems supported by a driver.

[1] 
http://linuxtv.org/downloads/v4l-dvb-apis/FE_GET_SET_PROPERTY.html#DTV-DELIVERY-SYSTEM


I don't think it's necessary to add a new flag. It should be sufficient
to add a property like "DTV_SUPPORTED_DELIVERY_SYSTEMS", which should be
read-only and return an array of type fe_delivery_system_t.

Querying this new property on present kernels hopefully fails with a
non-zero return code. in which case FE_GET_INFO should be used to query
the delivery system.

In future kernels we can provide a default implementation, returning
exactly one fe_delivery_system_t for unported drivers. Other drivers
should be able to override this default implementation in their
get_property callback.


One thing I want to say is that consider about devices which does have MFE 
using two different *physical* demods, not integrated to same silicon.

If you add such FE delsys switch mechanism it needs some more glue to bind two 
physical FEs to one virtual FE. I see much easier to keep all FEs as own - just 
register those under the same adapter if FEs are shared.


In this case, the driver should just create two frontends, as currently.

There's a difference when there are two physical FE's and just one FE:
with 2 FE's, the userspace application can just keep both opened at
the same time. Some applications (like vdr) assumes that all multi-fe
are like that.


Does this mean demod is not sleeping (.init() called)?


When there's just a single FE, but the driver needs to "fork" it in two
due to the API troubles, the driver needs to prevent the usage of both
fe's, either at open or at the ioctl level. So, applications like vdr
will only use the first frontend.


Lets take example. There is shared MFE having DVB-S, DVB-T and DVB-C. DVB-T and 
DVB-C are integrated to one chip whilst DVB-S have own.

Currently it will shown as:


Let me name the approaches:

Approach 1)

* adapter0
** frontend0 (DVB-S)
** frontend1 (DVB-T)
** frontend2 (DVB-C)


Approach 2)

Your new "ideal" solution will be:
* adapter0
** frontend0 (DVB-S/T/C)


Approach 3)

What really happens (mixed old and new):
* adapter0
** frontend0 (DVB-S)
** frontend1 (DVB-T/C)


What I've said before is that approach 3 is the "ideal" solution.


It does not look very good to offer this kind of mixed solution, since it is 
possible to offer only one solution for userspace, new or old, but not mixing.


Good point.

There's an additional aspect to handle: if a driver that uses approach 1, a 
conversion
to either approach 2 or 3 would break existing applications that can't handle 
with
the new approach.

There's a 4th posibility: always offering fe0 with MFE capabilities, and 
creating additional fe's
for old applications that can't cope with the new mode.
For example, on a device that supports DVB-S/DVB-S2/DVB-T/DVB-T2/DVB-C/ISDB-T, 
it will be shown as:

Approach 4) fe0 is a frontend "superset"

*adapter0
*frontend0 (DVB-S/DVB-S2/DVB-T/DVB-T2/DVB-C/ISDB-T) - aka: FE superset
*frontend1 (DVB-S/DVB-S2)
*frontend2 (DVB-T/DVB-T2)
*frontend3 (DVB-C)
*frontend4 (ISDB-T)

fe0 will need some special logic to allow redirecting a FE call to the right 
fe, if
there are more than one physical frontend bound into 

[GIT PULL for 3.0] master

2011-07-16 Thread Mauro Carvalho Chehab
Linus,

Please pull from:
  ssh://master.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git 
v4l_for_linus

For a couple of regression fixes for 3.0.

Thanks!
Mauro

The following changes since commit ddc6ff31cc22720c46c1547a5310ea260a968ae9:

  [media] msp3400: fill in v4l2_tuner based on vt->type field (2011-07-07 
17:28:30 -0300)

are available in the git repository at:
  ssh://master.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git 
v4l_for_linus

Devin Heitmueller (1):
  [media] dvb_frontend: fix race condition in stopping/starting frontend

Jarod Wilson (2):
  [media] Revert "V4L/DVB: cx23885: Enable Message Signaled Interrupts(MSI)"
  [media] nuvoton-cir: make idle timeout more sane

Mauro Carvalho Chehab (1):
  [media] tuner-core: fix a 2.6.39 regression with mt20xx

Rafi Rubin (2):
  [media] mceusb: Timeout unit corrections
  [media] mceusb: increase default timeout to 100ms

Ralf Baechle (1):
  [media] MEDIA: Fix non-ISA_DMA_API link failure of sound code

Randy Dunlap (1):
  [media] media: fix radio-sf16fmr2 build when SND is not enabled

 drivers/media/dvb/dvb-core/dvb_frontend.c  |8 
 drivers/media/radio/Kconfig|4 ++--
 drivers/media/rc/mceusb.c  |9 +
 drivers/media/rc/nuvoton-cir.c |2 +-
 drivers/media/video/cx23885/cx23885-core.c |9 ++---
 drivers/media/video/tuner-core.c   |   16 
 6 files changed, 30 insertions(+), 18 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/5] Driver support for cards based on Digital Devices bridge (ddbridge)

2011-07-16 Thread Oliver Endriss
On Saturday 16 July 2011 16:54:50 Mauro Carvalho Chehab wrote:
> Em 16-07-2011 11:16, Antti Palosaari escreveu:
> > On 07/16/2011 03:25 PM, Mauro Carvalho Chehab wrote:
> >> Em 15-07-2011 20:41, Antti Palosaari escreveu:
> >>> On 07/15/2011 08:01 PM, Andreas Oberritter wrote:
>  On 15.07.2011 15:25, Mauro Carvalho Chehab wrote:
> > Em 15-07-2011 05:26, Ralph Metzler escreveu:
> >> At the same time I want to add delivery system properties to
> >> support everything in one frontend device.
> >> Adding a parameter to select C or T as default should help in most
> >> cases where the application does not support switching yet.
> >
> > If I understood well, creating a multi-delivery type of frontend for
> > devices like DRX-K makes sense for me.
> >
> > We need to take some care about how to add support for them, to avoid
> > breaking userspace, or to follow kernel deprecating rules, by adding
> > some legacy compatibility glue for a few kernel versions. So, the sooner
> > we add such support, the better, as less drivers will need to support
> > a "fallback" mechanism.
> >
> > The current DVB version 5 API doesn't prevent some userspace application
> > to change the delivery system[1] for a given frontend. This feature is
> > actually used by DVB-T2 and DVB-S2 drivers. This actually improved the
> > DVB API multi-fe support, by avoiding the need of create of a secondary
> > frontend for T2/S2.
> >
> > Userspace applications can detect that feature by using 
> > FE_CAN_2G_MODULATION
> > flag, but this mechanism doesn't allow other types of changes like
> > from/to DVB-T/DVB-C or from/to DVB-T/ISDB-T. So, drivers that allow such
> > type of delivery system switch, using the same chip ended by needing to
> > add two frontends.
> >
> > Maybe we can add a generic FE_CAN_MULTI_DELIVERY flag to fe_caps_t, and
> > add a way to query the type of delivery systems supported by a driver.
> >
> > [1] 
> > http://linuxtv.org/downloads/v4l-dvb-apis/FE_GET_SET_PROPERTY.html#DTV-DELIVERY-SYSTEM
> 
>  I don't think it's necessary to add a new flag. It should be sufficient
>  to add a property like "DTV_SUPPORTED_DELIVERY_SYSTEMS", which should be
>  read-only and return an array of type fe_delivery_system_t.
> 
>  Querying this new property on present kernels hopefully fails with a
>  non-zero return code. in which case FE_GET_INFO should be used to query
>  the delivery system.
> 
>  In future kernels we can provide a default implementation, returning
>  exactly one fe_delivery_system_t for unported drivers. Other drivers
>  should be able to override this default implementation in their
>  get_property callback.
> >>>
> >>> One thing I want to say is that consider about devices which does have 
> >>> MFE using two different *physical* demods, not integrated to same silicon.
> >>>
> >>> If you add such FE delsys switch mechanism it needs some more glue to 
> >>> bind two physical FEs to one virtual FE. I see much easier to keep all 
> >>> FEs as own - just register those under the same adapter if FEs are shared.
> >>
> >> In this case, the driver should just create two frontends, as currently.
> >>
> >> There's a difference when there are two physical FE's and just one FE:
> >> with 2 FE's, the userspace application can just keep both opened at
> >> the same time. Some applications (like vdr) assumes that all multi-fe
> >> are like that.
> > 
> > Does this mean demod is not sleeping (.init() called)?
> > 
> >> When there's just a single FE, but the driver needs to "fork" it in two
> >> due to the API troubles, the driver needs to prevent the usage of both
> >> fe's, either at open or at the ioctl level. So, applications like vdr
> >> will only use the first frontend.
> > 
> > Lets take example. There is shared MFE having DVB-S, DVB-T and DVB-C. DVB-T 
> > and DVB-C are integrated to one chip whilst DVB-S have own.
> > 
> > Currently it will shown as:
> 
> Let me name the approaches:
> 
> Approach 1)
> > * adapter0
> > ** frontend0 (DVB-S)
> > ** frontend1 (DVB-T)
> > ** frontend2 (DVB-C)
> 
> Approach 2)
> > Your new "ideal" solution will be:
> > * adapter0
> > ** frontend0 (DVB-S/T/C)
> 
> Approach 3)
> > What really happens (mixed old and new):

Why does this happen?

> > * adapter0
> > ** frontend0 (DVB-S)
> > ** frontend1 (DVB-T/C)
>
> What I've said before is that approach 3 is the "ideal" solution.

No, sorry.

> > It does not look very good to offer this kind of mixed solution, since it 
> > is possible to offer only one solution for userspace, new or old, but not 
> > mixing.
> 
> Good point. 
> 
> There's an additional aspect to handle: if a driver that uses approach 1, a 
> conversion
> to either approach 2 or 3 would break existing applications that can't handle 
> with
> the new approach.
> 
> There's a 4th posibility: always offeri

Re: [PATCH 0/5] Driver support for cards based on Digital Devices bridge (ddbridge)

2011-07-16 Thread Andreas Oberritter
On 16.07.2011 16:54, Mauro Carvalho Chehab wrote:
> Em 16-07-2011 11:16, Antti Palosaari escreveu:
>> On 07/16/2011 03:25 PM, Mauro Carvalho Chehab wrote:
>>> Em 15-07-2011 20:41, Antti Palosaari escreveu:
 On 07/15/2011 08:01 PM, Andreas Oberritter wrote:
> On 15.07.2011 15:25, Mauro Carvalho Chehab wrote:
>> Em 15-07-2011 05:26, Ralph Metzler escreveu:
>>> At the same time I want to add delivery system properties to
>>> support everything in one frontend device.
>>> Adding a parameter to select C or T as default should help in most
>>> cases where the application does not support switching yet.
>>
>> If I understood well, creating a multi-delivery type of frontend for
>> devices like DRX-K makes sense for me.
>>
>> We need to take some care about how to add support for them, to avoid
>> breaking userspace, or to follow kernel deprecating rules, by adding
>> some legacy compatibility glue for a few kernel versions. So, the sooner
>> we add such support, the better, as less drivers will need to support
>> a "fallback" mechanism.
>>
>> The current DVB version 5 API doesn't prevent some userspace application
>> to change the delivery system[1] for a given frontend. This feature is
>> actually used by DVB-T2 and DVB-S2 drivers. This actually improved the
>> DVB API multi-fe support, by avoiding the need of create of a secondary
>> frontend for T2/S2.
>>
>> Userspace applications can detect that feature by using 
>> FE_CAN_2G_MODULATION
>> flag, but this mechanism doesn't allow other types of changes like
>> from/to DVB-T/DVB-C or from/to DVB-T/ISDB-T. So, drivers that allow such
>> type of delivery system switch, using the same chip ended by needing to
>> add two frontends.
>>
>> Maybe we can add a generic FE_CAN_MULTI_DELIVERY flag to fe_caps_t, and
>> add a way to query the type of delivery systems supported by a driver.
>>
>> [1] 
>> http://linuxtv.org/downloads/v4l-dvb-apis/FE_GET_SET_PROPERTY.html#DTV-DELIVERY-SYSTEM
>
> I don't think it's necessary to add a new flag. It should be sufficient
> to add a property like "DTV_SUPPORTED_DELIVERY_SYSTEMS", which should be
> read-only and return an array of type fe_delivery_system_t.
>
> Querying this new property on present kernels hopefully fails with a
> non-zero return code. in which case FE_GET_INFO should be used to query
> the delivery system.
>
> In future kernels we can provide a default implementation, returning
> exactly one fe_delivery_system_t for unported drivers. Other drivers
> should be able to override this default implementation in their
> get_property callback.

 One thing I want to say is that consider about devices which does have MFE 
 using two different *physical* demods, not integrated to same silicon.

 If you add such FE delsys switch mechanism it needs some more glue to bind 
 two physical FEs to one virtual FE. I see much easier to keep all FEs as 
 own - just register those under the same adapter if FEs are shared.
>>>
>>> In this case, the driver should just create two frontends, as currently.
>>>
>>> There's a difference when there are two physical FE's and just one FE:
>>> with 2 FE's, the userspace application can just keep both opened at
>>> the same time. Some applications (like vdr) assumes that all multi-fe
>>> are like that.
>>
>> Does this mean demod is not sleeping (.init() called)?
>>
>>> When there's just a single FE, but the driver needs to "fork" it in two
>>> due to the API troubles, the driver needs to prevent the usage of both
>>> fe's, either at open or at the ioctl level. So, applications like vdr
>>> will only use the first frontend.
>>
>> Lets take example. There is shared MFE having DVB-S, DVB-T and DVB-C. DVB-T 
>> and DVB-C are integrated to one chip whilst DVB-S have own.
>>
>> Currently it will shown as:
> 
> Let me name the approaches:
> 
> Approach 1)
>> * adapter0
>> ** frontend0 (DVB-S)
>> ** frontend1 (DVB-T)
>> ** frontend2 (DVB-C)
> 
> Approach 2)
>> Your new "ideal" solution will be:
>> * adapter0
>> ** frontend0 (DVB-S/T/C)
> 
> Approach 3)
>> What really happens (mixed old and new):
>> * adapter0
>> ** frontend0 (DVB-S)
>> ** frontend1 (DVB-T/C)
> 
> What I've said before is that approach 3 is the "ideal" solution.
> 
>> It does not look very good to offer this kind of mixed solution, since it is 
>> possible to offer only one solution for userspace, new or old, but not 
>> mixing.
> 
> Good point. 
> 
> There's an additional aspect to handle: if a driver that uses approach 1, a 
> conversion
> to either approach 2 or 3 would break existing applications that can't handle 
> with
> the new approach.
> 
> There's a 4th posibility: always offering fe0 with MFE capabilities, and 
> creating additional fe's
> for old applications that can't cope with the new mode.
> For example, on a 

Re: [PATCH] update the dvb-t channels for de-Berlin

2011-07-16 Thread Christoph Pfister
2011/7/12 Alexander Futász :
> Hi,
>
> attched is a patch which reflects the recent changes in the DVB-T
> channel offering for Berlin, Germany.
> See http://www.mabb.de/digitale-welt/dvb-t/programme.html
>
> Cheers

Updated, thanks.

Christoph
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Slovakia dvb-t iupdates

2011-07-16 Thread Christoph Pfister
2011/7/6 Peter Butkovic :
> Hi all,
>
> attached are the updates for dvb-t scan files valid for Slovakia.

Committed, thanks.

Christoph


> Kind regards
>
> Peter Butkovic
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Updates to French scan files

2011-07-16 Thread Christoph Pfister
2011/7/2 mossroy :
> The following patch deletes the 19 remaining fr-* files, as most of them are
> outdated.

Committed, thanks.

Christoph


> I tested auto-Default and it worked for me (I tested on tvheadend. See
> https://www.lonelycoder.com/redmine/issues/570 ).
> Could the other French users test auto-Default (and auto-With167kHzOffsets
> if necessary) to confirm we don't need more frequencies?

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: http://linuxtv.org/hg/dvb-apps/file/5e68946b0e0d/util/scan/atsc/us-Cable-Standard-center-frequencies-QAM256

2011-07-16 Thread Christoph Pfister
2011/5/9 Cotie Jones :
> # US EIA/NCTA Standard Cable center frequencies, added missing muxes


Updated, thanks.

Christoph
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/5] Driver support for cards based on Digital Devices bridge (ddbridge)

2011-07-16 Thread Mauro Carvalho Chehab
Em 16-07-2011 11:16, Antti Palosaari escreveu:
> On 07/16/2011 03:25 PM, Mauro Carvalho Chehab wrote:
>> Em 15-07-2011 20:41, Antti Palosaari escreveu:
>>> On 07/15/2011 08:01 PM, Andreas Oberritter wrote:
 On 15.07.2011 15:25, Mauro Carvalho Chehab wrote:
> Em 15-07-2011 05:26, Ralph Metzler escreveu:
>> At the same time I want to add delivery system properties to
>> support everything in one frontend device.
>> Adding a parameter to select C or T as default should help in most
>> cases where the application does not support switching yet.
>
> If I understood well, creating a multi-delivery type of frontend for
> devices like DRX-K makes sense for me.
>
> We need to take some care about how to add support for them, to avoid
> breaking userspace, or to follow kernel deprecating rules, by adding
> some legacy compatibility glue for a few kernel versions. So, the sooner
> we add such support, the better, as less drivers will need to support
> a "fallback" mechanism.
>
> The current DVB version 5 API doesn't prevent some userspace application
> to change the delivery system[1] for a given frontend. This feature is
> actually used by DVB-T2 and DVB-S2 drivers. This actually improved the
> DVB API multi-fe support, by avoiding the need of create of a secondary
> frontend for T2/S2.
>
> Userspace applications can detect that feature by using 
> FE_CAN_2G_MODULATION
> flag, but this mechanism doesn't allow other types of changes like
> from/to DVB-T/DVB-C or from/to DVB-T/ISDB-T. So, drivers that allow such
> type of delivery system switch, using the same chip ended by needing to
> add two frontends.
>
> Maybe we can add a generic FE_CAN_MULTI_DELIVERY flag to fe_caps_t, and
> add a way to query the type of delivery systems supported by a driver.
>
> [1] 
> http://linuxtv.org/downloads/v4l-dvb-apis/FE_GET_SET_PROPERTY.html#DTV-DELIVERY-SYSTEM

 I don't think it's necessary to add a new flag. It should be sufficient
 to add a property like "DTV_SUPPORTED_DELIVERY_SYSTEMS", which should be
 read-only and return an array of type fe_delivery_system_t.

 Querying this new property on present kernels hopefully fails with a
 non-zero return code. in which case FE_GET_INFO should be used to query
 the delivery system.

 In future kernels we can provide a default implementation, returning
 exactly one fe_delivery_system_t for unported drivers. Other drivers
 should be able to override this default implementation in their
 get_property callback.
>>>
>>> One thing I want to say is that consider about devices which does have MFE 
>>> using two different *physical* demods, not integrated to same silicon.
>>>
>>> If you add such FE delsys switch mechanism it needs some more glue to bind 
>>> two physical FEs to one virtual FE. I see much easier to keep all FEs as 
>>> own - just register those under the same adapter if FEs are shared.
>>
>> In this case, the driver should just create two frontends, as currently.
>>
>> There's a difference when there are two physical FE's and just one FE:
>> with 2 FE's, the userspace application can just keep both opened at
>> the same time. Some applications (like vdr) assumes that all multi-fe
>> are like that.
> 
> Does this mean demod is not sleeping (.init() called)?
> 
>> When there's just a single FE, but the driver needs to "fork" it in two
>> due to the API troubles, the driver needs to prevent the usage of both
>> fe's, either at open or at the ioctl level. So, applications like vdr
>> will only use the first frontend.
> 
> Lets take example. There is shared MFE having DVB-S, DVB-T and DVB-C. DVB-T 
> and DVB-C are integrated to one chip whilst DVB-S have own.
> 
> Currently it will shown as:

Let me name the approaches:

Approach 1)
> * adapter0
> ** frontend0 (DVB-S)
> ** frontend1 (DVB-T)
> ** frontend2 (DVB-C)

Approach 2)
> Your new "ideal" solution will be:
> * adapter0
> ** frontend0 (DVB-S/T/C)

Approach 3)
> What really happens (mixed old and new):
> * adapter0
> ** frontend0 (DVB-S)
> ** frontend1 (DVB-T/C)

What I've said before is that approach 3 is the "ideal" solution.

> It does not look very good to offer this kind of mixed solution, since it is 
> possible to offer only one solution for userspace, new or old, but not mixing.

Good point. 

There's an additional aspect to handle: if a driver that uses approach 1, a 
conversion
to either approach 2 or 3 would break existing applications that can't handle 
with
the new approach.

There's a 4th posibility: always offering fe0 with MFE capabilities, and 
creating additional fe's
for old applications that can't cope with the new mode.
For example, on a device that supports DVB-S/DVB-S2/DVB-T/DVB-T2/DVB-C/ISDB-T, 
it will be shown as:

Approach 4) fe0 is a frontend "superset"

*adapter0
*frontend0 (DVB-S/DVB-S2/DVB-T/DVB-T2/DVB-C/ISDB-T) -

Re: [PATCH 0/5] Driver support for cards based on Digital Devices bridge (ddbridge)

2011-07-16 Thread Antti Palosaari

On 07/16/2011 03:25 PM, Mauro Carvalho Chehab wrote:

Em 15-07-2011 20:41, Antti Palosaari escreveu:

On 07/15/2011 08:01 PM, Andreas Oberritter wrote:

On 15.07.2011 15:25, Mauro Carvalho Chehab wrote:

Em 15-07-2011 05:26, Ralph Metzler escreveu:

At the same time I want to add delivery system properties to
support everything in one frontend device.
Adding a parameter to select C or T as default should help in most
cases where the application does not support switching yet.


If I understood well, creating a multi-delivery type of frontend for
devices like DRX-K makes sense for me.

We need to take some care about how to add support for them, to avoid
breaking userspace, or to follow kernel deprecating rules, by adding
some legacy compatibility glue for a few kernel versions. So, the sooner
we add such support, the better, as less drivers will need to support
a "fallback" mechanism.

The current DVB version 5 API doesn't prevent some userspace application
to change the delivery system[1] for a given frontend. This feature is
actually used by DVB-T2 and DVB-S2 drivers. This actually improved the
DVB API multi-fe support, by avoiding the need of create of a secondary
frontend for T2/S2.

Userspace applications can detect that feature by using FE_CAN_2G_MODULATION
flag, but this mechanism doesn't allow other types of changes like
from/to DVB-T/DVB-C or from/to DVB-T/ISDB-T. So, drivers that allow such
type of delivery system switch, using the same chip ended by needing to
add two frontends.

Maybe we can add a generic FE_CAN_MULTI_DELIVERY flag to fe_caps_t, and
add a way to query the type of delivery systems supported by a driver.

[1] 
http://linuxtv.org/downloads/v4l-dvb-apis/FE_GET_SET_PROPERTY.html#DTV-DELIVERY-SYSTEM


I don't think it's necessary to add a new flag. It should be sufficient
to add a property like "DTV_SUPPORTED_DELIVERY_SYSTEMS", which should be
read-only and return an array of type fe_delivery_system_t.

Querying this new property on present kernels hopefully fails with a
non-zero return code. in which case FE_GET_INFO should be used to query
the delivery system.

In future kernels we can provide a default implementation, returning
exactly one fe_delivery_system_t for unported drivers. Other drivers
should be able to override this default implementation in their
get_property callback.


One thing I want to say is that consider about devices which does have MFE 
using two different *physical* demods, not integrated to same silicon.

If you add such FE delsys switch mechanism it needs some more glue to bind two 
physical FEs to one virtual FE. I see much easier to keep all FEs as own - just 
register those under the same adapter if FEs are shared.


In this case, the driver should just create two frontends, as currently.

There's a difference when there are two physical FE's and just one FE:
with 2 FE's, the userspace application can just keep both opened at
the same time. Some applications (like vdr) assumes that all multi-fe
are like that.


Does this mean demod is not sleeping (.init() called)?


When there's just a single FE, but the driver needs to "fork" it in two
due to the API troubles, the driver needs to prevent the usage of both
fe's, either at open or at the ioctl level. So, applications like vdr
will only use the first frontend.


Lets take example. There is shared MFE having DVB-S, DVB-T and DVB-C. 
DVB-T and DVB-C are integrated to one chip whilst DVB-S have own.


Currently it will shown as:
* adapter0
** frontend0 (DVB-S)
** frontend1 (DVB-T)
** frontend2 (DVB-C)

Your new "ideal" solution will be:
* adapter0
** frontend0 (DVB-S/T/C)

What really happens (mixed old and new):
* adapter0
** frontend0 (DVB-S)
** frontend1 (DVB-T/C)

It does not look very good to offer this kind of mixed solution, since 
it is possible to offer only one solution for userspace, new or old, but 
not mixing.


regards
Antti

--
http://palosaari.fi/
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/5] Driver support for cards based on Digital Devices bridge (ddbridge)

2011-07-16 Thread Mauro Carvalho Chehab
Em 15-07-2011 20:41, Antti Palosaari escreveu:
> On 07/15/2011 08:01 PM, Andreas Oberritter wrote:
>> On 15.07.2011 15:25, Mauro Carvalho Chehab wrote:
>>> Em 15-07-2011 05:26, Ralph Metzler escreveu:
 At the same time I want to add delivery system properties to
 support everything in one frontend device.
 Adding a parameter to select C or T as default should help in most
 cases where the application does not support switching yet.
>>>
>>> If I understood well, creating a multi-delivery type of frontend for
>>> devices like DRX-K makes sense for me.
>>>
>>> We need to take some care about how to add support for them, to avoid
>>> breaking userspace, or to follow kernel deprecating rules, by adding
>>> some legacy compatibility glue for a few kernel versions. So, the sooner
>>> we add such support, the better, as less drivers will need to support
>>> a "fallback" mechanism.
>>>
>>> The current DVB version 5 API doesn't prevent some userspace application
>>> to change the delivery system[1] for a given frontend. This feature is
>>> actually used by DVB-T2 and DVB-S2 drivers. This actually improved the
>>> DVB API multi-fe support, by avoiding the need of create of a secondary
>>> frontend for T2/S2.
>>>
>>> Userspace applications can detect that feature by using FE_CAN_2G_MODULATION
>>> flag, but this mechanism doesn't allow other types of changes like
>>> from/to DVB-T/DVB-C or from/to DVB-T/ISDB-T. So, drivers that allow such
>>> type of delivery system switch, using the same chip ended by needing to
>>> add two frontends.
>>>
>>> Maybe we can add a generic FE_CAN_MULTI_DELIVERY flag to fe_caps_t, and
>>> add a way to query the type of delivery systems supported by a driver.
>>>
>>> [1] 
>>> http://linuxtv.org/downloads/v4l-dvb-apis/FE_GET_SET_PROPERTY.html#DTV-DELIVERY-SYSTEM
>>
>> I don't think it's necessary to add a new flag. It should be sufficient
>> to add a property like "DTV_SUPPORTED_DELIVERY_SYSTEMS", which should be
>> read-only and return an array of type fe_delivery_system_t.
>>
>> Querying this new property on present kernels hopefully fails with a
>> non-zero return code. in which case FE_GET_INFO should be used to query
>> the delivery system.
>>
>> In future kernels we can provide a default implementation, returning
>> exactly one fe_delivery_system_t for unported drivers. Other drivers
>> should be able to override this default implementation in their
>> get_property callback.
> 
> One thing I want to say is that consider about devices which does have MFE 
> using two different *physical* demods, not integrated to same silicon.
> 
> If you add such FE delsys switch mechanism it needs some more glue to bind 
> two physical FEs to one virtual FE. I see much easier to keep all FEs as own 
> - just register those under the same adapter if FEs are shared.

In this case, the driver should just create two frontends, as currently.

There's a difference when there are two physical FE's and just one FE:
with 2 FE's, the userspace application can just keep both opened at
the same time. Some applications (like vdr) assumes that all multi-fe
are like that.

When there's just a single FE, but the driver needs to "fork" it in two
due to the API troubles, the driver needs to prevent the usage of both
fe's, either at open or at the ioctl level. So, applications like vdr
will only use the first frontend.


Cheers,
Mauro
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] improve recection with limits frecuenies and tda827x

2011-07-16 Thread Jose Alberto Reguero
On Miércoles, 13 de Julio de 2011 14:41:30 Mauro Carvalho Chehab escribió:
> Em 06-07-2011 19:57, Jose Alberto Reguero escreveu:
> > This patch add suport for the dvb-t part of CT-3650.
> > 
> > Jose Alberto
> > 
> > Signed-off-by: Jose Alberto Reguero 
> > 
> > patches/lmml_951522_add_support_for_the_dvb_t_part_of_ct_3650_v2.patch
> > Content-Type: text/plain; charset="utf-8"
> > MIME-Version: 1.0
> > Content-Transfer-Encoding: 7bit
> > Subject: add support for the dvb-t part of CT-3650 v2
> > Date: Wed, 06 Jul 2011 22:57:04 -
> > From: Jose Alberto Reguero 
> > X-Patchwork-Id: 951522
> > Message-Id: <201107070057.06317.jaregu...@telefonica.net>
> > To: linux-media@vger.kernel.org
> > 
> > This patch add suport for the dvb-t part of CT-3650.
> > 
> > Jose Alberto
> > 
> > Signed-off-by: Jose Alberto Reguero 
> > 
> > 
> > diff -ur linux/drivers/media/common/tuners/tda827x.c
> > linux.new/drivers/media/common/tuners/tda827x.c ---
> > linux/drivers/media/common/tuners/tda827x.c 2010-07-03
> > 23:22:08.0 +0200 +++
> > linux.new/drivers/media/common/tuners/tda827x.c 2011-07-04
> > 12:00:29.931561053 +0200 @@ -135,14 +135,29 @@
> > 
> >  static int tuner_transfer(struct dvb_frontend *fe,
> >  
> >   struct i2c_msg *msg,
> > 
> > - const int size)
> > + int size)
> > 
> >  {
> >  
> > int rc;
> > struct tda827x_priv *priv = fe->tuner_priv;
> > 
> > +   struct i2c_msg msgr[2];
> > 
> > if (fe->ops.i2c_gate_ctrl)
> > 
> > fe->ops.i2c_gate_ctrl(fe, 1);
> > 
> > -   rc = i2c_transfer(priv->i2c_adap, msg, size);
> > +   if (priv->cfg->i2cr && (msg->flags == I2C_M_RD)) {
> > +   msgr[0].addr = msg->addr;
> > +   msgr[0].flags = 0;
> > +   msgr[0].len = msg->len - 1;
> > +   msgr[0].buf = msg->buf;
> > +   msgr[1].addr = msg->addr;
> > +   msgr[1].flags = I2C_M_RD;
> > +   msgr[1].len = 1;
> > +   msgr[1].buf = msg->buf;
> > +   size = 2;
> > +   rc = i2c_transfer(priv->i2c_adap, msgr, size);
> > +   msg->buf[msg->len - 1] = msgr[1].buf[0];
> > +   } else {
> > +   rc = i2c_transfer(priv->i2c_adap, msg, size);
> > +   }
> > 
> > if (fe->ops.i2c_gate_ctrl)
> > 
> > fe->ops.i2c_gate_ctrl(fe, 0);
> 
> No. You should be applying such fix at the I2C adapter instead. This is the
> code at the ttusb2 driver:
> 
> static int ttusb2_i2c_xfer(struct i2c_adapter *adap,struct i2c_msg
> msg[],int num) {
>   struct dvb_usb_device *d = i2c_get_adapdata(adap);
>   static u8 obuf[60], ibuf[60];
>   int i,read;
> 
>   if (mutex_lock_interruptible(&d->i2c_mutex) < 0)
>   return -EAGAIN;
> 
>   if (num > 2)
>   warn("more than 2 i2c messages at a time is not handled yet. 
TODO.");
> 
>   for (i = 0; i < num; i++) {
>   read = i+1 < num && (msg[i+1].flags & I2C_M_RD);
> 
>   obuf[0] = (msg[i].addr << 1) | read;
>   obuf[1] = msg[i].len;
> 
>   /* read request */
>   if (read)
>   obuf[2] = msg[i+1].len;
>   else
>   obuf[2] = 0;
> 
>   memcpy(&obuf[3],msg[i].buf,msg[i].len);
> 
>   if (ttusb2_msg(d, CMD_I2C_XFER, obuf, msg[i].len+3, ibuf, 
> obuf[2] + 
3) <
> 0) { err("i2c transfer failed.");
>   break;
>   }
> 
>   if (read) {
>   memcpy(msg[i+1].buf,&ibuf[3],msg[i+1].len);
>   i++;
>   }
>   }
> 
>   mutex_unlock(&d->i2c_mutex);
>   return i;
> }
> 
> Clearly, this routine has issues, as it assumes that all transfers with
> reads will be broken into just two msgs, where the first one is a write,
> and a second one is a read, and that no transfers will be bigger than 2
> messages.
> 
> It shouldn't be hard to adapt it to handle transfers on either way, and to
> remove the limit of 2 transfers.
> 
> > @@ -540,7 +555,7 @@
> > 
> > if_freq = 500;
> > break;
> > 
> > }
> > 
> > -   tuner_freq = params->frequency + if_freq;
> > +   tuner_freq = params->frequency;
> > 
> > if (fe->ops.info.type == FE_QAM) {
> > 
> > dprintk("%s select tda827xa_dvbc\n", __func__);
> > 
> > @@ -554,6 +569,8 @@
> > 
> > i++;
> > 
> > }
> > 
> > +   tuner_freq += if_freq;
> > +
> > 
> > N = ((tuner_freq + 31250) / 62500) << frequency_map[i].spd;
> > buf[0] = 0;// subaddress
> > buf[1] = N >> 8;
> 
> This seems to be a bug fix, but you're touching only at the DVB-C. If the
> table lookup should not consider if_freq, the same fix is needed on the
> other similar logics at the driver.
> 
> Also, please send such patch in separate.
>

Only tested with tda827xa and DVB-T and two limit frecuencies. 

 Signed-off-by: Jose Alberto Reguero 

Jose Alberto

> > diff -ur linu

Re: [PATCH] v4l: mt9v032: Fix Bayer pattern

2011-07-16 Thread Laurent Pinchart
Hi Guennadi,

On Saturday 16 July 2011 01:11:28 Guennadi Liakhovetski wrote:
> On Fri, 15 Jul 2011, Laurent Pinchart wrote:
> > Compute crop rectangle boundaries to ensure a GRBG Bayer pattern.
> > 
> > Signed-off-by: Laurent Pinchart 
> > ---
> > 
> >  drivers/media/video/mt9v032.c |   20 ++--
> >  1 files changed, 10 insertions(+), 10 deletions(-)
> > 
> > If there's no comment I'll send a pull request for this patch in a couple
> > of days.
> 
> Hm, I might have a comment: why?... Isn't it natural to accept the fact,
> that different sensors put a different Bayer pixel at their sensor matrix
> origin? Isn't that why we have all possible Bayer formats? Maybe you just
> have to choose a different output format?

That's the other solution. The driver currently claims the device outputs 
SGRBG, but configures it to output SGBGR. This is clearly a bug. Is it better 
to modify the format than the crop rectangle location ?

The OMAP3 ISP supports all Bayer formats, but the driver configures itself for 
SGRBG by default. Using another pattern currently requires userspace software 
to change several hardware-dependent parameters (including matrices and 
tables). This should eventually be fixed in the OMAP3 ISP driver, but for the 
time being application developers will have an easier life if the sensor 
outputs SGRBG instead of SGBRG.

-- 
Regards,

Laurent Pinchart
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html