Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/drivers/net/ethernet/samsung/sxgbe/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 2 kB image not shown  

Quelle  sxgbe_mtl.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0-only */
/* 10G controller driver for Samsung SoCs
 *
 * Copyright (C) 2013 Samsung Electronics Co., Ltd.
 * http://www.samsung.com
 *
 * Author: Siva Reddy Kallam <siva.kallam@samsung.com>
 */

#ifndef __SXGBE_MTL_H__
#define __SXGBE_MTL_H__

#define SXGBE_MTL_OPMODE_ESTMASK 0x3
#define SXGBE_MTL_OPMODE_RAAMASK 0x1
#define SXGBE_MTL_FCMASK  0x7
#define SXGBE_MTL_TX_FIFO_DIV  256
#define SXGBE_MTL_RX_FIFO_DIV  256

#define SXGBE_MTL_RXQ_OP_FEP  BIT(4)
#define SXGBE_MTL_RXQ_OP_FUP  BIT(3)
#define SXGBE_MTL_ENABLE_FC  0x80

#define ETS_WRR    0xFFFFFF9F
#define ETS_RST    0xFFFFFF9F
#define ETS_WFQ    0x00000020
#define ETS_DWRR   0x00000040
#define RAA_SP    0xFFFFFFFB
#define RAA_WSP    0x00000004

#define RX_QUEUE_DYNAMIC  0x80808080
#define RX_FC_ACTIVE   8
#define RX_FC_DEACTIVE   13

enum ttc_control {
 MTL_CONTROL_TTC_64 = 0x00000000,
 MTL_CONTROL_TTC_96 = 0x00000020,
 MTL_CONTROL_TTC_128 = 0x00000030,
 MTL_CONTROL_TTC_192 = 0x00000040,
 MTL_CONTROL_TTC_256 = 0x00000050,
 MTL_CONTROL_TTC_384 = 0x00000060,
 MTL_CONTROL_TTC_512 = 0x00000070,
};

enum rtc_control {
 MTL_CONTROL_RTC_64 = 0x00000000,
 MTL_CONTROL_RTC_96 = 0x00000002,
 MTL_CONTROL_RTC_128 = 0x00000003,
};

enum flow_control_th {
 MTL_FC_FULL_1K = 0x00000000,
 MTL_FC_FULL_2K = 0x00000001,
 MTL_FC_FULL_4K = 0x00000002,
 MTL_FC_FULL_5K = 0x00000003,
 MTL_FC_FULL_6K = 0x00000004,
 MTL_FC_FULL_8K = 0x00000005,
 MTL_FC_FULL_16K = 0x00000006,
 MTL_FC_FULL_24K = 0x00000007,
};

struct sxgbe_mtl_ops {
 void (*mtl_init)(void __iomem *ioaddr, unsigned int etsalg,
    unsigned int raa);

 void (*mtl_set_txfifosize)(void __iomem *ioaddr, int queue_num,
       int mtl_fifo);

 void (*mtl_set_rxfifosize)(void __iomem *ioaddr, int queue_num,
       int queue_fifo);

 void (*mtl_enable_txqueue)(void __iomem *ioaddr, int queue_num);

 void (*mtl_disable_txqueue)(void __iomem *ioaddr, int queue_num);

 void (*set_tx_mtl_mode)(void __iomem *ioaddr, int queue_num,
    int tx_mode);

 void (*set_rx_mtl_mode)(void __iomem *ioaddr, int queue_num,
    int rx_mode);

 void (*mtl_dynamic_dma_rxqueue)(void __iomem *ioaddr);

 void (*mtl_fc_active)(void __iomem *ioaddr, int queue_num,
         int threshold);

 void (*mtl_fc_deactive)(void __iomem *ioaddr, int queue_num,
    int threshold);

 void (*mtl_fc_enable)(void __iomem *ioaddr, int queue_num);

 void (*mtl_fep_enable)(void __iomem *ioaddr, int queue_num);

 void (*mtl_fep_disable)(void __iomem *ioaddr, int queue_num);

 void (*mtl_fup_enable)(void __iomem *ioaddr, int queue_num);

 void (*mtl_fup_disable)(void __iomem *ioaddr, int queue_num);
};

const struct sxgbe_mtl_ops *sxgbe_get_mtl_ops(void);

#endif /* __SXGBE_MTL_H__ */

Messung V0.5
C=98 H=100 G=98

¤ Dauer der Verarbeitung: 0.1 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.