lio_vf_rep.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /**********************************************************************
  2. * Author: Cavium, Inc.
  3. *
  4. * Contact: support@cavium.com
  5. * Please include "LiquidIO" in the subject.
  6. *
  7. * Copyright (c) 2003-2017 Cavium, Inc.
  8. *
  9. * This file is free software; you can redistribute it and/or modify
  10. * it under the terms of the GNU General Public License, Version 2, as
  11. * published by the Free Software Foundation.
  12. *
  13. * This file is distributed in the hope that it will be useful, but
  14. * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
  15. * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
  16. * NONINFRINGEMENT. See the GNU General Public License for more
  17. * details.
  18. *
  19. * This file may also be available under a different license from Cavium.
  20. * Contact Cavium, Inc. for more information
  21. **********************************************************************/
  22. /*! \file octeon_vf_main.h
  23. * \brief Host Driver: This file defines vf_rep related macros and structures
  24. */
  25. #ifndef __LIO_VF_REP_H__
  26. #define __LIO_VF_REP_H__
  27. #define LIO_VF_REP_REQ_TMO_MS 5000
  28. #define LIO_VF_REP_STATS_POLL_TIME_MS 200
  29. struct lio_vf_rep_desc {
  30. struct net_device *parent_ndev;
  31. struct net_device *ndev;
  32. struct octeon_device *oct;
  33. struct lio_vf_rep_stats stats;
  34. struct cavium_wk stats_wk;
  35. atomic_t ifstate;
  36. int ifidx;
  37. };
  38. struct lio_vf_rep_sc_ctx {
  39. struct completion complete;
  40. };
  41. int lio_vf_rep_create(struct octeon_device *oct);
  42. void lio_vf_rep_destroy(struct octeon_device *oct);
  43. int lio_vf_rep_modinit(void);
  44. void lio_vf_rep_modexit(void);
  45. #endif