mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-15 07:04:44 +00:00
habanalabs/gaudi: fix DMA completions max outstanding to 15
This is a workaround for H/W bug H3-2116, where if there are more than 16 outstanding completions in the DMA transpose engine, there can be a deadlock in the engine. Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
This commit is contained in:
parent
dbf053c429
commit
d1f3633599
1 changed files with 3 additions and 0 deletions
|
@ -1918,6 +1918,9 @@ static void gaudi_init_dma_core(struct hl_device *hdev, int dma_id)
|
|||
WREG32(mmDMA0_CORE_RD_MAX_OUTSTAND + dma_offset, 0);
|
||||
WREG32(mmDMA0_CORE_RD_MAX_SIZE + dma_offset, 0);
|
||||
|
||||
/* WA for H/W bug H3-2116 */
|
||||
WREG32(mmDMA0_CORE_LBW_MAX_OUTSTAND + dma_offset, 15);
|
||||
|
||||
/* STOP_ON bit implies no completion to operation in case of RAZWI */
|
||||
if (hdev->stop_on_err)
|
||||
dma_err_cfg |= 1 << DMA0_CORE_ERR_CFG_STOP_ON_ERR_SHIFT;
|
||||
|
|
Loading…
Reference in a new issue