lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 14 Oct 2021 19:18:44 +0800
From:   kernel test robot <lkp@...el.com>
To:     Corentin Labbe <clabbe@...libre.com>, mchehab@...nel.org,
        hverkuil@...all.nl, gregkh@...uxfoundation.org
Cc:     llvm@...ts.linux.dev, kbuild-all@...ts.01.org,
        linux-kernel@...r.kernel.org, linux-media@...r.kernel.org,
        linux-staging@...ts.linux.dev, mjpeg-users@...ts.sourceforge.net,
        Corentin Labbe <clabbe@...libre.com>
Subject: Re: [PATCH v2 04/10] staging: media: zoran: add debugfs

Hi Corentin,

I love your patch! Perhaps something to improve:

[auto build test WARNING on staging/staging-testing]

url:    https://github.com/0day-ci/linux/commits/Corentin-Labbe/staging-media-zoran-fusion-in-one-module/20211014-025945
base:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git 6ac113f741a7674e4268eea3eb13972732d83571
config: x86_64-randconfig-a016-20211014 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 6c76d0101193aa4eb891a6954ff047eda2f9cf71)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/0day-ci/linux/commit/74fc116256f23b2c65d0c813f1d90b617ce9c97d
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Corentin-Labbe/staging-media-zoran-fusion-in-one-module/20211014-025945
        git checkout 74fc116256f23b2c65d0c813f1d90b617ce9c97d
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=x86_64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@...el.com>

All warnings (new ones prefixed by >>):

   drivers/staging/media/zoran/zoran_card.c:948:31: error: no member named 'dbgfs_dir' in 'struct zoran'
           debugfs_remove_recursive(zr->dbgfs_dir);
                                    ~~  ^
>> drivers/staging/media/zoran/zoran_card.c:1141:46: warning: implicit conversion from 'unsigned long long' to 'unsigned int' changes value from 18446744073709551615 to 4294967295 [-Wconstant-conversion]
           vb2_dma_contig_set_max_seg_size(&pdev->dev, DMA_BIT_MASK(32));
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~             ^~~~~~~~~~~~~~~~
   include/linux/dma-mapping.h:76:40: note: expanded from macro 'DMA_BIT_MASK'
   #define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
                                          ^~~~~
   1 warning and 1 error generated.


vim +1141 drivers/staging/media/zoran/zoran_card.c

