drivers/net/ethernet/aquantia/atlantic/macsec/macsec_api.h

Source file repositories/reference/linux-study-clean/drivers/net/ethernet/aquantia/atlantic/macsec/macsec_api.h

File Facts

System
Linux kernel
Corpus path
drivers/net/ethernet/aquantia/atlantic/macsec/macsec_api.h
Extension
.h
Size
12518 bytes
Lines
324
Domain
Driver Families
Bucket
drivers/net
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

#ifndef __MACSEC_API_H__
#define __MACSEC_API_H__

#include "aq_hw.h"
#include "macsec_struct.h"

#define NUMROWS_INGRESSPRECTLFRECORD 24
#define ROWOFFSET_INGRESSPRECTLFRECORD 0

#define NUMROWS_INGRESSPRECLASSRECORD 48
#define ROWOFFSET_INGRESSPRECLASSRECORD 0

#define NUMROWS_INGRESSPOSTCLASSRECORD 48
#define ROWOFFSET_INGRESSPOSTCLASSRECORD 0

#define NUMROWS_INGRESSSCRECORD 32
#define ROWOFFSET_INGRESSSCRECORD 0

#define NUMROWS_INGRESSSARECORD 32
#define ROWOFFSET_INGRESSSARECORD 32

#define NUMROWS_INGRESSSAKEYRECORD 32
#define ROWOFFSET_INGRESSSAKEYRECORD 0

#define NUMROWS_INGRESSPOSTCTLFRECORD 24
#define ROWOFFSET_INGRESSPOSTCTLFRECORD 0

#define NUMROWS_EGRESSCTLFRECORD 24
#define ROWOFFSET_EGRESSCTLFRECORD 0

#define NUMROWS_EGRESSCLASSRECORD 48
#define ROWOFFSET_EGRESSCLASSRECORD 0

#define NUMROWS_EGRESSSCRECORD 32
#define ROWOFFSET_EGRESSSCRECORD 0

#define NUMROWS_EGRESSSARECORD 32
#define ROWOFFSET_EGRESSSARECORD 32

#define NUMROWS_EGRESSSAKEYRECORD 32
#define ROWOFFSET_EGRESSSAKEYRECORD 96

/*!  Read the raw table data from the specified row of the Egress CTL
 *   Filter table, and unpack it into the fields of rec.
 *  rec - [OUT] The raw table row data will be unpacked into the fields of rec.
 *  table_index - The table row to read (max 23).
 */
int aq_mss_get_egress_ctlf_record(struct aq_hw_s *hw,
				  struct aq_mss_egress_ctlf_record *rec,
				  u16 table_index);

/*!  Pack the fields of rec, and write the packed data into the
 *   specified row of the Egress CTL Filter table.
 *  rec - [IN] The bitfield values to write to the table row.
 *  table_index - The table row to write(max 23).
 */
int aq_mss_set_egress_ctlf_record(struct aq_hw_s *hw,
				  const struct aq_mss_egress_ctlf_record *rec,
				  u16 table_index);

/*!  Read the raw table data from the specified row of the Egress
 *   Packet Classifier table, and unpack it into the fields of rec.
 *  rec - [OUT] The raw table row data will be unpacked into the fields of rec.
 *  table_index - The table row to read (max 47).
 */
int aq_mss_get_egress_class_record(struct aq_hw_s *hw,
				   struct aq_mss_egress_class_record *rec,
				   u16 table_index);

/*!  Pack the fields of rec, and write the packed data into the
 *   specified row of the Egress Packet Classifier table.
 *  rec - [IN] The bitfield values to write to the table row.
 *  table_index - The table row to write (max 47).
 */
int aq_mss_set_egress_class_record(struct aq_hw_s *hw,
				   const struct aq_mss_egress_class_record *rec,
				   u16 table_index);

/*!  Read the raw table data from the specified row of the Egress SC
 *   Lookup table, and unpack it into the fields of rec.
 *  rec - [OUT] The raw table row data will be unpacked into the fields of rec.
 *  table_index - The table row to read (max 31).
 */
int aq_mss_get_egress_sc_record(struct aq_hw_s *hw,
				struct aq_mss_egress_sc_record *rec,
				u16 table_index);

/*!  Pack the fields of rec, and write the packed data into the
 *   specified row of the Egress SC Lookup table.
 *  rec - [IN] The bitfield values to write to the table row.

Annotation

Implementation Notes