FILE
cec-splitter.h
File preview with syntax highlighting.
linux-6.19.14/drivers/media/cec/usb/extron-da-hd-4k-plus/cec-splitter.h
1/* SPDX-License-Identifier: GPL-2.0-only */ 2 3/* 4 * Copyright 2021-2024 Cisco Systems, Inc. and/or its affiliates. All rights reserved. 5 */ 6 7#ifndef _CEC_SPLITTER_H_ 8#define _CEC_SPLITTER_H_ 9 10struct cec_splitter; 11 12#define STATE_CHANGE_MAX_REPEATS 2 13 14struct cec_splitter_port { 15 struct cec_splitter *splitter; 16 struct cec_adapter *adap; 17 unsigned int port; 18 bool is_active_source; 19 bool found_sink; 20 ktime_t lost_sink_ts; 21 u32 out_request_current_latency_seq; 22 ktime_t out_request_current_latency_ts; 23 u8 video_latency; 24 u32 out_give_device_power_status_seq; 25 ktime_t out_give_device_power_status_ts; 26 u8 power_status; 27}; 28 29struct cec_splitter { 30 struct device *dev; 31 unsigned int num_out_ports; 32 struct cec_splitter_port **ports; 33 34 /* High-level splitter state */ 35 u8 request_current_latency_dest; 36 u8 give_device_power_status_dest; 37 bool is_standby; 38}; 39 40void cec_splitter_unconfigured_output(struct cec_splitter_port *port); 41void cec_splitter_configured_output(struct cec_splitter_port *port); 42int cec_splitter_received_input(struct cec_splitter_port *port, struct cec_msg *msg); 43int cec_splitter_received_output(struct cec_splitter_port *port, struct cec_msg *msg, 44 struct cec_adapter *input_adap); 45void cec_splitter_nb_transmit_canceled_output(struct cec_splitter_port *port, 46 const struct cec_msg *msg, 47 struct cec_adapter *input_adap); 48bool cec_splitter_poll(struct cec_splitter *splitter, 49 struct cec_adapter *input_adap, bool debug); 50 51#endif
~/
Read-only file preview.