All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mauro Carvalho Chehab <mchehab@redhat.com>
To: Antti Palosaari <crope@iki.fi>
Cc: linux-media@vger.kernel.org
Subject: Re: [PATCH] [media] drxk: Switch the delivery system on FE_SET_PROPERTY
Date: Fri, 09 Dec 2011 20:11:53 -0200	[thread overview]
Message-ID: <4EE287A9.3000502@redhat.com> (raw)
In-Reply-To: <4EE25CB4.3000501@iki.fi>

On 09-12-2011 17:08, Antti Palosaari wrote:
> On 12/09/2011 08:58 PM, Mauro Carvalho Chehab wrote:
>> On 09-12-2011 16:26, Antti Palosaari wrote:
>>> On 12/09/2011 08:20 PM, Mauro Carvalho Chehab wrote:
>>>> The DRX-K doesn't change the delivery system at set_properties,
>>>> but do it at frontend init. This causes problems on programs like
>>>> w_scan that, by default, opens both frontends.
>>>>
>>>> Instead, explicitly set the format when set_parameters callback is
>>>> called.
>>>
>>> May I ask why you don't use mfe_shared flag instead?
>>
>> Tested with it. Works. It takes a little more time to switch, but the
>> solution will be cleaner. version 2 will follow.
>
> Yes, there is kind of loop timer which tries to take FE and swithing takes second or two
>because it waits FE is freed. I looked it when I did MFE and I did not understood why
>it was done like that.
>
> cxd2820r has earlier simple lock (inside of demod driver) that just
> returned error immediately when busy. It is a little bit mystery for
> me why mfe_shared has that kind of waiting mechanism.

Still, it doesn't make much sense, at least on w_scan, as the only thing that is
called with each adapter is FE_GET_INFO:


open("/dev/dvb/adapter0/frontend0", O_RDWR|O_NONBLOCK) = 3
ioctl(3, FE_GET_INFO, 0x635120)         = 0
write(2, "\t/dev/dvb/adapter0/frontend0 -> "..., 92	/dev/dvb/adapter0/frontend0 -> DVB-C "DRXK DVB-C": specified was DVB-T -> SEARCH NEXT ONE.
) = 92
close(3)                                = 0
open("/dev/dvb/adapter0/frontend1", O_RDWR|O_NONBLOCK) = 3
ioctl(3, FE_GET_INFO, 0x635120)         = 0
write(2, "\t/dev/dvb/adapter0/frontend1 -> "..., 52	/dev/dvb/adapter0/frontend1 -> DVB-T "DRXK DVB-T": ) = 52
write(2, "good :-)\n", 9good :-)
)               = 9
close(3)                                = 0

Still, the second open takes about 4 seconds to complete, _even_ with O_NONBLOCK.

There's something bad there, as it is violating POSIX.

>Could someone explain reason for that?

I dunno, but I think this needs to be fixed, at least when the frontend
is opened with O_NONBLOCK.

Regards,
Mauro.

  reply	other threads:[~2011-12-09 22:12 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-09 18:20 [PATCH] [media] drxk: Switch the delivery system on FE_SET_PROPERTY Mauro Carvalho Chehab
2011-12-09 18:26 ` Antti Palosaari
2011-12-09 18:58   ` Mauro Carvalho Chehab
2011-12-09 19:08     ` Antti Palosaari
2011-12-09 22:11       ` Mauro Carvalho Chehab [this message]
2011-12-09 22:33         ` Devin Heitmueller
2011-12-09 23:37           ` Mauro Carvalho Chehab
2011-12-09 23:43             ` Mauro Carvalho Chehab
2011-12-10  1:37               ` [PATCH] DVB: dvb_frontend: fix delayed thread exit Andreas Oberritter
2011-12-10  1:59                 ` Devin Heitmueller
2011-12-10  2:06                   ` Andreas Oberritter
2011-12-10  2:25                     ` Devin Heitmueller
2011-12-10 10:28                       ` Mauro Carvalho Chehab
2011-12-10 13:43                         ` Devin Heitmueller
2011-12-10 16:16                           ` Mauro Carvalho Chehab
2011-12-10 11:12                 ` Mauro Carvalho Chehab
2011-12-09 19:00   ` [PATCHv2] [media] drxk: Switch the delivery system on FE_SET_PROPERTY Mauro Carvalho Chehab
2011-12-09 20:04     ` Eddi De Pieri
2011-12-09 22:04       ` Mauro Carvalho Chehab
2011-12-10  4:00     ` Oliver Endriss
2011-12-10 11:18       ` Mauro Carvalho Chehab

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4EE287A9.3000502@redhat.com \
    --to=mchehab@redhat.com \
    --cc=crope@iki.fi \
    --cc=linux-media@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.