]> rtime.felk.cvut.cz Git - vajnamar/linux-xlnx.git/commitdiff
drm: xilinx: sdi: Adding transport support in st352 payload calculation
authorSaurabh Sengar <saurabh.singh@xilinx.com>
Mon, 21 Aug 2017 08:50:33 +0000 (14:20 +0530)
committerMichal Simek <michal.simek@xilinx.com>
Thu, 24 Aug 2017 14:32:57 +0000 (16:32 +0200)
Setting 7th bit of byte 2 as per st352 spec for 1125 vertical display.

Signed-off-by: Saurabh Sengar <saurabhs@xilinx.com>
Reviewed-by: Hyun Kwon <hyun.kwon@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
drivers/gpu/drm/xilinx/xilinx_drm_sdi.c

index 04e380dae037a28e1e1fc9a1934df2d6cd961e57..3daaaaaf1328dccb27b22a12e3981f3cdbf16531 100644 (file)
 #define PIXELS_PER_CLK                         2
 #define XSDI_CH_SHIFT                          29
 #define XST352_PROG_SHIFT                      6
+#define XST352_TRANS_SHIFT                     7
 #define XST352_2048_SHIFT                      BIT(6)
 #define ST352_BYTE3                            0x00
 #define ST352_BYTE4                            0x01
@@ -926,6 +927,8 @@ static u32 xilinx_sdi_calc_st352_payld(struct xilinx_sdi *sdi,
        is_p = !(mode->flags & DRM_MODE_FLAG_INTERLACE);
        smpl_r = xlnx_sdi_modes[id].st352_byt2[is_frac];
        byt2 = (is_p << XST352_PROG_SHIFT) | smpl_r;
+       if (mode->vtotal >= 1125)
+               byt2 |= (is_p << XST352_TRANS_SHIFT);
        /* byte 1 calculation */
        byt1 = xlnx_sdi_modes[id].st352_byt1[sdi_mode];