Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 492e9d8c authored by David S. Miller's avatar David S. Miller
Browse files

Merge branch 'liquidio-VF'



Raghu Vatsavayi says:

====================
liquidio VF operations

This patchseries adds support for VF device specific operations
like mailbox, queues and register access. This V3 patchset also
has changes based on comments form earlier versions:

1) Removed extra 'void *' casting.
2) Fixed all cross compilations issues reported on S390 and Powerpc
   architectures.

Please apply the patches in following order as these patches depend
on each other.
====================

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents 1379fd3c b3c35973
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -74,4 +74,16 @@ config OCTEON_MGMT_ETHERNET
	  port on Cavium Networks' Octeon CN57XX, CN56XX, CN55XX,
	  CN54XX, CN52XX, and CN6XXX chips.

config LIQUIDIO_VF
	tristate "Cavium LiquidIO VF support"
	depends on 64BIT && PCI_MSI
	select PTP_1588_CLOCK
	---help---
	  This driver supports Cavium LiquidIO Intelligent Server Adapter
	  based on CN23XX chips.

	  To compile this driver as a module, choose M here: The module
	  will be called liquidio_vf. MSI-X interrupt support is required
	  for this driver to work correctly

endif # NET_VENDOR_CAVIUM
+23 −0
Original line number Diff line number Diff line
@@ -11,9 +11,32 @@ liquidio-$(CONFIG_LIQUIDIO) += lio_ethtool.o \
			cn66xx_device.o    \
			cn68xx_device.o    \
			cn23xx_pf_device.o \
			cn23xx_vf_device.o \
			octeon_mailbox.o   \
			octeon_mem_ops.o   \
			octeon_droq.o      \
			octeon_nic.o

liquidio-objs := lio_main.o octeon_console.o $(liquidio-y)

obj-$(CONFIG_LIQUIDIO_VF) += liquidio_vf.o

ifeq ($(CONFIG_LIQUIDIO)$(CONFIG_LIQUIDIO_VF), yy)
	liquidio_vf-objs := lio_vf_main.o
else
liquidio_vf-$(CONFIG_LIQUIDIO_VF) += lio_ethtool.o \
			lio_core.o         \
			request_manager.o  \
			response_manager.o \
			octeon_device.o    \
			cn66xx_device.o    \
			cn68xx_device.o    \
			cn23xx_pf_device.o \
			cn23xx_vf_device.o \
			octeon_mailbox.o   \
			octeon_mem_ops.o   \
			octeon_droq.o      \
			octeon_nic.o

liquidio_vf-objs := lio_vf_main.o $(liquidio_vf-y)
endif
+701 −0

File added.

Preview size limit exceeded, changes collapsed.

+48 −0
Original line number Diff line number Diff line
/**********************************************************************
 * Author: Cavium, Inc.
 *
 * Contact: support@cavium.com
 *          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.
 ***********************************************************************/
/*! \file  cn23xx_device.h
 * \brief Host Driver: Routines that perform CN23XX specific operations.
 */

#ifndef __CN23XX_VF_DEVICE_H__
#define __CN23XX_VF_DEVICE_H__

#include "cn23xx_vf_regs.h"

/* Register address and configuration for a CN23XX devices.
 * If device specific changes need to be made then add a struct to include
 * device specific fields as shown in the commented section
 */
struct octeon_cn23xx_vf {
	struct octeon_config *conf;
};

#define BUSY_READING_REG_VF_LOOP_COUNT		10000

#define CN23XX_MAILBOX_MSGPARAM_SIZE		6

#define MAX_VF_IP_OP_PENDING_PKT_COUNT		100

void cn23xx_vf_ask_pf_to_do_flr(struct octeon_device *oct);

int cn23xx_octeon_pfvf_handshake(struct octeon_device *oct);

int cn23xx_setup_octeon_vf_device(struct octeon_device *oct);

void cn23xx_dump_vf_initialized_regs(struct octeon_device *oct);
#endif
+274 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading