Re: [PATCH] media: gpio-ir-tx: Driver does not behave with PREEMPT_RT
From: Sebastian Andrzej Siewior
Date: Wed Oct 02 2024 - 09:48:58 EST
On 2024-09-21 20:07:20 [+0100], Sean Young wrote:
> This driver bit-bangs a signal with interrupts disabled. The signal can
> last for up to half a second (IR_MAX_DURATION).
>
> A much better way of transmitting IR is using the pwm-ir-tx driver,
> which does not disable interrupts.
If you have to spin to make the signal exact and there is no other way
then be may guest.
Acked-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
But RT or not, spinning for up to 0.5s is a lot. Is this 0.5s in total
or 0.5 * count?
Anyway, gpio_ir_tx_unmodulated() and gpio_ir_tx_modulated() have
local_irq_disable() in there which can be removed. It got introduced in
commit 1451b93223bbe ("media: gpio-ir-tx: spinlock is not needed to
disable interrupts") but the previous irq-save is enough.
> Signed-off-by: Sean Young <sean@xxxxxxxx>
Sebastian