diff options
author | Oded Gabbay <oded.gabbay@gmail.com> | 2019-02-28 10:46:15 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-02-28 13:04:59 +0100 |
commit | 887f7d38e4b0d0d2405eb835b914c22c9390dc7e (patch) | |
tree | c06abda7fdff53993cab490b6a4052ab28ea870b /drivers/misc/habanalabs/goya/goya.c | |
parent | 6765fda0f49df033f19aceb867678da7ca09f57a (diff) | |
download | lwn-887f7d38e4b0d0d2405eb835b914c22c9390dc7e.tar.gz lwn-887f7d38e4b0d0d2405eb835b914c22c9390dc7e.zip |
habanalabs: set DMA0 completion to SOB 1007
This patch fix a bug where DMA channel 0 completion address wasn't
initialized by the driver.
The patch sets the address to Sync Object no. 1007
Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/misc/habanalabs/goya/goya.c')
-rw-r--r-- | drivers/misc/habanalabs/goya/goya.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/misc/habanalabs/goya/goya.c b/drivers/misc/habanalabs/goya/goya.c index 6f0075c4e935..578e4bdc3a49 100644 --- a/drivers/misc/habanalabs/goya/goya.c +++ b/drivers/misc/habanalabs/goya/goya.c @@ -1036,15 +1036,15 @@ static void goya_init_dma_ch(struct hl_device *hdev, int dma_id) WREG32(mmDMA_CH_0_ERRMSG_WDATA + reg_off, GOYA_ASYNC_EVENT_ID_DMA0_CH + dma_id); - if (dma_id) { + if (dma_id) sob_addr = CFG_BASE + mmSYNC_MNGR_SOB_OBJ_1000 + (dma_id - 1) * 4; - WREG32(mmDMA_CH_0_WR_COMP_ADDR_LO + reg_off, - lower_32_bits(sob_addr)); - WREG32(mmDMA_CH_0_WR_COMP_ADDR_HI + reg_off, - upper_32_bits(sob_addr)); - WREG32(mmDMA_CH_0_WR_COMP_WDATA + reg_off, 0x80000001); - } + else + sob_addr = CFG_BASE + mmSYNC_MNGR_SOB_OBJ_1007; + + WREG32(mmDMA_CH_0_WR_COMP_ADDR_LO + reg_off, lower_32_bits(sob_addr)); + WREG32(mmDMA_CH_0_WR_COMP_ADDR_HI + reg_off, upper_32_bits(sob_addr)); + WREG32(mmDMA_CH_0_WR_COMP_WDATA + reg_off, 0x80000001); } /* |