void __user *argp = (void __user *)arg;
unsigned int tmp;
struct hdmi_port_info *port;
- unsigned int a, b, c, d;
+ unsigned int a, b, c, d, i = 0;
struct hdmitx_dev *tx_dev;
/*unsigned int tx_hpd;*/
/* mixed for rx & tx */
/* a is current port idx, 0: tx device */
if (a != 0) {
- tmp = hdmirx_get_connect_info();
- if (tmp & (1 << (a - 1)))
+ tmp = hdmirx_get_connect_info() & 0xF;
+ for (i = 0; i < CEC_PHY_PORT_NUM; i++) {
+ if (((cec_dev->port_seq >> i*4) & 0xF) == a)
+ break;
+ }
+ CEC_INFO("phy port:%d, ui port:%d\n", i, a);
+
+ if ((tmp & (1 << i)) && (a != 0xF))
tmp = 1;
else
tmp = 0;
#define __AO_CEC_H__
-#define CEC_DRIVER_VERSION "Ver 2018/12/06\n"
+#define CEC_DRIVER_VERSION "Ver 2018/12/11\n"
#define CEC_FRAME_DELAY msecs_to_jiffies(400)
#define CEC_DEV_NAME "cec"
#define CEC_EARLY_SUSPEND (1 << 0)
#define CEC_DEEP_SUSPEND (1 << 1)
-
+#define CEC_PHY_PORT_NUM 4
#define HR_DELAY(n) (ktime_set(0, n * 1000 * 1000))
enum cecbver {