Lines Matching refs:dmae
161 static void bnx2x_post_dmae(struct bnx2x *bp, struct dmae_command *dmae, in bnx2x_post_dmae() argument
169 REG_WR(bp, cmd_offset + i*4, *(((u32 *)dmae) + i)); in bnx2x_post_dmae()
172 idx, i, cmd_offset + i*4, *(((u32 *)dmae) + i)); in bnx2x_post_dmae()
180 struct dmae_command *dmae = &bp->init_dmae; in bnx2x_write_dmae() local
195 memset(dmae, 0, sizeof(struct dmae_command)); in bnx2x_write_dmae()
197 dmae->opcode = (DMAE_CMD_SRC_PCI | DMAE_CMD_DST_GRC | in bnx2x_write_dmae()
207 dmae->src_addr_lo = U64_LO(dma_addr); in bnx2x_write_dmae()
208 dmae->src_addr_hi = U64_HI(dma_addr); in bnx2x_write_dmae()
209 dmae->dst_addr_lo = dst_addr >> 2; in bnx2x_write_dmae()
210 dmae->dst_addr_hi = 0; in bnx2x_write_dmae()
211 dmae->len = len32; in bnx2x_write_dmae()
212 dmae->comp_addr_lo = U64_LO(bnx2x_sp_mapping(bp, wb_comp)); in bnx2x_write_dmae()
213 dmae->comp_addr_hi = U64_HI(bnx2x_sp_mapping(bp, wb_comp)); in bnx2x_write_dmae()
214 dmae->comp_val = DMAE_COMP_VAL; in bnx2x_write_dmae()
220 dmae->opcode, dmae->src_addr_hi, dmae->src_addr_lo, in bnx2x_write_dmae()
221 dmae->len, dmae->dst_addr_hi, dmae->dst_addr_lo, dst_addr, in bnx2x_write_dmae()
222 dmae->comp_addr_hi, dmae->comp_addr_lo, dmae->comp_val); in bnx2x_write_dmae()
229 bnx2x_post_dmae(bp, dmae, INIT_DMAE_C(bp)); in bnx2x_write_dmae()
253 struct dmae_command *dmae = &bp->init_dmae; in bnx2x_read_dmae() local
271 memset(dmae, 0, sizeof(struct dmae_command)); in bnx2x_read_dmae()
273 dmae->opcode = (DMAE_CMD_SRC_GRC | DMAE_CMD_DST_PCI | in bnx2x_read_dmae()
283 dmae->src_addr_lo = src_addr >> 2; in bnx2x_read_dmae()
284 dmae->src_addr_hi = 0; in bnx2x_read_dmae()
285 dmae->dst_addr_lo = U64_LO(bnx2x_sp_mapping(bp, wb_data)); in bnx2x_read_dmae()
286 dmae->dst_addr_hi = U64_HI(bnx2x_sp_mapping(bp, wb_data)); in bnx2x_read_dmae()
287 dmae->len = len32; in bnx2x_read_dmae()
288 dmae->comp_addr_lo = U64_LO(bnx2x_sp_mapping(bp, wb_comp)); in bnx2x_read_dmae()
289 dmae->comp_addr_hi = U64_HI(bnx2x_sp_mapping(bp, wb_comp)); in bnx2x_read_dmae()
290 dmae->comp_val = DMAE_COMP_VAL; in bnx2x_read_dmae()
296 dmae->opcode, dmae->src_addr_hi, dmae->src_addr_lo, in bnx2x_read_dmae()
297 dmae->len, dmae->dst_addr_hi, dmae->dst_addr_lo, src_addr, in bnx2x_read_dmae()
298 dmae->comp_addr_hi, dmae->comp_addr_lo, dmae->comp_val); in bnx2x_read_dmae()
302 bnx2x_post_dmae(bp, dmae, INIT_DMAE_C(bp)); in bnx2x_read_dmae()
3096 struct dmae_command *dmae = &bp->stats_dmae; in bnx2x_hw_stats_post() local
3105 memset(dmae, 0, sizeof(struct dmae_command)); in bnx2x_hw_stats_post()
3107 dmae->opcode = (DMAE_CMD_SRC_PCI | DMAE_CMD_DST_GRC | in bnx2x_hw_stats_post()
3118 dmae->src_addr_lo = U64_LO(bnx2x_sp_mapping(bp, dmae[0])); in bnx2x_hw_stats_post()
3119 dmae->src_addr_hi = U64_HI(bnx2x_sp_mapping(bp, dmae[0])); in bnx2x_hw_stats_post()
3120 dmae->dst_addr_lo = (DMAE_REG_CMD_MEM + in bnx2x_hw_stats_post()
3123 dmae->dst_addr_hi = 0; in bnx2x_hw_stats_post()
3124 dmae->len = sizeof(struct dmae_command) >> 2; in bnx2x_hw_stats_post()
3126 dmae->len--; in bnx2x_hw_stats_post()
3127 dmae->comp_addr_lo = dmae_reg_go_c[loader_idx + 1] >> 2; in bnx2x_hw_stats_post()
3128 dmae->comp_addr_hi = 0; in bnx2x_hw_stats_post()
3129 dmae->comp_val = 1; in bnx2x_hw_stats_post()
3132 bnx2x_post_dmae(bp, dmae, loader_idx); in bnx2x_hw_stats_post()
3136 bnx2x_post_dmae(bp, dmae, INIT_DMAE_C(bp)); in bnx2x_hw_stats_post()
3163 struct dmae_command *dmae; in bnx2x_stats_pmf_update() local
3187 dmae = bnx2x_sp(bp, dmae[bp->executer_idx++]); in bnx2x_stats_pmf_update()
3188 dmae->opcode = (opcode | DMAE_CMD_C_DST_GRC); in bnx2x_stats_pmf_update()
3189 dmae->src_addr_lo = bp->port.port_stx >> 2; in bnx2x_stats_pmf_update()
3190 dmae->src_addr_hi = 0; in bnx2x_stats_pmf_update()
3191 dmae->dst_addr_lo = U64_LO(bnx2x_sp_mapping(bp, port_stats)); in bnx2x_stats_pmf_update()
3192 dmae->dst_addr_hi = U64_HI(bnx2x_sp_mapping(bp, port_stats)); in bnx2x_stats_pmf_update()
3193 dmae->len = DMAE_LEN32_RD_MAX; in bnx2x_stats_pmf_update()
3194 dmae->comp_addr_lo = dmae_reg_go_c[loader_idx] >> 2; in bnx2x_stats_pmf_update()
3195 dmae->comp_addr_hi = 0; in bnx2x_stats_pmf_update()
3196 dmae->comp_val = 1; in bnx2x_stats_pmf_update()
3198 dmae = bnx2x_sp(bp, dmae[bp->executer_idx++]); in bnx2x_stats_pmf_update()
3199 dmae->opcode = (opcode | DMAE_CMD_C_DST_PCI); in bnx2x_stats_pmf_update()
3200 dmae->src_addr_lo = (bp->port.port_stx >> 2) + DMAE_LEN32_RD_MAX; in bnx2x_stats_pmf_update()
3201 dmae->src_addr_hi = 0; in bnx2x_stats_pmf_update()
3202 dmae->dst_addr_lo = U64_LO(bnx2x_sp_mapping(bp, port_stats) + in bnx2x_stats_pmf_update()
3204 dmae->dst_addr_hi = U64_HI(bnx2x_sp_mapping(bp, port_stats) + in bnx2x_stats_pmf_update()
3206 dmae->len = (sizeof(struct host_port_stats) >> 2) - DMAE_LEN32_RD_MAX; in bnx2x_stats_pmf_update()
3207 dmae->comp_addr_lo = U64_LO(bnx2x_sp_mapping(bp, stats_comp)); in bnx2x_stats_pmf_update()
3208 dmae->comp_addr_hi = U64_HI(bnx2x_sp_mapping(bp, stats_comp)); in bnx2x_stats_pmf_update()
3209 dmae->comp_val = DMAE_COMP_VAL; in bnx2x_stats_pmf_update()
3218 struct dmae_command *dmae; in bnx2x_port_stats_init() local
3248 dmae = bnx2x_sp(bp, dmae[bp->executer_idx++]); in bnx2x_port_stats_init()
3249 dmae->opcode = opcode; in bnx2x_port_stats_init()
3250 dmae->src_addr_lo = U64_LO(bnx2x_sp_mapping(bp, port_stats)); in bnx2x_port_stats_init()
3251 dmae->src_addr_hi = U64_HI(bnx2x_sp_mapping(bp, port_stats)); in bnx2x_port_stats_init()
3252 dmae->dst_addr_lo = bp->port.port_stx >> 2; in bnx2x_port_stats_init()
3253 dmae->dst_addr_hi = 0; in bnx2x_port_stats_init()
3254 dmae->len = sizeof(struct host_port_stats) >> 2; in bnx2x_port_stats_init()
3255 dmae->comp_addr_lo = dmae_reg_go_c[loader_idx] >> 2; in bnx2x_port_stats_init()
3256 dmae->comp_addr_hi = 0; in bnx2x_port_stats_init()
3257 dmae->comp_val = 1; in bnx2x_port_stats_init()
3262 dmae = bnx2x_sp(bp, dmae[bp->executer_idx++]); in bnx2x_port_stats_init()
3263 dmae->opcode = opcode; in bnx2x_port_stats_init()
3264 dmae->src_addr_lo = U64_LO(bnx2x_sp_mapping(bp, func_stats)); in bnx2x_port_stats_init()
3265 dmae->src_addr_hi = U64_HI(bnx2x_sp_mapping(bp, func_stats)); in bnx2x_port_stats_init()
3266 dmae->dst_addr_lo = bp->func_stx >> 2; in bnx2x_port_stats_init()
3267 dmae->dst_addr_hi = 0; in bnx2x_port_stats_init()
3268 dmae->len = sizeof(struct host_func_stats) >> 2; in bnx2x_port_stats_init()
3269 dmae->comp_addr_lo = dmae_reg_go_c[loader_idx] >> 2; in bnx2x_port_stats_init()
3270 dmae->comp_addr_hi = 0; in bnx2x_port_stats_init()
3271 dmae->comp_val = 1; in bnx2x_port_stats_init()
3293 dmae = bnx2x_sp(bp, dmae[bp->executer_idx++]); in bnx2x_port_stats_init()
3294 dmae->opcode = opcode; in bnx2x_port_stats_init()
3295 dmae->src_addr_lo = (mac_addr + in bnx2x_port_stats_init()
3297 dmae->src_addr_hi = 0; in bnx2x_port_stats_init()
3298 dmae->dst_addr_lo = U64_LO(bnx2x_sp_mapping(bp, mac_stats)); in bnx2x_port_stats_init()
3299 dmae->dst_addr_hi = U64_HI(bnx2x_sp_mapping(bp, mac_stats)); in bnx2x_port_stats_init()
3300 dmae->len = (8 + BIGMAC_REGISTER_TX_STAT_GTBYT - in bnx2x_port_stats_init()
3302 dmae->comp_addr_lo = dmae_reg_go_c[loader_idx] >> 2; in bnx2x_port_stats_init()
3303 dmae->comp_addr_hi = 0; in bnx2x_port_stats_init()
3304 dmae->comp_val = 1; in bnx2x_port_stats_init()
3308 dmae = bnx2x_sp(bp, dmae[bp->executer_idx++]); in bnx2x_port_stats_init()
3309 dmae->opcode = opcode; in bnx2x_port_stats_init()
3310 dmae->src_addr_lo = (mac_addr + in bnx2x_port_stats_init()
3312 dmae->src_addr_hi = 0; in bnx2x_port_stats_init()
3313 dmae->dst_addr_lo = U64_LO(bnx2x_sp_mapping(bp, mac_stats) + in bnx2x_port_stats_init()
3315 dmae->dst_addr_hi = U64_HI(bnx2x_sp_mapping(bp, mac_stats) + in bnx2x_port_stats_init()
3317 dmae->len = (8 + BIGMAC_REGISTER_RX_STAT_GRIPJ - in bnx2x_port_stats_init()
3319 dmae->comp_addr_lo = dmae_reg_go_c[loader_idx] >> 2; in bnx2x_port_stats_init()
3320 dmae->comp_addr_hi = 0; in bnx2x_port_stats_init()
3321 dmae->comp_val = 1; in bnx2x_port_stats_init()
3328 dmae = bnx2x_sp(bp, dmae[bp->executer_idx++]); in bnx2x_port_stats_init()
3329 dmae->opcode = opcode; in bnx2x_port_stats_init()
3330 dmae->src_addr_lo = (mac_addr + in bnx2x_port_stats_init()
3332 dmae->src_addr_hi = 0; in bnx2x_port_stats_init()
3333 dmae->dst_addr_lo = U64_LO(bnx2x_sp_mapping(bp, mac_stats)); in bnx2x_port_stats_init()
3334 dmae->dst_addr_hi = U64_HI(bnx2x_sp_mapping(bp, mac_stats)); in bnx2x_port_stats_init()
3335 dmae->len = EMAC_REG_EMAC_RX_STAT_AC_COUNT; in bnx2x_port_stats_init()
3336 dmae->comp_addr_lo = dmae_reg_go_c[loader_idx] >> 2; in bnx2x_port_stats_init()
3337 dmae->comp_addr_hi = 0; in bnx2x_port_stats_init()
3338 dmae->comp_val = 1; in bnx2x_port_stats_init()
3341 dmae = bnx2x_sp(bp, dmae[bp->executer_idx++]); in bnx2x_port_stats_init()
3342 dmae->opcode = opcode; in bnx2x_port_stats_init()
3343 dmae->src_addr_lo = (mac_addr + in bnx2x_port_stats_init()
3345 dmae->src_addr_hi = 0; in bnx2x_port_stats_init()
3346 dmae->dst_addr_lo = U64_LO(bnx2x_sp_mapping(bp, mac_stats) + in bnx2x_port_stats_init()
3348 dmae->dst_addr_hi = U64_HI(bnx2x_sp_mapping(bp, mac_stats) + in bnx2x_port_stats_init()
3350 dmae->len = 1; in bnx2x_port_stats_init()
3351 dmae->comp_addr_lo = dmae_reg_go_c[loader_idx] >> 2; in bnx2x_port_stats_init()
3352 dmae->comp_addr_hi = 0; in bnx2x_port_stats_init()
3353 dmae->comp_val = 1; in bnx2x_port_stats_init()
3356 dmae = bnx2x_sp(bp, dmae[bp->executer_idx++]); in bnx2x_port_stats_init()
3357 dmae->opcode = opcode; in bnx2x_port_stats_init()
3358 dmae->src_addr_lo = (mac_addr + in bnx2x_port_stats_init()
3360 dmae->src_addr_hi = 0; in bnx2x_port_stats_init()
3361 dmae->dst_addr_lo = U64_LO(bnx2x_sp_mapping(bp, mac_stats) + in bnx2x_port_stats_init()
3363 dmae->dst_addr_hi = U64_HI(bnx2x_sp_mapping(bp, mac_stats) + in bnx2x_port_stats_init()
3365 dmae->len = EMAC_REG_EMAC_TX_STAT_AC_COUNT; in bnx2x_port_stats_init()
3366 dmae->comp_addr_lo = dmae_reg_go_c[loader_idx] >> 2; in bnx2x_port_stats_init()
3367 dmae->comp_addr_hi = 0; in bnx2x_port_stats_init()
3368 dmae->comp_val = 1; in bnx2x_port_stats_init()
3372 dmae = bnx2x_sp(bp, dmae[bp->executer_idx++]); in bnx2x_port_stats_init()
3373 dmae->opcode = opcode; in bnx2x_port_stats_init()
3374 dmae->src_addr_lo = (port ? NIG_REG_STAT1_BRB_DISCARD : in bnx2x_port_stats_init()
3376 dmae->src_addr_hi = 0; in bnx2x_port_stats_init()
3377 dmae->dst_addr_lo = U64_LO(bnx2x_sp_mapping(bp, nig_stats)); in bnx2x_port_stats_init()
3378 dmae->dst_addr_hi = U64_HI(bnx2x_sp_mapping(bp, nig_stats)); in bnx2x_port_stats_init()
3379 dmae->len = (sizeof(struct nig_stats) - 4*sizeof(u32)) >> 2; in bnx2x_port_stats_init()
3380 dmae->comp_addr_lo = dmae_reg_go_c[loader_idx] >> 2; in bnx2x_port_stats_init()
3381 dmae->comp_addr_hi = 0; in bnx2x_port_stats_init()
3382 dmae->comp_val = 1; in bnx2x_port_stats_init()
3384 dmae = bnx2x_sp(bp, dmae[bp->executer_idx++]); in bnx2x_port_stats_init()
3385 dmae->opcode = opcode; in bnx2x_port_stats_init()
3386 dmae->src_addr_lo = (port ? NIG_REG_STAT1_EGRESS_MAC_PKT0 : in bnx2x_port_stats_init()
3388 dmae->src_addr_hi = 0; in bnx2x_port_stats_init()
3389 dmae->dst_addr_lo = U64_LO(bnx2x_sp_mapping(bp, nig_stats) + in bnx2x_port_stats_init()
3391 dmae->dst_addr_hi = U64_HI(bnx2x_sp_mapping(bp, nig_stats) + in bnx2x_port_stats_init()
3393 dmae->len = (2*sizeof(u32)) >> 2; in bnx2x_port_stats_init()
3394 dmae->comp_addr_lo = dmae_reg_go_c[loader_idx] >> 2; in bnx2x_port_stats_init()
3395 dmae->comp_addr_hi = 0; in bnx2x_port_stats_init()
3396 dmae->comp_val = 1; in bnx2x_port_stats_init()
3398 dmae = bnx2x_sp(bp, dmae[bp->executer_idx++]); in bnx2x_port_stats_init()
3399 dmae->opcode = (DMAE_CMD_SRC_GRC | DMAE_CMD_DST_PCI | in bnx2x_port_stats_init()
3409 dmae->src_addr_lo = (port ? NIG_REG_STAT1_EGRESS_MAC_PKT1 : in bnx2x_port_stats_init()
3411 dmae->src_addr_hi = 0; in bnx2x_port_stats_init()
3412 dmae->dst_addr_lo = U64_LO(bnx2x_sp_mapping(bp, nig_stats) + in bnx2x_port_stats_init()
3414 dmae->dst_addr_hi = U64_HI(bnx2x_sp_mapping(bp, nig_stats) + in bnx2x_port_stats_init()
3416 dmae->len = (2*sizeof(u32)) >> 2; in bnx2x_port_stats_init()
3417 dmae->comp_addr_lo = U64_LO(bnx2x_sp_mapping(bp, stats_comp)); in bnx2x_port_stats_init()
3418 dmae->comp_addr_hi = U64_HI(bnx2x_sp_mapping(bp, stats_comp)); in bnx2x_port_stats_init()
3419 dmae->comp_val = DMAE_COMP_VAL; in bnx2x_port_stats_init()
3426 struct dmae_command *dmae = &bp->stats_dmae; in bnx2x_func_stats_init() local
3436 memset(dmae, 0, sizeof(struct dmae_command)); in bnx2x_func_stats_init()
3438 dmae->opcode = (DMAE_CMD_SRC_PCI | DMAE_CMD_DST_GRC | in bnx2x_func_stats_init()
3448 dmae->src_addr_lo = U64_LO(bnx2x_sp_mapping(bp, func_stats)); in bnx2x_func_stats_init()
3449 dmae->src_addr_hi = U64_HI(bnx2x_sp_mapping(bp, func_stats)); in bnx2x_func_stats_init()
3450 dmae->dst_addr_lo = bp->func_stx >> 2; in bnx2x_func_stats_init()
3451 dmae->dst_addr_hi = 0; in bnx2x_func_stats_init()
3452 dmae->len = sizeof(struct host_func_stats) >> 2; in bnx2x_func_stats_init()
3453 dmae->comp_addr_lo = U64_LO(bnx2x_sp_mapping(bp, stats_comp)); in bnx2x_func_stats_init()
3454 dmae->comp_addr_hi = U64_HI(bnx2x_sp_mapping(bp, stats_comp)); in bnx2x_func_stats_init()
3455 dmae->comp_val = DMAE_COMP_VAL; in bnx2x_func_stats_init()
3857 struct dmae_command *dmae; in bnx2x_port_stats_stop() local
3877 dmae = bnx2x_sp(bp, dmae[bp->executer_idx++]); in bnx2x_port_stats_stop()
3879 dmae->opcode = (opcode | DMAE_CMD_C_DST_GRC); in bnx2x_port_stats_stop()
3881 dmae->opcode = (opcode | DMAE_CMD_C_DST_PCI); in bnx2x_port_stats_stop()
3882 dmae->src_addr_lo = U64_LO(bnx2x_sp_mapping(bp, port_stats)); in bnx2x_port_stats_stop()
3883 dmae->src_addr_hi = U64_HI(bnx2x_sp_mapping(bp, port_stats)); in bnx2x_port_stats_stop()
3884 dmae->dst_addr_lo = bp->port.port_stx >> 2; in bnx2x_port_stats_stop()
3885 dmae->dst_addr_hi = 0; in bnx2x_port_stats_stop()
3886 dmae->len = sizeof(struct host_port_stats) >> 2; in bnx2x_port_stats_stop()
3888 dmae->comp_addr_lo = dmae_reg_go_c[loader_idx] >> 2; in bnx2x_port_stats_stop()
3889 dmae->comp_addr_hi = 0; in bnx2x_port_stats_stop()
3890 dmae->comp_val = 1; in bnx2x_port_stats_stop()
3892 dmae->comp_addr_lo = in bnx2x_port_stats_stop()
3894 dmae->comp_addr_hi = in bnx2x_port_stats_stop()
3896 dmae->comp_val = DMAE_COMP_VAL; in bnx2x_port_stats_stop()
3904 dmae = bnx2x_sp(bp, dmae[bp->executer_idx++]); in bnx2x_port_stats_stop()
3905 dmae->opcode = (opcode | DMAE_CMD_C_DST_PCI); in bnx2x_port_stats_stop()
3906 dmae->src_addr_lo = U64_LO(bnx2x_sp_mapping(bp, func_stats)); in bnx2x_port_stats_stop()
3907 dmae->src_addr_hi = U64_HI(bnx2x_sp_mapping(bp, func_stats)); in bnx2x_port_stats_stop()
3908 dmae->dst_addr_lo = bp->func_stx >> 2; in bnx2x_port_stats_stop()
3909 dmae->dst_addr_hi = 0; in bnx2x_port_stats_stop()
3910 dmae->len = sizeof(struct host_func_stats) >> 2; in bnx2x_port_stats_stop()
3911 dmae->comp_addr_lo = U64_LO(bnx2x_sp_mapping(bp, stats_comp)); in bnx2x_port_stats_stop()
3912 dmae->comp_addr_hi = U64_HI(bnx2x_sp_mapping(bp, stats_comp)); in bnx2x_port_stats_stop()
3913 dmae->comp_val = DMAE_COMP_VAL; in bnx2x_port_stats_stop()