linux/drivers/net/ethernet/cavium/liquidio/octeon_mailbox.h

/**********************************************************************
 * Author: Cavium, Inc.
 *
 * Contact: [email protected]
 *          Please include "LiquidIO" in the subject.
 *
 * Copyright (c) 2003-2016 Cavium, Inc.
 *
 * This file is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License, Version 2, as
 * published by the Free Software Foundation.
 *
 * This file is distributed in the hope that it will be useful, but
 * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
 * NONINFRINGEMENT.  See the GNU General Public License for more details.
 ***********************************************************************/
#ifndef __MAILBOX_H__
#define __MAILBOX_H__

/* Macros for Mail Box Communication */

#define OCTEON_MBOX_DATA_MAX

#define OCTEON_VF_ACTIVE
#define OCTEON_VF_FLR_REQUEST
#define OCTEON_PF_CHANGED_VF_MACADDR
#define OCTEON_GET_VF_STATS

/*Macro for Read acknowldgement*/
#define OCTEON_PFVFACK
#define OCTEON_PFVFSIG
#define OCTEON_PFVFERR

#define LIO_MBOX_WRITE_WAIT_CNT
#define LIO_MBOX_WRITE_WAIT_TIME

enum octeon_mbox_cmd_status {};

enum octeon_mbox_message_type {};

octeon_mbox_message;

struct octeon_mbox_cmd;

octeon_mbox_callback_t;

struct octeon_mbox_cmd {};

enum octeon_mbox_state {};

struct octeon_mbox {};

struct oct_vf_stats_ctx {};

int octeon_mbox_read(struct octeon_mbox *mbox);
int octeon_mbox_write(struct octeon_device *oct,
		      struct octeon_mbox_cmd *mbox_cmd);
int octeon_mbox_process_message(struct octeon_mbox *mbox);
int octeon_mbox_cancel(struct octeon_device *oct, int q_no);

#endif