port_buffer
struct port_buffer *buf;
struct port_buffer *buf)
struct port_buffer *buf;
struct port_buffer *buf;
struct port_buffer *inbuf;
struct port_buffer *buf;
static void free_buf(struct port_buffer *buf, bool can_sleep)
struct port_buffer *buf, *tmp;
static struct port_buffer *alloc_buf(struct virtio_device *vdev, size_t buf_size,
struct port_buffer *buf;
static struct port_buffer *get_inbuf(struct port *port)
struct port_buffer *buf;
static int add_inbuf(struct virtqueue *vq, struct port_buffer *buf)
struct port_buffer *buf;
struct port_buffer *buf;
struct port_buffer *buf;
struct port_buffer *buf;
struct port_buffer *buf;
struct mlx5e_port_buffer *port_buffer)
lossless_buff_count += ((port_buffer->buffer[i].size) &&
(!(port_buffer->buffer[i].lossy)));
p = select_sbcm_params(&port_buffer->buffer[i], lossless_buff_count);
struct mlx5e_port_buffer *port_buffer)
u64 size = port_buffer->buffer[i].size;
u64 xoff = port_buffer->buffer[i].xoff;
u64 xon = port_buffer->buffer[i].xon;
MLX5_SET(bufferx_reg, buffer, lossy, port_buffer->buffer[i].lossy);
err = port_update_pool_cfg(priv->mdev, port_buffer);
struct mlx5e_port_buffer *port_buffer)
static int update_xoff_threshold(struct mlx5e_port_buffer *port_buffer,
if (port_buffer->buffer[i].lossy) {
port_buffer->buffer[i].xoff = 0;
port_buffer->buffer[i].xon = 0;
if (port_buffer->buffer[i].size <
i, port_buffer->buffer[i].size);
port_buffer->buffer[i].xoff = port_buffer->buffer[i].size - xoff;
port_buffer->buffer[i].xon =
port_buffer->buffer[i].xoff - max_mtu;
struct mlx5e_port_buffer *port_buffer,
if (lossy != port_buffer->buffer[i].lossy) {
port_buffer->buffer[i].lossy = lossy;
err = update_xoff_threshold(port_buffer, xoff, max_mtu, port_buff_cell_sz);
err = port_update_pool_cfg(mdev, port_buffer);
struct mlx5e_port_buffer port_buffer;
err = mlx5e_port_query_buffer(priv, &port_buffer);
err = update_xoff_threshold(&port_buffer, xoff, max_mtu, port_buff_cell_sz);
port_buff_cell_sz, &port_buffer,
port_buff_cell_sz, &port_buffer, &update_buffer);
if (!port_buffer.buffer[i].lossy && !buffer_size[i]) {
port_buffer.buffer[i].size = buffer_size[i];
port_buffer->buffer[i].lossy =
if (total_used > port_buffer.headroom_size &&
(total_used - port_buffer.headroom_size) >
port_buffer.spare_buffer_size)
err = update_xoff_threshold(&port_buffer, xoff, max_mtu, port_buff_cell_sz);
err = update_xoff_threshold(&port_buffer, xoff, max_mtu, port_buff_cell_sz);
port_buffer->buffer[i].epsb =
err = port_set_buffer(priv, &port_buffer);
port_buffer->buffer[i].size =
port_buffer->buffer[i].xon =
port_buffer->buffer[i].xoff =
total_used += port_buffer->buffer[i].size;
port_buffer->buffer[i].size,
port_buffer->buffer[i].xon,
port_buffer->buffer[i].xoff,
port_buffer->buffer[i].epsb,
port_buffer->buffer[i].lossy);
port_buffer->internal_buffers_size = 0;
port_buffer->internal_buffers_size +=
port_buffer->port_buffer_size =
port_buffer->headroom_size = total_used;
port_buffer->spare_buffer_size = port_buffer->port_buffer_size -
port_buffer->internal_buffers_size -
port_buffer->headroom_size;
port_buffer->port_buffer_size, port_buffer->headroom_size,
port_buffer->internal_buffers_size,
port_buffer->spare_buffer_size);
struct mlx5e_port_buffer *port_buffer);
err = mlx5e_port_query_buffer(priv, &port_buffer);
if (port_buffer.buffer[i].size != dcb_buffer->buffer_size[i]) {
struct mlx5e_port_buffer port_buffer;
err = mlx5e_port_query_buffer(priv, &port_buffer);
dcb_buffer->buffer_size[i] = port_buffer.buffer[i].size;
dcb_buffer->total_size = port_buffer.port_buffer_size -
port_buffer.internal_buffers_size;
struct mlx5e_port_buffer port_buffer;