Lines Matching refs:hw_info
113 hw->hw_info.share = kzalloc(size, GFP_KERNEL); in fjes_hw_alloc_shared_status_region()
114 if (!hw->hw_info.share) in fjes_hw_alloc_shared_status_region()
117 hw->hw_info.share->epnum = hw->max_epid; in fjes_hw_alloc_shared_status_region()
124 kfree(hw->hw_info.share); in fjes_hw_free_shared_status_region()
125 hw->hw_info.share = NULL; in fjes_hw_free_shared_status_region()
226 hw->hw_info.max_epid = &hw->max_epid; in fjes_hw_setup()
227 hw->hw_info.my_epid = &hw->my_epid; in fjes_hw_setup()
237 hw->hw_info.req_buf = kzalloc(mem_size, GFP_KERNEL); in fjes_hw_setup()
238 if (!(hw->hw_info.req_buf)) in fjes_hw_setup()
241 hw->hw_info.req_buf_size = mem_size; in fjes_hw_setup()
244 hw->hw_info.res_buf = kzalloc(mem_size, GFP_KERNEL); in fjes_hw_setup()
245 if (!(hw->hw_info.res_buf)) in fjes_hw_setup()
248 hw->hw_info.res_buf_size = mem_size; in fjes_hw_setup()
254 hw->hw_info.buffer_share_bit = 0; in fjes_hw_setup()
255 hw->hw_info.buffer_unshare_reserve_bit = 0; in fjes_hw_setup()
280 param.req_len = hw->hw_info.req_buf_size; in fjes_hw_setup()
281 param.req_start = __pa(hw->hw_info.req_buf); in fjes_hw_setup()
282 param.res_len = hw->hw_info.res_buf_size; in fjes_hw_setup()
283 param.res_start = __pa(hw->hw_info.res_buf); in fjes_hw_setup()
285 param.share_start = __pa(hw->hw_info.share->ep_status); in fjes_hw_setup()
301 kfree(hw->hw_info.req_buf); in fjes_hw_cleanup()
302 hw->hw_info.req_buf = NULL; in fjes_hw_cleanup()
304 kfree(hw->hw_info.res_buf); in fjes_hw_cleanup()
305 hw->hw_info.res_buf = NULL; in fjes_hw_cleanup()
335 mutex_init(&hw->hw_info.lock); in fjes_hw_init()
346 hw->hw_info.trace = vzalloc(FJES_DEBUG_BUFFER_SIZE); in fjes_hw_init()
347 hw->hw_info.trace_size = FJES_DEBUG_BUFFER_SIZE; in fjes_hw_init()
360 mutex_lock(&hw->hw_info.lock); in fjes_hw_exit()
362 mutex_unlock(&hw->hw_info.lock); in fjes_hw_exit()
364 vfree(hw->hw_info.trace); in fjes_hw_exit()
365 hw->hw_info.trace = NULL; in fjes_hw_exit()
366 hw->hw_info.trace_size = 0; in fjes_hw_exit()
434 union fjes_device_command_req *req_buf = hw->hw_info.req_buf; in fjes_hw_request_info()
435 union fjes_device_command_res *res_buf = hw->hw_info.res_buf; in fjes_hw_request_info()
439 memset(req_buf, 0, hw->hw_info.req_buf_size); in fjes_hw_request_info()
440 memset(res_buf, 0, hw->hw_info.res_buf_size); in fjes_hw_request_info()
452 if (FJES_DEV_COMMAND_INFO_RES_LEN((*hw->hw_info.max_epid)) != in fjes_hw_request_info()
492 union fjes_device_command_req *req_buf = hw->hw_info.req_buf; in fjes_hw_register_buff_addr()
493 union fjes_device_command_res *res_buf = hw->hw_info.res_buf; in fjes_hw_register_buff_addr()
501 if (test_bit(dest_epid, &hw->hw_info.buffer_share_bit)) in fjes_hw_register_buff_addr()
504 memset(req_buf, 0, hw->hw_info.req_buf_size); in fjes_hw_register_buff_addr()
505 memset(res_buf, 0, hw->hw_info.res_buf_size); in fjes_hw_register_buff_addr()
568 set_bit(dest_epid, &hw->hw_info.buffer_share_bit); in fjes_hw_register_buff_addr()
600 union fjes_device_command_req *req_buf = hw->hw_info.req_buf; in fjes_hw_unregister_buff_addr()
601 union fjes_device_command_res *res_buf = hw->hw_info.res_buf; in fjes_hw_unregister_buff_addr()
602 struct fjes_device_shared_info *share = hw->hw_info.share; in fjes_hw_unregister_buff_addr()
613 if (!test_bit(dest_epid, &hw->hw_info.buffer_share_bit)) in fjes_hw_unregister_buff_addr()
616 memset(req_buf, 0, hw->hw_info.req_buf_size); in fjes_hw_unregister_buff_addr()
617 memset(res_buf, 0, hw->hw_info.res_buf_size); in fjes_hw_unregister_buff_addr()
658 clear_bit(dest_epid, &hw->hw_info.buffer_share_bit); in fjes_hw_unregister_buff_addr()
758 if (fjes_hw_epid_is_shared(hw->hw_info.share, epid)) { in fjes_hw_get_partner_ep_status()
795 set_bit(epidx, &hw->hw_info.buffer_unshare_reserve_bit); in fjes_hw_raise_epstop()
812 while (hw->hw_info.buffer_unshare_reserve_bit && in fjes_hw_wait_epstop()
817 status = fjes_hw_epid_is_shared(hw->hw_info.share, in fjes_hw_wait_epstop()
824 &hw->hw_info.buffer_unshare_reserve_bit)) { in fjes_hw_wait_epstop()
826 &hw->hw_info.buffer_unshare_reserve_bit); in fjes_hw_wait_epstop()
837 if (test_bit(epidx, &hw->hw_info.buffer_unshare_reserve_bit)) in fjes_hw_wait_epstop()
839 &hw->hw_info.buffer_unshare_reserve_bit); in fjes_hw_wait_epstop()
994 res_buf = hw->hw_info.res_buf; in fjes_hw_update_zone_task()
997 mutex_lock(&hw->hw_info.lock); in fjes_hw_update_zone_task()
1047 &hw->hw_info.buffer_unshare_reserve_bit); in fjes_hw_update_zone_task()
1069 mutex_unlock(&hw->hw_info.lock); in fjes_hw_update_zone_task()
1081 mutex_lock(&hw->hw_info.lock); in fjes_hw_update_zone_task()
1099 mutex_unlock(&hw->hw_info.lock); in fjes_hw_update_zone_task()
1106 mutex_lock(&hw->hw_info.lock); in fjes_hw_update_zone_task()
1124 mutex_unlock(&hw->hw_info.lock); in fjes_hw_update_zone_task()
1151 set_bit(epidx, &hw->hw_info.buffer_unshare_reserve_bit); in fjes_hw_update_zone_task()
1196 union fjes_device_command_req *req_buf = hw->hw_info.req_buf; in fjes_hw_start_debug()
1197 union fjes_device_command_res *res_buf = hw->hw_info.res_buf; in fjes_hw_start_debug()
1204 if (!hw->hw_info.trace) in fjes_hw_start_debug()
1206 memset(hw->hw_info.trace, 0, FJES_DEBUG_BUFFER_SIZE); in fjes_hw_start_debug()
1208 memset(req_buf, 0, hw->hw_info.req_buf_size); in fjes_hw_start_debug()
1209 memset(res_buf, 0, hw->hw_info.res_buf_size); in fjes_hw_start_debug()
1212 FJES_DEV_COMMAND_START_DBG_REQ_LEN(hw->hw_info.trace_size); in fjes_hw_start_debug()
1214 req_buf->start_trace.buffer_len = hw->hw_info.trace_size; in fjes_hw_start_debug()
1215 page_count = hw->hw_info.trace_size / FJES_DEBUG_PAGE_SIZE; in fjes_hw_start_debug()
1217 addr = ((u8 *)hw->hw_info.trace) + i * FJES_DEBUG_PAGE_SIZE; in fjes_hw_start_debug()
1265 union fjes_device_command_req *req_buf = hw->hw_info.req_buf; in fjes_hw_stop_debug()
1266 union fjes_device_command_res *res_buf = hw->hw_info.res_buf; in fjes_hw_stop_debug()
1270 if (!hw->hw_info.trace) in fjes_hw_stop_debug()
1273 memset(req_buf, 0, hw->hw_info.req_buf_size); in fjes_hw_stop_debug()
1274 memset(res_buf, 0, hw->hw_info.res_buf_size); in fjes_hw_stop_debug()