| /drivers/gpu/drm/bridge/synopsys/ |
| A D | dw-hdmi-cec.c | 73 cec->ops->write(cec->hdmi, val, offset); in dw_hdmi_write() 78 return cec->ops->read(cec->hdmi, offset); in dw_hdmi_read() 90 dw_hdmi_write(cec, cec->addresses & 255, HDMI_CEC_ADDR_L); in dw_hdmi_cec_log_addr() 91 dw_hdmi_write(cec, cec->addresses >> 8, HDMI_CEC_ADDR_H); in dw_hdmi_cec_log_addr() 203 cec->ops->disable(cec->hdmi); in dw_hdmi_cec_enable() 213 cec->ops->enable(cec->hdmi); in dw_hdmi_cec_enable() 251 cec = devm_kzalloc(&pdev->dev, sizeof(*cec), GFP_KERNEL); in dw_hdmi_cec_probe() 252 if (!cec) in dw_hdmi_cec_probe() 311 cec_notifier_cec_adap_unregister(cec->notify, cec->adap); in dw_hdmi_cec_remove() 325 dw_hdmi_write(cec, cec->regs_mask, HDMI_CEC_MASK); in dw_hdmi_cec_resume() [all …]
|
| /drivers/media/platform/synopsys/hdmirx/ |
| A D | snps_hdmirx_cec.c | 22 cec->ops->write(cec->hdmirx, reg, val); in hdmirx_cec_write() 27 return cec->ops->read(cec->hdmirx, reg); in hdmirx_cec_read() 48 hdmirx_cec_write(cec, CEC_ADDR, cec->addresses); in hdmirx_cec_log_addr() 165 cec->ops->disable(cec->hdmirx); in hdmirx_cec_enable() 171 cec->ops->enable(cec->hdmirx); in hdmirx_cec_enable() 206 if (!cec) in snps_hdmirx_cec_register() 233 ret = devm_add_action(cec->dev, hdmirx_cec_del, cec); in snps_hdmirx_cec_register() 241 ret = devm_request_threaded_irq(cec->dev, cec->irq, in snps_hdmirx_cec_register() 250 ret = cec_register_adapter(cec->adap, cec->dev); in snps_hdmirx_cec_register() 263 devm_remove_action(cec->dev, hdmirx_cec_del, cec); in snps_hdmirx_cec_register() [all …]
|
| /drivers/media/cec/platform/cec-gpio/ |
| A D | cec-gpio.c | 74 cec_queue_pin_5v_event(cec->adap, cec->v5_is_high, cec->v5_ts); in cec_gpio_5v_irq_handler_thread() 96 cec_queue_pin_hpd_event(cec->adap, cec->hpd_is_high, cec->hpd_ts); in cec_gpio_hpd_irq_handler_thread() 190 cec = devm_kzalloc(dev, sizeof(*cec), GFP_KERNEL); in cec_gpio_probe() 191 if (!cec) in cec_gpio_probe() 194 cec->dev = dev; in cec_gpio_probe() 199 cec->cec_irq = gpiod_to_irq(cec->cec_gpio); in cec_gpio_probe() 216 cec->adap->name, cec); in cec_gpio_probe() 221 cec->hpd_irq = gpiod_to_irq(cec->hpd_gpio); in cec_gpio_probe() 233 cec->v5_irq = gpiod_to_irq(cec->v5_gpio); in cec_gpio_probe() 261 cec_notifier_cec_adap_unregister(cec->notifier, cec->adap); in cec_gpio_probe() [all …]
|
| /drivers/media/cec/platform/s5p/ |
| A D | s5p_cec.c | 46 s5p_cec_reset(cec); in s5p_cec_adap_enable() 121 s5p_cec_get_rx_buf(cec, cec->msg.len, in s5p_cec_irq_handler() 122 cec->msg.msg); in s5p_cec_irq_handler() 163 cec_received_msg(cec->adap, &cec->msg); in s5p_cec_irq_handler_thread() 192 cec = devm_kzalloc(&pdev->dev, sizeof(*cec), GFP_KERNEL); in s5p_cec_probe() 193 if (!cec) in s5p_cec_probe() 196 cec->dev = dev; in s5p_cec_probe() 199 if (cec->irq < 0) in s5p_cec_probe() 200 return cec->irq; in s5p_cec_probe() 245 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 …]
|
| A D | Makefile | 2 obj-$(CONFIG_CEC_SAMSUNG_S5P) += s5p-cec.o 3 s5p-cec-y += s5p_cec.o exynos_hdmi_cecctrl.o
|
| /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() 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() 390 cec->adap = cec_allocate_adapter(&tegra_cec_ops, cec, TEGRA_CEC_NAME, in tegra_cec_probe() 416 cec_notifier_cec_adap_unregister(cec->notifier, cec->adap); in tegra_cec_probe() [all …]
|
| /drivers/media/cec/platform/stm32/ |
| A D | stm32-cec.c | 111 if (cec->tx_cnt < cec->tx_msg.len) in stm32_tx_done() 113 cec->tx_msg.msg[cec->tx_cnt++]); in stm32_tx_done() 116 if (cec->tx_cnt == cec->tx_msg.len) in stm32_tx_done() 135 cec->rx_msg.msg[cec->rx_msg.len++] = val & 0xFF; in stm32_rx_done() 139 cec_received_msg(cec->adap, &cec->rx_msg); in stm32_rx_done() 149 stm32_tx_done(cec, cec->irq_status); in stm32_cec_irq_thread() 152 stm32_rx_done(cec, cec->irq_status); in stm32_cec_irq_thread() 163 regmap_read(cec->regmap, CEC_ISR, &cec->irq_status); in stm32_cec_irq_handler() 234 regmap_write(cec->regmap, CEC_TXDR, cec->tx_msg.msg[0]); in stm32_cec_adap_transmit() 261 cec = devm_kzalloc(&pdev->dev, sizeof(*cec), GFP_KERNEL); in stm32_cec_probe() [all …]
|
| /drivers/media/cec/platform/sti/ |
| A D | stih-cec.c | 274 stih_tx_done(cec, cec->irq_status); in stih_cec_irq_handler_thread() 277 stih_rx_done(cec, cec->irq_status); in stih_cec_irq_handler_thread() 288 cec->irq_status = readl(cec->regs + CEC_STATUS); in stih_cec_irq_handler() 289 writel(cec->irq_status, cec->regs + CEC_STATUS); in stih_cec_irq_handler() 312 cec = devm_kzalloc(dev, sizeof(*cec), GFP_KERNEL); in stih_cec_probe() 313 if (!cec) in stih_cec_probe() 316 cec->dev = dev; in stih_cec_probe() 323 if (cec->irq < 0) in stih_cec_probe() 324 return cec->irq; in stih_cec_probe() 361 cec_notifier_cec_adap_unregister(cec->notifier, cec->adap); in stih_cec_probe() [all …]
|
| /drivers/gpu/drm/mediatek/ |
| A D | mtk_cec.c | 100 cec->hdmi_dev = hdmi_dev; in mtk_cec_set_hpd_event() 176 if (cec->hpd != hpd) { in mtk_cec_htplg_isr_thread() 178 cec->hpd, hpd); in mtk_cec_htplg_isr_thread() 179 cec->hpd = hpd; in mtk_cec_htplg_isr_thread() 188 struct mtk_cec *cec; in mtk_cec_probe() local 191 cec = devm_kzalloc(dev, sizeof(*cec), GFP_KERNEL); in mtk_cec_probe() 192 if (!cec) in mtk_cec_probe() 199 if (IS_ERR(cec->regs)) in mtk_cec_probe() 204 if (IS_ERR(cec->clk)) in mtk_cec_probe() 209 if (cec->irq < 0) in mtk_cec_probe() [all …]
|
| /drivers/gpu/drm/display/ |
| A D | drm_dp_cec.c | 252 mutex_lock(&aux->cec.lock); in drm_dp_cec_irq() 253 if (!aux->cec.adap) in drm_dp_cec_irq() 291 aux->cec.adap = NULL; in drm_dp_cec_unregister_work() 320 aux->cec.adap = NULL; in drm_dp_cec_attach() 329 if (aux->cec.adap) { in drm_dp_cec_attach() 350 aux->cec.adap = NULL; in drm_dp_cec_attach() 359 aux->cec.adap = NULL; in drm_dp_cec_attach() 401 if (!aux->cec.adap) in drm_dp_cec_unset_edid() 439 WARN_ON(aux->cec.adap); in drm_dp_cec_register_connector() 454 if (!aux->cec.adap) in drm_dp_cec_unregister_connector() [all …]
|
| A D | drm_hdmi_cec_helper.c | 24 struct drm_connector_hdmi_cec_data *data = connector->cec.data; in drm_connector_hdmi_cec_adap_enable() 32 struct drm_connector_hdmi_cec_data *data = connector->cec.data; in drm_connector_hdmi_cec_adap_log_addr() 41 struct drm_connector_hdmi_cec_data *data = connector->cec.data; in drm_connector_hdmi_cec_adap_transmit() 54 struct drm_connector_hdmi_cec_data *data = connector->cec.data; in drm_connector_hdmi_cec_adapter_phys_addr_invalidate() 78 connector->cec.data = NULL; in drm_connector_hdmi_cec_adapter_unregister() 118 mutex_lock(&connector->cec.mutex); in drmm_connector_hdmi_cec_register() 120 connector->cec.data = data; in drmm_connector_hdmi_cec_register() 121 connector->cec.funcs = &drm_connector_hdmi_cec_adapter_funcs; in drmm_connector_hdmi_cec_register() 145 mutex_unlock(&connector->cec.mutex); in drmm_connector_hdmi_cec_register() 154 connector->cec.data = NULL; in drmm_connector_hdmi_cec_register() [all …]
|
| A D | drm_hdmi_cec_notifier_helper.c | 19 cec_notifier_phys_addr_invalidate(connector->cec.data); in drm_connector_hdmi_cec_notifier_phys_addr_invalidate() 25 cec_notifier_set_phys_addr(connector->cec.data, addr); in drm_connector_hdmi_cec_notifier_phys_addr_set() 32 cec_notifier_conn_unregister(connector->cec.data); in drm_connector_hdmi_cec_notifier_unregister() 33 connector->cec.data = NULL; in drm_connector_hdmi_cec_notifier_unregister() 54 mutex_lock(&connector->cec.mutex); in drmm_connector_hdmi_cec_notifier_register() 56 connector->cec.data = notifier; in drmm_connector_hdmi_cec_notifier_register() 57 connector->cec.funcs = &drm_connector_cec_notifier_funcs; in drmm_connector_hdmi_cec_notifier_register() 59 mutex_unlock(&connector->cec.mutex); in drmm_connector_hdmi_cec_notifier_register()
|
| /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
|
| /drivers/media/cec/platform/seco/ |
| A D | seco-cec.c | 95 struct device *dev = cec->dev; in secocec_adap_enable() 244 struct device *dev = cec->dev; in secocec_rx_done() 337 struct device *dev = cec->dev; in secocec_ir_probe() 343 if (!cec->ir) in secocec_ir_probe() 346 snprintf(cec->ir_input_phys, sizeof(cec->ir_input_phys), in secocec_ir_probe() 350 cec->ir->input_phys = cec->ir_input_phys; in secocec_ir_probe() 352 cec->ir->input_id.vendor = 0; in secocec_ir_probe() 357 cec->ir->priv = cec; in secocec_ir_probe() 386 cec->ir = NULL; in secocec_ir_probe() 408 if (!cec->ir) in secocec_ir_rx() [all …]
|
| /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 …]
|
| /drivers/gpu/drm/tegra/ |
| A D | output.c | 43 cec_notifier_set_phys_addr(output->cec, in tegra_output_connector_get_modes() 71 cec_notifier_phys_addr_invalidate(output->cec); in tegra_output_connector_detect() 80 if (output->cec) in tegra_output_connector_destroy() 81 cec_notifier_conn_unregister(output->cec); in tegra_output_connector_destroy() 227 output->cec = cec_notifier_conn_register(output->dev, NULL, in tegra_output_init() 229 if (!output->cec) in tegra_output_init()
|
| /drivers/media/cec/usb/ |
| A D | Kconfig | 6 source "drivers/media/cec/usb/extron-da-hd-4k-plus/Kconfig" 7 source "drivers/media/cec/usb/pulse8/Kconfig" 8 source "drivers/media/cec/usb/rainshadow/Kconfig"
|
| /drivers/media/cec/usb/extron-da-hd-4k-plus/ |
| A D | Makefile | 1 extron-da-hd-4k-plus-cec-objs := extron-da-hd-4k-plus.o cec-splitter.o 2 obj-$(CONFIG_USB_EXTRON_DA_HD_4K_PLUS_CEC) := extron-da-hd-4k-plus-cec.o
|
| /drivers/media/rc/keymaps/ |
| A D | rc-cec.c | 26 static struct rc_map_table cec[] = { variable 167 .scan = cec, 168 .size = ARRAY_SIZE(cec),
|
| /drivers/media/cec/ |
| A D | Kconfig | 38 source "drivers/media/cec/i2c/Kconfig" 39 source "drivers/media/cec/platform/Kconfig" 40 source "drivers/media/cec/usb/Kconfig"
|
| /drivers/media/cec/platform/meson/ |
| A D | Makefile | 2 obj-$(CONFIG_CEC_MESON_AO) += ao-cec.o 3 obj-$(CONFIG_CEC_MESON_G12A_AO) += ao-cec-g12a.o
|
| /drivers/media/cec/usb/pulse8/ |
| A D | Kconfig | 10 This is a cec driver for the Pulse Eight HDMI CEC device. 13 module will be called pulse8-cec.
|
| /drivers/media/cec/usb/rainshadow/ |
| A D | Kconfig | 10 This is a cec driver for the RainShadow Tech HDMI CEC device. 13 module will be called rainshadow-cec.
|