All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sean Young <sean@mess.org>
To: Andi Shyti <andi.shyti@samsung.com>
Cc: "Mauro Carvalho Chehab" <mchehab@osg.samsung.com>,
	"Rob Herring" <robh+dt@kernel.org>,
	"Mark Rutland" <mark.rutland@arm.com>,
	linux-media@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, "Andi Shyti" <andi@etezian.org>,
	"David Härdeman" <david@hardeman.nu>
Subject: Re: [PATCH v2 5/7] [media] ir-lirc-codec: don't wait any transmitting time for tx only devices
Date: Thu, 27 Oct 2016 15:36:01 +0100	[thread overview]
Message-ID: <20161027143601.GA5103@gofer.mess.org> (raw)
In-Reply-To: <20161027074401.wxg5icc6hcpwnfsf@gangnam.samsung>

On Thu, Oct 27, 2016 at 04:44:01PM +0900, Andi Shyti wrote:
> Hi Sean,
> 
> it's been a while :)
> 
> I was going through your review fixing what needs to be fixed,
> but...
> 
> > > @@ -153,7 +153,7 @@ static ssize_t ir_lirc_transmit_ir(struct file *file, const char __user *buf,
> > >  	}
> > >  
> > >  	ret = dev->tx_ir(dev, txbuf, count);
> > > -	if (ret < 0)
> > > +	if (ret < 0 || dev->driver_type == RC_DRIVER_IR_RAW_TX)
> > 
> > Just because a driver only does transmit doesn't mean its transmit ABI
> > should change.
> > 
> > Now this bit of code is pretty horrible. It ensures that the call to write()
> > takes at least as long as the length of the transmit IR by sleeping. That's
> > not much of a guarantee that the IR has been sent.
> > 
> > Note that in the case of ir-spi, since your spi transfer is sync no sleep
> > should be introduced here.
> > 
> > The gap calculation in lirc checks that if the call to write() took _longer_
> > than expected wait before sending the next IR code (when either multiple
> > IR codes or repeats are specified). Introducing the sleep in the kernel
> > here does not help at all, lirc already ensures that it waits as long as
> > the IR is long (see schedule_repeat_timer in lirc).
> > 
> > This change was introduced in 3.10, commit f8e00d5. 
> 
> ... I'm not sure what can be done here. I get your point and I
> understand that this indeed is a kind of fake sync point and by
> doing this I 

My original plan was to send a patch which just removes the silly wait,
but on further investigating debian stable and testing still carry a
lirc version that depend on it, so that's not going to fly.

> How about creating two different functions:
> 
> - ir_lirc_transmit_ir where we actually do what the function
>   already does
> - ir_lirc_transmit_no_sync where the function we don't wait
>   because the the sync is done on a different level (for example
>   in the SPI case).
> 
> SPI does approximately the same thing.

Since we have to be able to switch between waiting and not waiting, 
we need some sort of ABI for this. I think this warrants a new ioctl;
I'm not sure how else it can be done. I'll be sending out a patch
shortly.


Sean

  reply	other threads:[~2016-10-27 14:36 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-01 17:16 [PATCH v2 0/7] Add support for IR transmitters Andi Shyti
2016-09-01 17:16 ` Andi Shyti
2016-09-01 17:16 ` [PATCH v2 1/7] [media] rc-main: assign driver type during allocation Andi Shyti
2016-09-01 21:23   ` Sean Young
     [not found]     ` <20160901212351.GB22198-3XSxi2G4b3iXFJAUJl40Xg@public.gmane.org>
2016-09-02  5:25       ` Andi Shyti
2016-09-02  5:25         ` Andi Shyti
2016-09-01 17:16 ` [PATCH v2 2/7] [media] rc-main: split setup and unregister functions Andi Shyti
2016-09-01 17:16 ` [PATCH v2 3/7] [media] rc-core: add support for IR raw transmitters Andi Shyti
2016-09-01 21:31   ` Sean Young
     [not found]   ` <20160901171629.15422-4-andi.shyti-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2016-09-02  0:21     ` kbuild test robot
2016-09-02  0:21       ` kbuild test robot
2016-09-01 17:16 ` [PATCH v2 4/7] [media] rc-ir-raw: do not generate any receiving thread for " Andi Shyti
2016-09-01 17:16 ` [PATCH v2 5/7] [media] ir-lirc-codec: don't wait any transmitting time for tx only devices Andi Shyti
2016-09-02  8:41   ` Sean Young
     [not found]     ` <20160902084158.GA25342-3XSxi2G4b3iXFJAUJl40Xg@public.gmane.org>
2016-10-27  7:44       ` Andi Shyti
2016-10-27  7:44         ` Andi Shyti
2016-10-27 14:36         ` Sean Young [this message]
2016-10-31 14:31           ` David Härdeman
2016-10-31 17:05             ` Sean Young
     [not found]               ` <20161031170526.GA8183-3XSxi2G4b3iXFJAUJl40Xg@public.gmane.org>
2016-11-01  6:51                 ` Andi Shyti
2016-11-01  6:51                   ` Andi Shyti
2016-11-01 10:34                   ` Sean Young
2016-11-02  4:39                     ` Andi Shyti
2016-09-01 17:16 ` [PATCH v2 6/7] Documentation: bindings: add documentation for ir-spi device driver Andi Shyti
2016-09-01 21:40   ` Rob Herring
2016-09-02  5:33     ` Andi Shyti
     [not found]       ` <20160902053320.wqe5hklklnyvcc5m-4M0o0xkwKdT35fTxX1Dczw@public.gmane.org>
2016-09-12 13:27         ` Rob Herring
2016-09-12 13:27           ` Rob Herring
2016-09-01 17:16 ` [PATCH v2 7/7] [media] rc: add support for IR LEDs driven through SPI Andi Shyti
2016-09-01 21:12   ` Sean Young
     [not found]     ` <20160901211232.GA22198-3XSxi2G4b3iXFJAUJl40Xg@public.gmane.org>
2016-09-02  5:27       ` Andi Shyti
2016-09-02  5:27         ` Andi Shyti
2016-09-02  8:43         ` Sean Young

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=20161027143601.GA5103@gofer.mess.org \
    --to=sean@mess.org \
    --cc=andi.shyti@samsung.com \
    --cc=andi@etezian.org \
    --cc=david@hardeman.nu \
    --cc=devicetree@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mchehab@osg.samsung.com \
    --cc=robh+dt@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.