Hi Steve,

I love your patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.20-rc6 next-20181214]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:    
https://github.com/0day-ci/linux/commits/Steve-Longerbeam/gpu-ipu-csi-Swap-fields-according-to-input-output-field-types/20181215-135741
config: xtensa-allmodconfig (attached as .config)
compiler: xtensa-linux-gcc (GCC) 8.1.0
reproduce:
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        GCC_VERSION=8.1.0 make.cross ARCH=xtensa 

All errors (new ones prefixed by >>):

   drivers/gpu//ipu-v3/ipu-csi.c: In function 'ipu_csi_set_bt_interlaced_codes':
>> drivers/gpu//ipu-v3/ipu-csi.c:407:17: error: implicit declaration of 
>> function 'V4L2_FIELD_IS_SEQUENTIAL'; did you mean 'V4L2_CID_RDS_RECEPTION'? 
>> [-Werror=implicit-function-declaration]
     swap_fields = (V4L2_FIELD_IS_SEQUENTIAL(infield) &&
                    ^~~~~~~~~~~~~~~~~~~~~~~~
                    V4L2_CID_RDS_RECEPTION
   cc1: some warnings being treated as errors

vim +407 drivers/gpu//ipu-v3/ipu-csi.c

   385  
   386  static int
   387  ipu_csi_set_bt_interlaced_codes(struct ipu_csi *csi,
   388                                  const struct v4l2_mbus_framefmt *infmt,
   389                                  const struct v4l2_mbus_framefmt *outfmt,
   390                                  v4l2_std_id std)
   391  {
   392          enum v4l2_field infield, outfield;
   393          bool swap_fields;
   394  
   395          /* get translated field type of input and output */
   396          infield = ipu_csi_translate_field(infmt->field, std);
   397          outfield = ipu_csi_translate_field(outfmt->field, std);
   398  
   399          /*
   400           * Write the H-V-F codes the CSI will match against the
   401           * incoming data for start/end of active and blanking
   402           * field intervals. If input and output field types are
   403           * sequential but not the same (one is SEQ_BT and the other
   404           * is SEQ_TB), swap the F-bit so that the CSI will capture
   405           * field 1 lines before field 0 lines.
   406           */
 > 407          swap_fields = (V4L2_FIELD_IS_SEQUENTIAL(infield) &&
   408                         V4L2_FIELD_IS_SEQUENTIAL(outfield) &&
   409                         infield != outfield);
   410  
   411          if (!swap_fields) {
   412                  /*
   413                   * Field0BlankEnd  = 110, Field0BlankStart  = 010
   414                   * Field0ActiveEnd = 100, Field0ActiveStart = 000
   415                   * Field1BlankEnd  = 111, Field1BlankStart  = 011
   416                   * Field1ActiveEnd = 101, Field1ActiveStart = 001
   417                   */
   418                  ipu_csi_write(csi, 0x40596 | CSI_CCIR_ERR_DET_EN,
   419                                CSI_CCIR_CODE_1);
   420                  ipu_csi_write(csi, 0xD07DF, CSI_CCIR_CODE_2);
   421          } else {
   422                  dev_dbg(csi->ipu->dev, "capture field swap\n");
   423  
   424                  /* same as above but with F-bit inverted */
   425                  ipu_csi_write(csi, 0xD07DF | CSI_CCIR_ERR_DET_EN,
   426                                CSI_CCIR_CODE_1);
   427                  ipu_csi_write(csi, 0x40596, CSI_CCIR_CODE_2);
   428          }
   429  
   430          ipu_csi_write(csi, 0xFF0000, CSI_CCIR_CODE_3);
   431  
   432          return 0;
   433  }
   434  

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to