mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-15 14:06:44 +07:00
media: cec-pin: create cec_pin_start_timer() function
This function will be needed for injecting a custom pulse. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This commit is contained in:
parent
6902c88a46
commit
0ee492ad54
@ -118,4 +118,6 @@ struct cec_pin {
|
||||
u32 timer_sum_overrun;
|
||||
};
|
||||
|
||||
void cec_pin_start_timer(struct cec_pin *pin);
|
||||
|
||||
#endif
|
||||
|
@ -680,6 +680,18 @@ static int cec_pin_adap_log_addr(struct cec_adapter *adap, u8 log_addr)
|
||||
return 0;
|
||||
}
|
||||
|
||||
void cec_pin_start_timer(struct cec_pin *pin)
|
||||
{
|
||||
if (pin->state != CEC_ST_RX_IRQ)
|
||||
return;
|
||||
|
||||
atomic_set(&pin->work_irq_change, CEC_PIN_IRQ_UNCHANGED);
|
||||
pin->ops->disable_irq(pin->adap);
|
||||
cec_pin_high(pin);
|
||||
cec_pin_to_idle(pin);
|
||||
hrtimer_start(&pin->timer, ns_to_ktime(0), HRTIMER_MODE_REL);
|
||||
}
|
||||
|
||||
static int cec_pin_adap_transmit(struct cec_adapter *adap, u8 attempts,
|
||||
u32 signal_free_time, struct cec_msg *msg)
|
||||
{
|
||||
@ -689,14 +701,7 @@ static int cec_pin_adap_transmit(struct cec_adapter *adap, u8 attempts,
|
||||
pin->tx_msg = *msg;
|
||||
pin->work_tx_status = 0;
|
||||
pin->tx_bit = 0;
|
||||
if (pin->state == CEC_ST_RX_IRQ) {
|
||||
atomic_set(&pin->work_irq_change, CEC_PIN_IRQ_UNCHANGED);
|
||||
pin->ops->disable_irq(adap);
|
||||
cec_pin_high(pin);
|
||||
cec_pin_to_idle(pin);
|
||||
hrtimer_start(&pin->timer, ns_to_ktime(0),
|
||||
HRTIMER_MODE_REL);
|
||||
}
|
||||
cec_pin_start_timer(pin);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user