Lines Matching refs:sd
126 struct v4l2_subdev sd; member
142 static inline struct cx23888_ir_state *to_state(struct v4l2_subdev *sd) in to_state() argument
144 return v4l2_get_subdevdata(sd); in to_state()
529 static int cx23888_ir_irq_handler(struct v4l2_subdev *sd, u32 status, in cx23888_ir_irq_handler() argument
532 struct cx23888_ir_state *state = to_state(sd); in cx23888_ir_irq_handler()
556 v4l2_dbg(2, ir_888_debug, sd, "IRQ Status: %s %s %s %s %s %s\n", in cx23888_ir_irq_handler()
562 v4l2_dbg(2, ir_888_debug, sd, "IRQ Enables: %s %s %s %s\n", in cx23888_ir_irq_handler()
583 v4l2_subdev_notify(sd, V4L2_SUBDEV_IR_TX_NOTIFY, &events); in cx23888_ir_irq_handler()
621 v4l2_err(sd, "IR receiver software FIFO overrun\n"); in cx23888_ir_irq_handler()
630 v4l2_err(sd, "IR receiver hardware FIFO overrun\n"); in cx23888_ir_irq_handler()
653 v4l2_subdev_notify(sd, V4L2_SUBDEV_IR_RX_NOTIFY, &events); in cx23888_ir_irq_handler()
658 static int cx23888_ir_rx_read(struct v4l2_subdev *sd, u8 *buf, size_t count, in cx23888_ir_rx_read() argument
661 struct cx23888_ir_state *state = to_state(sd); in cx23888_ir_rx_read()
704 v4l2_dbg(2, ir_888_debug, sd, "rx read: %10u ns %s %s\n", in cx23888_ir_rx_read()
707 v4l2_dbg(2, ir_888_debug, sd, "rx read: end of rx\n"); in cx23888_ir_rx_read()
712 static int cx23888_ir_rx_g_parameters(struct v4l2_subdev *sd, in cx23888_ir_rx_g_parameters() argument
715 struct cx23888_ir_state *state = to_state(sd); in cx23888_ir_rx_g_parameters()
722 static int cx23888_ir_rx_shutdown(struct v4l2_subdev *sd) in cx23888_ir_rx_shutdown() argument
724 struct cx23888_ir_state *state = to_state(sd); in cx23888_ir_rx_shutdown()
743 static int cx23888_ir_rx_s_parameters(struct v4l2_subdev *sd, in cx23888_ir_rx_s_parameters() argument
746 struct cx23888_ir_state *state = to_state(sd); in cx23888_ir_rx_s_parameters()
752 return cx23888_ir_rx_shutdown(sd); in cx23888_ir_rx_s_parameters()
831 static int cx23888_ir_tx_write(struct v4l2_subdev *sd, u8 *buf, size_t count, in cx23888_ir_tx_write() argument
834 struct cx23888_ir_state *state = to_state(sd); in cx23888_ir_tx_write()
842 static int cx23888_ir_tx_g_parameters(struct v4l2_subdev *sd, in cx23888_ir_tx_g_parameters() argument
845 struct cx23888_ir_state *state = to_state(sd); in cx23888_ir_tx_g_parameters()
852 static int cx23888_ir_tx_shutdown(struct v4l2_subdev *sd) in cx23888_ir_tx_shutdown() argument
854 struct cx23888_ir_state *state = to_state(sd); in cx23888_ir_tx_shutdown()
871 static int cx23888_ir_tx_s_parameters(struct v4l2_subdev *sd, in cx23888_ir_tx_s_parameters() argument
874 struct cx23888_ir_state *state = to_state(sd); in cx23888_ir_tx_s_parameters()
880 return cx23888_ir_tx_shutdown(sd); in cx23888_ir_tx_s_parameters()
947 static int cx23888_ir_log_status(struct v4l2_subdev *sd) in cx23888_ir_log_status() argument
949 struct cx23888_ir_state *state = to_state(sd); in cx23888_ir_log_status()
962 v4l2_info(sd, "IR Receiver:\n"); in cx23888_ir_log_status()
963 v4l2_info(sd, "\tEnabled: %s\n", in cx23888_ir_log_status()
965 v4l2_info(sd, "\tDemodulation from a carrier: %s\n", in cx23888_ir_log_status()
967 v4l2_info(sd, "\tFIFO: %s\n", in cx23888_ir_log_status()
986 v4l2_info(sd, "\tPulse timers' start/stop trigger: %s\n", s); in cx23888_ir_log_status()
987 v4l2_info(sd, "\tFIFO data on pulse timer overflow: %s\n", in cx23888_ir_log_status()
989 v4l2_info(sd, "\tFIFO interrupt watermark: %s\n", in cx23888_ir_log_status()
991 v4l2_info(sd, "\tLoopback mode: %s\n", in cx23888_ir_log_status()
994 v4l2_info(sd, "\tExpected carrier (16 clocks): %u Hz\n", in cx23888_ir_log_status()
1018 v4l2_info(sd, "\tNext carrier edge window: 16 clocks " in cx23888_ir_log_status()
1023 v4l2_info(sd, "\tMax measurable pulse width: %u us, %llu ns\n", in cx23888_ir_log_status()
1026 v4l2_info(sd, "\tLow pass filter: %s\n", in cx23888_ir_log_status()
1029 v4l2_info(sd, "\tMin acceptable pulse width (LPF): %u us, " in cx23888_ir_log_status()
1033 v4l2_info(sd, "\tPulse width timer timed-out: %s\n", in cx23888_ir_log_status()
1035 v4l2_info(sd, "\tPulse width timer time-out intr: %s\n", in cx23888_ir_log_status()
1037 v4l2_info(sd, "\tFIFO overrun: %s\n", in cx23888_ir_log_status()
1039 v4l2_info(sd, "\tFIFO overrun interrupt: %s\n", in cx23888_ir_log_status()
1041 v4l2_info(sd, "\tBusy: %s\n", in cx23888_ir_log_status()
1043 v4l2_info(sd, "\tFIFO service requested: %s\n", in cx23888_ir_log_status()
1045 v4l2_info(sd, "\tFIFO service request interrupt: %s\n", in cx23888_ir_log_status()
1048 v4l2_info(sd, "IR Transmitter:\n"); in cx23888_ir_log_status()
1049 v4l2_info(sd, "\tEnabled: %s\n", in cx23888_ir_log_status()
1051 v4l2_info(sd, "\tModulation onto a carrier: %s\n", in cx23888_ir_log_status()
1053 v4l2_info(sd, "\tFIFO: %s\n", in cx23888_ir_log_status()
1055 v4l2_info(sd, "\tFIFO interrupt watermark: %s\n", in cx23888_ir_log_status()
1057 v4l2_info(sd, "\tOutput pin level inversion %s\n", in cx23888_ir_log_status()
1059 v4l2_info(sd, "\tCarrier polarity: %s\n", in cx23888_ir_log_status()
1063 v4l2_info(sd, "\tCarrier (16 clocks): %u Hz\n", in cx23888_ir_log_status()
1065 v4l2_info(sd, "\tCarrier duty cycle: %2u/16\n", in cx23888_ir_log_status()
1068 v4l2_info(sd, "\tMax pulse width: %u us, %llu ns\n", in cx23888_ir_log_status()
1071 v4l2_info(sd, "\tBusy: %s\n", in cx23888_ir_log_status()
1073 v4l2_info(sd, "\tFIFO service requested: %s\n", in cx23888_ir_log_status()
1075 v4l2_info(sd, "\tFIFO service request interrupt: %s\n", in cx23888_ir_log_status()
1082 static int cx23888_ir_g_register(struct v4l2_subdev *sd, in cx23888_ir_g_register() argument
1085 struct cx23888_ir_state *state = to_state(sd); in cx23888_ir_g_register()
1097 static int cx23888_ir_s_register(struct v4l2_subdev *sd, in cx23888_ir_s_register() argument
1100 struct cx23888_ir_state *state = to_state(sd); in cx23888_ir_s_register()
1173 struct v4l2_subdev *sd; in cx23888_ir_probe() local
1186 sd = &state->sd; in cx23888_ir_probe()
1188 v4l2_subdev_init(sd, &cx23888_ir_controller_ops); in cx23888_ir_probe()
1189 v4l2_set_subdevdata(sd, state); in cx23888_ir_probe()
1191 snprintf(sd->name, sizeof(sd->name), "%s/888-ir", dev->name); in cx23888_ir_probe()
1192 sd->grp_id = CX23885_HW_888_IR; in cx23888_ir_probe()
1194 ret = v4l2_device_register_subdev(&dev->v4l2_dev, sd); in cx23888_ir_probe()
1205 v4l2_subdev_call(sd, ir, rx_s_parameters, &default_params); in cx23888_ir_probe()
1209 v4l2_subdev_call(sd, ir, tx_s_parameters, &default_params); in cx23888_ir_probe()
1218 struct v4l2_subdev *sd; in cx23888_ir_remove() local
1221 sd = cx23885_find_hw(dev, CX23885_HW_888_IR); in cx23888_ir_remove()
1222 if (sd == NULL) in cx23888_ir_remove()
1225 cx23888_ir_rx_shutdown(sd); in cx23888_ir_remove()
1226 cx23888_ir_tx_shutdown(sd); in cx23888_ir_remove()
1228 state = to_state(sd); in cx23888_ir_remove()
1229 v4l2_device_unregister_subdev(sd); in cx23888_ir_remove()