/Linux-v5.10/drivers/media/rc/ |
D | iguanair.c | 3 * IguanaWorks USB IR Transceiver support 79 static void process_ir_data(struct iguanair *ir, unsigned len) in process_ir_data() argument 81 if (len >= 4 && ir->buf_in[0] == 0 && ir->buf_in[1] == 0) { in process_ir_data() 82 switch (ir->buf_in[3]) { in process_ir_data() 85 ir->version = (ir->buf_in[5] << 8) | in process_ir_data() 86 ir->buf_in[4]; in process_ir_data() 87 complete(&ir->completion); in process_ir_data() 92 ir->bufsize = ir->buf_in[4]; in process_ir_data() 93 complete(&ir->completion); in process_ir_data() 98 ir->cycle_overhead = ir->buf_in[5]; in process_ir_data() [all …]
|
D | mtk-cir.c | 3 * Driver for Mediatek IR Receiver Controller 17 /* Register to enable PWM and IR */ 20 /* Bit to enable IR pulse width detection */ 25 * indicating IR receiving completion and then making IRQ fires 29 /* Bit to enable IR hardware function */ 32 /* Bit to restart IR receiving */ 38 /* IR threshold */ 51 /* Indicate the end of IR message */ 70 /* Register to enable IR interrupt */ 72 /* Register to ack IR interrupt */ [all …]
|
D | sunxi-cir.c | 3 * Driver for Allwinner sunXi IR controller 8 * Based on sun5i-ir.c: 20 #define SUNXI_IR_DEV "sunxi-ir" 23 /* IR Control */ 61 #define REG_RXSTA_GET_AC(val) (((val) >> 8) & (ir->fifo_size * 2 - 1)) 65 /* IR Sample Config */ 109 struct sunxi_ir *ir = dev_id; in sunxi_ir_irq() local 112 spin_lock(&ir->ir_lock); in sunxi_ir_irq() 114 status = readl(ir->base + SUNXI_IR_RXSTA_REG); in sunxi_ir_irq() 117 writel(status | REG_RXSTA_CLEARALL, ir->base + SUNXI_IR_RXSTA_REG); in sunxi_ir_irq() [all …]
|
D | mceusb.c | 14 * Initial port from lirc driver to ir-core drivery by Jarod, based 15 * partially on a port to an earlier proposed IR infrastructure by 17 * incoming IR buffer parsing routines. 22 * Windows-Media-Center-RC-IR-Collection-Green-Button-Specification-03-08-2011-V2.pdf 45 #define MCE_IRBUF_SIZE 128 /* TX IR buffer length */ 50 #define MCE_IRDATA_TRAILER 0x80 /* End of IR data */ 58 * The interface between the host and the IR hardware is command-response 76 #define MCE_CMD_PORT_IR 0x9f /* IR-related cmd/rsp */ 77 #define MCE_CMD_PORT_SYS 0xff /* System (non-IR) device cmd/rsp */ 138 * then we're looking at a raw IR data sample */ [all …]
|
D | igorplugusb.c | 3 * IgorPlug-USB IR Receiver 21 #define DRIVER_DESC "IgorPlug-USB IR Receiver" 46 static void igorplugusb_cmd(struct igorplugusb *ir, int cmd); 48 static void igorplugusb_irdata(struct igorplugusb *ir, unsigned len) in igorplugusb_irdata() argument 53 dev_dbg(ir->dev, "irdata: %*ph (len=%u)", len, ir->buf_in, len); in igorplugusb_irdata() 61 overflow = ir->buf_in[2]; in igorplugusb_irdata() 65 dev_err(ir->dev, "receive overflow invalid: %u", overflow); in igorplugusb_irdata() 68 dev_warn(ir->dev, "receive overflow, at least %u lost", in igorplugusb_irdata() 72 rawir.duration = ir->buf_in[i] * 85; in igorplugusb_irdata() 75 ir_raw_event_store_with_filter(ir->rc, &rawir); in igorplugusb_irdata() [all …]
|
D | meson-ir.c | 3 * Driver for Amlogic Meson IR remote receiver 20 #define DRIVER_NAME "meson-ir" 68 static void meson_ir_set_mask(struct meson_ir *ir, unsigned int reg, in meson_ir_set_mask() argument 73 data = readl(ir->reg + reg); in meson_ir_set_mask() 76 writel(data, ir->reg + reg); in meson_ir_set_mask() 81 struct meson_ir *ir = dev_id; in meson_ir_irq() local 85 spin_lock(&ir->lock); in meson_ir_irq() 87 duration = readl_relaxed(ir->reg + IR_DEC_REG1); in meson_ir_irq() 91 status = readl_relaxed(ir->reg + IR_DEC_STATUS); in meson_ir_irq() 94 ir_raw_event_store_with_timeout(ir->rc, &rawir); in meson_ir_irq() [all …]
|
D | tango-ir.c | 15 #define DRIVER_NAME "tango-ir" 55 static void tango_ir_handle_nec(struct tango_ir *ir) in tango_ir_handle_nec() argument 60 v = readl_relaxed(ir->rc5_base + IR_NEC_DATA); in tango_ir_handle_nec() 62 rc_repeat(ir->rc); in tango_ir_handle_nec() 67 rc_keydown(ir->rc, proto, code, 0); in tango_ir_handle_nec() 70 static void tango_ir_handle_rc5(struct tango_ir *ir) in tango_ir_handle_rc5() argument 74 data = readl_relaxed(ir->rc5_base + IR_RC5_DATA); in tango_ir_handle_rc5() 84 rc_keydown(ir->rc, RC_PROTO_RC5, code, toggle); in tango_ir_handle_rc5() 87 static void tango_ir_handle_rc6(struct tango_ir *ir) in tango_ir_handle_rc6() argument 91 data0 = readl_relaxed(ir->rc6_base + RC6_DATA0); in tango_ir_handle_rc6() [all …]
|
D | Kconfig | 9 standalone IR receivers/transmitters, and RF receivers. 12 if you don't need IR, as otherwise, you may not be able to 15 Say Y when you have a TV or an IR device. 26 passes raw IR to and from userspace, which is needed for 27 IR transmitting (aka "blasting") and for the lirc daemon. 36 syscall command BPF_PROG_ATTACH. This is supported for raw IR 39 These eBPF programs can be used to decode IR into scancodes, for 40 IR protocols not supported by the kernel decoders. 48 tristate "Enable IR raw decoder for the NEC protocol" 53 Enable this option if you have IR with NEC protocol, and [all …]
|
D | Makefile | 6 rc-core-y := rc-main.o rc-ir-raw.o 9 obj-$(CONFIG_IR_NEC_DECODER) += ir-nec-decoder.o 10 obj-$(CONFIG_IR_RC5_DECODER) += ir-rc5-decoder.o 11 obj-$(CONFIG_IR_RC6_DECODER) += ir-rc6-decoder.o 12 obj-$(CONFIG_IR_JVC_DECODER) += ir-jvc-decoder.o 13 obj-$(CONFIG_IR_SONY_DECODER) += ir-sony-decoder.o 14 obj-$(CONFIG_IR_SANYO_DECODER) += ir-sanyo-decoder.o 15 obj-$(CONFIG_IR_SHARP_DECODER) += ir-sharp-decoder.o 16 obj-$(CONFIG_IR_MCE_KBD_DECODER) += ir-mce_kbd-decoder.o 17 obj-$(CONFIG_IR_XMP_DECODER) += ir-xmp-decoder.o [all …]
|
/Linux-v5.10/drivers/media/usb/tm6000/ |
D | tm6000-input.c | 26 MODULE_PARM_DESC(enable_ir, "enable ir (default is enable)"); 30 MODULE_PARM_DESC(ir_clock_mhz, "ir clock, in MHz"); 39 printk(KERN_DEBUG "%s/ir: " fmt, ir->name , ## arg); \ 60 /* IR device properties */ 66 struct tm6000_IR *ir = dev->ir; in tm6000_ir_wait() local 68 if (!dev->ir) in tm6000_ir_wait() 71 dprintk(2, "%s: %i\n",__func__, ir->wait); in tm6000_ir_wait() 74 ir->wait = 1; in tm6000_ir_wait() 76 ir->wait = 0; in tm6000_ir_wait() 79 static int tm6000_ir_config(struct tm6000_IR *ir) in tm6000_ir_config() argument [all …]
|
/Linux-v5.10/drivers/media/pci/cx88/ |
D | cx88-input.c | 50 MODULE_PARM_DESC(ir_samplerate, "IR samplerate in kHz, 1 - 20, default 4"); 53 module_param(ir_debug, int, 0644); /* debug level [IR] */ 54 MODULE_PARM_DESC(ir_debug, "enable debug messages [IR]"); 58 printk(KERN_DEBUG "%s IR: " fmt, ir->core->name, ##arg);\ 63 printk(KERN_DEBUG "cx88 IR: " fmt, ##arg); \ 68 static void cx88_ir_handle_key(struct cx88_IR *ir) in cx88_ir_handle_key() argument 70 struct cx88_core *core = ir->core; in cx88_ir_handle_key() 74 gpio = cx_read(ir->gpio_addr); in cx88_ir_handle_key() 107 if (ir->polling) { in cx88_ir_handle_key() 108 if (ir->last_gpio == auxgpio) in cx88_ir_handle_key() [all …]
|
/Linux-v5.10/drivers/media/usb/au0828/ |
D | au0828-input.c | 2 // handle au0828 IR remotes via linux kernel input layer. 36 int (*get_key_i2c)(struct au0828_rc *ir); 40 * AU8522 has a builtin IR receiver. Add functions to get IR from it 43 static int au8522_rc_write(struct au0828_rc *ir, u16 reg, u8 data) in au8522_rc_write() argument 47 struct i2c_msg msg = { .addr = ir->i2c_dev_addr, .flags = 0, in au8522_rc_write() 50 rc = i2c_transfer(ir->dev->i2c_client.adapter, &msg, 1); in au8522_rc_write() 58 static int au8522_rc_read(struct au0828_rc *ir, u16 reg, int val, in au8522_rc_read() argument 63 struct i2c_msg msg[2] = { { .addr = ir->i2c_dev_addr, .flags = 0, in au8522_rc_read() 65 { .addr = ir->i2c_dev_addr, .flags = I2C_M_RD, in au8522_rc_read() 75 rc = i2c_transfer(ir->dev->i2c_client.adapter, msg, 2); in au8522_rc_read() [all …]
|
/Linux-v5.10/drivers/media/pci/bt8xx/ |
D | bttv-input.c | 42 struct bttv_ir *ir = btv->remote; in ir_handle_key() local 47 if (ir->polling) { in ir_handle_key() 48 if (ir->last_gpio == gpio) in ir_handle_key() 50 ir->last_gpio = gpio; in ir_handle_key() 54 data = ir_extract_bits(gpio, ir->mask_keycode); in ir_handle_key() 57 ir->polling ? "poll" : "irq", in ir_handle_key() 58 (gpio & ir->mask_keydown) ? " down" : "", in ir_handle_key() 59 (gpio & ir->mask_keyup) ? " up" : ""); in ir_handle_key() 61 if ((ir->mask_keydown && (gpio & ir->mask_keydown)) || in ir_handle_key() 62 (ir->mask_keyup && !(gpio & ir->mask_keyup))) { in ir_handle_key() [all …]
|
/Linux-v5.10/drivers/media/pci/smipcie/ |
D | smipcie-ir.c | 13 static void smi_ir_enableInterrupt(struct smi_rc *ir) in smi_ir_enableInterrupt() argument 15 struct smi_dev *dev = ir->dev; in smi_ir_enableInterrupt() 20 static void smi_ir_disableInterrupt(struct smi_rc *ir) in smi_ir_disableInterrupt() argument 22 struct smi_dev *dev = ir->dev; in smi_ir_disableInterrupt() 27 static void smi_ir_clearInterrupt(struct smi_rc *ir) in smi_ir_clearInterrupt() argument 29 struct smi_dev *dev = ir->dev; in smi_ir_clearInterrupt() 34 static void smi_ir_stop(struct smi_rc *ir) in smi_ir_stop() argument 36 struct smi_dev *dev = ir->dev; in smi_ir_stop() 38 smi_ir_disableInterrupt(ir); in smi_ir_stop() 59 static void smi_ir_decode(struct smi_rc *ir) in smi_ir_decode() argument [all …]
|
/Linux-v5.10/drivers/media/i2c/ |
D | ir-kbd-i2c.c | 4 * keyboard input driver for i2c IR remote controls 51 #include <media/i2c/ir-kbd-i2c.h> 59 static int get_key_haup_common(struct IR_i2c *ir, enum rc_proto *protocol, in get_key_haup_common() argument 65 /* poll IR chip */ in get_key_haup_common() 66 if (size != i2c_master_recv(ir->c, buf, size)) in get_key_haup_common() 96 dev_dbg(&ir->rc->dev, in get_key_haup_common() 97 "ir hauppauge (rc5): s%d r%d t%d dev=%d code=%d\n", in get_key_haup_common() 114 dev_dbg(&ir->rc->dev, in get_key_haup_common() 115 "ir hauppauge (rc6-mce): t%d vendor=%d dev=%d code=%d\n", in get_key_haup_common() 120 dev_dbg(&ir->rc->dev, in get_key_haup_common() [all …]
|
/Linux-v5.10/drivers/media/rc/img-ir/ |
D | Makefile | 2 img-ir-y := img-ir-core.o 3 img-ir-$(CONFIG_IR_IMG_RAW) += img-ir-raw.o 4 img-ir-$(CONFIG_IR_IMG_HW) += img-ir-hw.o 5 img-ir-$(CONFIG_IR_IMG_NEC) += img-ir-nec.o 6 img-ir-$(CONFIG_IR_IMG_JVC) += img-ir-jvc.o 7 img-ir-$(CONFIG_IR_IMG_SONY) += img-ir-sony.o 8 img-ir-$(CONFIG_IR_IMG_SHARP) += img-ir-sharp.o 9 img-ir-$(CONFIG_IR_IMG_SANYO) += img-ir-sanyo.o 10 img-ir-$(CONFIG_IR_IMG_RC5) += img-ir-rc5.o 11 img-ir-$(CONFIG_IR_IMG_RC6) += img-ir-rc6.o [all …]
|
/Linux-v5.10/drivers/media/usb/em28xx/ |
D | em28xx-input.c | 3 // handle em28xx IR remotes via linux kernel input layer. 37 MODULE_PARM_DESC(ir_debug, "enable debug messages [IR]"); 43 dev_printk(KERN_DEBUG, &ir->dev->intf->dev, \ 48 * Polling structure used by em28xx IR's 73 int (*get_key_i2c)(struct i2c_client *ir, enum rc_proto *protocol, 75 int (*get_key)(struct em28xx_IR *ir, struct em28xx_ir_poll_result *r); 79 * I2C IR based get keycodes - should be used with ir-kbd-i2c 88 /* poll IR chip */ in em28xx_get_key_terratec() 119 /* poll IR chip */ in em28xx_get_key_em_haup() 132 * The original Hauppauge Grey IR and another RC5 that uses addr=0x08 in em28xx_get_key_em_haup() [all …]
|
/Linux-v5.10/drivers/media/pci/saa7134/ |
D | saa7134-input.c | 4 * handle saa7134 IR remotes via linux kernel input layer. 24 MODULE_PARM_DESC(ir_debug,"enable debug messages [IR]"); 34 #define ir_dbg(ir, fmt, arg...) do { \ argument 36 printk(KERN_DEBUG pr_fmt("ir %s: " fmt), ir->rc->device_name, \ 47 struct saa7134_card_ir *ir = dev->remote; in build_key() local 62 if (ir->polling) { in build_key() 63 if (ir->last_gpio == gpio) in build_key() 65 ir->last_gpio = gpio; in build_key() 68 data = ir_extract_bits(gpio, ir->mask_keycode); in build_key() 70 gpio, ir->mask_keycode, data); in build_key() [all …]
|
/Linux-v5.10/Documentation/devicetree/bindings/media/ |
D | allwinner,sun4i-a10-ir.yaml | 4 $id: http://devicetree.org/schemas/media/allwinner,sun4i-a10-ir.yaml# 19 - const: allwinner,sun4i-a10-ir 20 - const: allwinner,sun5i-a13-ir 21 - const: allwinner,sun6i-a31-ir 23 - const: allwinner,sun8i-a83t-ir 24 - const: allwinner,sun6i-a31-ir 26 - const: allwinner,sun8i-r40-ir 27 - const: allwinner,sun6i-a31-ir 29 - const: allwinner,sun50i-a64-ir 30 - const: allwinner,sun6i-a31-ir [all …]
|
/Linux-v5.10/arch/mips/math-emu/ |
D | cp1emu.c | 849 mips_instruction ir) in cop1_cfc() argument 854 switch (MIPSInst_RD(ir)) { in cop1_cfc() 858 (void *)xcp->cp0_epc, MIPSInst_RT(ir), value); in cop1_cfc() 868 (void *)xcp->cp0_epc, MIPSInst_RT(ir), value); in cop1_cfc() 876 (void *)xcp->cp0_epc, MIPSInst_RT(ir), value); in cop1_cfc() 887 (void *)xcp->cp0_epc, MIPSInst_RT(ir), value); in cop1_cfc() 898 if (MIPSInst_RT(ir)) in cop1_cfc() 899 xcp->regs[MIPSInst_RT(ir)] = value; in cop1_cfc() 906 mips_instruction ir) in cop1_ctc() argument 912 if (MIPSInst_RT(ir) == 0) in cop1_ctc() [all …]
|
/Linux-v5.10/drivers/media/common/siano/ |
D | smsir.c | 9 // - IR raw event decoding is now done at rc-core 34 ir_raw_event_store(coredev->ir.dev, &ev); in sms_ir_event() 36 ir_raw_event_handle(coredev->ir.dev); in sms_ir_event() 50 coredev->ir.controller = 0; /* Todo: vega/nova SPI number */ in sms_ir_init() 51 coredev->ir.timeout = US_TO_NS(IR_DEFAULT_TIMEOUT); in sms_ir_init() 52 pr_debug("IR port %d, timeout %d ms\n", in sms_ir_init() 53 coredev->ir.controller, coredev->ir.timeout); in sms_ir_init() 55 snprintf(coredev->ir.name, sizeof(coredev->ir.name), in sms_ir_init() 56 "SMS IR (%s)", sms_get_board(board_id)->name); in sms_ir_init() 58 strscpy(coredev->ir.phys, coredev->devpath, sizeof(coredev->ir.phys)); in sms_ir_init() [all …]
|
/Linux-v5.10/Documentation/userspace-api/media/rc/ |
D | lirc-dev-intro.rst | 10 a bi-directional interface for transporting raw IR and decoded scancodes 13 file_operations defined on it. With respect to transporting raw IR and 17 raw IR into scancodes. 24 rc rc0: lirc_dev: driver mceusb registered at minor = 0, raw IR receiver, raw IR transmitter 36 - ir-ctl: can receive raw IR and transmit IR, as well as query LIRC 39 - ir-keytable: can load keymaps; allows you to set IR kernel protocols; load 40 BPF IR decoders and test IR decoding. Some BPF IR decoders are also 49 LIRC supports some modes of receiving and sending IR codes, as shown 58 This mode is for both sending and receiving IR. 62 set to the :ref:`IR protocol <Remote_controllers_Protocols>`, and all other [all …]
|
/Linux-v5.10/arch/mips/kernel/ |
D | mips-r2-to-r6-emul.c | 76 * @ir: Instruction 78 static inline int mipsr6_emul(struct pt_regs *regs, u32 ir) in mipsr6_emul() argument 80 switch (MIPSInst_OPCODE(ir)) { in mipsr6_emul() 82 if (MIPSInst_RT(ir)) in mipsr6_emul() 83 regs->regs[MIPSInst_RT(ir)] = in mipsr6_emul() 84 (s32)regs->regs[MIPSInst_RS(ir)] + in mipsr6_emul() 85 (s32)MIPSInst_SIMM(ir); in mipsr6_emul() 91 if (MIPSInst_RT(ir)) in mipsr6_emul() 92 regs->regs[MIPSInst_RT(ir)] = in mipsr6_emul() 93 (s64)regs->regs[MIPSInst_RS(ir)] + in mipsr6_emul() [all …]
|
/Linux-v5.10/arch/parisc/math-emu/ |
D | fpudispatch.c | 19 * emfpudispatch(ir, dummy1, dummy2, fpregs) 20 * fpudispatch(ir, excp_code, holder, fpregs) 182 fpudispatch(u_int ir, u_int excp_code, u_int holder, u_int fpregs[]) in fpudispatch() argument 194 class = get_class(ir); in fpudispatch() 197 subop = get_subop1_PA2_0(ir); in fpudispatch() 199 subop = get_subop1_PA1_1(ir); in fpudispatch() 202 subop = get_subop(ir); in fpudispatch() 209 return(decode_0c(ir,class,subop,fpregs)); in fpudispatch() 211 return(decode_0e(ir,class,subop,fpregs)); in fpudispatch() 213 return(decode_06(ir,fpregs)); in fpudispatch() [all …]
|
/Linux-v5.10/drivers/media/pci/ttpci/ |
D | av7110_ir.c | 23 struct rc_dev *rcdev = av7110->ir.rcdev; in av7110_ir_handler() 28 dprintk(4, "ir command = %08x\n", ircom); in av7110_ir_handler() 31 switch (av7110->ir.ir_config) { in av7110_ir_handler() 62 dprintk(2, "unknown ir config %d\n", in av7110_ir_handler() 63 av7110->ir.ir_config); in av7110_ir_handler() 73 dprintk(4, "ir config = %08x\n", av7110->ir.ir_config); in av7110_set_ir_config() 76 av7110->ir.ir_config); in av7110_set_ir_config() 97 if (ir_config == av7110->ir.ir_config) in change_protocol() 100 av7110->ir.ir_config = ir_config; in change_protocol() 117 snprintf(av7110->ir.input_phys, sizeof(av7110->ir.input_phys), in av7110_ir_init() [all …]
|