[PATCH v6] gpu: ipu-csi: Swap fields according to input/output field types

kbuild test robot lkp at intel.com
Sun Dec 16 07:23:04 UTC 2018


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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 55672 bytes
Desc: not available
URL: <http://driverdev.linuxdriverproject.org/pipermail/driverdev-devel/attachments/20181216/975bc6fe/attachment-0001.bin>


More information about the devel mailing list