/*
* This file and its contents are supplied under the terms of the
* Common Development and Distribution License ("CDDL"), version 1.0.
* You may only use this file in accordance with the terms of version
* 1.0 of the CDDL.
*
* A full copy of the text of the CDDL should have accompanied this
* source. A copy of the CDDL is also available via the Internet at
*/
/*
* This file is part of the Chelsio T4 support code.
*
* Copyright (C) 2011-2013 Chelsio Communications. All rights reserved.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the LICENSE file included in this
* release for licensing terms and conditions.
*/
#include "osdep.h"
#include "shared.h"
static int rxbuf_ctor(void *, void *, int);
static void rxbuf_dtor(void *, void *);
void
{
ddi_get_instance(dip), f);
}
{
}
void
{
}
/*
* If ref_cnt is more than 1 then those many calls to rxbuf_free will
* have to be made before the rxb is released back to the kmem_cache.
*/
struct rxbuf *
{
}
return (rxb);
}
/*
* This is normally called via the rxb's freefunc, when an mblk referencing the
* rxb is freed.
*/
void
{
}
static int
{
struct rxbuf_cache_params *p = arg2;
else
if (rc != DDI_SUCCESS)
if (rc != DDI_SUCCESS) {
goto fail1;
}
if (rc != DDI_DMA_MAPPED) {
if (rc == DDI_DMA_INUSE)
else if (rc == DDI_DMA_TOOBIG)
else
goto fail2;
}
if (ccount != 1) {
goto fail3;
}
return (0);
return (rc);
}
/* ARGSUSED */
static void
{
}