habanalabs: report correct dram size in info ioctl
In case MMU is enabled, we must take MMU page size into consideration when reporting dram size to the user. This is because the MMU page size can be a value which is NOT a power-of-2 value. As a result, the total DRAM size (which is always a power-of-2 value) needed to be rounded-down. Signed-off-by: Ofir Bitton <obitton@habana.ai> Reviewed-by: Oded Gabbay <ogabbay@kernel.org> Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
This commit is contained in:
Родитель
b19dc67aa8
Коммит
6769cea8de
|
@ -62,7 +62,15 @@ static int hw_ip_info(struct hl_device *hdev, struct hl_info_args *args)
|
|||
prop->dmmu.start_addr : prop->dram_user_base_address;
|
||||
hw_ip.tpc_enabled_mask = prop->tpc_enabled_mask;
|
||||
hw_ip.sram_size = prop->sram_size - sram_kmd_size;
|
||||
hw_ip.dram_size = prop->dram_size - dram_kmd_size;
|
||||
|
||||
if (hdev->mmu_enable)
|
||||
hw_ip.dram_size =
|
||||
DIV_ROUND_DOWN_ULL(prop->dram_size - dram_kmd_size,
|
||||
prop->dram_page_size) *
|
||||
prop->dram_page_size;
|
||||
else
|
||||
hw_ip.dram_size = prop->dram_size - dram_kmd_size;
|
||||
|
||||
if (hw_ip.dram_size > PAGE_SIZE)
|
||||
hw_ip.dram_enabled = 1;
|
||||
hw_ip.dram_page_size = prop->dram_page_size;
|
||||
|
|
Загрузка…
Ссылка в новой задаче