Lines Matching refs:c
113 struct i2c_client *c; member
344 static inline void control_tx_irq_watermark(struct i2c_client *c, in control_tx_irq_watermark() argument
347 cx25840_and_or4(c, CX25840_IR_CNTRL_REG, ~CNTRL_TIC, level); in control_tx_irq_watermark()
350 static inline void control_rx_irq_watermark(struct i2c_client *c, in control_rx_irq_watermark() argument
353 cx25840_and_or4(c, CX25840_IR_CNTRL_REG, ~CNTRL_RIC, level); in control_rx_irq_watermark()
356 static inline void control_tx_enable(struct i2c_client *c, bool enable) in control_tx_enable() argument
358 cx25840_and_or4(c, CX25840_IR_CNTRL_REG, ~(CNTRL_TXE | CNTRL_TFE), in control_tx_enable()
362 static inline void control_rx_enable(struct i2c_client *c, bool enable) in control_rx_enable() argument
364 cx25840_and_or4(c, CX25840_IR_CNTRL_REG, ~(CNTRL_RXE | CNTRL_RFE), in control_rx_enable()
368 static inline void control_tx_modulation_enable(struct i2c_client *c, in control_tx_modulation_enable() argument
371 cx25840_and_or4(c, CX25840_IR_CNTRL_REG, ~CNTRL_MOD, in control_tx_modulation_enable()
375 static inline void control_rx_demodulation_enable(struct i2c_client *c, in control_rx_demodulation_enable() argument
378 cx25840_and_or4(c, CX25840_IR_CNTRL_REG, ~CNTRL_DMD, in control_rx_demodulation_enable()
382 static inline void control_rx_s_edge_detection(struct i2c_client *c, in control_rx_s_edge_detection() argument
385 cx25840_and_or4(c, CX25840_IR_CNTRL_REG, ~CNTRL_EDG_BOTH, in control_rx_s_edge_detection()
389 static void control_rx_s_carrier_window(struct i2c_client *c, in control_rx_s_carrier_window() argument
412 cx25840_and_or4(c, CX25840_IR_CNTRL_REG, ~CNTRL_WIN, v); in control_rx_s_carrier_window()
415 static inline void control_tx_polarity_invert(struct i2c_client *c, in control_tx_polarity_invert() argument
418 cx25840_and_or4(c, CX25840_IR_CNTRL_REG, ~CNTRL_CPL, in control_tx_polarity_invert()
425 static unsigned int txclk_tx_s_carrier(struct i2c_client *c, in txclk_tx_s_carrier() argument
430 cx25840_write4(c, CX25840_IR_TXCLK_REG, *divider); in txclk_tx_s_carrier()
434 static unsigned int rxclk_rx_s_carrier(struct i2c_client *c, in rxclk_rx_s_carrier() argument
439 cx25840_write4(c, CX25840_IR_RXCLK_REG, *divider); in rxclk_rx_s_carrier()
443 static u32 txclk_tx_s_max_pulse_width(struct i2c_client *c, u32 ns, in txclk_tx_s_max_pulse_width() argument
452 cx25840_write4(c, CX25840_IR_TXCLK_REG, *divider); in txclk_tx_s_max_pulse_width()
456 static u32 rxclk_rx_s_max_pulse_width(struct i2c_client *c, u32 ns, in rxclk_rx_s_max_pulse_width() argument
465 cx25840_write4(c, CX25840_IR_RXCLK_REG, *divider); in rxclk_rx_s_max_pulse_width()
472 static unsigned int cduty_tx_s_duty_cycle(struct i2c_client *c, in cduty_tx_s_duty_cycle() argument
481 cx25840_write4(c, CX25840_IR_CDUTY_REG, n); in cduty_tx_s_duty_cycle()
488 static u32 filter_rx_s_min_width(struct i2c_client *c, u32 min_width_ns) in filter_rx_s_min_width() argument
491 cx25840_write4(c, CX25840_IR_FILTR_REG, count); in filter_rx_s_min_width()
505 cx25840_and_or4(state->c, CX25840_IR_IRQEN_REG, in irqenable_rx()
516 cx25840_and_or4(state->c, CX25840_IR_IRQEN_REG, ~IRQEN_TSE, mask); in irqenable_tx()
526 struct i2c_client *c = NULL; in cx25840_ir_irq_handler() local
539 c = ir_state->c; in cx25840_ir_irq_handler()
545 cntrl = cx25840_read4(c, CX25840_IR_CNTRL_REG); in cx25840_ir_irq_handler()
546 irqen = cx25840_read4(c, CX25840_IR_IRQEN_REG); in cx25840_ir_irq_handler()
549 stats = cx25840_read4(c, CX25840_IR_STATS_REG); in cx25840_ir_irq_handler()
606 v = cx25840_read4(c, CX25840_IR_FIFO_REG); in cx25840_ir_irq_handler()
647 cx25840_write4(c, CX25840_IR_CNTRL_REG, cntrl & ~v); in cx25840_ir_irq_handler()
648 cx25840_write4(c, CX25840_IR_CNTRL_REG, cntrl); in cx25840_ir_irq_handler()
740 struct i2c_client *c; in cx25840_ir_rx_shutdown() local
745 c = ir_state->c; in cx25840_ir_rx_shutdown()
750 control_rx_enable(c, false); in cx25840_ir_rx_shutdown()
751 control_rx_demodulation_enable(c, false); in cx25840_ir_rx_shutdown()
752 control_rx_s_edge_detection(c, CNTRL_EDG_NONE); in cx25840_ir_rx_shutdown()
753 filter_rx_s_min_width(c, 0); in cx25840_ir_rx_shutdown()
754 cx25840_write4(c, CX25840_IR_RXCLK_REG, RXCLK_RCD); in cx25840_ir_rx_shutdown()
766 struct i2c_client *c; in cx25840_ir_rx_s_parameters() local
779 c = ir_state->c; in cx25840_ir_rx_s_parameters()
794 control_rx_enable(c, false); in cx25840_ir_rx_s_parameters()
796 control_rx_demodulation_enable(c, p->modulation); in cx25840_ir_rx_s_parameters()
800 p->carrier_freq = rxclk_rx_s_carrier(c, p->carrier_freq, in cx25840_ir_rx_s_parameters()
808 control_rx_s_carrier_window(c, p->carrier_freq, in cx25840_ir_rx_s_parameters()
818 rxclk_rx_s_max_pulse_width(c, p->max_pulse_width, in cx25840_ir_rx_s_parameters()
825 filter_rx_s_min_width(c, p->noise_filter_min_width); in cx25840_ir_rx_s_parameters()
832 control_rx_irq_watermark(c, RX_FIFO_HALF_FULL); in cx25840_ir_rx_s_parameters()
834 control_rx_s_edge_detection(c, CNTRL_EDG_BOTH); in cx25840_ir_rx_s_parameters()
849 control_rx_enable(c, p->enable); in cx25840_ir_rx_s_parameters()
930 struct i2c_client *c; in cx25840_ir_tx_shutdown() local
935 c = ir_state->c; in cx25840_ir_tx_shutdown()
940 control_tx_enable(c, false); in cx25840_ir_tx_shutdown()
941 control_tx_modulation_enable(c, false); in cx25840_ir_tx_shutdown()
942 cx25840_write4(c, CX25840_IR_TXCLK_REG, TXCLK_TCD); in cx25840_ir_tx_shutdown()
954 struct i2c_client *c; in cx25840_ir_tx_s_parameters() local
967 c = ir_state->c; in cx25840_ir_tx_s_parameters()
981 control_tx_enable(c, false); in cx25840_ir_tx_s_parameters()
983 control_tx_modulation_enable(c, p->modulation); in cx25840_ir_tx_s_parameters()
987 p->carrier_freq = txclk_tx_s_carrier(c, p->carrier_freq, in cx25840_ir_tx_s_parameters()
991 p->duty_cycle = cduty_tx_s_duty_cycle(c, p->duty_cycle); in cx25840_ir_tx_s_parameters()
998 txclk_tx_s_max_pulse_width(c, p->max_pulse_width, in cx25840_ir_tx_s_parameters()
1008 control_tx_irq_watermark(c, TX_FIFO_HALF_EMPTY); in cx25840_ir_tx_s_parameters()
1010 control_tx_polarity_invert(c, p->invert_carrier_sense); in cx25840_ir_tx_s_parameters()
1027 control_tx_enable(c, p->enable); in cx25840_ir_tx_s_parameters()
1041 struct i2c_client *c = state->c; in cx25840_ir_log_status() local
1050 cntrl = cx25840_read4(c, CX25840_IR_CNTRL_REG); in cx25840_ir_log_status()
1051 txclk = cx25840_read4(c, CX25840_IR_TXCLK_REG) & TXCLK_TCD; in cx25840_ir_log_status()
1052 rxclk = cx25840_read4(c, CX25840_IR_RXCLK_REG) & RXCLK_RCD; in cx25840_ir_log_status()
1053 cduty = cx25840_read4(c, CX25840_IR_CDUTY_REG) & CDUTY_CDC; in cx25840_ir_log_status()
1054 stats = cx25840_read4(c, CX25840_IR_STATS_REG); in cx25840_ir_log_status()
1055 irqen = cx25840_read4(c, CX25840_IR_IRQEN_REG); in cx25840_ir_log_status()
1058 filtr = cx25840_read4(c, CX25840_IR_FILTR_REG) & FILTR_LPF; in cx25840_ir_log_status()
1233 ir_state = devm_kzalloc(&state->c->dev, sizeof(*ir_state), GFP_KERNEL); in cx25840_ir_probe()
1242 ir_state->c = state->c; in cx25840_ir_probe()
1247 cx25840_write4(ir_state->c, CX25840_IR_IRQEN_REG, IRQEN_MSK); in cx25840_ir_probe()
1249 cx25840_write4(ir_state->c, CX25840_IR_IRQEN_REG, 0); in cx25840_ir_probe()