Lines Matching refs:ir_state

117 	return state ? state->ir_state : NULL;
511 struct cx25840_ir_state *ir_state = to_ir_state(sd);
522 if (ir_state == NULL)
525 c = ir_state->c;
599 k = kfifo_in_locked(&ir_state->rx_kfifo,
601 &ir_state->rx_kfifo_lock);
637 spin_lock_irqsave(&ir_state->rx_kfifo_lock, flags);
638 if (kfifo_len(&ir_state->rx_kfifo) >= CX25840_IR_RX_KFIFO_SIZE / 2)
640 spin_unlock_irqrestore(&ir_state->rx_kfifo_lock, flags);
651 struct cx25840_ir_state *ir_state = to_ir_state(sd);
658 if (ir_state == NULL)
661 invert = (bool) atomic_read(&ir_state->rx_invert);
662 divider = (u16) atomic_read(&ir_state->rxclk_divider);
671 n = kfifo_out_locked(&ir_state->rx_kfifo, buf, n,
672 &ir_state->rx_kfifo_lock);
709 struct cx25840_ir_state *ir_state = to_ir_state(sd);
711 if (ir_state == NULL)
714 mutex_lock(&ir_state->rx_params_lock);
715 memcpy(p, &ir_state->rx_params,
717 mutex_unlock(&ir_state->rx_params_lock);
723 struct cx25840_ir_state *ir_state = to_ir_state(sd);
726 if (ir_state == NULL)
729 c = ir_state->c;
730 mutex_lock(&ir_state->rx_params_lock);
740 ir_state->rx_params.shutdown = true;
742 mutex_unlock(&ir_state->rx_params_lock);
749 struct cx25840_ir_state *ir_state = to_ir_state(sd);
754 if (ir_state == NULL)
763 c = ir_state->c;
764 o = &ir_state->rx_params;
766 mutex_lock(&ir_state->rx_params_lock);
806 atomic_set(&ir_state->rxclk_divider, rxclk_divider);
821 atomic_set(&ir_state->rx_invert, p->invert_level);
828 spin_lock_irqsave(&ir_state->rx_kfifo_lock, flags);
829 kfifo_reset(&ir_state->rx_kfifo);
830 spin_unlock_irqrestore(&ir_state->rx_kfifo_lock, flags);
836 mutex_unlock(&ir_state->rx_params_lock);
844 struct cx25840_ir_state *ir_state = to_ir_state(sd);
846 if (ir_state == NULL)
866 n = CX25840_IR_TX_KFIFO_SIZE - kfifo_len(ir_state->tx_kfifo);
879 ir_state->txclk_divider);
884 kfifo_put(ir_state->tx_kfifo, (u8 *) fifo_pulse,
899 struct cx25840_ir_state *ir_state = to_ir_state(sd);
901 if (ir_state == NULL)
904 mutex_lock(&ir_state->tx_params_lock);
905 memcpy(p, &ir_state->tx_params,
907 mutex_unlock(&ir_state->tx_params_lock);
913 struct cx25840_ir_state *ir_state = to_ir_state(sd);
916 if (ir_state == NULL)
919 c = ir_state->c;
920 mutex_lock(&ir_state->tx_params_lock);
928 ir_state->tx_params.shutdown = true;
930 mutex_unlock(&ir_state->tx_params_lock);
937 struct cx25840_ir_state *ir_state = to_ir_state(sd);
942 if (ir_state == NULL)
951 c = ir_state->c;
952 o = &ir_state->tx_params;
953 mutex_lock(&ir_state->tx_params_lock);
986 atomic_set(&ir_state->txclk_divider, txclk_divider);
1014 mutex_unlock(&ir_state->tx_params_lock);
1209 struct cx25840_ir_state *ir_state;
1216 ir_state = devm_kzalloc(&state->c->dev, sizeof(*ir_state), GFP_KERNEL);
1217 if (ir_state == NULL)
1220 spin_lock_init(&ir_state->rx_kfifo_lock);
1221 if (kfifo_alloc(&ir_state->rx_kfifo,
1225 ir_state->c = state->c;
1226 state->ir_state = ir_state;
1230 cx25840_write4(ir_state->c, CX25840_IR_IRQEN_REG, IRQEN_MSK);
1232 cx25840_write4(ir_state->c, CX25840_IR_IRQEN_REG, 0);
1234 mutex_init(&ir_state->rx_params_lock);
1238 mutex_init(&ir_state->tx_params_lock);
1248 struct cx25840_ir_state *ir_state = to_ir_state(sd);
1250 if (ir_state == NULL)
1256 kfifo_free(&ir_state->rx_kfifo);
1257 state->ir_state = NULL;