From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============0343399437376199377==" MIME-Version: 1.0 From: kernel test robot To: kbuild-all@lists.01.org Subject: Re: [PATCH V3 1/9] PCI/VGA: Move vgaarb to drivers/pci Date: Sun, 22 Aug 2021 04:48:10 +0800 Message-ID: <202108220448.CPCt2NYN-lkp@intel.com> In-Reply-To: <20210820100832.663931-2-chenhuacai@loongson.cn> List-Id: --===============0343399437376199377== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hi Huacai, I love your patch! Perhaps something to improve: [auto build test WARNING on pci/next] [also build test WARNING on linus/master v5.14-rc6 next-20210820] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Huacai-Chen/PCI-VGA-Rework= -default-VGA-device-selection/20210820-181519 base: https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git next config: arm-randconfig-c002-20210820 (attached as .config) compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project d9c561= 3e856cf2addfbf892fc4c1ce9ef9feceaa) reproduce (this is a W=3D1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/= make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # install arm cross compiling tool for clang build # apt-get install binutils-arm-linux-gnueabi # https://github.com/0day-ci/linux/commit/5a499ac0123cbe13fba8e3216= dc81cf09f59b101 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Huacai-Chen/PCI-VGA-Rework-default= -VGA-device-selection/20210820-181519 git checkout 5a499ac0123cbe13fba8e3216dc81cf09f59b101 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=3D$HOME/0day COMPILER=3Dclang make.cross ARCH= =3Darm clang-analyzer = If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot clang-analyzer warnings: (new ones prefixed by >>) ^~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/block/pktcdvd.c:2214:6: note: Assuming 'flush' is 0 if (flush && pkt_flush_cache(pd)) ^~~~~ drivers/block/pktcdvd.c:2214:12: note: Left side of '&&' is false if (flush && pkt_flush_cache(pd)) ^ drivers/block/pktcdvd.c:2219:2: note: Calling 'pkt_set_speed' pkt_set_speed(pd, MAX_SPEED, MAX_SPEED); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/block/pktcdvd.c:801:8: note: Calling 'pkt_generic_packet' ret =3D pkt_generic_packet(pd, &cgc); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/block/pktcdvd.c:706:27: note: Assuming field 'data_direction' is= not equal to CGC_DATA_WRITE rq =3D blk_get_request(q, (cgc->data_direction =3D=3D CGC_DATA_W= RITE) ? ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/block/pktcdvd.c:706:26: note: '?' condition is false rq =3D blk_get_request(q, (cgc->data_direction =3D=3D CGC_DATA_W= RITE) ? ^ drivers/block/pktcdvd.c:708:2: note: Taking true branch if (IS_ERR(rq)) ^ drivers/block/pktcdvd.c:709:3: note: Returning without writing to 'cgc->= sshdr', which participates in a condition later return PTR_ERR(rq); ^ drivers/block/pktcdvd.c:801:8: note: Returning from 'pkt_generic_packet' ret =3D pkt_generic_packet(pd, &cgc); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/block/pktcdvd.c:802:6: note: 'ret' is not equal to 0 if (ret) ^~~ drivers/block/pktcdvd.c:802:2: note: Taking true branch if (ret) ^ drivers/block/pktcdvd.c:803:3: note: Calling 'pkt_dump_sense' pkt_dump_sense(pd, &cgc); ^~~~~~~~~~~~~~~~~~~~~~~~ drivers/block/pktcdvd.c:753:6: note: 'sshdr' is non-null if (sshdr) ^~~~~ drivers/block/pktcdvd.c:753:2: note: Taking true branch if (sshdr) ^ drivers/block/pktcdvd.c:757:4: note: 1st function call argument is an un= initialized value sense_key_string(sshdr->sense_key)); ^ drivers/block/pktcdvd.c:76:33: note: expanded from macro 'pkt_err' pr_err("%s: " fmt, pd->name, ##__VA_ARGS__) ^~~~~~~~~~~ include/linux/printk.h:390:33: note: expanded from macro 'pr_err' printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__) ^~~~~~~~~~~ drivers/block/pktcdvd.c:2723:2: warning: Call to function 'strcpy' is in= secure as it does not provide bounding of the memory buffer. Replace unboun= ded copy functions with analogous functions that support length arguments s= uch as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy] strcpy(disk->disk_name, pd->name); ^~~~~~ drivers/block/pktcdvd.c:2723:2: note: Call to function 'strcpy' is insec= ure as it does not provide bounding of the memory buffer. Replace unbounded= copy functions with analogous functions that support length arguments such= as 'strlcpy'. CWE-119 strcpy(disk->disk_name, pd->name); ^~~~~~ Suppressed 3 warnings (3 in non-user code). Use -header-filter=3D.* to display errors from all non-system headers. U= se -system-headers to display errors from system headers as well. 2 warnings generated. Suppressed 2 warnings (2 in non-user code). Use -header-filter=3D.* to display errors from all non-system headers. U= se -system-headers to display errors from system headers as well. 2 warnings generated. Suppressed 2 warnings (2 in non-user code). Use -header-filter=3D.* to display errors from all non-system headers. U= se -system-headers to display errors from system headers as well. 2 warnings generated. Suppressed 2 warnings (2 in non-user code). Use -header-filter=3D.* to display errors from all non-system headers. U= se -system-headers to display errors from system headers as well. 2 warnings generated. Suppressed 2 warnings (2 in non-user code). Use -header-filter=3D.* to display errors from all non-system headers. U= se -system-headers to display errors from system headers as well. 2 warnings generated. Suppressed 2 warnings (2 in non-user code). Use -header-filter=3D.* to display errors from all non-system headers. U= se -system-headers to display errors from system headers as well. 2 warnings generated. Suppressed 2 warnings (2 in non-user code). Use -header-filter=3D.* to display errors from all non-system headers. U= se -system-headers to display errors from system headers as well. 2 warnings generated. Suppressed 2 warnings (2 in non-user code). Use -header-filter=3D.* to display errors from all non-system headers. U= se -system-headers to display errors from system headers as well. 2 warnings generated. Suppressed 2 warnings (2 in non-user code). Use -header-filter=3D.* to display errors from all non-system headers. U= se -system-headers to display errors from system headers as well. 3 warnings generated. Suppressed 3 warnings (3 in non-user code). Use -header-filter=3D.* to display errors from all non-system headers. U= se -system-headers to display errors from system headers as well. 2 warnings generated. Suppressed 2 warnings (2 in non-user code). Use -header-filter=3D.* to display errors from all non-system headers. U= se -system-headers to display errors from system headers as well. 3 warnings generated. drivers/pci/ecam.c:62:2: warning: Value stored to 'bsz' is never read [c= lang-analyzer-deadcode.DeadStores] bsz =3D 1 << bus_shift; ^ ~~~~~~~~~~~~~~ drivers/pci/ecam.c:62:2: note: Value stored to 'bsz' is never read bsz =3D 1 << bus_shift; ^ ~~~~~~~~~~~~~~ Suppressed 2 warnings (2 in non-user code). Use -header-filter=3D.* to display errors from all non-system headers. U= se -system-headers to display errors from system headers as well. 4 warnings generated. >> drivers/pci/vgaarb.c:245:17: warning: Value stored to 'dev' during its i= nitialization is never read [clang-analyzer-deadcode.DeadStores] struct device *dev =3D &vgadev->pdev->dev; ^~~ ~~~~~~~~~~~~~~~~~~ drivers/pci/vgaarb.c:245:17: note: Value stored to 'dev' during its init= ialization is never read struct device *dev =3D &vgadev->pdev->dev; ^~~ ~~~~~~~~~~~~~~~~~~ drivers/pci/vgaarb.c:394:17: warning: Value stored to 'dev' during its i= nitialization is never read [clang-analyzer-deadcode.DeadStores] struct device *dev =3D &vgadev->pdev->dev; ^~~ ~~~~~~~~~~~~~~~~~~ drivers/pci/vgaarb.c:394:17: note: Value stored to 'dev' during its init= ialization is never read struct device *dev =3D &vgadev->pdev->dev; ^~~ ~~~~~~~~~~~~~~~~~~ Suppressed 2 warnings (2 in non-user code). Use -header-filter=3D.* to display errors from all non-system headers. U= se -system-headers to display errors from system headers as well. 2 warnings generated. Suppressed 2 warnings (2 in non-user code). Use -header-filter=3D.* to display errors from all non-system headers. U= se -system-headers to display errors from system headers as well. 4 warnings generated. fs/fat/fatent.c:482:2: warning: Value stored to 'err' is never read [cla= ng-analyzer-deadcode.DeadStores] err =3D nr_bhs =3D idx_clus =3D 0; ^ ~~~~~~~~~~~~~~~~~~~~~ fs/fat/fatent.c:482:2: note: Value stored to 'err' is never read err =3D nr_bhs =3D idx_clus =3D 0; ^ ~~~~~~~~~~~~~~~~~~~~~ fs/fat/fatent.c:684:18: warning: The left operand of '>=3D' is a garbage= value [clang-analyzer-core.UndefinedBinaryOperatorResult] if (ra->ra_next >=3D ra->ra_limit) ^ fs/fat/fatent.c:777:14: note: Assuming '__UNIQUE_ID___x254' is <=3D '__U= NIQUE_ID___y255' ent_start =3D max_t(u64, range->start>>sbi->cluster_bits, FAT_ST= ART_ENT); ^ include/linux/minmax.h:112:27: note: expanded from macro 'max_t' #define max_t(type, x, y) __careful_cmp((type)(x), (type)(y), >) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/minmax.h:38:3: note: expanded from macro '__careful_cmp' __cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/minmax.h:33:3: note: expanded from macro '__cmp_once' __cmp(unique_x, unique_y, op); }) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/minmax.h:28:26: note: expanded from macro '__cmp' #define __cmp(x, y, op) ((x) op (y) ? (x) : (y)) ^~~~~~~~~~ fs/fat/fatent.c:777:14: note: '?' condition is false ent_start =3D max_t(u64, range->start>>sbi->cluster_bits, FAT_ST= ART_ENT); ^ include/linux/minmax.h:112:27: note: expanded from macro 'max_t' #define max_t(type, x, y) __careful_cmp((type)(x), (type)(y), >) ^ include/linux/minmax.h:38:3: note: expanded from macro '__careful_cmp' __cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op)) ^ include/linux/minmax.h:33:3: note: expanded from macro '__cmp_once' __cmp(unique_x, unique_y, op); }) ^ include/linux/minmax.h:28:26: note: expanded from macro '__cmp' #define __cmp(x, y, op) ((x) op (y) ? (x) : (y)) ^ fs/fat/fatent.c:781:6: note: Assuming 'ent_start' is < field 'max_cluste= r' if (ent_start >=3D sbi->max_cluster || range->len < sbi->cluster= _size) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/fat/fatent.c:781:6: note: Left side of '||' is false fs/fat/fatent.c:781:39: note: Assuming field 'len' is >=3D field 'cluste= r_size' if (ent_start >=3D sbi->max_cluster || range->len < sbi->cluster= _size) ^~~~~~~~~~~~~~~~~~~~~~~~~~~= ~~~ fs/fat/fatent.c:781:2: note: Taking false branch if (ent_start >=3D sbi->max_cluster || range->len < sbi->cluster= _size) ^ fs/fat/fatent.c:783:6: note: Assuming 'ent_end' is < field 'max_cluster' if (ent_end >=3D sbi->max_cluster) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/fat/fatent.c:783:2: note: Taking false branch if (ent_end >=3D sbi->max_cluster) ^ fs/fat/fatent.c:789:2: note: Calling 'fat_ra_init' fat_ra_init(sb, &fatent_ra, &fatent, ent_end + 1); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/fat/fatent.c:660:6: note: Assuming 'ent_limit' is <=3D field 'entry' if (fatent->entry >=3D ent_limit) ^~~~~~~~~~~~~~~~~~~~~~~~~~ fs/fat/fatent.c:660:2: note: Taking true branch if (fatent->entry >=3D ent_limit) ^ fs/fat/fatent.c:661:3: note: Returning without writing to 'ra->ra_next' return; ^ fs/fat/fatent.c:789:2: note: Returning from 'fat_ra_init' fat_ra_init(sb, &fatent_ra, &fatent, ent_end + 1); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/fat/fatent.c:790:9: note: Assuming 'ent_end' is >=3D field 'entry' while (fatent.entry <=3D ent_end) { ^~~~~~~~~~~~~~~~~~~~~~~ fs/fat/fatent.c:790:2: note: Loop condition is true. Entering loop body while (fatent.entry <=3D ent_end) { ^ fs/fat/fatent.c:792:3: note: Calling 'fat_ent_reada' fat_ent_reada(sb, &fatent_ra, &fatent); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/fat/fatent.c:684:18: note: The left operand of '>=3D' is a garbage va= lue if (ra->ra_next >=3D ra->ra_limit) ~~~~~~~~~~~ ^ Suppressed 2 warnings (2 in non-user code). vim +/dev +245 drivers/pci/vgaarb.c deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 241 = deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 242 static struct vga_device *__vga_tryget(struct vga_device *vgadev, deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 243 unsigned int rsrc) deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 244 { a75d68f62106fe6 drivers/gpu/vga/vgaarb.c Bjorn Helgaas 2016-11-17 = @245 struct device *dev =3D &vgadev->pdev->dev; deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 246 unsigned int wants, legacy_wants, match; deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 247 struct vga_device *conflict; deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 248 unsigned int pci_bits; 3448a19da479b6b drivers/gpu/vga/vgaarb.c Dave Airlie 2010-06-01 = 249 u32 flags =3D 0; 3448a19da479b6b drivers/gpu/vga/vgaarb.c Dave Airlie 2010-06-01 = 250 = deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 251 /* Account for "normal" resources to lock. If we decode the legacy, deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 252 * counterpart, we need to request it as well deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 253 */ deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 254 if ((rsrc & VGA_RSRC_NORMAL_IO) && deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 255 (vgadev->decodes & VGA_RSRC_LEGACY_IO)) deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 256 rsrc |=3D VGA_RSRC_LEGACY_IO; deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 257 if ((rsrc & VGA_RSRC_NORMAL_MEM) && deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 258 (vgadev->decodes & VGA_RSRC_LEGACY_MEM)) deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 259 rsrc |=3D VGA_RSRC_LEGACY_MEM; deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 260 = a75d68f62106fe6 drivers/gpu/vga/vgaarb.c Bjorn Helgaas 2016-11-17 = 261 vgaarb_dbg(dev, "%s: %d\n", __func__, rsrc); a75d68f62106fe6 drivers/gpu/vga/vgaarb.c Bjorn Helgaas 2016-11-17 = 262 vgaarb_dbg(dev, "%s: owns: %d\n", __func__, vgadev->owns); deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 263 = deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 264 /* Check what resources we need to acquire */ deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 265 wants =3D rsrc & ~vgadev->owns; deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 266 = deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 267 /* We already own everything, just mark locked & bye bye */ deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 268 if (wants =3D=3D 0) deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 269 goto lock_them; deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 270 = deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 271 /* We don't need to request a legacy resource, we just enable deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 272 * appropriate decoding and go deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 273 */ deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 274 legacy_wants =3D wants & VGA_RSRC_LEGACY_MASK; deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 275 if (legacy_wants =3D=3D 0) deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 276 goto enable_them; deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 277 = deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 278 /* Ok, we don't, let's find out how we need to kick off */ deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 279 list_for_each_entry(conflict, &vga_list, list) { deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 280 unsigned int lwants =3D legacy_wants; deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 281 unsigned int change_bridge =3D 0; deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 282 = deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 283 /* Don't conflict with myself */ deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 284 if (vgadev =3D=3D conflict) deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 285 continue; deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 286 = deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 287 /* Check if the architecture allows a conflict between those deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 288 * 2 devices or if they are on separate domains deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 289 */ deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 290 if (!vga_conflicts(vgadev->pdev, conflict->pdev)) deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 291 continue; deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 292 = deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 293 /* We have a possible conflict. before we go further, we must deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 294 * check if we sit on the same bus as the conflicting device. deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 295 * if we don't, then we must tie both IO and MEM resources deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 296 * together since there is only a single bit controlling deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 297 * VGA forwarding on P2P bridges deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 298 */ deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 299 if (vgadev->pdev->bus !=3D conflict->pdev->bus) { deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 300 change_bridge =3D 1; deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 301 lwants =3D VGA_RSRC_LEGACY_IO | VGA_RSRC_LEGACY_MEM; deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 302 } deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 303 = deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 304 /* Check if the guy has a lock on the resource. If he does, deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 305 * return the conflicting entry deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 306 */ deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 307 if (conflict->locks & lwants) deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 308 return conflict; deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 309 = 4e4e7dc55af5aa6 drivers/gpu/vga/vgaarb.c Alex Williamson 2014-07-03 = 310 /* Ok, now check if it owns the resource we want. We can 4e4e7dc55af5aa6 drivers/gpu/vga/vgaarb.c Alex Williamson 2014-07-03 = 311 * lock resources that are not decoded, therefore a device 4e4e7dc55af5aa6 drivers/gpu/vga/vgaarb.c Alex Williamson 2014-07-03 = 312 * can own resources it doesn't decode. deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 313 */ deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 314 match =3D lwants & conflict->owns; deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 315 if (!match) deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 316 continue; deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 317 = deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 318 /* looks like he doesn't have a lock, we can steal deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 319 * them from him deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 320 */ deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 321 = 3448a19da479b6b drivers/gpu/vga/vgaarb.c Dave Airlie 2010-06-01 = 322 flags =3D 0; deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 323 pci_bits =3D 0; 3448a19da479b6b drivers/gpu/vga/vgaarb.c Dave Airlie 2010-06-01 = 324 = 4e4e7dc55af5aa6 drivers/gpu/vga/vgaarb.c Alex Williamson 2014-07-03 = 325 /* If we can't control legacy resources via the bridge, we 4e4e7dc55af5aa6 drivers/gpu/vga/vgaarb.c Alex Williamson 2014-07-03 = 326 * also need to disable normal decoding. 4e4e7dc55af5aa6 drivers/gpu/vga/vgaarb.c Alex Williamson 2014-07-03 = 327 */ 3448a19da479b6b drivers/gpu/vga/vgaarb.c Dave Airlie 2010-06-01 = 328 if (!conflict->bridge_has_one_vga) { 4e4e7dc55af5aa6 drivers/gpu/vga/vgaarb.c Alex Williamson 2014-07-03 = 329 if ((match & conflict->decodes) & VGA_RSRC_LEGACY_MEM) deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 330 pci_bits |=3D PCI_COMMAND_MEMORY; 4e4e7dc55af5aa6 drivers/gpu/vga/vgaarb.c Alex Williamson 2014-07-03 = 331 if ((match & conflict->decodes) & VGA_RSRC_LEGACY_IO) deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 332 pci_bits |=3D PCI_COMMAND_IO; 4e4e7dc55af5aa6 drivers/gpu/vga/vgaarb.c Alex Williamson 2014-07-03 = 333 = 4e4e7dc55af5aa6 drivers/gpu/vga/vgaarb.c Alex Williamson 2014-07-03 = 334 if (pci_bits) { 4e4e7dc55af5aa6 drivers/gpu/vga/vgaarb.c Alex Williamson 2014-07-03 = 335 vga_irq_set_state(conflict, false); 4e4e7dc55af5aa6 drivers/gpu/vga/vgaarb.c Alex Williamson 2014-07-03 = 336 flags |=3D PCI_VGA_STATE_CHANGE_DECODES; 4e4e7dc55af5aa6 drivers/gpu/vga/vgaarb.c Alex Williamson 2014-07-03 = 337 } 3448a19da479b6b drivers/gpu/vga/vgaarb.c Dave Airlie 2010-06-01 = 338 } 3448a19da479b6b drivers/gpu/vga/vgaarb.c Dave Airlie 2010-06-01 = 339 = 3448a19da479b6b drivers/gpu/vga/vgaarb.c Dave Airlie 2010-06-01 = 340 if (change_bridge) 3448a19da479b6b drivers/gpu/vga/vgaarb.c Dave Airlie 2010-06-01 = 341 flags |=3D PCI_VGA_STATE_CHANGE_BRIDGE; deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 342 = 3448a19da479b6b drivers/gpu/vga/vgaarb.c Dave Airlie 2010-06-01 = 343 pci_set_vga_state(conflict->pdev, false, pci_bits, flags); f22d776f3e280e6 drivers/gpu/vga/vgaarb.c Alex Williamson 2013-08-15 = 344 conflict->owns &=3D ~match; 4e4e7dc55af5aa6 drivers/gpu/vga/vgaarb.c Alex Williamson 2014-07-03 = 345 = 4e4e7dc55af5aa6 drivers/gpu/vga/vgaarb.c Alex Williamson 2014-07-03 = 346 /* If we disabled normal decoding, reflect it in owns */ 4e4e7dc55af5aa6 drivers/gpu/vga/vgaarb.c Alex Williamson 2014-07-03 = 347 if (pci_bits & PCI_COMMAND_MEMORY) deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 348 conflict->owns &=3D ~VGA_RSRC_NORMAL_MEM; 4e4e7dc55af5aa6 drivers/gpu/vga/vgaarb.c Alex Williamson 2014-07-03 = 349 if (pci_bits & PCI_COMMAND_IO) deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 350 conflict->owns &=3D ~VGA_RSRC_NORMAL_IO; deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 351 } deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 352 = deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 353 enable_them: deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 354 /* ok dude, we got it, everybody conflicting has been disabled, let's 4e4e7dc55af5aa6 drivers/gpu/vga/vgaarb.c Alex Williamson 2014-07-03 = 355 * enable us. Mark any bits in "owns" regardless of whether we 4e4e7dc55af5aa6 drivers/gpu/vga/vgaarb.c Alex Williamson 2014-07-03 = 356 * decoded them. We can lock resources we don't decode, therefore 4e4e7dc55af5aa6 drivers/gpu/vga/vgaarb.c Alex Williamson 2014-07-03 = 357 * we must track them via "owns". deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 358 */ 3448a19da479b6b drivers/gpu/vga/vgaarb.c Dave Airlie 2010-06-01 = 359 flags =3D 0; deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 360 pci_bits =3D 0; 3448a19da479b6b drivers/gpu/vga/vgaarb.c Dave Airlie 2010-06-01 = 361 = 3448a19da479b6b drivers/gpu/vga/vgaarb.c Dave Airlie 2010-06-01 = 362 if (!vgadev->bridge_has_one_vga) { 3448a19da479b6b drivers/gpu/vga/vgaarb.c Dave Airlie 2010-06-01 = 363 flags |=3D PCI_VGA_STATE_CHANGE_DECODES; deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 364 if (wants & (VGA_RSRC_LEGACY_MEM|VGA_RSRC_NORMAL_MEM)) deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 365 pci_bits |=3D PCI_COMMAND_MEMORY; deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 366 if (wants & (VGA_RSRC_LEGACY_IO|VGA_RSRC_NORMAL_IO)) deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 367 pci_bits |=3D PCI_COMMAND_IO; 3448a19da479b6b drivers/gpu/vga/vgaarb.c Dave Airlie 2010-06-01 = 368 } 4e4e7dc55af5aa6 drivers/gpu/vga/vgaarb.c Alex Williamson 2014-07-03 = 369 if (wants & VGA_RSRC_LEGACY_MASK) 3448a19da479b6b drivers/gpu/vga/vgaarb.c Dave Airlie 2010-06-01 = 370 flags |=3D PCI_VGA_STATE_CHANGE_BRIDGE; 3448a19da479b6b drivers/gpu/vga/vgaarb.c Dave Airlie 2010-06-01 = 371 = 3448a19da479b6b drivers/gpu/vga/vgaarb.c Dave Airlie 2010-06-01 = 372 pci_set_vga_state(vgadev->pdev, true, pci_bits, flags); deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 373 = 5d90ccf908bd806 drivers/gpu/vga/vgaarb.c Thierry Reding 2015-08-12 = 374 if (!vgadev->bridge_has_one_vga) deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 375 vga_irq_set_state(vgadev, true); 5d90ccf908bd806 drivers/gpu/vga/vgaarb.c Thierry Reding 2015-08-12 = 376 = 4e4e7dc55af5aa6 drivers/gpu/vga/vgaarb.c Alex Williamson 2014-07-03 = 377 vgadev->owns |=3D wants; deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 378 lock_them: deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 379 vgadev->locks |=3D (rsrc & VGA_RSRC_LEGACY_MASK); deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 380 if (rsrc & VGA_RSRC_LEGACY_IO) deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 381 vgadev->io_lock_cnt++; deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 382 if (rsrc & VGA_RSRC_LEGACY_MEM) deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 383 vgadev->mem_lock_cnt++; deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 384 if (rsrc & VGA_RSRC_NORMAL_IO) deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 385 vgadev->io_norm_cnt++; deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 386 if (rsrc & VGA_RSRC_NORMAL_MEM) deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 387 vgadev->mem_norm_cnt++; deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 388 = deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 389 return NULL; deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 390 } deb2d2ecd43dfc5 drivers/gpu/vga/vgaarb.c Benjamin Herrenschmidt 2009-08-11 = 391 = --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org --===============0343399437376199377== Content-Type: application/gzip MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="config.gz" 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 --===============0343399437376199377==--