Skip to content

Commit 1137e1e

Browse files
ofirbittogabbay
authored andcommitted
habanalabs/gaudi: move coresight mmu config
We must relocate the coresight mmu configuration to the coresight flow to make it work in case the first submission is to configure the profiler. Signed-off-by: Ofir Bitton <obitton@habana.ai> Reviewed-by: Oded Gabbay <ogabbay@kernel.org> Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
1 parent 82948e6 commit 1137e1e

3 files changed

Lines changed: 7 additions & 4 deletions

File tree

drivers/misc/habanalabs/gaudi/gaudi.c

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4742,7 +4742,7 @@ static void gaudi_write_pte(struct hl_device *hdev, u64 addr, u64 val)
47424742
(addr - gaudi->hbm_bar_cur_addr));
47434743
}
47444744

4745-
static void gaudi_mmu_prepare_reg(struct hl_device *hdev, u64 reg, u32 asid)
4745+
void gaudi_mmu_prepare_reg(struct hl_device *hdev, u64 reg, u32 asid)
47464746
{
47474747
/* mask to zero the MMBP and ASID bits */
47484748
WREG32_AND(reg, ~0x7FF);
@@ -4910,9 +4910,6 @@ static void gaudi_mmu_prepare(struct hl_device *hdev, u32 asid)
49104910
gaudi_mmu_prepare_reg(hdev, mmMME2_ACC_WBC, asid);
49114911
gaudi_mmu_prepare_reg(hdev, mmMME3_ACC_WBC, asid);
49124912

4913-
gaudi_mmu_prepare_reg(hdev, mmPSOC_GLOBAL_CONF_TRACE_ARUSER, asid);
4914-
gaudi_mmu_prepare_reg(hdev, mmPSOC_GLOBAL_CONF_TRACE_AWUSER, asid);
4915-
49164913
hdev->asic_funcs->set_clock_gating(hdev);
49174914

49184915
mutex_unlock(&gaudi->clk_gate_mutex);

drivers/misc/habanalabs/gaudi/gaudiP.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,5 +271,6 @@ void gaudi_set_pll_profile(struct hl_device *hdev, enum hl_pll_frequency freq);
271271
int gaudi_debug_coresight(struct hl_device *hdev, void *data);
272272
void gaudi_halt_coresight(struct hl_device *hdev);
273273
int gaudi_get_clk_rate(struct hl_device *hdev, u32 *cur_clk, u32 *max_clk);
274+
void gaudi_mmu_prepare_reg(struct hl_device *hdev, u64 reg, u32 asid);
274275

275276
#endif /* GAUDIP_H_ */

drivers/misc/habanalabs/gaudi/gaudi_coresight.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -623,6 +623,11 @@ static int gaudi_config_etr(struct hl_device *hdev,
623623
return -EINVAL;
624624
}
625625

626+
gaudi_mmu_prepare_reg(hdev, mmPSOC_GLOBAL_CONF_TRACE_ARUSER,
627+
hdev->compute_ctx->asid);
628+
gaudi_mmu_prepare_reg(hdev, mmPSOC_GLOBAL_CONF_TRACE_AWUSER,
629+
hdev->compute_ctx->asid);
630+
626631
msb = upper_32_bits(input->buffer_address) >> 8;
627632
msb &= PSOC_GLOBAL_CONF_TRACE_ADDR_MSB_MASK;
628633
WREG32(mmPSOC_GLOBAL_CONF_TRACE_ADDR, msb);

0 commit comments

Comments
 (0)