[radeon-alex:drm-next-4.17-wip 390/390] drivers/gpu/drm/amd/amdgpu/si.c:1500:34: error: 'CAIL_PCIE_LINK_SPEED_SUPPORT_GEN2' undeclared

kbuild test robot fengguang.wu at intel.com
Tue Feb 27 06:34:57 UTC 2018


tree:   git://people.freedesktop.org/~agd5f/linux.git drm-next-4.17-wip
head:   1d0e528594e2040c6c208be32bad4ad57437aabb
commit: 1d0e528594e2040c6c208be32bad4ad57437aabb [390/390] drm/amdgpu: used cached pcie gen info for SI
config: x86_64-randconfig-u0-02271135 (attached as .config)
compiler: gcc-5 (Debian 5.5.0-3) 5.4.1 20171010
reproduce:
        git checkout 1d0e528594e2040c6c208be32bad4ad57437aabb
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All errors (new ones prefixed by >>):

   drivers/gpu/drm/amd/amdgpu/si.c: In function 'si_pcie_gen3_enable':
>> drivers/gpu/drm/amd/amdgpu/si.c:1500:34: error: 'CAIL_PCIE_LINK_SPEED_SUPPORT_GEN2' undeclared (first use in this function)
     if (!(adev->pm.pcie_gen_mask & (CAIL_PCIE_LINK_SPEED_SUPPORT_GEN2 |
                                     ^
   drivers/gpu/drm/amd/amdgpu/si.c:1500:34: note: each undeclared identifier is reported only once for each function it appears in
>> drivers/gpu/drm/amd/amdgpu/si.c:1501:6: error: 'CAIL_PCIE_LINK_SPEED_SUPPORT_GEN3' undeclared (first use in this function)
         CAIL_PCIE_LINK_SPEED_SUPPORT_GEN3)))
         ^
   drivers/gpu/drm/amd/amdgpu/si.c:1488:6: warning: unused variable 'ret' [-Wunused-variable]
     int ret, i;
         ^
--
   drivers/gpu/drm/amd/amdgpu/si_dpm.c: In function 'si_dpm_init':
   drivers/gpu/drm/amd/amdgpu/si_dpm.c:7317:29: error: 'CAIL_PCIE_LINK_SPEED_SUPPORT_MASK' undeclared (first use in this function)
      (adev->pm.pcie_gen_mask & CAIL_PCIE_LINK_SPEED_SUPPORT_MASK) >>
                                ^
   drivers/gpu/drm/amd/amdgpu/si_dpm.c:7317:29: note: each undeclared identifier is reported only once for each function it appears in
>> drivers/gpu/drm/amd/amdgpu/si_dpm.c:7318:3: error: 'CAIL_PCIE_LINK_SPEED_SUPPORT_SHIFT' undeclared (first use in this function)
      CAIL_PCIE_LINK_SPEED_SUPPORT_SHIFT;
      ^

