cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

efc_nport.h (1352B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2/*
      3 * Copyright (C) 2021 Broadcom. All Rights Reserved. The term
      4 * “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.
      5 */
      6
      7/**
      8 * EFC FC port (NPORT) exported declarations
      9 *
     10 */
     11
     12#ifndef __EFC_NPORT_H__
     13#define __EFC_NPORT_H__
     14
     15struct efc_nport *
     16efc_nport_find(struct efc_domain *domain, u32 d_id);
     17struct efc_nport *
     18efc_nport_alloc(struct efc_domain *domain, uint64_t wwpn, uint64_t wwnn,
     19		u32 fc_id, bool enable_ini, bool enable_tgt);
     20void
     21efc_nport_free(struct efc_nport *nport);
     22int
     23efc_nport_attach(struct efc_nport *nport, u32 fc_id);
     24
     25void
     26__efc_nport_allocated(struct efc_sm_ctx *ctx,
     27		      enum efc_sm_event evt, void *arg);
     28void
     29__efc_nport_wait_shutdown(struct efc_sm_ctx *ctx,
     30			  enum efc_sm_event evt, void *arg);
     31void
     32__efc_nport_wait_port_free(struct efc_sm_ctx *ctx,
     33			   enum efc_sm_event evt, void *arg);
     34void
     35__efc_nport_vport_init(struct efc_sm_ctx *ctx,
     36		       enum efc_sm_event evt, void *arg);
     37void
     38__efc_nport_vport_wait_alloc(struct efc_sm_ctx *ctx,
     39			     enum efc_sm_event evt, void *arg);
     40void
     41__efc_nport_vport_allocated(struct efc_sm_ctx *ctx,
     42			    enum efc_sm_event evt, void *arg);
     43void
     44__efc_nport_attached(struct efc_sm_ctx *ctx,
     45		     enum efc_sm_event evt, void *arg);
     46
     47int
     48efc_vport_start(struct efc_domain *domain);
     49
     50#endif /* __EFC_NPORT_H__ */