Lines Matching refs:ir_state

117 	return state ? state->ir_state : NULL;
491 struct cx25840_ir_state *ir_state = to_ir_state(sd);
502 if (ir_state == NULL)
505 c = ir_state->c;
579 k = kfifo_in_locked(&ir_state->rx_kfifo,
581 &ir_state->rx_kfifo_lock);
617 spin_lock_irqsave(&ir_state->rx_kfifo_lock, flags);
618 if (kfifo_len(&ir_state->rx_kfifo) >= CX25840_IR_RX_KFIFO_SIZE / 2)
620 spin_unlock_irqrestore(&ir_state->rx_kfifo_lock, flags);
631 struct cx25840_ir_state *ir_state = to_ir_state(sd);
638 if (ir_state == NULL)
641 invert = (bool) atomic_read(&ir_state->rx_invert);
642 divider = (u16) atomic_read(&ir_state->rxclk_divider);
651 n = kfifo_out_locked(&ir_state->rx_kfifo, buf, n,
652 &ir_state->rx_kfifo_lock);
689 struct cx25840_ir_state *ir_state = to_ir_state(sd);
691 if (ir_state == NULL)
694 mutex_lock(&ir_state->rx_params_lock);
695 memcpy(p, &ir_state->rx_params,
697 mutex_unlock(&ir_state->rx_params_lock);
703 struct cx25840_ir_state *ir_state = to_ir_state(sd);
706 if (ir_state == NULL)
709 c = ir_state->c;
710 mutex_lock(&ir_state->rx_params_lock);
720 ir_state->rx_params.shutdown = true;
722 mutex_unlock(&ir_state->rx_params_lock);
729 struct cx25840_ir_state *ir_state = to_ir_state(sd);
734 if (ir_state == NULL)
743 c = ir_state->c;
744 o = &ir_state->rx_params;
746 mutex_lock(&ir_state->rx_params_lock);
786 atomic_set(&ir_state->rxclk_divider, rxclk_divider);
801 atomic_set(&ir_state->rx_invert, p->invert_level);
808 spin_lock_irqsave(&ir_state->rx_kfifo_lock, flags);
809 kfifo_reset(&ir_state->rx_kfifo);
810 spin_unlock_irqrestore(&ir_state->rx_kfifo_lock, flags);
816 mutex_unlock(&ir_state->rx_params_lock);
824 struct cx25840_ir_state *ir_state = to_ir_state(sd);
826 if (ir_state == NULL)
846 n = CX25840_IR_TX_KFIFO_SIZE - kfifo_len(ir_state->tx_kfifo);
859 ir_state->txclk_divider);
864 kfifo_put(ir_state->tx_kfifo, (u8 *) fifo_pulse,
879 struct cx25840_ir_state *ir_state = to_ir_state(sd);
881 if (ir_state == NULL)
884 mutex_lock(&ir_state->tx_params_lock);
885 memcpy(p, &ir_state->tx_params,
887 mutex_unlock(&ir_state->tx_params_lock);
893 struct cx25840_ir_state *ir_state = to_ir_state(sd);
896 if (ir_state == NULL)
899 c = ir_state->c;
900 mutex_lock(&ir_state->tx_params_lock);
908 ir_state->tx_params.shutdown = true;
910 mutex_unlock(&ir_state->tx_params_lock);
917 struct cx25840_ir_state *ir_state = to_ir_state(sd);
922 if (ir_state == NULL)
931 c = ir_state->c;
932 o = &ir_state->tx_params;
933 mutex_lock(&ir_state->tx_params_lock);
966 atomic_set(&ir_state->txclk_divider, txclk_divider);
994 mutex_unlock(&ir_state->tx_params_lock);
1189 struct cx25840_ir_state *ir_state;
1196 ir_state = devm_kzalloc(&state->c->dev, sizeof(*ir_state), GFP_KERNEL);
1197 if (ir_state == NULL)
1200 spin_lock_init(&ir_state->rx_kfifo_lock);
1201 if (kfifo_alloc(&ir_state->rx_kfifo,
1205 ir_state->c = state->c;
1206 state->ir_state = ir_state;
1210 cx25840_write4(ir_state->c, CX25840_IR_IRQEN_REG, IRQEN_MSK);
1212 cx25840_write4(ir_state->c, CX25840_IR_IRQEN_REG, 0);
1214 mutex_init(&ir_state->rx_params_lock);
1218 mutex_init(&ir_state->tx_params_lock);
1228 struct cx25840_ir_state *ir_state = to_ir_state(sd);
1230 if (ir_state == NULL)
1236 kfifo_free(&ir_state->rx_kfifo);
1237 state->ir_state = NULL;