vim +/CAIL_PCIE_LINK_SPEED_SUPPORT_GEN2 +1500 drivers/gpu/drm/amd/amdgpu/si.c

  1482	
  1483	static void si_pcie_gen3_enable(struct amdgpu_device *adev)
  1484	{
  1485		struct pci_dev *root = adev->pdev->bus->self;
  1486		int bridge_pos, gpu_pos;
  1487		u32 speed_cntl, current_data_rate;
  1488		int ret, i;
  1489		u16 tmp16;
  1490	
  1491		if (pci_is_root_bus(adev->pdev->bus))
  1492			return;
  1493	
  1494		if (amdgpu_pcie_gen2 == 0)
  1495			return;
  1496	
  1497		if (adev->flags & AMD_IS_APU)
  1498			return;
  1499	
> 1500		if (!(adev->pm.pcie_gen_mask & (CAIL_PCIE_LINK_SPEED_SUPPORT_GEN2 |
> 1501						CAIL_PCIE_LINK_SPEED_SUPPORT_GEN3)))
  1502			return;
  1503	
  1504		speed_cntl = RREG32_PCIE_PORT(PCIE_LC_SPEED_CNTL);
  1505		current_data_rate = (speed_cntl & LC_CURRENT_DATA_RATE_MASK) >>
  1506			LC_CURRENT_DATA_RATE_SHIFT;
  1507		if (adev->pm.pcie_gen_mask & CAIL_PCIE_LINK_SPEED_SUPPORT_GEN3) {
  1508			if (current_data_rate == 2) {
  1509				DRM_INFO("PCIE gen 3 link speeds already enabled\n");
  1510				return;
  1511			}
  1512			DRM_INFO("enabling PCIE gen 3 link speeds, disable with amdgpu.pcie_gen2=0\n");
  1513		} else if (adev->pm.pcie_gen_mask & CAIL_PCIE_LINK_SPEED_SUPPORT_GEN2) {
  1514			if (current_data_rate == 1) {
  1515				DRM_INFO("PCIE gen 2 link speeds already enabled\n");
  1516				return;
  1517			}
  1518			DRM_INFO("enabling PCIE gen 2 link speeds, disable with amdgpu.pcie_gen2=0\n");
  1519		}
  1520	
  1521		bridge_pos = pci_pcie_cap(root);
  1522		if (!bridge_pos)
  1523			return;
  1524	
  1525		gpu_pos = pci_pcie_cap(adev->pdev);
  1526		if (!gpu_pos)
  1527			return;
  1528	
  1529		if (adev->pm.pcie_gen_mask & CAIL_PCIE_LINK_SPEED_SUPPORT_GEN3) {
  1530			if (current_data_rate != 2) {
  1531				u16 bridge_cfg, gpu_cfg;
  1532				u16 bridge_cfg2, gpu_cfg2;
  1533				u32 max_lw, current_lw, tmp;
  1534	
  1535				pci_read_config_word(root, bridge_pos + PCI_EXP_LNKCTL, &bridge_cfg);
  1536				pci_read_config_word(adev->pdev, gpu_pos + PCI_EXP_LNKCTL, &gpu_cfg);
  1537	
  1538				tmp16 = bridge_cfg | PCI_EXP_LNKCTL_HAWD;
  1539				pci_write_config_word(root, bridge_pos + PCI_EXP_LNKCTL, tmp16);
  1540	
  1541				tmp16 = gpu_cfg | PCI_EXP_LNKCTL_HAWD;
  1542				pci_write_config_word(adev->pdev, gpu_pos + PCI_EXP_LNKCTL, tmp16);
  1543	
  1544				tmp = RREG32_PCIE(PCIE_LC_STATUS1);
  1545				max_lw = (tmp & LC_DETECTED_LINK_WIDTH_MASK) >> LC_DETECTED_LINK_WIDTH_SHIFT;
  1546				current_lw = (tmp & LC_OPERATING_LINK_WIDTH_MASK) >> LC_OPERATING_LINK_WIDTH_SHIFT;
  1547	
  1548				if (current_lw < max_lw) {
  1549					tmp = RREG32_PCIE_PORT(PCIE_LC_LINK_WIDTH_CNTL);
  1550					if (tmp & LC_RENEGOTIATION_SUPPORT) {
  1551						tmp &= ~(LC_LINK_WIDTH_MASK | LC_UPCONFIGURE_DIS);
  1552						tmp |= (max_lw << LC_LINK_WIDTH_SHIFT);
  1553						tmp |= LC_UPCONFIGURE_SUPPORT | LC_RENEGOTIATE_EN | LC_RECONFIG_NOW;
  1554						WREG32_PCIE_PORT(PCIE_LC_LINK_WIDTH_CNTL, tmp);
  1555					}
  1556				}
  1557	
  1558				for (i = 0; i < 10; i++) {
  1559					pci_read_config_word(adev->pdev, gpu_pos + PCI_EXP_DEVSTA, &tmp16);
  1560					if (tmp16 & PCI_EXP_DEVSTA_TRPND)
  1561						break;
  1562	
  1563					pci_read_config_word(root, bridge_pos + PCI_EXP_LNKCTL, &bridge_cfg);
  1564					pci_read_config_word(adev->pdev, gpu_pos + PCI_EXP_LNKCTL, &gpu_cfg);
  1565	
  1566					pci_read_config_word(root, bridge_pos + PCI_EXP_LNKCTL2, &bridge_cfg2);
  1567					pci_read_config_word(adev->pdev, gpu_pos + PCI_EXP_LNKCTL2, &gpu_cfg2);
  1568	
  1569					tmp = RREG32_PCIE_PORT(PCIE_LC_CNTL4);
  1570					tmp |= LC_SET_QUIESCE;
  1571					WREG32_PCIE_PORT(PCIE_LC_CNTL4, tmp);
  1572	
  1573					tmp = RREG32_PCIE_PORT(PCIE_LC_CNTL4);
  1574					tmp |= LC_REDO_EQ;
  1575					WREG32_PCIE_PORT(PCIE_LC_CNTL4, tmp);
  1576	
  1577					mdelay(100);
  1578	
  1579					pci_read_config_word(root, bridge_pos + PCI_EXP_LNKCTL, &tmp16);
  1580					tmp16 &= ~PCI_EXP_LNKCTL_HAWD;
  1581					tmp16 |= (bridge_cfg & PCI_EXP_LNKCTL_HAWD);
  1582					pci_write_config_word(root, bridge_pos + PCI_EXP_LNKCTL, tmp16);
  1583	
  1584					pci_read_config_word(adev->pdev, gpu_pos + PCI_EXP_LNKCTL, &tmp16);
  1585					tmp16 &= ~PCI_EXP_LNKCTL_HAWD;
  1586					tmp16 |= (gpu_cfg & PCI_EXP_LNKCTL_HAWD);
  1587					pci_write_config_word(adev->pdev, gpu_pos + PCI_EXP_LNKCTL, tmp16);
  1588	
  1589					pci_read_config_word(root, bridge_pos + PCI_EXP_LNKCTL2, &tmp16);
  1590					tmp16 &= ~((1 << 4) | (7 << 9));
  1591					tmp16 |= (bridge_cfg2 & ((1 << 4) | (7 << 9)));
  1592					pci_write_config_word(root, bridge_pos + PCI_EXP_LNKCTL2, tmp16);
  1593	
  1594					pci_read_config_word(adev->pdev, gpu_pos + PCI_EXP_LNKCTL2, &tmp16);
  1595					tmp16 &= ~((1 << 4) | (7 << 9));
  1596					tmp16 |= (gpu_cfg2 & ((1 << 4) | (7 << 9)));
  1597					pci_write_config_word(adev->pdev, gpu_pos + PCI_EXP_LNKCTL2, tmp16);
  1598	
  1599					tmp = RREG32_PCIE_PORT(PCIE_LC_CNTL4);
  1600					tmp &= ~LC_SET_QUIESCE;
  1601					WREG32_PCIE_PORT(PCIE_LC_CNTL4, tmp);
  1602				}
  1603			}
  1604		}
  1605	
  1606		speed_cntl |= LC_FORCE_EN_SW_SPEED_CHANGE | LC_FORCE_DIS_HW_SPEED_CHANGE;
  1607		speed_cntl &= ~LC_FORCE_DIS_SW_SPEED_CHANGE;
  1608		WREG32_PCIE_PORT(PCIE_LC_SPEED_CNTL, speed_cntl);
  1609	
  1610		pci_read_config_word(adev->pdev, gpu_pos + PCI_EXP_LNKCTL2, &tmp16);
  1611		tmp16 &= ~0xf;
  1612		if (adev->pm.pcie_gen_mask & CAIL_PCIE_LINK_SPEED_SUPPORT_GEN3)
  1613			tmp16 |= 3;
  1614		else if (adev->pm.pcie_gen_mask & CAIL_PCIE_LINK_SPEED_SUPPORT_GEN2)
  1615			tmp16 |= 2;
  1616		else
  1617			tmp16 |= 1;
  1618		pci_write_config_word(adev->pdev, gpu_pos + PCI_EXP_LNKCTL2, tmp16);
  1619	
  1620		speed_cntl = RREG32_PCIE_PORT(PCIE_LC_SPEED_CNTL);
  1621		speed_cntl |= LC_INITIATE_LINK_SPEED_CHANGE;
  1622		WREG32_PCIE_PORT(PCIE_LC_SPEED_CNTL, speed_cntl);
  1623	
  1624		for (i = 0; i < adev->usec_timeout; i++) {
  1625			speed_cntl = RREG32_PCIE_PORT(PCIE_LC_SPEED_CNTL);
  1626			if ((speed_cntl & LC_INITIATE_LINK_SPEED_CHANGE) == 0)
  1627				break;
  1628			udelay(1);
  1629		}
  1630	}
  1631	

---
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: 30746 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20180227/5da4a303/attachment-0001.gz>


More information about the dri-devel mailing list