CC: kbuild-all(a)lists.01.org In-Reply-To: <20210701202427.1547543-11-matthew.d.roper@intel.com> References: <20210701202427.1547543-11-matthew.d.roper@intel.com> TO: Matt Roper TO: intel-gfx(a)lists.freedesktop.org CC: Stuart Summers CC: Daniele Ceraolo Spurio CC: dri-devel(a)lists.freedesktop.org Hi Matt, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on drm-tip/drm-tip] [also build test WARNING on drm-exynos/exynos-drm-next next-20210701] [cannot apply to drm-intel/for-linux-next tegra-drm/drm/tegra/for-next drm/drm-next v5.13] [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/Matt-Roper/Begin-enabling-Xe_HP-SDV-and-DG2-platforms/20210702-042813 base: git://anongit.freedesktop.org/drm/drm-tip drm-tip :::::: branch date: 10 hours ago :::::: commit date: 10 hours ago config: i386-randconfig-s001-20210630 (attached as .config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 reproduce: # apt-get install sparse # sparse version: v0.6.3-341-g8af24329-dirty # https://github.com/0day-ci/linux/commit/321471eb113a846b2eb16a97779e7eb468d88798 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Matt-Roper/Begin-enabling-Xe_HP-SDV-and-DG2-platforms/20210702-042813 git checkout 321471eb113a846b2eb16a97779e7eb468d88798 # save the attached .config to linux build tree make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=i386 SHELL=/bin/bash drivers/gpu/drm/i915/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot sparse warnings: (new ones prefixed by >>) drivers/gpu/drm/i915/intel_uncore.c:1620:1: sparse: sparse: context imbalance in 'gen12_fwtable_read8' - different lock contexts for basic block drivers/gpu/drm/i915/intel_uncore.c:1620:1: sparse: sparse: context imbalance in 'gen12_fwtable_read16' - different lock contexts for basic block drivers/gpu/drm/i915/intel_uncore.c:1620:1: sparse: sparse: context imbalance in 'gen12_fwtable_read32' - different lock contexts for basic block drivers/gpu/drm/i915/intel_uncore.c:1620:1: sparse: sparse: context imbalance in 'gen12_fwtable_read64' - different lock contexts for basic block drivers/gpu/drm/i915/intel_uncore.c:1621:1: sparse: sparse: context imbalance in 'gen11_fwtable_read8' - different lock contexts for basic block drivers/gpu/drm/i915/intel_uncore.c:1621:1: sparse: sparse: context imbalance in 'gen11_fwtable_read16' - different lock contexts for basic block drivers/gpu/drm/i915/intel_uncore.c:1621:1: sparse: sparse: context imbalance in 'gen11_fwtable_read32' - different lock contexts for basic block drivers/gpu/drm/i915/intel_uncore.c:1621:1: sparse: sparse: context imbalance in 'gen11_fwtable_read64' - different lock contexts for basic block drivers/gpu/drm/i915/intel_uncore.c:1622:1: sparse: sparse: context imbalance in 'fwtable_read8' - different lock contexts for basic block drivers/gpu/drm/i915/intel_uncore.c:1622:1: sparse: sparse: context imbalance in 'fwtable_read16' - different lock contexts for basic block drivers/gpu/drm/i915/intel_uncore.c:1622:1: sparse: sparse: context imbalance in 'fwtable_read32' - different lock contexts for basic block drivers/gpu/drm/i915/intel_uncore.c:1622:1: sparse: sparse: context imbalance in 'fwtable_read64' - different lock contexts for basic block drivers/gpu/drm/i915/intel_uncore.c:1623:1: sparse: sparse: context imbalance in 'gen6_read8' - different lock contexts for basic block drivers/gpu/drm/i915/intel_uncore.c:1623:1: sparse: sparse: context imbalance in 'gen6_read16' - different lock contexts for basic block drivers/gpu/drm/i915/intel_uncore.c:1623:1: sparse: sparse: context imbalance in 'gen6_read32' - different lock contexts for basic block drivers/gpu/drm/i915/intel_uncore.c:1623:1: sparse: sparse: context imbalance in 'gen6_read64' - different lock contexts for basic block drivers/gpu/drm/i915/intel_uncore.c:1686:1: sparse: sparse: context imbalance in 'gen6_write8' - different lock contexts for basic block drivers/gpu/drm/i915/intel_uncore.c:1687:1: sparse: sparse: context imbalance in 'gen6_write16' - different lock contexts for basic block drivers/gpu/drm/i915/intel_uncore.c:1688:1: sparse: sparse: context imbalance in 'gen6_write32' - different lock contexts for basic block >> drivers/gpu/drm/i915/intel_uncore.c:1712:1: sparse: sparse: context imbalance in 'xehp_fwtable_write8' - different lock contexts for basic block >> drivers/gpu/drm/i915/intel_uncore.c:1712:1: sparse: sparse: context imbalance in 'xehp_fwtable_write16' - different lock contexts for basic block >> drivers/gpu/drm/i915/intel_uncore.c:1712:1: sparse: sparse: context imbalance in 'xehp_fwtable_write32' - different lock contexts for basic block drivers/gpu/drm/i915/intel_uncore.c:1713:1: sparse: sparse: context imbalance in 'gen12_fwtable_write8' - different lock contexts for basic block drivers/gpu/drm/i915/intel_uncore.c:1713:1: sparse: sparse: context imbalance in 'gen12_fwtable_write16' - different lock contexts for basic block drivers/gpu/drm/i915/intel_uncore.c:1713:1: sparse: sparse: context imbalance in 'gen12_fwtable_write32' - different lock contexts for basic block drivers/gpu/drm/i915/intel_uncore.c:1714:1: sparse: sparse: context imbalance in 'gen11_fwtable_write8' - different lock contexts for basic block drivers/gpu/drm/i915/intel_uncore.c:1714:1: sparse: sparse: context imbalance in 'gen11_fwtable_write16' - different lock contexts for basic block drivers/gpu/drm/i915/intel_uncore.c:1714:1: sparse: sparse: context imbalance in 'gen11_fwtable_write32' - different lock contexts for basic block drivers/gpu/drm/i915/intel_uncore.c:1715:1: sparse: sparse: context imbalance in 'fwtable_write8' - different lock contexts for basic block drivers/gpu/drm/i915/intel_uncore.c:1715:1: sparse: sparse: context imbalance in 'fwtable_write16' - different lock contexts for basic block drivers/gpu/drm/i915/intel_uncore.c:1715:1: sparse: sparse: context imbalance in 'fwtable_write32' - different lock contexts for basic block drivers/gpu/drm/i915/intel_uncore.c:1716:1: sparse: sparse: context imbalance in 'gen8_write8' - different lock contexts for basic block drivers/gpu/drm/i915/intel_uncore.c:1716:1: sparse: sparse: context imbalance in 'gen8_write16' - different lock contexts for basic block drivers/gpu/drm/i915/intel_uncore.c:1716:1: sparse: sparse: context imbalance in 'gen8_write32' - different lock contexts for basic block vim +/xehp_fwtable_write8 +1712 drivers/gpu/drm/i915/intel_uncore.c ccb2aceaaa5f92 Daniele Ceraolo Spurio 2019-06-19 1619 cf82d9ddd3b520 Michel Thierry 2019-09-13 1620 __gen_reg_read_funcs(gen12_fwtable); ccb2aceaaa5f92 Daniele Ceraolo Spurio 2019-06-19 1621 __gen_reg_read_funcs(gen11_fwtable); ccb2aceaaa5f92 Daniele Ceraolo Spurio 2019-06-19 @1622 __gen_reg_read_funcs(fwtable); ccb2aceaaa5f92 Daniele Ceraolo Spurio 2019-06-19 @1623 __gen_reg_read_funcs(gen6); ccb2aceaaa5f92 Daniele Ceraolo Spurio 2019-06-19 1624 ccb2aceaaa5f92 Daniele Ceraolo Spurio 2019-06-19 1625 #undef __gen_reg_read_funcs 51f67885842e36 Chris Wilson 2015-01-16 1626 #undef GEN6_READ_FOOTER 51f67885842e36 Chris Wilson 2015-01-16 1627 #undef GEN6_READ_HEADER 5d738795968dfa Ben Widawsky 2013-10-04 1628 51f67885842e36 Chris Wilson 2015-01-16 1629 #define GEN2_WRITE_HEADER \ 5d738795968dfa Ben Widawsky 2013-10-04 1630 trace_i915_reg_rw(true, reg, val, sizeof(val), trace); \ 87b391b9518497 Daniele Ceraolo Spurio 2019-06-13 1631 assert_rpm_wakelock_held(uncore->rpm); \ 907b28c56ea406 Chris Wilson 2013-07-19 1632 51f67885842e36 Chris Wilson 2015-01-16 1633 #define GEN2_WRITE_FOOTER 0d9653014f081e Ville Syrjälä 2013-12-02 1634 51f67885842e36 Chris Wilson 2015-01-16 1635 #define __gen2_write(x) \ 0b27448141bbe9 Ben Widawsky 2013-10-04 1636 static void \ a2b4abfc626b13 Daniele Ceraolo Spurio 2019-03-25 1637 gen2_write##x(struct intel_uncore *uncore, i915_reg_t reg, u##x val, bool trace) { \ 51f67885842e36 Chris Wilson 2015-01-16 1638 GEN2_WRITE_HEADER; \ 6cc5ca76882521 Daniele Ceraolo Spurio 2019-03-25 1639 __raw_uncore_write##x(uncore, reg, val); \ 51f67885842e36 Chris Wilson 2015-01-16 1640 GEN2_WRITE_FOOTER; \ 4032ef4315475d Ben Widawsky 2013-10-04 1641 } 4032ef4315475d Ben Widawsky 2013-10-04 1642 4032ef4315475d Ben Widawsky 2013-10-04 1643 #define __gen5_write(x) \ 4032ef4315475d Ben Widawsky 2013-10-04 1644 static void \ a2b4abfc626b13 Daniele Ceraolo Spurio 2019-03-25 1645 gen5_write##x(struct intel_uncore *uncore, i915_reg_t reg, u##x val, bool trace) { \ 51f67885842e36 Chris Wilson 2015-01-16 1646 GEN2_WRITE_HEADER; \ 6ebc9692a7add6 Daniele Ceraolo Spurio 2019-03-19 1647 ilk_dummy_write(uncore); \ 6cc5ca76882521 Daniele Ceraolo Spurio 2019-03-25 1648 __raw_uncore_write##x(uncore, reg, val); \ 51f67885842e36 Chris Wilson 2015-01-16 1649 GEN2_WRITE_FOOTER; \ 4032ef4315475d Ben Widawsky 2013-10-04 1650 } 4032ef4315475d Ben Widawsky 2013-10-04 1651 51f67885842e36 Chris Wilson 2015-01-16 1652 __gen5_write(8) 51f67885842e36 Chris Wilson 2015-01-16 1653 __gen5_write(16) 51f67885842e36 Chris Wilson 2015-01-16 1654 __gen5_write(32) 51f67885842e36 Chris Wilson 2015-01-16 1655 __gen2_write(8) 51f67885842e36 Chris Wilson 2015-01-16 1656 __gen2_write(16) 51f67885842e36 Chris Wilson 2015-01-16 1657 __gen2_write(32) 51f67885842e36 Chris Wilson 2015-01-16 1658 51f67885842e36 Chris Wilson 2015-01-16 1659 #undef __gen5_write 51f67885842e36 Chris Wilson 2015-01-16 1660 #undef __gen2_write 51f67885842e36 Chris Wilson 2015-01-16 1661 51f67885842e36 Chris Wilson 2015-01-16 1662 #undef GEN2_WRITE_FOOTER 51f67885842e36 Chris Wilson 2015-01-16 1663 #undef GEN2_WRITE_HEADER 51f67885842e36 Chris Wilson 2015-01-16 1664 51f67885842e36 Chris Wilson 2015-01-16 1665 #define GEN6_WRITE_HEADER \ f0f59a00a1c9be Ville Syrjälä 2015-11-18 1666 u32 offset = i915_mmio_reg_offset(reg); \ 51f67885842e36 Chris Wilson 2015-01-16 1667 unsigned long irqflags; \ 51f67885842e36 Chris Wilson 2015-01-16 1668 trace_i915_reg_rw(true, reg, val, sizeof(val), trace); \ 87b391b9518497 Daniele Ceraolo Spurio 2019-06-13 1669 assert_rpm_wakelock_held(uncore->rpm); \ 272c7e52302e91 Daniele Ceraolo Spurio 2019-03-19 1670 spin_lock_irqsave(&uncore->lock, irqflags); \ 2cf7bf6f2f2067 Daniele Ceraolo Spurio 2019-03-25 1671 unclaimed_reg_debug(uncore, reg, false, true) 51f67885842e36 Chris Wilson 2015-01-16 1672 51f67885842e36 Chris Wilson 2015-01-16 1673 #define GEN6_WRITE_FOOTER \ 2cf7bf6f2f2067 Daniele Ceraolo Spurio 2019-03-25 1674 unclaimed_reg_debug(uncore, reg, false, false); \ 272c7e52302e91 Daniele Ceraolo Spurio 2019-03-19 1675 spin_unlock_irqrestore(&uncore->lock, irqflags) 51f67885842e36 Chris Wilson 2015-01-16 1676 4032ef4315475d Ben Widawsky 2013-10-04 1677 #define __gen6_write(x) \ 4032ef4315475d Ben Widawsky 2013-10-04 1678 static void \ a2b4abfc626b13 Daniele Ceraolo Spurio 2019-03-25 1679 gen6_write##x(struct intel_uncore *uncore, i915_reg_t reg, u##x val, bool trace) { \ 51f67885842e36 Chris Wilson 2015-01-16 1680 GEN6_WRITE_HEADER; \ a338908c11528a Mika Kuoppala 2017-04-06 1681 if (NEEDS_FORCE_WAKE(offset)) \ 6ebc9692a7add6 Daniele Ceraolo Spurio 2019-03-19 1682 __gen6_gt_wait_for_fifo(uncore); \ 6cc5ca76882521 Daniele Ceraolo Spurio 2019-03-25 1683 __raw_uncore_write##x(uncore, reg, val); \ 51f67885842e36 Chris Wilson 2015-01-16 1684 GEN6_WRITE_FOOTER; \ 4032ef4315475d Ben Widawsky 2013-10-04 1685 } ccb2aceaaa5f92 Daniele Ceraolo Spurio 2019-06-19 1686 __gen6_write(8) ccb2aceaaa5f92 Daniele Ceraolo Spurio 2019-06-19 1687 __gen6_write(16) ccb2aceaaa5f92 Daniele Ceraolo Spurio 2019-06-19 1688 __gen6_write(32) 4032ef4315475d Ben Widawsky 2013-10-04 1689 ccfceda22cc018 Daniele Ceraolo Spurio 2017-02-03 1690 #define __gen_write(func, x) \ ab2aa47e4b2d2a Ben Widawsky 2013-11-02 1691 static void \ a2b4abfc626b13 Daniele Ceraolo Spurio 2019-03-25 1692 func##_write##x(struct intel_uncore *uncore, i915_reg_t reg, u##x val, bool trace) { \ 6863b76c629549 Tvrtko Ursulin 2016-04-12 1693 enum forcewake_domains fw_engine; \ 51f67885842e36 Chris Wilson 2015-01-16 1694 GEN6_WRITE_HEADER; \ 272c7e52302e91 Daniele Ceraolo Spurio 2019-03-19 1695 fw_engine = __##func##_reg_write_fw_domains(uncore, offset); \ 6a42d0f4b32d9f Ville Syrjälä 2015-10-22 1696 if (fw_engine) \ 272c7e52302e91 Daniele Ceraolo Spurio 2019-03-19 1697 __force_wake_auto(uncore, fw_engine); \ 6cc5ca76882521 Daniele Ceraolo Spurio 2019-03-25 1698 __raw_uncore_write##x(uncore, reg, val); \ 51f67885842e36 Chris Wilson 2015-01-16 1699 GEN6_WRITE_FOOTER; \ 1938e59ab719f3 Deepak S 2014-05-23 1700 } 4032ef4315475d Ben Widawsky 2013-10-04 1701 ccb2aceaaa5f92 Daniele Ceraolo Spurio 2019-06-19 1702 #define __gen_reg_write_funcs(func) \ ccb2aceaaa5f92 Daniele Ceraolo Spurio 2019-06-19 1703 static enum forcewake_domains \ ccb2aceaaa5f92 Daniele Ceraolo Spurio 2019-06-19 1704 func##_reg_write_fw_domains(struct intel_uncore *uncore, i915_reg_t reg) { \ ccb2aceaaa5f92 Daniele Ceraolo Spurio 2019-06-19 1705 return __##func##_reg_write_fw_domains(uncore, i915_mmio_reg_offset(reg)); \ ccb2aceaaa5f92 Daniele Ceraolo Spurio 2019-06-19 1706 } \ ccb2aceaaa5f92 Daniele Ceraolo Spurio 2019-06-19 1707 \ ccb2aceaaa5f92 Daniele Ceraolo Spurio 2019-06-19 1708 __gen_write(func, 8) \ ccb2aceaaa5f92 Daniele Ceraolo Spurio 2019-06-19 1709 __gen_write(func, 16) \ ccb2aceaaa5f92 Daniele Ceraolo Spurio 2019-06-19 1710 __gen_write(func, 32) ccb2aceaaa5f92 Daniele Ceraolo Spurio 2019-06-19 1711 321471eb113a84 Matt Roper 2021-07-01 @1712 __gen_reg_write_funcs(xehp_fwtable); cf82d9ddd3b520 Michel Thierry 2019-09-13 1713 __gen_reg_write_funcs(gen12_fwtable); ccb2aceaaa5f92 Daniele Ceraolo Spurio 2019-06-19 1714 __gen_reg_write_funcs(gen11_fwtable); ccb2aceaaa5f92 Daniele Ceraolo Spurio 2019-06-19 1715 __gen_reg_write_funcs(fwtable); ccb2aceaaa5f92 Daniele Ceraolo Spurio 2019-06-19 1716 __gen_reg_write_funcs(gen8); ccb2aceaaa5f92 Daniele Ceraolo Spurio 2019-06-19 1717 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org