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_fabric.h (3449B)


      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 * Declarations for the interface exported by efc_fabric
      9 */
     10
     11#ifndef __EFCT_FABRIC_H__
     12#define __EFCT_FABRIC_H__
     13#include "scsi/fc/fc_els.h"
     14#include "scsi/fc/fc_fs.h"
     15#include "scsi/fc/fc_ns.h"
     16
     17void
     18__efc_fabric_init(struct efc_sm_ctx *ctx,
     19		  enum efc_sm_event evt, void *arg);
     20void
     21__efc_fabric_flogi_wait_rsp(struct efc_sm_ctx *ctx,
     22			    enum efc_sm_event evt, void *arg);
     23void
     24__efc_fabric_domain_attach_wait(struct efc_sm_ctx *ctx,
     25				enum efc_sm_event evt, void *arg);
     26void
     27__efc_fabric_wait_domain_attach(struct efc_sm_ctx *ctx,
     28				enum efc_sm_event evt, void *arg);
     29
     30void
     31__efc_vport_fabric_init(struct efc_sm_ctx *ctx,
     32			enum efc_sm_event evt, void *arg);
     33void
     34__efc_fabric_fdisc_wait_rsp(struct efc_sm_ctx *ctx,
     35			    enum efc_sm_event evt, void *arg);
     36void
     37__efc_fabric_wait_nport_attach(struct efc_sm_ctx *ctx,
     38			       enum efc_sm_event evt, void *arg);
     39
     40void
     41__efc_ns_init(struct efc_sm_ctx *ctx, enum efc_sm_event evt, void *arg);
     42void
     43__efc_ns_plogi_wait_rsp(struct efc_sm_ctx *ctx,
     44			enum efc_sm_event evt, void *arg);
     45void
     46__efc_ns_rftid_wait_rsp(struct efc_sm_ctx *ctx,
     47			enum efc_sm_event evt, void *arg);
     48void
     49__efc_ns_rffid_wait_rsp(struct efc_sm_ctx *ctx,
     50			enum efc_sm_event evt, void *arg);
     51void
     52__efc_ns_wait_node_attach(struct efc_sm_ctx *ctx,
     53			  enum efc_sm_event evt, void *arg);
     54void
     55__efc_fabric_wait_attach_evt_shutdown(struct efc_sm_ctx *ctx,
     56				      enum efc_sm_event evt, void *arg);
     57void
     58__efc_ns_logo_wait_rsp(struct efc_sm_ctx *ctx,
     59		       enum efc_sm_event, void *arg);
     60void
     61__efc_ns_gidpt_wait_rsp(struct efc_sm_ctx *ctx,
     62			enum efc_sm_event evt, void *arg);
     63void
     64__efc_ns_idle(struct efc_sm_ctx *ctx, enum efc_sm_event evt, void *arg);
     65void
     66__efc_ns_gidpt_delay(struct efc_sm_ctx *ctx,
     67		     enum efc_sm_event evt, void *arg);
     68void
     69__efc_fabctl_init(struct efc_sm_ctx *ctx,
     70		  enum efc_sm_event evt, void *arg);
     71void
     72__efc_fabctl_wait_node_attach(struct efc_sm_ctx *ctx,
     73			      enum efc_sm_event evt, void *arg);
     74void
     75__efc_fabctl_wait_scr_rsp(struct efc_sm_ctx *ctx,
     76			  enum efc_sm_event evt, void *arg);
     77void
     78__efc_fabctl_ready(struct efc_sm_ctx *ctx,
     79		   enum efc_sm_event evt, void *arg);
     80void
     81__efc_fabctl_wait_ls_acc_cmpl(struct efc_sm_ctx *ctx,
     82			      enum efc_sm_event evt, void *arg);
     83void
     84__efc_fabric_idle(struct efc_sm_ctx *ctx,
     85		  enum efc_sm_event evt, void *arg);
     86
     87void
     88__efc_p2p_rnode_init(struct efc_sm_ctx *ctx,
     89		     enum efc_sm_event evt, void *arg);
     90void
     91__efc_p2p_domain_attach_wait(struct efc_sm_ctx *ctx,
     92			     enum efc_sm_event evt, void *arg);
     93void
     94__efc_p2p_wait_flogi_acc_cmpl(struct efc_sm_ctx *ctx,
     95			      enum efc_sm_event evt, void *arg);
     96void
     97__efc_p2p_wait_plogi_rsp(struct efc_sm_ctx *ctx,
     98			 enum efc_sm_event evt, void *arg);
     99void
    100__efc_p2p_wait_plogi_rsp_recvd_prli(struct efc_sm_ctx *ctx,
    101				    enum efc_sm_event evt, void *arg);
    102void
    103__efc_p2p_wait_domain_attach(struct efc_sm_ctx *ctx,
    104			     enum efc_sm_event evt, void *arg);
    105void
    106__efc_p2p_wait_node_attach(struct efc_sm_ctx *ctx,
    107			   enum efc_sm_event evt, void *arg);
    108
    109int
    110efc_p2p_setup(struct efc_nport *nport);
    111void
    112efc_fabric_set_topology(struct efc_node *node,
    113			enum efc_nport_topology topology);
    114void efc_fabric_notify_topology(struct efc_node *node);
    115
    116#endif /* __EFCT_FABRIC_H__ */