tvafe: add atv format get func [1/1]
authorNian Jing <nian.jing@amlogic.com>
Mon, 24 Dec 2018 09:33:51 +0000 (17:33 +0800)
committerJianxin Pan <jianxin.pan@amlogic.com>
Wed, 9 Jan 2019 14:54:11 +0000 (06:54 -0800)
PD#TV-1586

Problem:
no atv format get func

Solution:
Add atv format get func

Verify:
verified by x301

Change-Id: Ia43d5a67370d2b025e1b32833a5408a5e7d251d4
Signed-off-by: Nian Jing <nian.jing@amlogic.com>
drivers/amlogic/media/vin/tvin/tvafe/tvafe.c
include/linux/amlogic/media/frame_provider/tvin/tvin.h

index fb5d8f2..6cd3ff3 100644 (file)
@@ -976,6 +976,19 @@ static long tvafe_ioctl(struct file *file,
                                __func__, tvin_sig_fmt_str(fmt));
                        break;
                }
+       case TVIN_IOC_G_AFE_CVBS_STD:
+               {
+                       enum tvin_sig_fmt_e fmt = TVIN_SIG_FMT_NULL;
+
+                       if (tvafe->cvd2.info.state == TVAFE_CVD2_STATE_FIND)
+                               fmt = tvafe->cvd2.config_fmt;
+                       if (copy_to_user(argp, &fmt,
+                                       sizeof(enum tvin_sig_fmt_e)))
+                               ret = -EFAULT;
+                       tvafe_pr_info("%s: ioctl get fmt:%s.\n",
+                               __func__, tvin_sig_fmt_str(fmt));
+                       break;
+               }
        default:
                ret = -ENOIOCTLCMD;
                break;
index f933f11..00a03de 100644 (file)
@@ -447,6 +447,7 @@ struct tvafe_pin_mux_s {
 #define TVIN_IOC_S_AFE_CVBS_STD     _IOW(_TM_T, 0x1b, enum tvin_sig_fmt_e)
 #define TVIN_IOC_CALLMASTER_SET     _IOW(_TM_T, 0x1c, enum tvin_port_e)
 #define TVIN_IOC_CALLMASTER_GET            _IO(_TM_T, 0x1d)
+#define TVIN_IOC_G_AFE_CVBS_STD     _IOW(_TM_T, 0x1e, enum tvin_sig_fmt_e)
 #define TVIN_IOC_LOAD_REG          _IOW(_TM_T, 0x20, struct am_regs_s)
 #define TVIN_IOC_S_AFE_SONWON     _IO(_TM_T, 0x22)
 #define TVIN_IOC_S_AFE_SONWOFF     _IO(_TM_T, 0x23)