tree: git://people.freedesktop.org/~agd5f/linux.git drm-next-4.21
head: 2c486cc4c2774df684d8a43ca7a20670c67ccd76
commit: 062f380725376efab279956b5441071684c2a7ff [68/92] drm/amdgpu: Vega10
doorbell index initialization
config: x86_64-randconfig-x002-201847 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
git checkout 062f380725376efab279956b5441071684c2a7ff
# save the attached .config to linux build tree
make ARCH=x86_64
Note: the radeon-alex/drm-next-4.21 HEAD
2c486cc4c2774df684d8a43ca7a20670c67ccd76 builds fine.
It only hurts bisectibility.
All errors (new ones prefixed by >>):
drivers/gpu//drm/amd/amdgpu/sdma_v4_0.c: In function 'sdma_v4_0_sw_init':
>> drivers/gpu//drm/amd/amdgpu/sdma_v4_0.c:1524:6: error:
>> 'AMDGPU_VEGA10_DOORBELL64_sDMA_ENGINE0' undeclared (first use in this
>> function); did you mean 'AMDGPU_DOORBELL64_sDMA_ENGINE0'?
(AMDGPU_VEGA10_DOORBELL64_sDMA_ENGINE0 << 1)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
AMDGPU_DOORBELL64_sDMA_ENGINE0
drivers/gpu//drm/amd/amdgpu/sdma_v4_0.c:1524:6: note: each undeclared
identifier is reported only once for each function it appears in
>> drivers/gpu//drm/amd/amdgpu/sdma_v4_0.c:1525:8: error:
>> 'AMDGPU_VEGA10_DOORBELL64_sDMA_ENGINE1' undeclared (first use in this
>> function); did you mean 'AMDGPU_VEGA10_DOORBELL64_sDMA_ENGINE0'?
: (AMDGPU_VEGA10_DOORBELL64_sDMA_ENGINE1 << 1);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
AMDGPU_VEGA10_DOORBELL64_sDMA_ENGINE0
--
drivers/gpu//drm/amd/amdgpu/amdgpu_amdkfd.c: In function
'amdgpu_amdkfd_device_init':
>> drivers/gpu//drm/amd/amdgpu/amdgpu_amdkfd.c:186:6: error:
>> 'AMDGPU_VEGA10_DOORBELL64_sDMA_ENGINE0' undeclared (first use in this
>> function); did you mean 'AMDGPU_DOORBELL64_sDMA_ENGINE0'?
AMDGPU_VEGA10_DOORBELL64_sDMA_ENGINE0 + (i >> 1);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
AMDGPU_DOORBELL64_sDMA_ENGINE0
drivers/gpu//drm/amd/amdgpu/amdgpu_amdkfd.c:186:6: note: each undeclared
identifier is reported only once for each function it appears in
>> drivers/gpu//drm/amd/amdgpu/amdgpu_amdkfd.c:190:6: error:
>> 'AMDGPU_VEGA10_DOORBELL64_sDMA_ENGINE1' undeclared (first use in this
>> function); did you mean 'AMDGPU_VEGA10_DOORBELL64_sDMA_ENGINE0'?
AMDGPU_VEGA10_DOORBELL64_sDMA_ENGINE1 + (i >> 1);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
AMDGPU_VEGA10_DOORBELL64_sDMA_ENGINE0
vim +1524 drivers/gpu//drm/amd/amdgpu/sdma_v4_0.c
2130f89ce Ken Wang 2017-03-03 1497
2130f89ce Ken Wang 2017-03-03 1498 static int sdma_v4_0_sw_init(void
*handle)
2130f89ce Ken Wang 2017-03-03 1499 {
2130f89ce Ken Wang 2017-03-03 1500 struct amdgpu_ring *ring;
2130f89ce Ken Wang 2017-03-03 1501 int r, i;
2130f89ce Ken Wang 2017-03-03 1502 struct amdgpu_device *adev =
(struct amdgpu_device *)handle;
2130f89ce Ken Wang 2017-03-03 1503
2130f89ce Ken Wang 2017-03-03 1504 /* SDMA trap event */
44a99b65f Andrey Grodzovsky 2018-05-25 1505 r = amdgpu_irq_add_id(adev,
SOC15_IH_CLIENTID_SDMA0, SDMA0_4_0__SRCID__SDMA_TRAP,
2130f89ce Ken Wang 2017-03-03 1506
&adev->sdma.trap_irq);
2130f89ce Ken Wang 2017-03-03 1507 if (r)
2130f89ce Ken Wang 2017-03-03 1508 return r;
2130f89ce Ken Wang 2017-03-03 1509
2130f89ce Ken Wang 2017-03-03 1510 /* SDMA trap event */
44a99b65f Andrey Grodzovsky 2018-05-25 1511 r = amdgpu_irq_add_id(adev,
SOC15_IH_CLIENTID_SDMA1, SDMA1_4_0__SRCID__SDMA_TRAP,
2130f89ce Ken Wang 2017-03-03 1512
&adev->sdma.trap_irq);
2130f89ce Ken Wang 2017-03-03 1513 if (r)
2130f89ce Ken Wang 2017-03-03 1514 return r;
2130f89ce Ken Wang 2017-03-03 1515
2130f89ce Ken Wang 2017-03-03 1516 for (i = 0; i <
adev->sdma.num_instances; i++) {
2130f89ce Ken Wang 2017-03-03 1517 ring =
&adev->sdma.instance[i].ring;
2130f89ce Ken Wang 2017-03-03 1518 ring->ring_obj = NULL;
2130f89ce Ken Wang 2017-03-03 1519 ring->use_doorbell =
true;
2130f89ce Ken Wang 2017-03-03 1520
ec3db8a63 Philip Yang 2018-11-19 1521 /* doorbell size is 2
dwords, get DWORD offset */
a2a8fb512 Emily Deng 2018-08-09 1522 if (adev->asic_type ==
CHIP_VEGA10)
a2a8fb512 Emily Deng 2018-08-09 1523
ring->doorbell_index = (i == 0) ?
ec3db8a63 Philip Yang 2018-11-19 @1524
(AMDGPU_VEGA10_DOORBELL64_sDMA_ENGINE0 << 1)
ec3db8a63 Philip Yang 2018-11-19 @1525 :
(AMDGPU_VEGA10_DOORBELL64_sDMA_ENGINE1 << 1);
a2a8fb512 Emily Deng 2018-08-09 1526 else
2130f89ce Ken Wang 2017-03-03 1527
ring->doorbell_index = (i == 0) ?
ec3db8a63 Philip Yang 2018-11-19 1528
(AMDGPU_DOORBELL64_sDMA_ENGINE0 << 1)
ec3db8a63 Philip Yang 2018-11-19 1529 :
(AMDGPU_DOORBELL64_sDMA_ENGINE1 << 1);
a2a8fb512 Emily Deng 2018-08-09 1530
2130f89ce Ken Wang 2017-03-03 1531 sprintf(ring->name,
"sdma%d", i);
2130f89ce Ken Wang 2017-03-03 1532 r =
amdgpu_ring_init(adev, ring, 1024,
2130f89ce Ken Wang 2017-03-03 1533
&adev->sdma.trap_irq,
2130f89ce Ken Wang 2017-03-03 1534 (i
== 0) ?
2130f89ce Ken Wang 2017-03-03 1535
AMDGPU_SDMA_IRQ_TRAP0 :
2130f89ce Ken Wang 2017-03-03 1536
AMDGPU_SDMA_IRQ_TRAP1);
2130f89ce Ken Wang 2017-03-03 1537 if (r)
2130f89ce Ken Wang 2017-03-03 1538 return r;
bb97ab42a Christian König 2018-10-08 1539
2a85e816c Alex Deucher 2018-10-17 1540 if
(adev->sdma.has_page_queue) {
bb97ab42a Christian König 2018-10-08 1541 ring =
&adev->sdma.instance[i].page;
bb97ab42a Christian König 2018-10-08 1542 ring->ring_obj
= NULL;
ec3db8a63 Philip Yang 2018-11-19 1543
ring->use_doorbell = true;
ec3db8a63 Philip Yang 2018-11-19 1544
ec3db8a63 Philip Yang 2018-11-19 1545 /* paging queue
use same doorbell index/routing as gfx queue
ec3db8a63 Philip Yang 2018-11-19 1546 * with 0x400
(4096 dwords) offset on second doorbell page
ec3db8a63 Philip Yang 2018-11-19 1547 */
ec3db8a63 Philip Yang 2018-11-19 1548 if
(adev->asic_type == CHIP_VEGA10)
ec3db8a63 Philip Yang 2018-11-19 1549
ring->doorbell_index = (i == 0) ?
ec3db8a63 Philip Yang 2018-11-19 1550
(AMDGPU_VEGA10_DOORBELL64_sDMA_ENGINE0 << 1)
ec3db8a63 Philip Yang 2018-11-19 1551
: (AMDGPU_VEGA10_DOORBELL64_sDMA_ENGINE1 << 1);
ec3db8a63 Philip Yang 2018-11-19 1552 else
ec3db8a63 Philip Yang 2018-11-19 1553
ring->doorbell_index = (i == 0) ?
ec3db8a63 Philip Yang 2018-11-19 1554
(AMDGPU_DOORBELL64_sDMA_ENGINE0 << 1)
ec3db8a63 Philip Yang 2018-11-19 1555
: (AMDGPU_DOORBELL64_sDMA_ENGINE1 << 1);
ec3db8a63 Philip Yang 2018-11-19 1556
ring->doorbell_index += 0x400;
bb97ab42a Christian König 2018-10-08 1557
bb97ab42a Christian König 2018-10-08 1558
sprintf(ring->name, "page%d", i);
bb97ab42a Christian König 2018-10-08 1559 r =
amdgpu_ring_init(adev, ring, 1024,
bb97ab42a Christian König 2018-10-08 1560
&adev->sdma.trap_irq,
bb97ab42a Christian König 2018-10-08 1561
(i == 0) ?
bb97ab42a Christian König 2018-10-08 1562
AMDGPU_SDMA_IRQ_TRAP0 :
bb97ab42a Christian König 2018-10-08 1563
AMDGPU_SDMA_IRQ_TRAP1);
bb97ab42a Christian König 2018-10-08 1564 if (r)
bb97ab42a Christian König 2018-10-08 1565 return
r;
2130f89ce Ken Wang 2017-03-03 1566 }
2a85e816c Alex Deucher 2018-10-17 1567 }
2130f89ce Ken Wang 2017-03-03 1568
2130f89ce Ken Wang 2017-03-03 1569 return r;
2130f89ce Ken Wang 2017-03-03 1570 }
2130f89ce Ken Wang 2017-03-03 1571
:::::: The code at line 1524 was first introduced by commit
:::::: ec3db8a63d4aeceaee726b92f85b23c475e0e255 drm/amdgpu: enable paging queue
doorbell support v4
:::::: TO: Philip Yang <[email protected]>
:::::: CC: Alex Deucher <[email protected]>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
.config.gz
Description: application/gzip
_______________________________________________ dri-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/dri-devel