74fc116256f23b Corentin Labbe 2021-10-13  1088  
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1089  /*
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1090   *   Scan for a Buz card (actually for the PCI controller ZR36057),
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1091   *   request the irq and map the io memory
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1092   */
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1093  static int zoran_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1094  {
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1095  	unsigned char latency, need_latency;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1096  	struct zoran *zr;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1097  	int result;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1098  	struct videocodec_master *master_vfe = NULL;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1099  	struct videocodec_master *master_codec = NULL;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1100  	int card_num;
d61c7451fcb712 Corentin Labbe 2020-09-25  1101  	const char *codec_name, *vfe_name;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1102  	unsigned int nr;
d4ae3689226e56 Corentin Labbe 2020-09-25  1103  	int err;
d4ae3689226e56 Corentin Labbe 2020-09-25  1104  
26edeeecea59d6 Corentin Labbe 2021-10-13  1105  	pci_info(pdev, "Zoran MJPEG board driver version %s\n", ZORAN_VERSION);
26edeeecea59d6 Corentin Labbe 2021-10-13  1106  
26edeeecea59d6 Corentin Labbe 2021-10-13  1107  	/* check the parameters we have been given, adjust if necessary */
26edeeecea59d6 Corentin Labbe 2021-10-13  1108  	if (v4l_nbufs < 2)
26edeeecea59d6 Corentin Labbe 2021-10-13  1109  		v4l_nbufs = 2;
26edeeecea59d6 Corentin Labbe 2021-10-13  1110  	if (v4l_nbufs > VIDEO_MAX_FRAME)
26edeeecea59d6 Corentin Labbe 2021-10-13  1111  		v4l_nbufs = VIDEO_MAX_FRAME;
26edeeecea59d6 Corentin Labbe 2021-10-13  1112  	/* The user specifies the in KB, we want them in byte (and page aligned) */
26edeeecea59d6 Corentin Labbe 2021-10-13  1113  	v4l_bufsize = PAGE_ALIGN(v4l_bufsize * 1024);
26edeeecea59d6 Corentin Labbe 2021-10-13  1114  	if (v4l_bufsize < 32768)
26edeeecea59d6 Corentin Labbe 2021-10-13  1115  		v4l_bufsize = 32768;
26edeeecea59d6 Corentin Labbe 2021-10-13  1116  	/* 2 MB is arbitrary but sufficient for the maximum possible images */
26edeeecea59d6 Corentin Labbe 2021-10-13  1117  	if (v4l_bufsize > 2048 * 1024)
26edeeecea59d6 Corentin Labbe 2021-10-13  1118  		v4l_bufsize = 2048 * 1024;
26edeeecea59d6 Corentin Labbe 2021-10-13  1119  	if (jpg_nbufs < 4)
26edeeecea59d6 Corentin Labbe 2021-10-13  1120  		jpg_nbufs = 4;
26edeeecea59d6 Corentin Labbe 2021-10-13  1121  	if (jpg_nbufs > BUZ_MAX_FRAME)
26edeeecea59d6 Corentin Labbe 2021-10-13  1122  		jpg_nbufs = BUZ_MAX_FRAME;
26edeeecea59d6 Corentin Labbe 2021-10-13  1123  	jpg_bufsize = PAGE_ALIGN(jpg_bufsize * 1024);
26edeeecea59d6 Corentin Labbe 2021-10-13  1124  	if (jpg_bufsize < 8192)
26edeeecea59d6 Corentin Labbe 2021-10-13  1125  		jpg_bufsize = 8192;
26edeeecea59d6 Corentin Labbe 2021-10-13  1126  	if (jpg_bufsize > (512 * 1024))
26edeeecea59d6 Corentin Labbe 2021-10-13  1127  		jpg_bufsize = 512 * 1024;
26edeeecea59d6 Corentin Labbe 2021-10-13  1128  	/* Use parameter for vidmem or try to find a video card */
26edeeecea59d6 Corentin Labbe 2021-10-13  1129  	if (vidmem)
26edeeecea59d6 Corentin Labbe 2021-10-13  1130  		pci_info(pdev, "%s: Using supplied video memory base address @ 0x%lx\n",
26edeeecea59d6 Corentin Labbe 2021-10-13  1131  			 ZORAN_NAME, vidmem);
26edeeecea59d6 Corentin Labbe 2021-10-13  1132  
26edeeecea59d6 Corentin Labbe 2021-10-13  1133  	/* some mainboards might not do PCI-PCI data transfer well */
26edeeecea59d6 Corentin Labbe 2021-10-13  1134  	if (pci_pci_problems & (PCIPCI_FAIL | PCIAGP_FAIL | PCIPCI_ALIMAGIK))
26edeeecea59d6 Corentin Labbe 2021-10-13  1135  		pci_warn(pdev, "%s: chipset does not support reliable PCI-PCI DMA\n",
26edeeecea59d6 Corentin Labbe 2021-10-13  1136  			 ZORAN_NAME);
26edeeecea59d6 Corentin Labbe 2021-10-13  1137  
d4ae3689226e56 Corentin Labbe 2020-09-25  1138  	err = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32));
d4ae3689226e56 Corentin Labbe 2020-09-25  1139  	if (err)
d4ae3689226e56 Corentin Labbe 2020-09-25  1140  		return -ENODEV;
d4ae3689226e56 Corentin Labbe 2020-09-25 @1141  	vb2_dma_contig_set_max_seg_size(&pdev->dev, DMA_BIT_MASK(32));
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1142  
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1143  	nr = zoran_num++;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1144  	if (nr >= BUZ_MAX) {
b7c3b2bb9db412 Corentin Labbe 2020-09-25  1145  		pci_err(pdev, "driver limited to %d card(s) maximum\n", BUZ_MAX);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1146  		return -ENOENT;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1147  	}
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1148  
6d1d9ba2c4396f Corentin Labbe 2020-09-25  1149  	zr = devm_kzalloc(&pdev->dev, sizeof(*zr), GFP_KERNEL);
5e195bbddabdd9 Corentin Labbe 2020-09-25  1150  	if (!zr)
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1151  		return -ENOMEM;
5e195bbddabdd9 Corentin Labbe 2020-09-25  1152  
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1153  	zr->v4l2_dev.notify = zoran_subdev_notify;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1154  	if (v4l2_device_register(&pdev->dev, &zr->v4l2_dev))
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1155  		goto zr_free_mem;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1156  	zr->pci_dev = pdev;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1157  	zr->id = nr;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1158  	snprintf(ZR_DEVNAME(zr), sizeof(ZR_DEVNAME(zr)), "MJPEG[%u]", zr->id);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1159  	if (v4l2_ctrl_handler_init(&zr->hdl, 10))
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1160  		goto zr_unreg;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1161  	zr->v4l2_dev.ctrl_handler = &zr->hdl;
8cb356d4eaae11 Corentin Labbe 2020-09-25  1162  	v4l2_ctrl_new_std(&zr->hdl, &zoran_video_ctrl_ops,
8cb356d4eaae11 Corentin Labbe 2020-09-25  1163  			  V4L2_CID_JPEG_COMPRESSION_QUALITY, 0,
8cb356d4eaae11 Corentin Labbe 2020-09-25  1164  			  100, 1, 50);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1165  	spin_lock_init(&zr->spinlock);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1166  	mutex_init(&zr->lock);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1167  	if (pci_enable_device(pdev))
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1168  		goto zr_unreg;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1169  	zr->revision = zr->pci_dev->revision;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1170  
9bb2720293a04f Corentin Labbe 2020-09-25  1171  	pci_info(zr->pci_dev, "Zoran ZR360%c7 (rev %d), irq: %d, memory: 0x%08llx\n",
9bb2720293a04f Corentin Labbe 2020-09-25  1172  		 zr->revision < 2 ? '5' : '6', zr->revision,
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1173  		 zr->pci_dev->irq, (uint64_t)pci_resource_start(zr->pci_dev, 0));
9bb2720293a04f Corentin Labbe 2020-09-25  1174  	if (zr->revision >= 2)
9bb2720293a04f Corentin Labbe 2020-09-25  1175  		pci_info(zr->pci_dev, "Subsystem vendor=0x%04x id=0x%04x\n",
9bb2720293a04f Corentin Labbe 2020-09-25  1176  			 zr->pci_dev->subsystem_vendor, zr->pci_dev->subsystem_device);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1177  
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1178  	/* Use auto-detected card type? */
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1179  	if (card[nr] == -1) {
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1180  		if (zr->revision < 2) {
b7c3b2bb9db412 Corentin Labbe 2020-09-25  1181  			pci_err(pdev, "No card type specified, please use the card=X module parameter\n");
b7c3b2bb9db412 Corentin Labbe 2020-09-25  1182  			pci_err(pdev, "It is not possible to auto-detect ZR36057 based cards\n");
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1183  			goto zr_unreg;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1184  		}
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1185  
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1186  		card_num = ent->driver_data;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1187  		if (card_num >= NUM_CARDS) {
b7c3b2bb9db412 Corentin Labbe 2020-09-25  1188  			pci_err(pdev, "Unknown card, try specifying card=X module parameter\n");
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1189  			goto zr_unreg;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1190  		}
daae1da762c1e3 Corentin Labbe 2020-09-25  1191  		pci_info(zr->pci_dev, "%s() - card %s detected\n", __func__, zoran_cards[card_num].name);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1192  	} else {
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1193  		card_num = card[nr];
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1194  		if (card_num >= NUM_CARDS || card_num < 0) {
b7c3b2bb9db412 Corentin Labbe 2020-09-25  1195  			pci_err(pdev, "User specified card type %d out of range (0 .. %d)\n",
b7c3b2bb9db412 Corentin Labbe 2020-09-25  1196  				card_num, NUM_CARDS - 1);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1197  			goto zr_unreg;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1198  		}
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1199  	}
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1200  
5e195bbddabdd9 Corentin Labbe 2020-09-25  1201  	/*
5e195bbddabdd9 Corentin Labbe 2020-09-25  1202  	 * even though we make this a non pointer and thus
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1203  	 * theoretically allow for making changes to this struct
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1204  	 * on a per-individual card basis at runtime, this is
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1205  	 * strongly discouraged. This structure is intended to
5e195bbddabdd9 Corentin Labbe 2020-09-25  1206  	 * keep general card information, no settings or anything
5e195bbddabdd9 Corentin Labbe 2020-09-25  1207  	 */
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1208  	zr->card = zoran_cards[card_num];
5e195bbddabdd9 Corentin Labbe 2020-09-25  1209  	snprintf(ZR_DEVNAME(zr), sizeof(ZR_DEVNAME(zr)), "%s[%u]",
5e195bbddabdd9 Corentin Labbe 2020-09-25  1210  		 zr->card.name, zr->id);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1211  
845556fd8027b8 Corentin Labbe 2020-09-25  1212  	err = pci_request_regions(pdev, ZR_DEVNAME(zr));
845556fd8027b8 Corentin Labbe 2020-09-25  1213  	if (err)
845556fd8027b8 Corentin Labbe 2020-09-25  1214  		goto zr_unreg;
845556fd8027b8 Corentin Labbe 2020-09-25  1215  
e83bf68b5827e0 Corentin Labbe 2020-09-25  1216  	zr->zr36057_mem = devm_ioremap(&pdev->dev, pci_resource_start(pdev, 0), pci_resource_len(pdev, 0));
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1217  	if (!zr->zr36057_mem) {
b7c3b2bb9db412 Corentin Labbe 2020-09-25  1218  		pci_err(pdev, "%s() - ioremap failed\n", __func__);
845556fd8027b8 Corentin Labbe 2020-09-25  1219  		goto zr_pci_release;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1220  	}
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1221  
ce72671d5d2d93 Corentin Labbe 2020-09-25  1222  	result = pci_request_irq(pdev, 0, zoran_irq, NULL, zr, ZR_DEVNAME(zr));
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1223  	if (result < 0) {
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1224  		if (result == -EINVAL) {
b7c3b2bb9db412 Corentin Labbe 2020-09-25  1225  			pci_err(pdev, "%s - bad IRQ number or handler\n", __func__);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1226  		} else if (result == -EBUSY) {
b7c3b2bb9db412 Corentin Labbe 2020-09-25  1227  			pci_err(pdev, "%s - IRQ %d busy, change your PnP config in BIOS\n",
b7c3b2bb9db412 Corentin Labbe 2020-09-25  1228  				__func__, zr->pci_dev->irq);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1229  		} else {
b7c3b2bb9db412 Corentin Labbe 2020-09-25  1230  			pci_err(pdev, "%s - cannot assign IRQ, error code %d\n", __func__, result);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1231  		}
e83bf68b5827e0 Corentin Labbe 2020-09-25  1232  		goto zr_pci_release;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1233  	}
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1234  
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1235  	/* set PCI latency timer */
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1236  	pci_read_config_byte(zr->pci_dev, PCI_LATENCY_TIMER,
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1237  			     &latency);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1238  	need_latency = zr->revision > 1 ? 32 : 48;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1239  	if (latency != need_latency) {
9bb2720293a04f Corentin Labbe 2020-09-25  1240  		pci_info(zr->pci_dev, "Changing PCI latency from %d to %d\n", latency, need_latency);
5e195bbddabdd9 Corentin Labbe 2020-09-25  1241  		pci_write_config_byte(zr->pci_dev, PCI_LATENCY_TIMER, need_latency);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1242  	}
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1243  
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1244  	zr36057_restart(zr);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1245  	/* i2c */
9bb2720293a04f Corentin Labbe 2020-09-25  1246  	pci_info(zr->pci_dev, "Initializing i2c bus...\n");
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1247  
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1248  	if (zoran_register_i2c(zr) < 0) {
b7c3b2bb9db412 Corentin Labbe 2020-09-25  1249  		pci_err(pdev, "%s - can't initialize i2c bus\n", __func__);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1250  		goto zr_free_irq;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1251  	}
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1252  
5e195bbddabdd9 Corentin Labbe 2020-09-25  1253  	zr->decoder = v4l2_i2c_new_subdev(&zr->v4l2_dev, &zr->i2c_adapter,
5e195bbddabdd9 Corentin Labbe 2020-09-25  1254  					  zr->card.i2c_decoder, 0,
5e195bbddabdd9 Corentin Labbe 2020-09-25  1255  					  zr->card.addrs_decoder);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1256  
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1257  	if (zr->card.i2c_encoder)
5e195bbddabdd9 Corentin Labbe 2020-09-25  1258  		zr->encoder = v4l2_i2c_new_subdev(&zr->v4l2_dev, &zr->i2c_adapter,
5e195bbddabdd9 Corentin Labbe 2020-09-25  1259  						  zr->card.i2c_encoder, 0,
5e195bbddabdd9 Corentin Labbe 2020-09-25  1260  						  zr->card.addrs_encoder);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1261  
9bb2720293a04f Corentin Labbe 2020-09-25  1262  	pci_info(zr->pci_dev, "Initializing videocodec bus...\n");
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1263  
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1264  	if (zr->card.video_codec) {
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1265  		codec_name = codecid_to_modulename(zr->card.video_codec);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1266  		if (codec_name) {
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1267  			result = request_module(codec_name);
b7c3b2bb9db412 Corentin Labbe 2020-09-25  1268  			if (result)
b7c3b2bb9db412 Corentin Labbe 2020-09-25  1269  				pci_err(pdev, "failed to load modules %s: %d\n", codec_name, result);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1270  		}
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1271  	}
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1272  	if (zr->card.video_vfe) {
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1273  		vfe_name = codecid_to_modulename(zr->card.video_vfe);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1274  		if (vfe_name) {
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1275  			result = request_module(vfe_name);
b7c3b2bb9db412 Corentin Labbe 2020-09-25  1276  			if (result < 0)
b7c3b2bb9db412 Corentin Labbe 2020-09-25  1277  				pci_err(pdev, "failed to load modules %s: %d\n", vfe_name, result);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1278  		}
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1279  	}
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1280  
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1281  	/* reset JPEG codec */
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1282  	jpeg_codec_sleep(zr, 1);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1283  	jpeg_codec_reset(zr);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1284  	/* video bus enabled */
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1285  	/* display codec revision */
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1286  	if (zr->card.video_codec != 0) {
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1287  		master_codec = zoran_setup_videocodec(zr, zr->card.video_codec);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1288  		if (!master_codec)
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1289  			goto zr_unreg_i2c;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1290  		zr->codec = videocodec_attach(master_codec);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1291  		if (!zr->codec) {
b7c3b2bb9db412 Corentin Labbe 2020-09-25  1292  			pci_err(pdev, "%s - no codec found\n", __func__);
4bae5db2f28d64 Corentin Labbe 2020-09-25  1293  			goto zr_unreg_i2c;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1294  		}
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1295  		if (zr->codec->type != zr->card.video_codec) {
b7c3b2bb9db412 Corentin Labbe 2020-09-25  1296  			pci_err(pdev, "%s - wrong codec\n", __func__);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1297  			goto zr_detach_codec;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1298  		}
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1299  	}
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1300  	if (zr->card.video_vfe != 0) {
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1301  		master_vfe = zoran_setup_videocodec(zr, zr->card.video_vfe);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1302  		if (!master_vfe)
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1303  			goto zr_detach_codec;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1304  		zr->vfe = videocodec_attach(master_vfe);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1305  		if (!zr->vfe) {
b7c3b2bb9db412 Corentin Labbe 2020-09-25  1306  			pci_err(pdev, "%s - no VFE found\n", __func__);
4bae5db2f28d64 Corentin Labbe 2020-09-25  1307  			goto zr_detach_codec;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1308  		}
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1309  		if (zr->vfe->type != zr->card.video_vfe) {
b7c3b2bb9db412 Corentin Labbe 2020-09-25  1310  			pci_err(pdev, "%s = wrong VFE\n", __func__);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1311  			goto zr_detach_vfe;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1312  		}
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1313  	}
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1314  
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1315  	/* take care of Natoma chipset and a revision 1 zr36057 */
83f89a8bcbc3c5 Corentin Labbe 2020-09-25  1316  	if ((pci_pci_problems & PCIPCI_NATOMA) && zr->revision <= 1)
9bb2720293a04f Corentin Labbe 2020-09-25  1317  		pci_info(zr->pci_dev, "ZR36057/Natoma bug, max. buffer size is 128K\n");
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1318  
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1319  	if (zr36057_init(zr) < 0)
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1320  		goto zr_detach_vfe;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25  1321  
b564cb6e0bd587 Corentin Labbe 2020-09-25  1322  	zr->map_mode = ZORAN_MAP_MODE_RAW;
b564cb6e0bd587 Corentin Labbe 2020-09-25  1323  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

Download attachment ".config.gz" of type "application/gzip" (40477 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