Commit 883c2459 authored by Oded Gabbay's avatar Oded Gabbay

habanalabs: re-factor goya_parse_cb_no_ext_queue()

This patch re-factors goya_parse_cb_no_ext_queue() to make it more
readable by inverting the check inside the first if statement so the bulk
of the function won't be inside an if statement.

The patch also fixes a spelling error in the name of the function.
Signed-off-by: default avatarOded Gabbay <oded.gabbay@gmail.com>
parent e00dac3d
...@@ -3858,36 +3858,35 @@ static int goya_parse_cb_no_mmu(struct hl_device *hdev, ...@@ -3858,36 +3858,35 @@ static int goya_parse_cb_no_mmu(struct hl_device *hdev,
return rc; return rc;
} }
static int goya_parse_cb_no_ext_quque(struct hl_device *hdev, static int goya_parse_cb_no_ext_queue(struct hl_device *hdev,
struct hl_cs_parser *parser) struct hl_cs_parser *parser)
{ {
struct asic_fixed_properties *asic_prop = &hdev->asic_prop; struct asic_fixed_properties *asic_prop = &hdev->asic_prop;
struct goya_device *goya = hdev->asic_specific; struct goya_device *goya = hdev->asic_specific;
if (!(goya->hw_cap_initialized & HW_CAP_MMU)) { if (goya->hw_cap_initialized & HW_CAP_MMU)
/* For internal queue jobs, just check if cb address is valid */ return 0;
if (hl_mem_area_inside_range(
(u64) (uintptr_t) parser->user_cb,
parser->user_cb_size,
asic_prop->sram_user_base_address,
asic_prop->sram_end_address))
return 0;
if (hl_mem_area_inside_range( /* For internal queue jobs, just check if CB address is valid */
(u64) (uintptr_t) parser->user_cb, if (hl_mem_area_inside_range(
parser->user_cb_size, (u64) (uintptr_t) parser->user_cb,
asic_prop->dram_user_base_address, parser->user_cb_size,
asic_prop->dram_end_address)) asic_prop->sram_user_base_address,
return 0; asic_prop->sram_end_address))
return 0;
dev_err(hdev->dev, if (hl_mem_area_inside_range(
"Internal CB address %px + 0x%x is not in SRAM nor in DRAM\n", (u64) (uintptr_t) parser->user_cb,
parser->user_cb, parser->user_cb_size); parser->user_cb_size,
asic_prop->dram_user_base_address,
asic_prop->dram_end_address))
return 0;
return -EFAULT; dev_err(hdev->dev,
} "Internal CB address %px + 0x%x is not in SRAM nor in DRAM\n",
parser->user_cb, parser->user_cb_size);
return 0; return -EFAULT;
} }
int goya_cs_parser(struct hl_device *hdev, struct hl_cs_parser *parser) int goya_cs_parser(struct hl_device *hdev, struct hl_cs_parser *parser)
...@@ -3895,7 +3894,7 @@ int goya_cs_parser(struct hl_device *hdev, struct hl_cs_parser *parser) ...@@ -3895,7 +3894,7 @@ int goya_cs_parser(struct hl_device *hdev, struct hl_cs_parser *parser)
struct goya_device *goya = hdev->asic_specific; struct goya_device *goya = hdev->asic_specific;
if (!parser->ext_queue) if (!parser->ext_queue)
return goya_parse_cb_no_ext_quque(hdev, parser); return goya_parse_cb_no_ext_queue(hdev, parser);
if ((goya->hw_cap_initialized & HW_CAP_MMU) && parser->use_virt_addr) if ((goya->hw_cap_initialized & HW_CAP_MMU) && parser->use_virt_addr)
return goya_parse_cb_mmu(hdev, parser); return goya_parse_cb_mmu(hdev, parser);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment