habanalabs: increase PCI ELBI timeout for Palladium
This patch increases the timeout for PCI ELBI configuration to support low frequency Palladium images. Signed-off-by: Omer Shpigelman <oshpigelman@habana.ai> Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
This commit is contained in:
Родитель
921a465ba7
Коммит
a1e537b3f0
|
@ -34,6 +34,8 @@
|
|||
#define HL_ARMCP_INFO_TIMEOUT_USEC 10000000 /* 10s */
|
||||
#define HL_ARMCP_EEPROM_TIMEOUT_USEC 10000000 /* 10s */
|
||||
|
||||
#define HL_PCI_ELBI_TIMEOUT_MSEC 10 /* 10ms */
|
||||
|
||||
#define HL_MAX_QUEUES 128
|
||||
|
||||
#define HL_MAX_JOBS_PER_CS 64
|
||||
|
|
|
@ -10,6 +10,8 @@
|
|||
|
||||
#include <linux/pci.h>
|
||||
|
||||
#define HL_PLDM_PCI_ELBI_TIMEOUT_MSEC (HL_PCI_ELBI_TIMEOUT_MSEC * 10)
|
||||
|
||||
/**
|
||||
* hl_pci_bars_map() - Map PCI BARs.
|
||||
* @hdev: Pointer to hl_device structure.
|
||||
|
@ -88,8 +90,14 @@ static int hl_pci_elbi_write(struct hl_device *hdev, u64 addr, u32 data)
|
|||
{
|
||||
struct pci_dev *pdev = hdev->pdev;
|
||||
ktime_t timeout;
|
||||
u64 msec;
|
||||
u32 val;
|
||||
|
||||
if (hdev->pldm)
|
||||
msec = HL_PLDM_PCI_ELBI_TIMEOUT_MSEC;
|
||||
else
|
||||
msec = HL_PCI_ELBI_TIMEOUT_MSEC;
|
||||
|
||||
/* Clear previous status */
|
||||
pci_write_config_dword(pdev, mmPCI_CONFIG_ELBI_STS, 0);
|
||||
|
||||
|
@ -98,7 +106,7 @@ static int hl_pci_elbi_write(struct hl_device *hdev, u64 addr, u32 data)
|
|||
pci_write_config_dword(pdev, mmPCI_CONFIG_ELBI_CTRL,
|
||||
PCI_CONFIG_ELBI_CTRL_WRITE);
|
||||
|
||||
timeout = ktime_add_ms(ktime_get(), 10);
|
||||
timeout = ktime_add_ms(ktime_get(), msec);
|
||||
for (;;) {
|
||||
pci_read_config_dword(pdev, mmPCI_CONFIG_ELBI_STS, &val);
|
||||
if (val & PCI_CONFIG_ELBI_STS_MASK)
|
||||
|
|
Загрузка…
Ссылка в новой задаче