/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* or http://www.opensolaris.org/os/licensing.
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2014 QLogic Corporation
* The contents of this file are subject to the terms of the
* QLogic End User License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the License at
* http://www.qlogic.com/Resources/Documents/DriverDownloadHelp/
* QLogic_End_User_Software_License.txt
* See the License for the specific language governing permissions
* and limitations under the License.
*/
#include "bnxe.h"
void
mm_acquire_tcp_lock(
lm_device_t *pdev,
lm_tcp_con_t *tcp_con)
{
BnxeDbgBreak((um_device_t *)pdev);
}
void
mm_release_tcp_lock(
lm_device_t *pdev,
lm_tcp_con_t *tcp_con)
{
BnxeDbgBreak((um_device_t *)pdev);
}
void MM_ACQUIRE_TOE_LOCK(lm_device_t *pDev)
{
BNXE_LOCK_ENTER_TOE((um_device_t *)pDev);
}
void MM_RELEASE_TOE_LOCK(lm_device_t *pDev)
{
BNXE_LOCK_EXIT_TOE((um_device_t *)pDev);
}
void MM_ACQUIRE_TOE_GRQ_LOCK_DPC(lm_device_t *pdev, u8_t idx)
{
BnxeDbgBreak((um_device_t *)pdev);
}
void MM_RELEASE_TOE_GRQ_LOCK_DPC(lm_device_t *pdev, u8_t idx)
{
BnxeDbgBreak((um_device_t *)pdev);
}
void MM_ACQUIRE_TOE_GRQ_LOCK(lm_device_t *pdev, u8_t idx)
{
BnxeDbgBreak((um_device_t *)pdev);
}
void MM_RELEASE_TOE_GRQ_LOCK(lm_device_t *pdev, u8_t idx)
{
BnxeDbgBreak((um_device_t *)pdev);
}
void mm_tcp_complete_path_upload_request(
struct _lm_device_t * pdev,
lm_path_state_t * path
)
{
BnxeDbgBreak((um_device_t *)pdev);
}
void mm_tcp_complete_neigh_upload_request(
struct _lm_device_t * pdev,
lm_neigh_state_t * neigh
)
{
BnxeDbgBreak((um_device_t *)pdev);
}
void mm_tcp_comp_slow_path_request(
struct _lm_device_t *pdev,
lm_tcp_state_t *tcp,
lm_tcp_slow_path_request_t *sp_request)
{
BnxeDbgBreak((um_device_t *)pdev);
}
void mm_tcp_complete_bufs(
struct _lm_device_t *pdev,
lm_tcp_state_t *tcp,
lm_tcp_con_t *tcp_con, /* Rx OR Tx connection */
s_list_t *buf_list, /* list of lm_tcp_buffer_t */
lm_status_t lm_status /* completion status for all given TBs */)
{
BnxeDbgBreak((um_device_t *)pdev);
}
u8_t mm_tcp_indicating_bufs(
lm_tcp_con_t * con /* connection to be checked */
)
{
BnxeDbgBreak(NULL);
return 0;
}
void mm_tcp_abort_bufs (
IN struct _lm_device_t * pdev, /* device handle */
IN lm_tcp_state_t * tcp, /* L4 state handle */
IN lm_tcp_con_t * con, /* connection handle */
IN lm_status_t status /* status to abort buffers with */
)
{
BnxeDbgBreak((um_device_t *)pdev);
}
void mm_tcp_indicate_rst_received(
IN lm_device_t * pdev,
IN lm_tcp_state_t * tcp
)
{
BnxeDbgBreak((um_device_t *)pdev);
}
void mm_tcp_indicate_fin_received(
IN struct _lm_device_t * pdev, /* device handle */
IN lm_tcp_state_t * tcp /* L4 state handle */
)
{
BnxeDbgBreak((um_device_t *)pdev);
}
void mm_tcp_graceful_disconnect_done(
IN struct _lm_device_t * pdev, /* device handle */
IN lm_tcp_state_t * tcp, /* L4 state handle */
IN lm_status_t status /* May be SUCCESS, ABORTED or UPLOAD IN PROGRESS */
)
{
BnxeDbgBreak((um_device_t *)pdev);
}
u32_t mm_tcp_rx_indicate_gen_buf (
struct _lm_device_t * pdev,
lm_tcp_state_t * tcp,
lm_frag_list_t * frag_list,
void * return_buffer_ctx
)
{
BnxeDbgBreak((um_device_t *)pdev);
return 0;
}
void mm_tcp_rx_indicate_gen (
struct _lm_device_t * pdev,
lm_tcp_state_t * tcp
)
{
BnxeDbgBreak((um_device_t *)pdev);
}
static void _schedule_work_item_for_alloc_gen_bufs(um_device_t * pdev)
{
BnxeDbgBreak((um_device_t *)pdev);
}
static void _schedule_work_item_for_free_gen_bufs(
um_device_t * pdev,
lm_tcp_gen_buf_t * gen_buf
)
{
BnxeDbgBreak((um_device_t *)pdev);
}
u32_t mm_tcp_get_gen_bufs(
struct _lm_device_t * pdev,
d_list_t * gb_list,
u32_t nbufs,
u8_t sb_idx
)
{
BnxeDbgBreak((um_device_t *)pdev);
return 0;
}
void mm_tcp_return_gen_bufs(
lm_device_t * pdev,
lm_tcp_gen_buf_t * gen_buf,
u32_t flags,
u8_t grq_idxxx
)
{
BnxeDbgBreak((um_device_t *)pdev);
}
void mm_tcp_return_list_of_gen_bufs(
struct _lm_device_t * pdev,
d_list_t * returned_list_of_gen_bufs,
u32_t flags,
u8_t grq_idxxx
)
{
BnxeDbgBreak((um_device_t *)pdev);
}
u32_t mm_tcp_copy_to_tcp_buf(
lm_device_t * pdev,
lm_tcp_state_t * tcp_state,
lm_tcp_buffer_t * tcp_buf, /* TCP buffer to copy to */
u8_t * mem_buf, /* Memory buffer to copy from */
u32_t tcp_buf_offset,
u32_t nbytes
)
{
BnxeDbgBreak((um_device_t *)pdev);
return 0;
}
void
mm_tcp_indicate_retrieve_indication(
lm_device_t *pdev,
lm_tcp_state_t *tcp_state,
l4_upload_reason_t upload_reason)
{
BnxeDbgBreak((um_device_t *)pdev);
}
void mm_tcp_update_required_gen_bufs(
struct _lm_device_t * pdev,
u32_t new_mss,
u32_t old_mss,
u32_t new_initial_rcv_wnd,
u32_t old_initial_rcv_wnd)
{
BnxeDbgBreak((um_device_t *)pdev);
}
lm_status_t mm_tcp_post_empty_slow_path_request(
struct _lm_device_t * pdev,
lm_tcp_state_t * tcp,
u32_t request_type)
{
BnxeDbgBreak((um_device_t *)pdev);
return 0;
}
void mm_tcp_del_tcp_state(
struct _lm_device_t * pdev,
lm_tcp_state_t * tcp)
{
BnxeDbgBreak((um_device_t *)pdev);
}
u32_t mm_tcp_rx_peninsula_to_rq_copy_dmae(
struct _lm_device_t * pdev,
lm_tcp_state_t * tcp,
lm_address_t gen_buf_phys,
u32_t gen_buf_offset,
lm_tcp_buffer_t * tcp_buf,
u32_t tcp_buf_offset,
u32_t nbytes
)
{
BnxeDbgBreak((um_device_t *)pdev);
return 0;
}