Commit 958e4797 authored by Ofir Bitton's avatar Ofir Bitton Committed by Oded Gabbay

accel/habanalabs: expose rotator mask to userspace

All engine masks are exposed to user, make sure user gets the
correct rotator enabled mask in gaudi2.
Signed-off-by: default avatarOfir Bitton <obitton@habana.ai>
Reviewed-by: default avatarOded Gabbay <ogabbay@kernel.org>
Signed-off-by: default avatarOded Gabbay <ogabbay@kernel.org>
parent 481e9a0f
...@@ -609,8 +609,8 @@ struct hl_hints_range { ...@@ -609,8 +609,8 @@ struct hl_hints_range {
* @cb_pool_cb_cnt: number of CBs in the CB pool. * @cb_pool_cb_cnt: number of CBs in the CB pool.
* @cb_pool_cb_size: size of each CB in the CB pool. * @cb_pool_cb_size: size of each CB in the CB pool.
* @decoder_enabled_mask: which decoders are enabled. * @decoder_enabled_mask: which decoders are enabled.
* @decoder_binning_mask: which decoders are binned, 0 means usable and 1 * @decoder_binning_mask: which decoders are binned, 0 means usable and 1 means binned.
* means binned (at most one binned decoder per dcore). * @rotator_enabled_mask: which rotators are enabled.
* @edma_enabled_mask: which EDMAs are enabled. * @edma_enabled_mask: which EDMAs are enabled.
* @edma_binning_mask: which EDMAs are binned, 0 means usable and 1 means * @edma_binning_mask: which EDMAs are binned, 0 means usable and 1 means
* binned (at most one binned DMA). * binned (at most one binned DMA).
...@@ -760,6 +760,7 @@ struct asic_fixed_properties { ...@@ -760,6 +760,7 @@ struct asic_fixed_properties {
u32 cb_pool_cb_size; u32 cb_pool_cb_size;
u32 decoder_enabled_mask; u32 decoder_enabled_mask;
u32 decoder_binning_mask; u32 decoder_binning_mask;
u32 rotator_enabled_mask;
u32 edma_enabled_mask; u32 edma_enabled_mask;
u32 edma_binning_mask; u32 edma_binning_mask;
u32 max_pending_cs; u32 max_pending_cs;
......
...@@ -108,6 +108,7 @@ static int hw_ip_info(struct hl_device *hdev, struct hl_info_args *args) ...@@ -108,6 +108,7 @@ static int hw_ip_info(struct hl_device *hdev, struct hl_info_args *args)
hw_ip.server_type = prop->server_type; hw_ip.server_type = prop->server_type;
hw_ip.security_enabled = prop->fw_security_enabled; hw_ip.security_enabled = prop->fw_security_enabled;
hw_ip.revision_id = hdev->pdev->revision; hw_ip.revision_id = hdev->pdev->revision;
hw_ip.rotator_enabled_mask = prop->rotator_enabled_mask;
hw_ip.engine_core_interrupt_reg_addr = prop->engine_core_interrupt_reg_addr; hw_ip.engine_core_interrupt_reg_addr = prop->engine_core_interrupt_reg_addr;
hw_ip.reserved_dram_size = dram_kmd_size; hw_ip.reserved_dram_size = dram_kmd_size;
......
...@@ -2315,6 +2315,8 @@ static int gaudi2_set_fixed_properties(struct hl_device *hdev) ...@@ -2315,6 +2315,8 @@ static int gaudi2_set_fixed_properties(struct hl_device *hdev)
prop->hints_range_reservation = true; prop->hints_range_reservation = true;
prop->rotator_enabled_mask = BIT(NUM_OF_ROT) - 1;
if (hdev->pldm) if (hdev->pldm)
prop->mmu_pgt_size = 0x800000; /* 8MB */ prop->mmu_pgt_size = 0x800000; /* 8MB */
else else
......
...@@ -886,6 +886,8 @@ enum hl_server_type { ...@@ -886,6 +886,8 @@ enum hl_server_type {
* @device_mem_alloc_default_page_size: default page size used in device memory allocation. * @device_mem_alloc_default_page_size: default page size used in device memory allocation.
* @revision_id: PCI revision ID of the ASIC. * @revision_id: PCI revision ID of the ASIC.
* @tpc_interrupt_id: interrupt id for TPC to use in order to raise events towards the host. * @tpc_interrupt_id: interrupt id for TPC to use in order to raise events towards the host.
* @rotator_enabled_mask: Bit-mask that represents which rotators are enabled.
* Relevant for Gaudi3 and later.
* @engine_core_interrupt_reg_addr: interrupt register address for engine core to use * @engine_core_interrupt_reg_addr: interrupt register address for engine core to use
* in order to raise events toward FW. * in order to raise events toward FW.
* @reserved_dram_size: DRAM size reserved for driver and firmware. * @reserved_dram_size: DRAM size reserved for driver and firmware.
...@@ -926,7 +928,7 @@ struct hl_info_hw_ip_info { ...@@ -926,7 +928,7 @@ struct hl_info_hw_ip_info {
__u8 reserved7; __u8 reserved7;
__u8 revision_id; __u8 revision_id;
__u16 tpc_interrupt_id; __u16 tpc_interrupt_id;
__u32 reserved8; __u32 rotator_enabled_mask;
__u32 reserved9; __u32 reserved9;
__u64 engine_core_interrupt_reg_addr; __u64 engine_core_interrupt_reg_addr;
__u64 reserved_dram_size; __u64 reserved_dram_size;
......
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