[Intel-gfx] [PATCH v2] drm/i915: Pipeline PDP updates for Braswell
kbuild test robot
lkp at intel.com
Thu Nov 29 23:18:19 UTC 2018
Hi Chris,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on drm-intel/for-linux-next]
[also build test ERROR on next-20181129]
[cannot apply to v4.20-rc4]
[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/Chris-Wilson/drm-i915-Pipeline-PDP-updates-for-Braswell/20181129-054757
base: git://anongit.freedesktop.org/drm-intel for-linux-next
config: x86_64-allmodconfig (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64
All errors (new ones prefixed by >>):
>> drivers/gpu/drm/i915/intel_lrc.c:1852:50: error: no member 'scratch' in struct <unnamed>
include/linux/slab.h:332:43: warning: dubious: x & !y
drivers/gpu/drm/i915/intel_lrc.c: In function 'emit_pdps':
drivers/gpu/drm/i915/intel_lrc.c:1852:43: error: 'struct <anonymous>' has no member named 'scratch'
*cs++ = i915_ggtt_offset(engine->i915->gt.scratch);
^
vim +/scratch +1852 drivers/gpu/drm/i915/intel_lrc.c
1808
1809 static int emit_pdps(struct i915_request *rq)
1810 {
1811 const struct intel_engine_cs * const engine = rq->engine;
1812 struct i915_hw_ppgtt * const ppgtt = rq->gem_context->ppgtt;
1813 const unsigned int num_rings = INTEL_INFO(rq->i915)->num_rings;
1814 struct intel_engine_cs *other;
1815 enum intel_engine_id id;
1816 u32 *cs;
1817 int i;
1818
1819 if (!(ppgtt->pd_dirty_rings & intel_engine_flag(engine)))
1820 return 0;
1821
1822 cs = intel_ring_begin(rq, 4 * (GEN8_3LVL_PDPES + num_rings) + 8);
1823 if (IS_ERR(cs))
1824 return PTR_ERR(cs);
1825
1826 /*
1827 * Force the GPU (not just the local engine/powerwell!) to remain awake,
1828 * or else we may kill the machine with "timed out waiting for
1829 * forcewake ack request".
1830 */
1831
1832 *cs++ = MI_LOAD_REGISTER_IMM(num_rings);
1833 for_each_engine(other, rq->i915, id) {
1834 *cs++ = i915_mmio_reg_offset(RING_PSMI_CTL(other->mmio_base));
1835 *cs++ = _MASKED_BIT_ENABLE(GEN6_PSMI_SLEEP_MSG_DISABLE);
1836 }
1837
1838 *cs++ = MI_LOAD_REGISTER_IMM(2 * GEN8_3LVL_PDPES);
1839 for (i = GEN8_3LVL_PDPES; i--; ) {
1840 const dma_addr_t pd_daddr = i915_page_dir_dma_addr(ppgtt, i);
1841
1842 *cs++ = i915_mmio_reg_offset(GEN8_RING_PDP_UDW(engine, i));
1843 *cs++ = upper_32_bits(pd_daddr);
1844 *cs++ = i915_mmio_reg_offset(GEN8_RING_PDP_LDW(engine, i));
1845 *cs++ = lower_32_bits(pd_daddr);
1846 }
1847 *cs++ = MI_NOOP;
1848
1849 /* Posting read to flush the mmio before letting the GPU sleep again */
1850 *cs++ = MI_STORE_REGISTER_MEM_GEN8 | MI_SRM_LRM_GLOBAL_GTT;
1851 *cs++ = i915_mmio_reg_offset(GEN8_RING_PDP_LDW(engine, 0));
> 1852 *cs++ = i915_ggtt_offset(engine->i915->gt.scratch);
1853 *cs++ = 0;
1854
1855 *cs++ = MI_LOAD_REGISTER_IMM(num_rings);
1856 for_each_engine(other, rq->i915, id) {
1857 *cs++ = i915_mmio_reg_offset(RING_PSMI_CTL(other->mmio_base));
1858 *cs++ = _MASKED_BIT_DISABLE(GEN6_PSMI_SLEEP_MSG_DISABLE);
1859 }
1860
1861 intel_ring_advance(rq, cs);
1862
1863 ppgtt->pd_dirty_rings &= ~intel_engine_flag(engine);
1864 return 0;
1865 }
1866
---
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: 66662 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/intel-gfx/attachments/20181130/2e25f30d/attachment-0001.gz>
More information about the Intel-gfx
mailing list