This is an automatic generated email to let you know that the following patch 
were queued:

Subject: media: gpio-ir-tx: improve precision of transmitted signal due to 
scheduling
Author:  Sean Young <[email protected]>
Date:    Sat May 2 14:50:52 2020 +0200

usleep_range() may take longer than the max argument due to scheduling,
especially under load. This is causing random errors in the transmitted
IR. Remove the usleep_range() in favour of busy-looping with udelay().

Signed-off-by: Sean Young <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>

 drivers/media/rc/gpio-ir-tx.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

---

diff --git a/drivers/media/rc/gpio-ir-tx.c b/drivers/media/rc/gpio-ir-tx.c
index 18ca12d78314..66703989ae18 100644
--- a/drivers/media/rc/gpio-ir-tx.c
+++ b/drivers/media/rc/gpio-ir-tx.c
@@ -79,13 +79,8 @@ static int gpio_ir_tx(struct rc_dev *dev, unsigned int 
*txbuf,
                        // space
                        edge = ktime_add_us(edge, txbuf[i]);
                        delta = ktime_us_delta(edge, ktime_get());
-                       if (delta > 10) {
-                               spin_unlock_irqrestore(&gpio_ir->lock, flags);
-                               usleep_range(delta, delta + 10);
-                               spin_lock_irqsave(&gpio_ir->lock, flags);
-                       } else if (delta > 0) {
+                       if (delta > 0)
                                udelay(delta);
-                       }
                } else {
                        // pulse
                        ktime_t last = ktime_add_us(edge, txbuf[i]);

_______________________________________________
linuxtv-commits mailing list
[email protected]
https://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to