/linux/drivers/media/cec/platform/s5p/ |
A D | s5p_cec.c | 46 s5p_cec_reset(cec); in s5p_cec_adap_enable() 119 s5p_cec_get_rx_buf(cec, cec->msg.len, in s5p_cec_irq_handler() 120 cec->msg.msg); in s5p_cec_irq_handler() 161 cec_received_msg(cec->adap, &cec->msg); in s5p_cec_irq_handler_thread() 190 cec = devm_kzalloc(&pdev->dev, sizeof(*cec), GFP_KERNEL); in s5p_cec_probe() 191 if (!cec) in s5p_cec_probe() 194 cec->dev = dev; in s5p_cec_probe() 197 if (cec->irq < 0) in s5p_cec_probe() 198 return cec->irq; in s5p_cec_probe() 243 cec_notifier_cec_adap_unregister(cec->notifier, cec->adap); in s5p_cec_probe() [all …]
|
A D | exynos_hdmi_cecctrl.c | 54 reg = readb(cec->reg + S5P_CEC_RX_CTRL); in s5p_cec_enable_rx() 56 writeb(reg, cec->reg + S5P_CEC_RX_CTRL); in s5p_cec_enable_rx() 63 reg = readb(cec->reg + S5P_CEC_IRQ_MASK); in s5p_cec_mask_rx_interrupts() 106 reg = readb(cec->reg + 0xc4); in s5p_cec_reset() 108 writeb(reg, cec->reg + 0xc4); in s5p_cec_reset() 122 reg = readb(cec->reg + 0xc4); in s5p_cec_rx_reset() 124 writeb(reg, cec->reg + 0xc4); in s5p_cec_rx_reset() 151 dev_dbg(cec->dev, "Broadcast"); in s5p_cec_copy_packet() 154 dev_dbg(cec->dev, "No Broadcast"); in s5p_cec_copy_packet() 186 cec->reg + S5P_CEC_IRQ_CLEAR); in s5p_clr_pending_tx() [all …]
|
A D | exynos_hdmi_cec.h | 16 void s5p_cec_set_divider(struct s5p_cec_dev *cec); 17 void s5p_cec_enable_rx(struct s5p_cec_dev *cec); 18 void s5p_cec_mask_rx_interrupts(struct s5p_cec_dev *cec); 20 void s5p_cec_mask_tx_interrupts(struct s5p_cec_dev *cec); 22 void s5p_cec_reset(struct s5p_cec_dev *cec); 23 void s5p_cec_tx_reset(struct s5p_cec_dev *cec); 24 void s5p_cec_rx_reset(struct s5p_cec_dev *cec); 25 void s5p_cec_threshold(struct s5p_cec_dev *cec); 29 u32 s5p_cec_get_status(struct s5p_cec_dev *cec); 30 void s5p_clr_pending_tx(struct s5p_cec_dev *cec); [all …]
|
/linux/drivers/media/cec/platform/tegra/ |
A D | tegra_cec.c | 77 if (cec->tx_done) { in tegra_cec_irq_thread_handler() 78 cec_transmit_attempt_done(cec->adap, cec->tx_status); in tegra_cec_irq_thread_handler() 81 if (cec->rx_done) { in tegra_cec_irq_thread_handler() 88 cec->rx_buf_cnt = 0; in tegra_cec_irq_thread_handler() 114 cec->tx_done = true; in tegra_cec_irq_handler() 153 if (cec->tx_buf_cur == cec->tx_buf_cnt) { in tegra_cec_irq_handler() 158 cec->tx_buf[cec->tx_buf_cur++]); in tegra_cec_irq_handler() 177 cec->rx_buf[cec->rx_buf_cnt++] = v & 0xff; in tegra_cec_irq_handler() 331 if (!cec) in tegra_cec_probe() 416 cec_notifier_cec_adap_unregister(cec->notifier, cec->adap); in tegra_cec_probe() [all …]
|
/linux/drivers/media/cec/platform/cec-gpio/ |
A D | cec-gpio.c | 67 cec_queue_pin_hpd_event(cec->adap, cec->hpd_is_high, cec->hpd_ts); in cec_hpd_gpio_irq_handler_thread() 88 cec_queue_pin_5v_event(cec->adap, cec->v5_is_high, cec->v5_ts); in cec_5v_gpio_irq_handler_thread() 193 cec = devm_kzalloc(dev, sizeof(*cec), GFP_KERNEL); in cec_gpio_probe() 194 if (!cec) in cec_gpio_probe() 197 cec->dev = dev; in cec_gpio_probe() 202 cec->cec_irq = gpiod_to_irq(cec->cec_gpio); in cec_gpio_probe() 219 cec->adap->name, cec); in cec_gpio_probe() 226 cec->hpd_irq = gpiod_to_irq(cec->hpd_gpio); in cec_gpio_probe() 238 cec->v5_irq = gpiod_to_irq(cec->v5_gpio); in cec_gpio_probe() 266 cec_notifier_cec_adap_unregister(cec->notifier, cec->adap); in cec_gpio_probe() [all …]
|
/linux/drivers/gpu/drm/bridge/synopsys/ |
A D | dw-hdmi-cec.c | 69 cec->ops->write(cec->hdmi, val, offset); in dw_hdmi_write() 74 return cec->ops->read(cec->hdmi, offset); in dw_hdmi_read() 86 dw_hdmi_write(cec, cec->addresses & 255, HDMI_CEC_ADDR_L); in dw_hdmi_cec_log_addr() 87 dw_hdmi_write(cec, cec->addresses >> 8, HDMI_CEC_ADDR_H); in dw_hdmi_cec_log_addr() 195 cec->ops->disable(cec->hdmi); in dw_hdmi_cec_enable() 205 cec->ops->enable(cec->hdmi); in dw_hdmi_cec_enable() 243 cec = devm_kzalloc(&pdev->dev, sizeof(*cec), GFP_KERNEL); in dw_hdmi_cec_probe() 244 if (!cec) in dw_hdmi_cec_probe() 281 if (!cec->notify) in dw_hdmi_cec_probe() 286 cec_notifier_cec_adap_unregister(cec->notify, cec->adap); in dw_hdmi_cec_probe() [all …]
|
/linux/drivers/media/cec/platform/stm32/ |
A D | stm32-cec.c | 112 if (cec->tx_cnt < cec->tx_msg.len) in stm32_tx_done() 114 cec->tx_msg.msg[cec->tx_cnt++]); in stm32_tx_done() 117 if (cec->tx_cnt == cec->tx_msg.len) in stm32_tx_done() 136 cec->rx_msg.msg[cec->rx_msg.len++] = val & 0xFF; in stm32_rx_done() 140 cec_received_msg(cec->adap, &cec->rx_msg); in stm32_rx_done() 150 stm32_tx_done(cec, cec->irq_status); in stm32_cec_irq_thread() 153 stm32_rx_done(cec, cec->irq_status); in stm32_cec_irq_thread() 164 regmap_read(cec->regmap, CEC_ISR, &cec->irq_status); in stm32_cec_irq_handler() 235 regmap_write(cec->regmap, CEC_TXDR, cec->tx_msg.msg[0]); in stm32_cec_adap_transmit() 262 cec = devm_kzalloc(&pdev->dev, sizeof(*cec), GFP_KERNEL); in stm32_cec_probe() [all …]
|
/linux/drivers/gpu/drm/mediatek/ |
A D | mtk_cec.c | 99 cec->hdmi_dev = hdmi_dev; in mtk_cec_set_hpd_event() 173 if (cec->hpd != hpd) { in mtk_cec_htplg_isr_thread() 175 cec->hpd, hpd); in mtk_cec_htplg_isr_thread() 176 cec->hpd = hpd; in mtk_cec_htplg_isr_thread() 185 struct mtk_cec *cec; in mtk_cec_probe() local 189 cec = devm_kzalloc(dev, sizeof(*cec), GFP_KERNEL); in mtk_cec_probe() 190 if (!cec) in mtk_cec_probe() 198 if (IS_ERR(cec->regs)) { in mtk_cec_probe() 205 if (IS_ERR(cec->clk)) { in mtk_cec_probe() 212 if (cec->irq < 0) in mtk_cec_probe() [all …]
|
/linux/drivers/media/cec/platform/sti/ |
A D | stih-cec.c | 273 stih_tx_done(cec, cec->irq_status); in stih_cec_irq_handler_thread() 276 stih_rx_done(cec, cec->irq_status); in stih_cec_irq_handler_thread() 287 cec->irq_status = readl(cec->regs + CEC_STATUS); in stih_cec_irq_handler() 288 writel(cec->irq_status, cec->regs + CEC_STATUS); in stih_cec_irq_handler() 311 cec = devm_kzalloc(dev, sizeof(*cec), GFP_KERNEL); in stih_cec_probe() 312 if (!cec) in stih_cec_probe() 315 cec->dev = dev; in stih_cec_probe() 322 if (cec->irq < 0) in stih_cec_probe() 323 return cec->irq; in stih_cec_probe() 360 cec_notifier_cec_adap_unregister(cec->notifier, cec->adap); in stih_cec_probe() [all …]
|
/linux/drivers/gpu/drm/ |
A D | drm_dp_cec.c | 251 mutex_lock(&aux->cec.lock); in drm_dp_cec_irq() 252 if (!aux->cec.adap) in drm_dp_cec_irq() 290 aux->cec.adap = NULL; in drm_dp_cec_unregister_work() 329 aux->cec.adap = NULL; in drm_dp_cec_set_edid() 338 if (aux->cec.adap) { in drm_dp_cec_set_edid() 357 aux->cec.adap = NULL; in drm_dp_cec_set_edid() 366 aux->cec.adap = NULL; in drm_dp_cec_set_edid() 392 if (!aux->cec.adap) in drm_dp_cec_unset_edid() 430 WARN_ON(aux->cec.adap); in drm_dp_cec_register_connector() 445 if (!aux->cec.adap) in drm_dp_cec_unregister_connector() [all …]
|
/linux/drivers/media/cec/core/ |
A D | Makefile | 2 cec-objs := cec-core.o cec-adap.o cec-api.o 5 cec-objs += cec-notifier.o 9 cec-objs += cec-pin.o 13 cec-objs += cec-pin-error-inj.o 16 obj-$(CONFIG_CEC_CORE) += cec.o
|
/linux/Documentation/userspace-api/media/cec/ |
A D | cec-funcs.rst | 13 cec-func-open 14 cec-func-close 15 cec-func-ioctl 16 cec-func-poll 17 cec-ioc-adap-g-caps 18 cec-ioc-adap-g-log-addrs 19 cec-ioc-adap-g-phys-addr 20 cec-ioc-adap-g-conn-info 21 cec-ioc-dqevent 22 cec-ioc-g-mode [all …]
|
A D | cec-func-ioctl.rst | 7 cec ioctl() 13 cec-ioctl - Control a cec device 31 CEC ioctl request code as defined in the cec.h header file, for 40 The :c:func:`ioctl()` function manipulates cec device parameters. The 43 The ioctl ``request`` code specifies the cec function to be called. It 47 Macros and structures definitions specifying cec ioctl requests and 48 their parameters are located in the cec.h header file. All cec ioctl 50 :ref:`cec-user-func`.
|
A D | cec-api.rst | 23 cec-intro 24 cec-funcs 25 cec-pin-error-inj 26 cec-header
|
/linux/drivers/media/cec/platform/seco/ |
A D | seco-cec.c | 108 struct device *dev = cec->dev; in secocec_adap_enable() 257 struct device *dev = cec->dev; in secocec_rx_done() 350 struct device *dev = cec->dev; in secocec_ir_probe() 356 if (!cec->ir) in secocec_ir_probe() 359 snprintf(cec->ir_input_phys, sizeof(cec->ir_input_phys), in secocec_ir_probe() 363 cec->ir->input_phys = cec->ir_input_phys; in secocec_ir_probe() 365 cec->ir->input_id.vendor = 0; in secocec_ir_probe() 370 cec->ir->priv = cec; in secocec_ir_probe() 399 cec->ir = NULL; in secocec_ir_probe() 421 if (!cec->ir) in secocec_ir_rx() [all …]
|
/linux/Documentation/devicetree/bindings/media/ |
A D | st,stm32-cec.yaml | 4 $id: http://devicetree.org/schemas/media/st,stm32-cec.yaml# 14 const: st,stm32-cec 29 - const: cec 30 - const: hdmi-cec 45 cec: cec@40006c00 { 46 compatible = "st,stm32-cec"; 50 clock-names = "cec", "hdmi-cec";
|
A D | tegra-cec.txt | 8 "nvidia,tegra114-cec" 9 "nvidia,tegra124-cec" 10 "nvidia,tegra210-cec" 15 - clock-names : from common clock binding: must contain "cec", 17 - hdmi-phandle : phandle to the HDMI controller, see also cec.txt. 21 cec@70015000 { 22 compatible = "nvidia,tegra124-cec"; 26 clock-names = "cec";
|
A D | amlogic,meson-gx-ao-cec.yaml | 5 $id: "http://devicetree.org/schemas/media/amlogic,meson-gx-ao-cec.yaml#" 20 - amlogic,meson-gx-ao-cec # GXBB, GXL, GXM, G12A and SM1 AO_CEC_A module 21 - amlogic,meson-g12a-ao-cec # G12A AO_CEC_B module 22 - amlogic,meson-sm1-ao-cec # SM1 AO_CEC_B module 46 - amlogic,meson-gx-ao-cec 63 - amlogic,meson-g12a-ao-cec 64 - amlogic,meson-sm1-ao-cec 88 cec_AO: cec@100 { 89 compatible = "amlogic,meson-gx-ao-cec";
|
A D | stih-cec.txt | 4 - compatible : value should be "st,stih-cec" 12 - hdmi-phandle: Phandle to the HDMI controller, see also cec.txt. 16 sti-cec@94a087c { 17 compatible = "st,stih-cec"; 20 clock-names = "cec-clk"; 22 interrupt-names = "cec-irq";
|
A D | s5p-cec.txt | 8 "samsung,s5p-cec" 18 - hdmi-phandle - phandle to the HDMI controller, see also cec.txt. 22 is high. See cec.txt for more details. 26 hdmicec: cec@100b0000 { 27 compatible = "samsung,s5p-cec";
|
A D | cec-gpio.txt | 12 - compatible: value must be "cec-gpio". 13 - cec-gpios: gpio that the CEC line is connected to. The line should be 19 - hdmi-phandle - phandle to the HDMI controller, see also cec.txt. 37 cec-gpio { 38 compatible = "cec-gpio"; 39 cec-gpios = <&gpio 7 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
|
/linux/Documentation/devicetree/bindings/display/mediatek/ |
A D | mediatek,cec.yaml | 4 $id: http://devicetree.org/schemas/display/mediatek/mediatek,cec.yaml# 19 - mediatek,mt7623-cec 20 - mediatek,mt8167-cec 21 - mediatek,mt8173-cec 45 cec: cec@10013000 { 46 compatible = "mediatek,mt8173-cec";
|
/linux/Documentation/devicetree/bindings/media/i2c/ |
A D | adv7604.yaml | 36 - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ] 37 - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ] 38 - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ] 39 - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ] 40 - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ] 41 - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ] 42 - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ] 43 - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ] 44 - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ] 45 - enum: [ avlink, cec, infoframe, esdp, dpp, afe, rep, edid, hdmi, test, cp, vdp ] [all …]
|
/linux/drivers/media/cec/i2c/ |
A D | ch7322.c | 153 struct cec_adapter *cec; member 267 cec_transmit_attempt_done(ch7322->cec, status); in ch7322_tx_done() 282 cec_received_msg(ch7322->cec, &msg); in ch7322_rx_done() 303 cec_s_phys_addr(ch7322->cec, pal | (pah << 8), false); in ch7322_phys_addr() 317 cec_phys_addr_invalidate(ch7322->cec); in ch7322_irq() 500 if (IS_ERR(ch7322->cec)) { in ch7322_probe() 501 ret = PTR_ERR(ch7322->cec); in ch7322_probe() 505 ch7322->cec->adap_controls_phys_addr = true; in ch7322_probe() 510 ch7322->cec); in ch7322_probe() 562 cec_delete_adapter(ch7322->cec); in ch7322_probe() [all …]
|
/linux/Documentation/devicetree/bindings/display/ |
A D | brcm,bcm2711-hdmi.yaml | 39 - const: cec 54 - const: cec 67 - const: cec-tx 68 - const: cec-rx 69 - const: cec-low 134 "cec", 137 clock-names = "hdmi", "bvb", "audio", "cec";
|