2020-02-06 11:29:44

by Omer Shpigelman

[permalink] [raw]
Subject: [PATCH] habanalabs: fix DDR bar address setting

DRAM_PHYS_BASE is already taken into account in MMU_PAGE_TABLES_ADDR.

Signed-off-by: Omer Shpigelman <[email protected]>
---
drivers/misc/habanalabs/goya/goya.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/misc/habanalabs/goya/goya.c b/drivers/misc/habanalabs/goya/goya.c
index 74785ccd2cb1..f634e9c5cad9 100644
--- a/drivers/misc/habanalabs/goya/goya.c
+++ b/drivers/misc/habanalabs/goya/goya.c
@@ -2575,8 +2575,7 @@ static int goya_hw_init(struct hl_device *hdev)
* After CPU initialization is finished, change DDR bar mapping inside
* iATU to point to the start address of the MMU page tables
*/
- if (goya_set_ddr_bar_base(hdev, DRAM_PHYS_BASE +
- (MMU_PAGE_TABLES_ADDR &
+ if (goya_set_ddr_bar_base(hdev, (MMU_PAGE_TABLES_ADDR &
~(prop->dram_pci_bar_size - 0x1ull))) == U64_MAX) {
dev_err(hdev->dev,
"failed to map DDR bar to MMU page tables\n");
--
2.17.1


2020-02-07 07:08:26

by Oded Gabbay

[permalink] [raw]
Subject: Re: [PATCH] habanalabs: fix DDR bar address setting

On Thu, Feb 6, 2020 at 1:16 PM Omer Shpigelman <[email protected]> wrote:
>
> DRAM_PHYS_BASE is already taken into account in MMU_PAGE_TABLES_ADDR.
>
> Signed-off-by: Omer Shpigelman <[email protected]>
> ---
> drivers/misc/habanalabs/goya/goya.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/misc/habanalabs/goya/goya.c b/drivers/misc/habanalabs/goya/goya.c
> index 74785ccd2cb1..f634e9c5cad9 100644
> --- a/drivers/misc/habanalabs/goya/goya.c
> +++ b/drivers/misc/habanalabs/goya/goya.c
> @@ -2575,8 +2575,7 @@ static int goya_hw_init(struct hl_device *hdev)
> * After CPU initialization is finished, change DDR bar mapping inside
> * iATU to point to the start address of the MMU page tables
> */
> - if (goya_set_ddr_bar_base(hdev, DRAM_PHYS_BASE +
> - (MMU_PAGE_TABLES_ADDR &
> + if (goya_set_ddr_bar_base(hdev, (MMU_PAGE_TABLES_ADDR &
> ~(prop->dram_pci_bar_size - 0x1ull))) == U64_MAX) {
> dev_err(hdev->dev,
> "failed to map DDR bar to MMU page tables\n");
> --
> 2.17.1
>

This patch is:
Reviewed-by: Oded Gabbay <[email protected]>