*/
/* DMMU TLB entries */
struct bridge_ioctl_extproc atlb_entry[BRDIOCTL_NUMOFMMUTLB];
- u32 dw_brd_state; /* Last known board state. */
- u32 ul_int_mask; /* int mask */
- u16 io_base; /* Board I/O base */
- u32 num_tlb_entries; /* DSP MMU TLB entry counter */
- u32 fixed_tlb_entries; /* Fixed DSPMMU TLB entry count */
+ u32 dw_brd_state; /* Last known board state. */
/* TC Settings */
bool tc_word_swap_on; /* Traffic Controller Word Swap */
dev_context->atlb_entry[entry_ndx].ul_gpp_pa =
dev_context->atlb_entry[entry_ndx].ul_dsp_va = 0;
}
- dev_context->num_tlb_entries = 0;
dev_context->dw_dsp_base_addr = (u32) MEM_LINEAR_ADDRESS((void *)
(pConfig->
dw_mem_base
}
if (DSP_SUCCEEDED(status)) {
dev_context->hdev_obj = hdev_obj;
- dev_context->ul_int_mask = 0;
/* Store current board state. */
dev_context->dw_brd_state = BRD_STOPPED;
dev_context->resources = resources;
if (!deh_mgr)
return -EFAULT;
- /* Release dummy VA buffer */
- bridge_deh_release_dummy_mem();
/* If notification object exists, delete it */
if (deh_mgr->ntfy_obj) {
ntfy_delete(deh_mgr->ntfy_obj);
void bridge_deh_notify(struct deh_mgr *deh_mgr, u32 ulEventMask, u32 dwErrInfo)
{
struct bridge_dev_context *dev_context;
- u32 hw_mmu_max_tlb_count = 31;
struct cfg_hostres *resources;
struct hw_mmu_map_attrs_t map_attrs = {
.endianism = HW_LITTLE_ENDIAN,
print_dsp_trace_buffer(dev_context);
dump_dl_modules(dev_context);
- /*
- * Reset the dynamic mmu index to fixed count if it exceeds
- * 31. So that the dynmmuindex is always between the range of
- * standard/fixed entries and 31.
- */
- if (dev_context->num_tlb_entries >
- hw_mmu_max_tlb_count) {
- dev_context->num_tlb_entries =
- dev_context->fixed_tlb_entries;
- }
hw_mmu_tlb_add(resources->dw_dmmu_base,
virt_to_phys(dummy_va_addr), fault_addr,
HW_PAGE_SIZE4KB, 1,
return 0;
}
-
-void bridge_deh_release_dummy_mem(void)
-{
-}
extern void bridge_deh_notify(struct deh_mgr *deh_mgr,
u32 ulEventMask, u32 dwErrInfo);
-extern void bridge_deh_release_dummy_mem(void);
#endif /* DSPDEH_ */
status = -EFAULT;
goto func_end;
}
- if (DSP_SUCCEEDED((*p_proc_object->intf_fxns->pfn_brd_status)
- (p_proc_object->hbridge_context, &brd_state))) {
- if (brd_state == BRD_ERROR)
- bridge_deh_release_dummy_mem();
- }
/* check if there are any running nodes */
status = dev_get_node_manager(p_proc_object->hdev_obj, &hnode_mgr);
if (DSP_SUCCEEDED(status) && hnode_mgr) {