abm               651 drivers/gpu/drm/amd/amdgpu/si_dpm.h 	bool abm;
abm              1979 drivers/gpu/drm/amd/display/dc/core/dc.c 			if (stream_update->abm_level && pipe_ctx->stream_res.abm) {
abm              1983 drivers/gpu/drm/amd/display/dc/core/dc.c 						pipe_ctx->stream_res.abm->funcs->set_abm_level(
abm              1984 drivers/gpu/drm/amd/display/dc/core/dc.c 							pipe_ctx->stream_res.abm, stream->abm_level);
abm              1986 drivers/gpu/drm/amd/display/dc/core/dc.c 					pipe_ctx->stream_res.abm->funcs->set_abm_level(
abm              1987 drivers/gpu/drm/amd/display/dc/core/dc.c 						pipe_ctx->stream_res.abm, stream->abm_level);
abm              2364 drivers/gpu/drm/amd/display/dc/core/dc.c 	struct abm *abm = dc->res_pool->abm;
abm              2366 drivers/gpu/drm/amd/display/dc/core/dc.c 	if (abm)
abm              2367 drivers/gpu/drm/amd/display/dc/core/dc.c 		return abm->funcs->get_current_backlight(abm);
abm              2374 drivers/gpu/drm/amd/display/dc/core/dc.c 	struct abm *abm = dc->res_pool->abm;
abm              2376 drivers/gpu/drm/amd/display/dc/core/dc.c 	if (abm)
abm              2377 drivers/gpu/drm/amd/display/dc/core/dc.c 		return abm->funcs->get_target_backlight(abm);
abm              2309 drivers/gpu/drm/amd/display/dc/core/dc_link.c 	struct abm *abm = link->ctx->dc->res_pool->abm;
abm              2311 drivers/gpu/drm/amd/display/dc/core/dc_link.c 	if (abm == NULL || abm->funcs->get_current_backlight == NULL)
abm              2314 drivers/gpu/drm/amd/display/dc/core/dc_link.c 	return (int) abm->funcs->get_current_backlight(abm);
abm              2322 drivers/gpu/drm/amd/display/dc/core/dc_link.c 	struct abm *abm = core_dc->res_pool->abm;
abm              2330 drivers/gpu/drm/amd/display/dc/core/dc_link.c 		(abm == NULL) ||
abm              2331 drivers/gpu/drm/amd/display/dc/core/dc_link.c 		(abm->funcs->set_backlight_level_pwm == NULL))
abm              2361 drivers/gpu/drm/amd/display/dc/core/dc_link.c 		abm->funcs->set_backlight_level_pwm(
abm              2362 drivers/gpu/drm/amd/display/dc/core/dc_link.c 				abm,
abm              2375 drivers/gpu/drm/amd/display/dc/core/dc_link.c 	struct abm *abm = core_dc->res_pool->abm;
abm              2377 drivers/gpu/drm/amd/display/dc/core/dc_link.c 	if ((abm == NULL) || (abm->funcs->set_backlight_level_pwm == NULL))
abm              2380 drivers/gpu/drm/amd/display/dc/core/dc_link.c 	abm->funcs->set_abm_immediate_disable(abm);
abm              1290 drivers/gpu/drm/amd/display/dc/core/dc_resource.c 			free_pipe->stream_res.abm = tail_pipe->stream_res.abm;
abm              1988 drivers/gpu/drm/amd/display/dc/core/dc_resource.c 		pipe_ctx->stream_res.abm = pool->abm;
abm                37 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c #define TO_DCE_ABM(abm)\
abm                38 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c 	container_of(abm, struct dce_abm, base)
abm                48 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c 	abm->ctx->logger
abm                58 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c static bool dce_abm_set_pipe(struct abm *abm, uint32_t controller_id)
abm                60 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c 	struct dce_abm *abm_dce = TO_DCE_ABM(abm);
abm                63 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c 	if (abm->dmcu_is_running == false)
abm               251 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c static void dce_abm_init(struct abm *abm)
abm               253 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c 	struct dce_abm *abm_dce = TO_DCE_ABM(abm);
abm               291 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c static unsigned int dce_abm_get_current_backlight(struct abm *abm)
abm               293 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c 	struct dce_abm *abm_dce = TO_DCE_ABM(abm);
abm               302 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c static unsigned int dce_abm_get_target_backlight(struct abm *abm)
abm               304 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c 	struct dce_abm *abm_dce = TO_DCE_ABM(abm);
abm               313 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c static bool dce_abm_set_level(struct abm *abm, uint32_t level)
abm               315 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c 	struct dce_abm *abm_dce = TO_DCE_ABM(abm);
abm               317 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c 	if (abm->dmcu_is_running == false)
abm               334 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c static bool dce_abm_immediate_disable(struct abm *abm)
abm               336 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c 	struct dce_abm *abm_dce = TO_DCE_ABM(abm);
abm               338 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c 	if (abm->dmcu_is_running == false)
abm               341 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c 	dce_abm_set_pipe(abm, MCP_DISABLE_ABM_IMMEDIATELY);
abm               343 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c 	abm->stored_backlight_registers.BL_PWM_CNTL =
abm               345 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c 	abm->stored_backlight_registers.BL_PWM_CNTL2 =
abm               347 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c 	abm->stored_backlight_registers.BL_PWM_PERIOD_CNTL =
abm               351 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c 		&abm->stored_backlight_registers.LVTMA_PWRSEQ_REF_DIV_BL_PWM_REF_DIV);
abm               355 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c static bool dce_abm_init_backlight(struct abm *abm)
abm               357 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c 	struct dce_abm *abm_dce = TO_DCE_ABM(abm);
abm               366 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c 		if (abm->stored_backlight_registers.BL_PWM_CNTL != 0) {
abm               368 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c 				abm->stored_backlight_registers.BL_PWM_CNTL);
abm               370 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c 				abm->stored_backlight_registers.BL_PWM_CNTL2);
abm               372 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c 				abm->stored_backlight_registers.BL_PWM_PERIOD_CNTL);
abm               375 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c 				abm->stored_backlight_registers.
abm               385 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c 		abm->stored_backlight_registers.BL_PWM_CNTL =
abm               387 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c 		abm->stored_backlight_registers.BL_PWM_CNTL2 =
abm               389 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c 		abm->stored_backlight_registers.BL_PWM_PERIOD_CNTL =
abm               393 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c 				&abm->stored_backlight_registers.
abm               415 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c 		struct abm *abm,
abm               421 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c 	struct dce_abm *abm_dce = TO_DCE_ABM(abm);
abm               456 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c 	struct abm *base = &abm_dce->base;
abm               471 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c struct abm *dce_abm_create(
abm               491 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c void dce_abm_destroy(struct abm **abm)
abm               493 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c 	struct dce_abm *abm_dce = TO_DCE_ABM(*abm);
abm               496 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c 		abm_dce->base.funcs->set_abm_immediate_disable(*abm);
abm               499 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c 	*abm = NULL;
abm               230 drivers/gpu/drm/amd/display/dc/dce/dce_abm.h 	struct abm base;
abm               236 drivers/gpu/drm/amd/display/dc/dce/dce_abm.h struct abm *dce_abm_create(
abm               242 drivers/gpu/drm/amd/display/dc/dce/dce_abm.h void dce_abm_destroy(struct abm **abm);
abm               738 drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c 	if (pool->base.abm != NULL)
abm               739 drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c 				dce_abm_destroy(&pool->base.abm);
abm               971 drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c 	pool->base.abm = dce_abm_create(ctx,
abm               975 drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c 	if (pool->base.abm == NULL) {
abm              2371 drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c 	struct abm *abm;
abm              2419 drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c 	abm = dc->res_pool->abm;
abm              2420 drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c 	if (abm != NULL) {
abm              2421 drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c 		abm->funcs->init_backlight(abm);
abm              2422 drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c 		abm->funcs->abm_init(abm);
abm              2426 drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c 	if (dmcu != NULL && abm != NULL)
abm              2427 drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c 		abm->dmcu_is_running = dmcu->funcs->is_dmcu_initialized(dmcu);
abm               797 drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c 	if (pool->base.abm != NULL)
abm               798 drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c 		dce_abm_destroy(&pool->base.abm);
abm              1343 drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c 	pool->base.abm = dce_abm_create(ctx,
abm              1347 drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c 	if (pool->base.abm == NULL) {
abm               759 drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c 	if (pool->base.abm != NULL)
abm               760 drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c 		dce_abm_destroy(&pool->base.abm);
abm              1227 drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c 	pool->base.abm = dce_abm_create(ctx,
abm              1231 drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c 	if (pool->base.abm == NULL) {
abm               609 drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c 	if (pool->base.abm != NULL)
abm               610 drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c 		dce_abm_destroy(&pool->base.abm);
abm              1065 drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c 	pool->base.abm = dce_abm_create(ctx,
abm              1069 drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c 	if (pool->base.abm == NULL) {
abm               779 drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c 	if (pool->base.abm != NULL)
abm               780 drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c 			dce_abm_destroy(&pool->base.abm);
abm               952 drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c 	pool->base.abm = dce_abm_create(ctx,
abm               956 drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c 	if (pool->base.abm == NULL) {
abm              1149 drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c 	pool->base.abm = dce_abm_create(ctx,
abm              1153 drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c 	if (pool->base.abm == NULL) {
abm              1342 drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c 	pool->base.abm = dce_abm_create(ctx,
abm              1346 drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c 	if (pool->base.abm == NULL) {
abm              1178 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c 	struct abm *abm = dc->res_pool->abm;
abm              1279 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c 	if (abm != NULL) {
abm              1280 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c 		abm->funcs->init_backlight(abm);
abm              1281 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c 		abm->funcs->abm_init(abm);
abm              1287 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c 	if (abm != NULL && dmcu != NULL)
abm              1288 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c 		abm->dmcu_is_running = dmcu->funcs->is_dmcu_initialized(dmcu);
abm              2440 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c 		if (stream_res->abm) {
abm              2441 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c 			stream_res->abm->funcs->set_pipe(stream_res->abm, stream_res->tg->inst + 1);
abm              2442 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c 			stream_res->abm->funcs->set_abm_level(stream_res->abm, stream->abm_level);
abm              2445 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c 		if (stream_res->abm)
abm              2446 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c 			stream_res->abm->funcs->set_abm_immediate_disable(stream_res->abm);
abm               961 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c 	if (pool->base.abm != NULL)
abm               962 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c 		dce_abm_destroy(&pool->base.abm);
abm              1107 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c 	idle_pipe->stream_res.abm = head_pipe->stream_res.abm;
abm              1372 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c 	pool->base.abm = dce_abm_create(ctx,
abm              1376 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c 	if (pool->base.abm == NULL) {
abm               872 drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c 		if (stream_res->abm)
abm               873 drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c 			stream_res->abm->funcs->set_abm_immediate_disable(stream_res->abm);
abm               901 drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c 		if (stream_res->abm) {
abm               902 drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c 			stream_res->abm->funcs->set_pipe(stream_res->abm, stream_res->tg->inst + 1);
abm               903 drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c 			stream_res->abm->funcs->set_abm_level(stream_res->abm, stream->abm_level);
abm              1401 drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c 	if (pool->base.abm != NULL)
abm              1402 drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c 		dce_abm_destroy(&pool->base.abm);
abm              3549 drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c 	pool->base.abm = dce_abm_create(ctx,
abm              3553 drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c 	if (pool->base.abm == NULL) {
abm               929 drivers/gpu/drm/amd/display/dc/dcn21/dcn21_resource.c 	if (pool->base.abm != NULL)
abm               930 drivers/gpu/drm/amd/display/dc/dcn21/dcn21_resource.c 		dce_abm_destroy(&pool->base.abm);
abm               225 drivers/gpu/drm/amd/display/dc/inc/core_types.h 	struct abm *abm;
abm               248 drivers/gpu/drm/amd/display/dc/inc/core_types.h 	struct abm *abm;
abm                46 drivers/gpu/drm/amd/display/dc/inc/hw/abm.h 	void (*abm_init)(struct abm *abm);
abm                47 drivers/gpu/drm/amd/display/dc/inc/hw/abm.h 	bool (*set_abm_level)(struct abm *abm, unsigned int abm_level);
abm                48 drivers/gpu/drm/amd/display/dc/inc/hw/abm.h 	bool (*set_abm_immediate_disable)(struct abm *abm);
abm                49 drivers/gpu/drm/amd/display/dc/inc/hw/abm.h 	bool (*set_pipe)(struct abm *abm, unsigned int controller_id);
abm                50 drivers/gpu/drm/amd/display/dc/inc/hw/abm.h 	bool (*init_backlight)(struct abm *abm);
abm                55 drivers/gpu/drm/amd/display/dc/inc/hw/abm.h 	bool (*set_backlight_level_pwm)(struct abm *abm,
abm                61 drivers/gpu/drm/amd/display/dc/inc/hw/abm.h 	unsigned int (*get_current_backlight)(struct abm *abm);
abm                62 drivers/gpu/drm/amd/display/dc/inc/hw/abm.h 	unsigned int (*get_target_backlight)(struct abm *abm);
abm              2677 drivers/gpu/drm/radeon/btc_dpm.c 	eg_pi->abm = true;
abm              2117 drivers/gpu/drm/radeon/cypress_dpm.c 	eg_pi->abm = true;
abm                67 drivers/gpu/drm/radeon/cypress_dpm.h 	bool abm;
abm              4178 drivers/gpu/drm/radeon/ni_dpm.c 	eg_pi->abm = true;
abm                21 drivers/net/ethernet/netronome/nfp/abm/cls.c nfp_abm_u32_check_knode(struct nfp_abm *abm, struct tc_cls_u32_knode *knode,
abm                57 drivers/net/ethernet/netronome/nfp/abm/cls.c 	if (knode->res && knode->res->classid >= abm->num_bands) {
abm                92 drivers/net/ethernet/netronome/nfp/abm/cls.c 	if (be32_to_cpu(k->mask) >> tos_off & ~abm->dscp_mask) {
abm                94 drivers/net/ethernet/netronome/nfp/abm/cls.c 		nfp_err(abm->app->cpp,
abm                96 drivers/net/ethernet/netronome/nfp/abm/cls.c 			be32_to_cpu(k->mask) >> tos_off, abm->dscp_mask);
abm               122 drivers/net/ethernet/netronome/nfp/abm/cls.c 	struct nfp_abm *abm = alink->abm;
abm               127 drivers/net/ethernet/netronome/nfp/abm/cls.c 	bits_per_prio = roundup_pow_of_two(order_base_2(abm->num_bands));
abm               132 drivers/net/ethernet/netronome/nfp/abm/cls.c 	base_shift = 8 - order_base_2(abm->num_prios);
abm               134 drivers/net/ethernet/netronome/nfp/abm/cls.c 	for (i = 0; i < abm->num_prios; i++) {
abm               179 drivers/net/ethernet/netronome/nfp/abm/cls.c 	if (!nfp_abm_u32_check_knode(alink->abm, knode, proto, extack))
abm                52 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	struct nfp_cpp *cpp = alink->abm->app->cpp;
abm                75 drivers/net/ethernet/netronome/nfp/abm/ctrl.c int __nfp_abm_ctrl_set_q_lvl(struct nfp_abm *abm, unsigned int id, u32 val)
abm                77 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	struct nfp_cpp *cpp = abm->app->cpp;
abm                81 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	__clear_bit(id, abm->threshold_undef);
abm                82 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	if (abm->thresholds[id] == val)
abm                86 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	err = __nfp_rtsym_writel(cpp, abm->q_lvls, 4, 0, sym_offset, val);
abm                94 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	abm->thresholds[id] = val;
abm               105 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	return __nfp_abm_ctrl_set_q_lvl(alink->abm, threshold, val);
abm               108 drivers/net/ethernet/netronome/nfp/abm/ctrl.c int __nfp_abm_ctrl_set_q_act(struct nfp_abm *abm, unsigned int id,
abm               111 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	struct nfp_cpp *cpp = abm->app->cpp;
abm               115 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	if (abm->actions[id] == act)
abm               119 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	err = __nfp_rtsym_writel(cpp, abm->q_lvls, 4, 0, sym_offset, act);
abm               127 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	abm->actions[id] = act;
abm               138 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	return __nfp_abm_ctrl_set_q_act(alink->abm, qid, act);
abm               146 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	for (band = 0; band < alink->abm->num_bands; band++) {
abm               147 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 		if (nfp_abm_ctrl_stat(alink, alink->abm->qm_stats,
abm               162 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	for (band = 0; band < alink->abm->num_bands; band++) {
abm               163 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 		if (nfp_abm_ctrl_stat(alink, alink->abm->qm_stats,
abm               177 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	if (!nfp_abm_has_prio(alink->abm)) {
abm               189 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 		return nfp_abm_ctrl_stat(alink, alink->abm->q_stats,
abm               210 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	err = nfp_abm_ctrl_stat(alink, alink->abm->q_lvls, NFP_QLVL_STRIDE,
abm               216 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	err = nfp_abm_ctrl_stat(alink, alink->abm->q_lvls,
abm               222 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	err = nfp_abm_ctrl_stat(alink, alink->abm->qm_stats,
abm               228 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	return nfp_abm_ctrl_stat(alink, alink->abm->qm_stats,
abm               239 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	err = nfp_abm_ctrl_stat(alink, alink->abm->qm_stats,
abm               245 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	return nfp_abm_ctrl_stat(alink, alink->abm->qm_stats,
abm               250 drivers/net/ethernet/netronome/nfp/abm/ctrl.c int nfp_abm_ctrl_qm_enable(struct nfp_abm *abm)
abm               252 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	return nfp_mbox_cmd(abm->app->pf, NFP_MBOX_PCIE_ABM_ENABLE,
abm               256 drivers/net/ethernet/netronome/nfp/abm/ctrl.c int nfp_abm_ctrl_qm_disable(struct nfp_abm *abm)
abm               258 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	return nfp_mbox_cmd(abm->app->pf, NFP_MBOX_PCIE_ABM_DISABLE,
abm               269 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	err = nfp_net_mbox_lock(nn, alink->abm->prio_map_len);
abm               275 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 		  alink->abm->prio_map_len);
abm               277 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	for (i = 0; i < alink->abm->prio_map_len; i += sizeof(u32))
abm               283 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 		nfp_err(alink->abm->app->cpp,
abm               290 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	struct nfp_abm *abm = alink->abm;
abm               294 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	if (!nfp_abm_has_prio(alink->abm))
abm               297 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	min_mbox_sz = NFP_NET_ABM_MBOX_DATA + alink->abm->prio_map_len;
abm               299 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 		nfp_err(abm->app->pf->cpp, "vNIC mailbox too small for prio offload: %u, need: %u\n",
abm               315 drivers/net/ethernet/netronome/nfp/abm/ctrl.c static unsigned int nfp_abm_ctrl_prio_map_size(struct nfp_abm *abm)
abm               319 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	size = roundup_pow_of_two(order_base_2(abm->num_bands));
abm               320 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	size = DIV_ROUND_UP(size * abm->num_prios, BITS_PER_BYTE);
abm               347 drivers/net/ethernet/netronome/nfp/abm/ctrl.c nfp_abm_ctrl_find_q_rtsym(struct nfp_abm *abm, const char *name_fmt,
abm               352 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	size = array3_size(size, abm->num_bands, NFP_NET_MAX_RX_RINGS);
abm               354 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 		 abm->pf_id, nfp_abm_has_prio(abm) ? "_per_band" : "");
abm               356 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	return nfp_abm_ctrl_find_rtsym(abm->app->pf, pf_symbol, size);
abm               359 drivers/net/ethernet/netronome/nfp/abm/ctrl.c int nfp_abm_ctrl_find_addrs(struct nfp_abm *abm)
abm               361 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	struct nfp_pf *pf = abm->app->pf;
abm               365 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	abm->pf_id = nfp_cppcore_pcie_unit(pf->cpp);
abm               371 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	abm->red_support = res;
abm               377 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	abm->num_bands = res;
abm               382 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	abm->num_prios = res;
abm               389 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	abm->action_mask = res;
abm               391 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	abm->prio_map_len = nfp_abm_ctrl_prio_map_size(abm);
abm               392 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	abm->dscp_mask = GENMASK(7, 8 - order_base_2(abm->num_prios));
abm               395 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	if (!is_power_of_2(abm->num_bands) || !is_power_of_2(abm->num_prios) ||
abm               396 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	    abm->num_bands > U16_MAX || abm->num_prios > U16_MAX ||
abm               397 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	    (abm->num_bands == 1) != (abm->num_prios == 1)) {
abm               400 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 			abm->num_bands, abm->num_prios);
abm               405 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	if (!abm->red_support)
abm               408 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	sym = nfp_abm_ctrl_find_q_rtsym(abm, NFP_QLVL_SYM_NAME,
abm               412 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	abm->q_lvls = sym;
abm               414 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	sym = nfp_abm_ctrl_find_q_rtsym(abm, NFP_QMSTAT_SYM_NAME,
abm               418 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	abm->qm_stats = sym;
abm               420 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 	if (nfp_abm_has_prio(abm)) {
abm               421 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 		sym = nfp_abm_ctrl_find_q_rtsym(abm, NFP_Q_STAT_SYM_NAME,
abm               425 drivers/net/ethernet/netronome/nfp/abm/ctrl.c 		abm->q_stats = sym;
abm               114 drivers/net/ethernet/netronome/nfp/abm/main.c 		port->pf_id = alink->abm->pf_id;
abm               167 drivers/net/ethernet/netronome/nfp/abm/main.c nfp_abm_kill_reprs(struct nfp_abm *abm, struct nfp_abm_link *alink)
abm               169 drivers/net/ethernet/netronome/nfp/abm/main.c 	nfp_abm_kill_repr(abm->app, alink, NFP_REPR_TYPE_PF);
abm               170 drivers/net/ethernet/netronome/nfp/abm/main.c 	nfp_abm_kill_repr(abm->app, alink, NFP_REPR_TYPE_PHYS_PORT);
abm               173 drivers/net/ethernet/netronome/nfp/abm/main.c static void nfp_abm_kill_reprs_all(struct nfp_abm *abm)
abm               175 drivers/net/ethernet/netronome/nfp/abm/main.c 	struct nfp_pf *pf = abm->app->pf;
abm               179 drivers/net/ethernet/netronome/nfp/abm/main.c 		nfp_abm_kill_reprs(abm, (struct nfp_abm_link *)nn->app_priv);
abm               184 drivers/net/ethernet/netronome/nfp/abm/main.c 	struct nfp_abm *abm = app->priv;
abm               186 drivers/net/ethernet/netronome/nfp/abm/main.c 	return abm->eswitch_mode;
abm               189 drivers/net/ethernet/netronome/nfp/abm/main.c static int nfp_abm_eswitch_set_legacy(struct nfp_abm *abm)
abm               191 drivers/net/ethernet/netronome/nfp/abm/main.c 	nfp_abm_kill_reprs_all(abm);
abm               192 drivers/net/ethernet/netronome/nfp/abm/main.c 	nfp_abm_ctrl_qm_disable(abm);
abm               194 drivers/net/ethernet/netronome/nfp/abm/main.c 	abm->eswitch_mode = DEVLINK_ESWITCH_MODE_LEGACY;
abm               198 drivers/net/ethernet/netronome/nfp/abm/main.c static void nfp_abm_eswitch_clean_up(struct nfp_abm *abm)
abm               200 drivers/net/ethernet/netronome/nfp/abm/main.c 	if (abm->eswitch_mode != DEVLINK_ESWITCH_MODE_LEGACY)
abm               201 drivers/net/ethernet/netronome/nfp/abm/main.c 		WARN_ON(nfp_abm_eswitch_set_legacy(abm));
abm               204 drivers/net/ethernet/netronome/nfp/abm/main.c static int nfp_abm_eswitch_set_switchdev(struct nfp_abm *abm)
abm               206 drivers/net/ethernet/netronome/nfp/abm/main.c 	struct nfp_app *app = abm->app;
abm               211 drivers/net/ethernet/netronome/nfp/abm/main.c 	if (!abm->red_support)
abm               214 drivers/net/ethernet/netronome/nfp/abm/main.c 	err = nfp_abm_ctrl_qm_enable(abm);
abm               230 drivers/net/ethernet/netronome/nfp/abm/main.c 	abm->eswitch_mode = DEVLINK_ESWITCH_MODE_SWITCHDEV;
abm               234 drivers/net/ethernet/netronome/nfp/abm/main.c 	nfp_abm_kill_reprs_all(abm);
abm               235 drivers/net/ethernet/netronome/nfp/abm/main.c 	nfp_abm_ctrl_qm_disable(abm);
abm               241 drivers/net/ethernet/netronome/nfp/abm/main.c 	struct nfp_abm *abm = app->priv;
abm               243 drivers/net/ethernet/netronome/nfp/abm/main.c 	if (abm->eswitch_mode == mode)
abm               248 drivers/net/ethernet/netronome/nfp/abm/main.c 		return nfp_abm_eswitch_set_legacy(abm);
abm               250 drivers/net/ethernet/netronome/nfp/abm/main.c 		return nfp_abm_eswitch_set_switchdev(abm);
abm               257 drivers/net/ethernet/netronome/nfp/abm/main.c nfp_abm_vnic_set_mac(struct nfp_pf *pf, struct nfp_abm *abm, struct nfp_net *nn,
abm               273 drivers/net/ethernet/netronome/nfp/abm/main.c 		 eth_port->eth_index, abm->pf_id);
abm               316 drivers/net/ethernet/netronome/nfp/abm/main.c 	struct nfp_abm *abm = app->priv;
abm               324 drivers/net/ethernet/netronome/nfp/abm/main.c 	alink->abm = abm;
abm               335 drivers/net/ethernet/netronome/nfp/abm/main.c 	alink->prio_map = kzalloc(abm->prio_map_len, GFP_KERNEL);
abm               350 drivers/net/ethernet/netronome/nfp/abm/main.c 	nfp_abm_vnic_set_mac(app->pf, abm, nn, id);
abm               366 drivers/net/ethernet/netronome/nfp/abm/main.c 	nfp_abm_kill_reprs(alink->abm, alink);
abm               376 drivers/net/ethernet/netronome/nfp/abm/main.c 	if (nfp_abm_has_prio(alink->abm))
abm               428 drivers/net/ethernet/netronome/nfp/abm/main.c static int nfp_abm_fw_init_reset(struct nfp_abm *abm)
abm               432 drivers/net/ethernet/netronome/nfp/abm/main.c 	if (!abm->red_support)
abm               435 drivers/net/ethernet/netronome/nfp/abm/main.c 	for (i = 0; i < abm->num_bands * NFP_NET_MAX_RX_RINGS; i++) {
abm               436 drivers/net/ethernet/netronome/nfp/abm/main.c 		__nfp_abm_ctrl_set_q_lvl(abm, i, NFP_ABM_LVL_INFINITY);
abm               437 drivers/net/ethernet/netronome/nfp/abm/main.c 		__nfp_abm_ctrl_set_q_act(abm, i, NFP_ABM_ACT_DROP);
abm               440 drivers/net/ethernet/netronome/nfp/abm/main.c 	return nfp_abm_ctrl_qm_disable(abm);
abm               447 drivers/net/ethernet/netronome/nfp/abm/main.c 	struct nfp_abm *abm;
abm               464 drivers/net/ethernet/netronome/nfp/abm/main.c 	abm = kzalloc(sizeof(*abm), GFP_KERNEL);
abm               465 drivers/net/ethernet/netronome/nfp/abm/main.c 	if (!abm)
abm               467 drivers/net/ethernet/netronome/nfp/abm/main.c 	app->priv = abm;
abm               468 drivers/net/ethernet/netronome/nfp/abm/main.c 	abm->app = app;
abm               470 drivers/net/ethernet/netronome/nfp/abm/main.c 	err = nfp_abm_ctrl_find_addrs(abm);
abm               475 drivers/net/ethernet/netronome/nfp/abm/main.c 	abm->num_thresholds = array_size(abm->num_bands, NFP_NET_MAX_RX_RINGS);
abm               476 drivers/net/ethernet/netronome/nfp/abm/main.c 	abm->threshold_undef = bitmap_zalloc(abm->num_thresholds, GFP_KERNEL);
abm               477 drivers/net/ethernet/netronome/nfp/abm/main.c 	if (!abm->threshold_undef)
abm               480 drivers/net/ethernet/netronome/nfp/abm/main.c 	abm->thresholds = kvcalloc(abm->num_thresholds,
abm               481 drivers/net/ethernet/netronome/nfp/abm/main.c 				   sizeof(*abm->thresholds), GFP_KERNEL);
abm               482 drivers/net/ethernet/netronome/nfp/abm/main.c 	if (!abm->thresholds)
abm               485 drivers/net/ethernet/netronome/nfp/abm/main.c 	abm->actions = kvcalloc(abm->num_thresholds, sizeof(*abm->actions),
abm               487 drivers/net/ethernet/netronome/nfp/abm/main.c 	if (!abm->actions)
abm               491 drivers/net/ethernet/netronome/nfp/abm/main.c 	err = nfp_abm_fw_init_reset(abm);
abm               511 drivers/net/ethernet/netronome/nfp/abm/main.c 	kvfree(abm->actions);
abm               513 drivers/net/ethernet/netronome/nfp/abm/main.c 	kvfree(abm->thresholds);
abm               515 drivers/net/ethernet/netronome/nfp/abm/main.c 	bitmap_free(abm->threshold_undef);
abm               517 drivers/net/ethernet/netronome/nfp/abm/main.c 	kfree(abm);
abm               524 drivers/net/ethernet/netronome/nfp/abm/main.c 	struct nfp_abm *abm = app->priv;
abm               526 drivers/net/ethernet/netronome/nfp/abm/main.c 	nfp_abm_eswitch_clean_up(abm);
abm               529 drivers/net/ethernet/netronome/nfp/abm/main.c 	bitmap_free(abm->threshold_undef);
abm               530 drivers/net/ethernet/netronome/nfp/abm/main.c 	kvfree(abm->actions);
abm               531 drivers/net/ethernet/netronome/nfp/abm/main.c 	kvfree(abm->thresholds);
abm               532 drivers/net/ethernet/netronome/nfp/abm/main.c 	kfree(abm);
abm               207 drivers/net/ethernet/netronome/nfp/abm/main.h 	struct nfp_abm *abm;
abm               225 drivers/net/ethernet/netronome/nfp/abm/main.h static inline bool nfp_abm_has_prio(struct nfp_abm *abm)
abm               227 drivers/net/ethernet/netronome/nfp/abm/main.h 	return abm->num_bands > 1;
abm               230 drivers/net/ethernet/netronome/nfp/abm/main.h static inline bool nfp_abm_has_drop(struct nfp_abm *abm)
abm               232 drivers/net/ethernet/netronome/nfp/abm/main.h 	return abm->action_mask & BIT(NFP_ABM_ACT_DROP);
abm               235 drivers/net/ethernet/netronome/nfp/abm/main.h static inline bool nfp_abm_has_mark(struct nfp_abm *abm)
abm               237 drivers/net/ethernet/netronome/nfp/abm/main.h 	return abm->action_mask & BIT(NFP_ABM_ACT_MARK_DROP);
abm               253 drivers/net/ethernet/netronome/nfp/abm/main.h int nfp_abm_ctrl_find_addrs(struct nfp_abm *abm);
abm               254 drivers/net/ethernet/netronome/nfp/abm/main.h int __nfp_abm_ctrl_set_q_lvl(struct nfp_abm *abm, unsigned int id, u32 val);
abm               257 drivers/net/ethernet/netronome/nfp/abm/main.h int __nfp_abm_ctrl_set_q_act(struct nfp_abm *abm, unsigned int id,
abm               269 drivers/net/ethernet/netronome/nfp/abm/main.h int nfp_abm_ctrl_qm_enable(struct nfp_abm *abm);
abm               270 drivers/net/ethernet/netronome/nfp/abm/main.h int nfp_abm_ctrl_qm_disable(struct nfp_abm *abm);
abm               271 drivers/net/ethernet/netronome/nfp/abm/main.h void nfp_abm_prio_map_update(struct nfp_abm *abm);
abm                48 drivers/net/ethernet/netronome/nfp/abm/qdisc.c 	struct nfp_cpp *cpp = alink->abm->app->cpp;
abm               125 drivers/net/ethernet/netronome/nfp/abm/qdisc.c 		nfp_warn(alink->abm->app->cpp, "Offload of '%08x' stopped\n",
abm               153 drivers/net/ethernet/netronome/nfp/abm/qdisc.c 		nfp_err(alink->abm->app->cpp,
abm               161 drivers/net/ethernet/netronome/nfp/abm/qdisc.c 		nfp_err(alink->abm->app->cpp,
abm               215 drivers/net/ethernet/netronome/nfp/abm/qdisc.c 	for (i = 0; i < alink->abm->num_bands; i++) {
abm               247 drivers/net/ethernet/netronome/nfp/abm/qdisc.c 	struct nfp_abm *abm = alink->abm;
abm               254 drivers/net/ethernet/netronome/nfp/abm/qdisc.c 	for (i = 0; i < abm->num_bands; i++)
abm               255 drivers/net/ethernet/netronome/nfp/abm/qdisc.c 		__bitmap_set(abm->threshold_undef,
abm               277 drivers/net/ethernet/netronome/nfp/abm/qdisc.c 	for (i = 0; i < abm->num_thresholds; i++)
abm               278 drivers/net/ethernet/netronome/nfp/abm/qdisc.c 		if (test_bit(i, abm->threshold_undef))
abm               279 drivers/net/ethernet/netronome/nfp/abm/qdisc.c 			__nfp_abm_ctrl_set_q_lvl(abm, i, NFP_ABM_LVL_INFINITY);
abm               365 drivers/net/ethernet/netronome/nfp/abm/qdisc.c 		nfp_err(alink->abm->app->cpp,
abm               519 drivers/net/ethernet/netronome/nfp/abm/qdisc.c 	struct nfp_cpp *cpp = alink->abm->app->cpp;
abm               520 drivers/net/ethernet/netronome/nfp/abm/qdisc.c 	struct nfp_abm *abm = alink->abm;
abm               533 drivers/net/ethernet/netronome/nfp/abm/qdisc.c 	if (opt->set.dp_cnt != abm->num_bands) {
abm               535 drivers/net/ethernet/netronome/nfp/abm/qdisc.c 			 abm->num_bands, opt->parent, opt->handle);
abm               539 drivers/net/ethernet/netronome/nfp/abm/qdisc.c 	for (i = 0; i < abm->num_bands; i++) {
abm               544 drivers/net/ethernet/netronome/nfp/abm/qdisc.c 		if (!band->is_ecn && !nfp_abm_has_drop(abm)) {
abm               549 drivers/net/ethernet/netronome/nfp/abm/qdisc.c 		if (band->is_ecn && !nfp_abm_has_mark(abm)) {
abm               664 drivers/net/ethernet/netronome/nfp/abm/qdisc.c 	struct nfp_cpp *cpp = alink->abm->app->cpp;
abm               665 drivers/net/ethernet/netronome/nfp/abm/qdisc.c 	struct nfp_abm *abm = alink->abm;
abm               667 drivers/net/ethernet/netronome/nfp/abm/qdisc.c 	if (!opt->set.is_ecn && !nfp_abm_has_drop(abm)) {
abm               672 drivers/net/ethernet/netronome/nfp/abm/qdisc.c 	if (opt->set.is_ecn && !nfp_abm_has_mark(abm)) {