/linux/drivers/net/ethernet/netronome/nfp/nic/ |
H A D | dcb.c | 52 struct nfp_dcb *dcb = &((struct nfp_app_nic_private *)nn->app_priv)->dcb; in get_dcb_priv() local 54 return dcb; in get_dcb_priv() 73 struct nfp_dcb *dcb; in nfp_nic_dcbnl_ieee_getets() local 75 dcb = get_dcb_priv(nn); in nfp_nic_dcbnl_ieee_getets() 78 ets->prio_tc[i] = dcb->prio2tc[i]; in nfp_nic_dcbnl_ieee_getets() 79 ets->tc_tx_bw[i] = dcb->tc_tx_pct[i]; in nfp_nic_dcbnl_ieee_getets() 80 ets->tc_tsa[i] = dcb->tc_tsa[i]; in nfp_nic_dcbnl_ieee_getets() 90 struct nfp_dcb *dcb; in nfp_refresh_tc2idx() local 93 dcb = get_dcb_priv(nn); in nfp_refresh_tc2idx() 97 if (dcb->tc_tsa[i] == IEEE_8021QAZ_TSA_STRICT) in nfp_refresh_tc2idx() [all …]
|
/linux/drivers/net/ethernet/qlogic/qlcnic/ |
H A D | qlcnic_dcb.h | 44 static inline int qlcnic_dcb_get_hw_capability(struct qlcnic_dcb *dcb) in qlcnic_dcb_get_hw_capability() argument 46 if (dcb && dcb->ops->get_hw_capability) in qlcnic_dcb_get_hw_capability() 47 return dcb->ops->get_hw_capability(dcb); in qlcnic_dcb_get_hw_capability() 52 static inline void qlcnic_dcb_free(struct qlcnic_dcb *dcb) in qlcnic_dcb_free() argument 54 if (dcb && dcb->ops->free) in qlcnic_dcb_free() 55 dcb->ops->free(dcb); in qlcnic_dcb_free() 58 static inline int qlcnic_dcb_attach(struct qlcnic_dcb *dcb) in qlcnic_dcb_attach() argument 60 if (dcb && dcb->ops->attach) in qlcnic_dcb_attach() 61 return dcb->ops->attach(dcb); in qlcnic_dcb_attach() 67 qlcnic_dcb_query_hw_capability(struct qlcnic_dcb *dcb, char *buf) in qlcnic_dcb_query_hw_capability() argument [all …]
|
H A D | qlcnic_dcb.c | 241 static inline void __qlcnic_init_dcbnl_ops(struct qlcnic_dcb *dcb) in __qlcnic_init_dcbnl_ops() argument 243 if (test_bit(QLCNIC_DCB_STATE, &dcb->state)) in __qlcnic_init_dcbnl_ops() 244 dcb->adapter->netdev->dcbnl_ops = &qlcnic_dcbnl_ops; in __qlcnic_init_dcbnl_ops() 250 adapter->dcb->ops = &qlcnic_82xx_dcb_ops; in qlcnic_set_dcb_ops() 252 adapter->dcb->ops = &qlcnic_83xx_dcb_ops; in qlcnic_set_dcb_ops() 257 struct qlcnic_dcb *dcb; in qlcnic_register_dcb() local 262 dcb = kzalloc(sizeof(struct qlcnic_dcb), GFP_ATOMIC); in qlcnic_register_dcb() 263 if (!dcb) in qlcnic_register_dcb() 266 adapter->dcb = dcb; in qlcnic_register_dcb() 267 dcb->adapter = adapter; in qlcnic_register_dcb() [all …]
|
/linux/drivers/net/ethernet/chelsio/cxgb4/ |
H A D | cxgb4_dcb.c | 36 struct port_dcb_info *dcb = &pi->dcb; in cxgb4_dcb_state_init() local 37 int version_temp = dcb->dcb_version; in cxgb4_dcb_state_init() 39 memset(dcb, 0, sizeof(struct port_dcb_info)); in cxgb4_dcb_state_init() 40 dcb->state = CXGB4_DCB_STATE_START; in cxgb4_dcb_state_init() 42 dcb->dcb_version = version_temp; in cxgb4_dcb_state_init() 44 netdev_dbg(dev, "%s: Initializing DCB state for port[%d]\n", in cxgb4_dcb_state_init() 51 struct port_dcb_info *dcb = &pi->dcb; in cxgb4_dcb_version_init() local 56 dcb->dcb_version = FW_PORT_DCB_VER_AUTO; in cxgb4_dcb_version_init() 63 struct port_dcb_info *dcb = &pi->dcb; in cxgb4_dcb_cleanup_apps() local 72 if (!dcb->app_priority[i].protocolid) in cxgb4_dcb_cleanup_apps() [all …]
|
H A D | cxgb4_dcb.h | 65 CXGB4_DCB_STATE_HOST, /* we're using Host DCB (if at all) */ 66 CXGB4_DCB_STATE_FW_INCOMPLETE, /* using firmware DCB, incomplete */ 67 CXGB4_DCB_STATE_FW_ALLSYNCED, /* using firmware DCB, all sync'ed */ 75 CXGB4_DCB_INPUT_FW_DISABLED, /* firmware DCB disabled */ 76 CXGB4_DCB_INPUT_FW_ENABLED, /* firmware DCB enabled */ 77 CXGB4_DCB_INPUT_FW_INCOMPLETE, /* firmware reports incomplete DCB */ 82 /* Firmware DCB messages that we've received so far ... 97 enum cxgb4_dcb_state state; /* DCB State Machine */ 98 enum cxgb4_dcb_fw_msgs msgs; /* DCB Firmware messages received */ 99 unsigned int supported; /* OS DCB capabilities supported */ [all …]
|
/linux/drivers/gpu/drm/nouveau/nvkm/subdev/bios/ |
H A D | dcb.c | 25 #include <subdev/bios/dcb.h> 32 u16 dcb = 0x0000; in dcb_table() local 35 dcb = nvbios_rd16(bios, 0x36); in dcb_table() 36 if (!dcb) { in dcb_table() 37 nvkm_warn(subdev, "DCB table not found\n"); in dcb_table() 38 return dcb; in dcb_table() 41 *ver = nvbios_rd08(bios, dcb); in dcb_table() 44 nvkm_warn(subdev, "DCB version 0x%02x unknown\n", *ver); in dcb_table() 48 if (nvbios_rd32(bios, dcb + 6) == 0x4edcbdcb) { in dcb_table() 49 *hdr = nvbios_rd08(bios, dcb + 1); in dcb_table() [all …]
|
/linux/drivers/scsi/ |
H A D | dc395x.c | 214 struct DeviceCtlBlk *dcb; member 254 struct list_head list; /* next/prev ptrs for the dcb list */ 286 struct list_head dcb_list; /* head of going dcb list */ 364 static u8 start_scsi(struct AdapterCtlBlk *acb, struct DeviceCtlBlk *dcb, 368 static void build_srb(struct scsi_cmnd *cmd, struct DeviceCtlBlk *dcb, 376 static void srb_done(struct AdapterCtlBlk *acb, struct DeviceCtlBlk *dcb, 378 static void request_sense(struct AdapterCtlBlk *acb, struct DeviceCtlBlk *dcb, 381 struct DeviceCtlBlk *dcb); 701 /* find supplied dcb and then select the next one */ in dcb_get_next() 720 static void free_tag(struct DeviceCtlBlk *dcb, struct ScsiReqBlk *srb) in free_tag() argument [all …]
|
/linux/drivers/net/ethernet/qlogic/qede/ |
H A D | qede_dcbnl.c | 17 return edev->ops->dcb->getstate(edev->cdev); in qede_dcbnl_getstate() 24 return edev->ops->dcb->setstate(edev->cdev, state); in qede_dcbnl_setstate() 39 edev->ops->dcb->getpgtccfgtx(edev->cdev, prio, prio_type, in qede_dcbnl_getpgtccfgtx() 48 edev->ops->dcb->getpgbwgcfgtx(edev->cdev, pgid, bw_pct); in qede_dcbnl_getpgbwgcfgtx() 57 edev->ops->dcb->getpgtccfgrx(edev->cdev, prio, prio_type, pgid, bw_pct, in qede_dcbnl_getpgtccfgrx() 66 edev->ops->dcb->getpgbwgcfgrx(edev->cdev, pgid, bw_pct); in qede_dcbnl_getpgbwgcfgrx() 74 edev->ops->dcb->getpfccfg(edev->cdev, prio, setting); in qede_dcbnl_getpfccfg() 82 edev->ops->dcb->setpfccfg(edev->cdev, prio, setting); in qede_dcbnl_setpfccfg() 89 return edev->ops->dcb->getcap(edev->cdev, capid, cap); in qede_dcbnl_getcap() 96 return edev->ops->dcb->getnumtcs(edev->cdev, tcid, num); in qede_dcbnl_getnumtcs() [all …]
|
/linux/tools/testing/selftests/drivers/net/mlxsw/ |
H A D | qos_headroom.sh | 33 dcb -j buffer show dev $swp | 41 dcb -j pfc show dev $swp | 49 dcb -j ets show dev $swp | 57 dcb -j buffer show dev $swp | jq ".buffer_size[$idx]" 62 dcb -j buffer show dev $swp | jq '.total_size' 124 dcb ets set dev $swp prio-tc 0:0 1:2 2:4 3:6 4:1 5:3 6:5 7:7 130 dcb ets set dev $swp prio-tc all:0 135 dcb buffer set dev $swp prio-buffer 0:1 1:3 2:5 3:7 4:0 5:2 6:4 7:6 2>/dev/null 136 check_fail $? "prio2buffer accepted in DCB mode" 177 dcb ets set dev $swp prio-tc all:0 5:1 6:2 7:3 [all …]
|
/linux/drivers/net/ethernet/intel/ice/ |
H A D | ice_dcb_lib.c | 10 * @dcbcfg: DCB config to evaluate for enabled TCs 83 * ice_dcb_get_mode - gets the DCB mode 125 pr_err("Non-contiguous TCs - Disabling DCB\n"); in ice_dcb_get_num_tc() 145 * When DCB is enabled, first droptc information is derived from enabled_tc 147 * TC without DCB (tc0) 177 * ice_vsi_set_dcb_tc_cfg - Set VSI's TC based on DCB configuration 213 * ice_vsi_cfg_dcb_rings - Update rings to reflect DCB TC 255 /* When DCB is configured, TC for ADQ queues (which are really in ice_vsi_cfg_dcb_rings() 273 * ice_dcb_ena_dis_vsi - disable certain VSIs for DCB config/reconfig 278 * Before a new DCB configuration can be applied, VSIs of type PF, SWITCHDEV [all …]
|
/linux/drivers/net/ethernet/mscc/ |
H A D | ocelot_fdma.c | 89 /* Barrier to force memory writes to DCB to be completed before starting in ocelot_fdma_activate_chan() 110 static void ocelot_fdma_dcb_set_data(struct ocelot_fdma_dcb *dcb, in ocelot_fdma_dcb_set_data() argument 116 dcb->llp = 0; in ocelot_fdma_dcb_set_data() 117 dcb->datap = ALIGN_DOWN(dma_addr, 4); in ocelot_fdma_dcb_set_data() 118 dcb->datal = ALIGN_DOWN(size, 4); in ocelot_fdma_dcb_set_data() 119 dcb->stat = MSCC_FDMA_DCB_STAT_BLOCKO(offset); in ocelot_fdma_dcb_set_data() 151 struct ocelot_fdma_dcb *dcb; in ocelot_fdma_alloc_rx_buffs() local 171 dcb = &rx_ring->dcbs[idx]; in ocelot_fdma_alloc_rx_buffs() 173 ocelot_fdma_dcb_set_data(dcb, dma_addr, OCELOT_FDMA_RXB_SIZE); in ocelot_fdma_alloc_rx_buffs() 176 /* Chain the DCB to the next one */ in ocelot_fdma_alloc_rx_buffs() [all …]
|
/linux/net/dcb/ |
H A D | Kconfig | 2 config DCB config 6 This enables support for configuring Data Center Bridging (DCB) 7 features on DCB capable Ethernet adapters via rtnetlink. Say 'Y' 8 if you have a DCB capable Ethernet adapter which supports this 9 interface and you are connected to a DCB capable switch. 11 DCB is a collection of Ethernet enhancements which allow DCB capable 16 DCB features include:
|
/linux/drivers/gpu/drm/nouveau/ |
H A D | nouveau_bios.c | 911 * The TMDS table is typically found just before the DCB table, with a in parse_bit_tmds_tbl_entry() 924 * "or" from the DCB. in parse_bit_tmds_tbl_entry() 1103 * Make sure that 0x36 is blank and can't be mistaken for a DCB in parse_bmp_structure() 1252 u8 *dcb = NULL; in olddcb_table() local 1255 dcb = ROMPTR(dev, drm->vbios.data[0x36]); in olddcb_table() 1256 if (!dcb) { in olddcb_table() 1257 NV_WARN(drm, "No DCB data found in VBIOS\n"); in olddcb_table() 1261 if (dcb[0] >= 0x42) { in olddcb_table() 1262 NV_WARN(drm, "DCB version 0x%02x unknown\n", dcb[0]); in olddcb_table() 1265 if (dcb[0] >= 0x30) { in olddcb_table() [all …]
|
H A D | nouveau_connector.c | 387 (nv_encoder->dcb && nv_encoder->dcb->type == type)) in find_encoder() 426 if (nv_encoder->dcb->type == DCB_OUTPUT_DP) { in nouveau_connector_ddc_detect() 453 if (nv_encoder->dcb->type == DCB_OUTPUT_LVDS) { in nouveau_connector_ddc_detect() 492 if (nv_encoder->dcb->i2c_index == idx && edid) { in nouveau_connector_of_detect() 517 if (nv_encoder->dcb->type == DCB_OUTPUT_DP) in nouveau_connector_set_encoder() 525 if (nv_encoder->dcb->type == DCB_OUTPUT_LVDS || in nouveau_connector_set_encoder() 526 nv_encoder->dcb->type == DCB_OUTPUT_TMDS) { in nouveau_connector_set_encoder() 544 nv_encoder->dcb->type == DCB_OUTPUT_TMDS ? in nouveau_connector_set_encoder() 621 if (nv_encoder->dcb->type == DCB_OUTPUT_TMDS) in nouveau_connector_detect() 623 if (nv_encoder->dcb->type == DCB_OUTPUT_ANALOG) in nouveau_connector_detect() [all …]
|
/linux/drivers/net/ethernet/mellanox/mlxsw/ |
H A D | spectrum_dcb.c | 28 memcpy(ets, mlxsw_sp_port->dcb.ets, sizeof(*ets)); in mlxsw_sp_dcbnl_ieee_getets() 94 struct ieee_ets *my_ets = mlxsw_sp_port->dcb.ets; in __mlxsw_sp_dcbnl_ieee_setets() 162 memcpy(mlxsw_sp_port->dcb.ets, ets, sizeof(*ets)); in mlxsw_sp_dcbnl_ieee_setets() 163 mlxsw_sp_port->dcb.ets->ets_cap = IEEE_8021QAZ_MAX_TCS; in mlxsw_sp_dcbnl_ieee_setets() 279 if (mlxsw_sp_port->dcb.trust_state == ts) in mlxsw_sp_port_dcb_toggle_trust() 290 mlxsw_sp_port->dcb.trust_state = ts; in mlxsw_sp_port_dcb_toggle_trust() 295 mlxsw_sp_port->dcb.trust_state); in mlxsw_sp_port_dcb_toggle_trust() 432 netdev_err(dev, "Failed to update DCB APP configuration\n"); in mlxsw_sp_dcbnl_ieee_delapp() 441 memcpy(maxrate, mlxsw_sp_port->dcb.maxrate, sizeof(*maxrate)); in mlxsw_sp_dcbnl_ieee_getmaxrate() 450 struct ieee_maxrate *my_maxrate = mlxsw_sp_port->dcb.maxrate; in mlxsw_sp_dcbnl_ieee_setmaxrate() [all …]
|
/linux/drivers/net/ethernet/microchip/fdma/ |
H A D | fdma_api.h | 13 * Frame DMA DCB format: 94 /* Size of DCB + DB memory */ 97 /* Indexes used to access the next-to-be-used DCB or DB */ 101 /* Number of DCB's and DB's */ 114 /* Advance the DCB index and wrap if required. */ 134 /* Check if a DCB can be reused in case of multiple DB's per DCB. */ 153 static inline void fdma_dcb_len_set(struct fdma_dcb *dcb, u32 len) in fdma_dcb_len_set() argument 155 dcb->info = FDMA_DCB_INFO_DATAL(len); in fdma_dcb_len_set() 171 /* Get a DCB by index. */ 177 /* Get the next DCB. */ [all …]
|
H A D | fdma_api.c | 9 /* Add a DB to a DCB, providing a callback for getting the DB dataptr. */ 21 /* Add a DB to a DCB, using the callback set in the fdma_ops struct. */ 31 /* Add a DCB with callbacks for getting the DB dataptr and the DCB nextptr. */ 37 struct fdma_dcb *dcb = fdma_dcb_get(fdma, dcb_idx); in __fdma_dcb_add() local 50 fdma->last_dcb = dcb; in __fdma_dcb_add() 52 dcb->nextptr = FDMA_DCB_INVALID_DATA; in __fdma_dcb_add() 53 dcb->info = info; in __fdma_dcb_add() 59 /* Add a DCB, using the preset callbacks in the fdma_ops struct. */ 70 /* Initialize the DCB's and DB's. */ 138 * dataptr addresses and DCB's are in contiguous memory.
|
/linux/drivers/isdn/mISDN/ |
H A D | layer1.c | 27 dchannel_l1callback *dcb; member 121 l1->dcb(l1->dch, HW_POWERUP_REQ); in l1_deact_cnf() 141 l1->dcb(l1->dch, INFO3_P8); in l1_power_up_s() 164 l1->dcb(l1->dch, INFO3_P8); in l1_info2_ind() 173 l1->dcb(l1->dch, INFO3_P8); in l1_info4_ind() 192 l1->dcb(l1->dch, HW_D_NOBLOCKED); in l1_timer3() 193 l1->dcb(l1->dch, PH_DEACTIVATE_IND); in l1_timer3() 208 l1->dcb(l1->dch, PH_ACTIVATE_IND); in l1_timer_act() 219 l1->dcb(l1->dch, HW_D_NOBLOCKED); in l1_timer_deact() 220 l1->dcb(l1->dch, PH_DEACTIVATE_IND); in l1_timer_deact() [all …]
|
/linux/drivers/gpu/drm/nouveau/dispnv04/ |
H A D | dac.c | 43 struct dcb_output *dcb = nouveau_encoder(encoder)->dcb; in nv04_dac_output_offset() local 46 if (dcb->or & (8 | DCB_OUTPUT_C)) in nv04_dac_output_offset() 48 if (dcb->or & (8 | DCB_OUTPUT_B)) in nv04_dac_output_offset() 241 struct dcb_output *dcb = nouveau_encoder(encoder)->dcb; in nv17_dac_sample_load() local 248 if (dcb->type == DCB_OUTPUT_TV) { in nv17_dac_sample_load() 275 nvkm_gpio_set(gpio, 0, DCB_GPIO_TVDAC1, 0xff, dcb->type == DCB_OUTPUT_TV); in nv17_dac_sample_load() 276 nvkm_gpio_set(gpio, 0, DCB_GPIO_TVDAC0, 0xff, dcb->type == DCB_OUTPUT_TV); in nv17_dac_sample_load() 292 if (dcb->type == DCB_OUTPUT_TV) in nv17_dac_sample_load() 339 struct dcb_output *dcb = nouveau_encoder(encoder)->dcb; in nv17_dac_detect() local 347 '@' + ffs(dcb->or)); in nv17_dac_detect() [all …]
|
H A D | dfp.c | 132 nv_crtc->fp_users |= 1 << nouveau_encoder(encoder)->dcb->index; in nv04_dfp_update_fp_control() 139 nv_crtc->fp_users &= ~(1 << nouveau_encoder(encoder)->dcb->index); in nv04_dfp_update_fp_control() 155 struct dcb_output *dcb = nouveau_encoder(encoder)->dcb; in get_tmds_slave() local 158 if (dcb->type != DCB_OUTPUT_TMDS || dcb->location == DCB_LOC_ON_CHIP) in get_tmds_slave() 172 struct dcb_output *slave_dcb = nouveau_encoder(slave)->dcb; in get_tmds_slave() 175 slave_dcb->tmdsconf.slave_addr == dcb->tmdsconf.slave_addr) in get_tmds_slave() 208 uint32_t bits1618 = nv_encoder->dcb->or & DCB_OUTPUT_A ? 0x10000 : 0x40000; in nv04_dfp_prepare_sel_clk() 210 if (nv_encoder->dcb->location != DCB_LOC_ON_CHIP) in nv04_dfp_prepare_sel_clk() 237 if (nv_encoder->dcb->type == DCB_OUTPUT_LVDS && nv04_display(dev)->saved_reg.sel_clk & 0xf0) { in nv04_dfp_prepare_sel_clk() 262 if (nv_encoder->dcb->location == DCB_LOC_ON_CHIP) in nv04_dfp_prepare() [all …]
|
/linux/drivers/net/ethernet/intel/ixgbe/ |
H A D | ixgbe_dcb.h | 10 /* DCB data structures */ 20 /* DCB error Codes */ 53 /* DCB capability definitions */ 63 /* DCB capabilities */ 117 /* DCB driver APIs */ 126 /* DCB credits calculation */ 130 /* DCB hw initialization */ 139 /* DCB definitions for credit calculation */ 140 #define DCB_CREDIT_QUANTUM 64 /* DCB Quantum */ 142 #define DCB_MAX_TSO_SIZE (32*1024) /* MAX TSO packet size supported in DCB mode */
|
H A D | ixgbe_dcb_82599.h | 7 /* DCB register definitions */ 15 #define IXGBE_RTTDCS_ARBDIS 0x00000040 /* DCB arbiter disable */ 64 #define IXGBE_RTTPCS_ARBD_DCB 0x4 /* Arbitration delay in DCB mode */ 66 /* SECTXMINIFG DCB */ 67 #define IXGBE_SECTX_DCB 0x00001F00 /* DCB TX Buffer IFG */ 70 /* DCB hardware-specific driver APIs */ 72 /* DCB PFC functions */ 75 /* DCB hw initialization */
|
/linux/drivers/gpu/drm/amd/display/dc/bios/ |
H A D | bios_parser2.c | 58 struct dc_bios *dcb, 62 struct dc_bios *dcb, 100 static void firmware_parser_destroy(struct dc_bios **dcb) in firmware_parser_destroy() argument 102 struct bios_parser *bp = BP_FROM_DCB(*dcb); in firmware_parser_destroy() 112 *dcb = NULL; in firmware_parser_destroy() 138 static uint8_t bios_parser_get_connectors_number(struct dc_bios *dcb) in bios_parser_get_connectors_number() argument 140 struct bios_parser *bp = BP_FROM_DCB(dcb); in bios_parser_get_connectors_number() 164 struct dc_bios *dcb, in bios_parser_get_connector_id() argument 167 struct bios_parser *bp = BP_FROM_DCB(dcb); in bios_parser_get_connector_id() 204 static enum bp_result bios_parser_get_src_obj(struct dc_bios *dcb, in bios_parser_get_src_obj() argument [all …]
|
H A D | bios_parser.c | 85 struct dc_bios *dcb); 88 struct dc_bios *dcb, 117 static void bios_parser_destroy(struct dc_bios **dcb) in bios_parser_destroy() argument 119 struct bios_parser *bp = BP_FROM_DCB(*dcb); in bios_parser_destroy() 129 *dcb = NULL; in bios_parser_destroy() 148 static uint8_t bios_parser_get_connectors_number(struct dc_bios *dcb) in bios_parser_get_connectors_number() argument 150 struct bios_parser *bp = BP_FROM_DCB(dcb); in bios_parser_get_connectors_number() 157 struct dc_bios *dcb, in bios_parser_get_connector_id() argument 160 struct bios_parser *bp = BP_FROM_DCB(dcb); in bios_parser_get_connector_id() 188 static enum bp_result bios_parser_get_src_obj(struct dc_bios *dcb, in bios_parser_get_src_obj() argument [all …]
|
/linux/drivers/gpu/drm/amd/display/dc/ |
H A D | dc_bios_types.h | 52 struct dc_bios *dcb, 128 void (*bios_parser_destroy)(struct dc_bios **dcb); 131 struct dc_bios *dcb, 134 struct dc_bios *dcb, 138 struct dc_bios *dcb); 147 struct dc_bios *dcb, 151 struct dc_bios *dcb, 155 struct dc_bios *dcb, 158 struct dc_bios *dcb,
|