drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
1252
struct abm *abm = adev->dm.dc->res_pool->abm;
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
1390
if (dmcu && abm) {
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
1392
abm->dmcu_is_running = dmcu->funcs->is_dmcu_initialized(dmcu);
drivers/gpu/drm/amd/display/dc/core/dc.c
3817
if (stream_update->abm_level && pipe_ctx->stream_res.abm) {
drivers/gpu/drm/amd/display/dc/core/dc.c
3829
pipe_ctx->stream_res.abm->funcs->set_abm_level(
drivers/gpu/drm/amd/display/dc/core/dc.c
3830
pipe_ctx->stream_res.abm, stream->abm_level);
drivers/gpu/drm/amd/display/dc/core/dc.c
6369
if (pipe->stream_res.abm && pipe->stream_res.abm->funcs->set_abm_pause)
drivers/gpu/drm/amd/display/dc/core/dc.c
6370
pipe->stream_res.abm->funcs->set_abm_pause(pipe->stream_res.abm, !enable, i, pipe->stream_res.tg->inst);
drivers/gpu/drm/amd/display/dc/core/dc.c
6418
if (pipe->stream_res.abm &&
drivers/gpu/drm/amd/display/dc/core/dc.c
6419
pipe->stream_res.abm->funcs->save_restore)
drivers/gpu/drm/amd/display/dc/core/dc.c
6420
return pipe->stream_res.abm->funcs->save_restore(
drivers/gpu/drm/amd/display/dc/core/dc.c
6421
pipe->stream_res.abm,
drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c
1879
struct abm *abm,
drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c
1883
seq_state->steps[*seq_state->num_steps].params.set_abm_level_params.abm = abm;
drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c
2499
struct abm *abm = params->set_abm_level_params.abm;
drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c
2502
if (abm->funcs->set_abm_level)
drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c
2503
abm->funcs->set_abm_level(abm, abm_level);
drivers/gpu/drm/amd/display/dc/core/dc_resource.c
4061
if (pool->abm)
drivers/gpu/drm/amd/display/dc/core/dc_resource.c
4062
pipe_ctx->stream_res.abm = pool->abm;
drivers/gpu/drm/amd/display/dc/core/dc_resource.c
4064
pipe_ctx->stream_res.abm = pool->multiple_abms[pipe_ctx->stream_res.tg->inst];
drivers/gpu/drm/amd/display/dc/dce/dce_abm.c
138
static void dce_abm_init(struct abm *abm, uint32_t backlight, uint32_t user_level)
drivers/gpu/drm/amd/display/dc/dce/dce_abm.c
140
struct dce_abm *abm_dce = TO_DCE_ABM(abm);
drivers/gpu/drm/amd/display/dc/dce/dce_abm.c
177
static unsigned int dce_abm_get_current_backlight(struct abm *abm)
drivers/gpu/drm/amd/display/dc/dce/dce_abm.c
179
struct dce_abm *abm_dce = TO_DCE_ABM(abm);
drivers/gpu/drm/amd/display/dc/dce/dce_abm.c
188
static unsigned int dce_abm_get_target_backlight(struct abm *abm)
drivers/gpu/drm/amd/display/dc/dce/dce_abm.c
190
struct dce_abm *abm_dce = TO_DCE_ABM(abm);
drivers/gpu/drm/amd/display/dc/dce/dce_abm.c
199
static bool dce_abm_set_level(struct abm *abm, uint32_t level)
drivers/gpu/drm/amd/display/dc/dce/dce_abm.c
201
struct dce_abm *abm_dce = TO_DCE_ABM(abm);
drivers/gpu/drm/amd/display/dc/dce/dce_abm.c
203
if (abm->dmcu_is_running == false)
drivers/gpu/drm/amd/display/dc/dce/dce_abm.c
220
static bool dce_abm_immediate_disable(struct abm *abm, uint32_t panel_inst)
drivers/gpu/drm/amd/display/dc/dce/dce_abm.c
222
if (abm->dmcu_is_running == false)
drivers/gpu/drm/amd/display/dc/dce/dce_abm.c
225
dce_abm_set_pipe(abm, MCP_DISABLE_ABM_IMMEDIATELY, panel_inst);
drivers/gpu/drm/amd/display/dc/dce/dce_abm.c
231
struct abm *abm,
drivers/gpu/drm/amd/display/dc/dce/dce_abm.c
237
struct dce_abm *abm_dce = TO_DCE_ABM(abm);
drivers/gpu/drm/amd/display/dc/dce/dce_abm.c
269
struct abm *base = &abm_dce->base;
drivers/gpu/drm/amd/display/dc/dce/dce_abm.c
280
struct abm *dce_abm_create(
drivers/gpu/drm/amd/display/dc/dce/dce_abm.c
300
void dce_abm_destroy(struct abm **abm)
drivers/gpu/drm/amd/display/dc/dce/dce_abm.c
302
struct dce_abm *abm_dce = TO_DCE_ABM(*abm);
drivers/gpu/drm/amd/display/dc/dce/dce_abm.c
305
*abm = NULL;
drivers/gpu/drm/amd/display/dc/dce/dce_abm.c
37
#define TO_DCE_ABM(abm)\
drivers/gpu/drm/amd/display/dc/dce/dce_abm.c
38
container_of(abm, struct dce_abm, base)
drivers/gpu/drm/amd/display/dc/dce/dce_abm.c
48
abm->ctx->logger
drivers/gpu/drm/amd/display/dc/dce/dce_abm.c
58
static bool dce_abm_set_pipe(struct abm *abm, uint32_t controller_id, uint32_t panel_inst)
drivers/gpu/drm/amd/display/dc/dce/dce_abm.c
60
struct dce_abm *abm_dce = TO_DCE_ABM(abm);
drivers/gpu/drm/amd/display/dc/dce/dce_abm.c
63
if (abm->dmcu_is_running == false)
drivers/gpu/drm/amd/display/dc/dce/dce_abm.h
378
struct abm base;
drivers/gpu/drm/amd/display/dc/dce/dce_abm.h
384
struct abm *dce_abm_create(
drivers/gpu/drm/amd/display/dc/dce/dce_abm.h
390
void dce_abm_destroy(struct abm **abm);
drivers/gpu/drm/amd/display/dc/dce/dmub_abm.c
100
static bool dmub_abm_init_config_ex(struct abm *abm,
drivers/gpu/drm/amd/display/dc/dce/dmub_abm.c
107
feature_support = abm_feature_support(abm, inst);
drivers/gpu/drm/amd/display/dc/dce/dmub_abm.c
110
dmub_abm_init_config(abm, src, bytes, inst);
drivers/gpu/drm/amd/display/dc/dce/dmub_abm.c
115
static bool dmub_abm_set_pause_ex(struct abm *abm, bool pause, unsigned int panel_inst, unsigned int stream_inst)
drivers/gpu/drm/amd/display/dc/dce/dmub_abm.c
120
feature_support = abm_feature_support(abm, panel_inst);
drivers/gpu/drm/amd/display/dc/dce/dmub_abm.c
123
ret = dmub_abm_set_pause(abm, pause, panel_inst, stream_inst);
drivers/gpu/drm/amd/display/dc/dce/dmub_abm.c
138
struct abm *abm,
drivers/gpu/drm/amd/display/dc/dce/dmub_abm.c
144
struct dc_context *dc = abm->ctx;
drivers/gpu/drm/amd/display/dc/dce/dmub_abm.c
146
feature_support = abm_feature_support(abm, panel_inst);
drivers/gpu/drm/amd/display/dc/dce/dmub_abm.c
154
static bool dmub_abm_set_pipe_ex(struct abm *abm,
drivers/gpu/drm/amd/display/dc/dce/dmub_abm.c
163
feature_support = abm_feature_support(abm, panel_inst);
drivers/gpu/drm/amd/display/dc/dce/dmub_abm.c
166
ret = dmub_abm_set_pipe(abm, otg_inst, option, panel_inst, pwrseq_inst);
drivers/gpu/drm/amd/display/dc/dce/dmub_abm.c
171
static bool dmub_abm_set_backlight_level_pwm_ex(struct abm *abm,
drivers/gpu/drm/amd/display/dc/dce/dmub_abm.c
180
feature_support = abm_feature_support(abm, panel_inst);
drivers/gpu/drm/amd/display/dc/dce/dmub_abm.c
183
ret = dmub_abm_set_backlight_level(abm, backlight_pwm_u16_16, frame_ramp, panel_inst);
drivers/gpu/drm/amd/display/dc/dce/dmub_abm.c
207
struct abm *base = &abm_dce->base;
drivers/gpu/drm/amd/display/dc/dce/dmub_abm.c
218
struct abm *dmub_abm_create(
drivers/gpu/drm/amd/display/dc/dce/dmub_abm.c
239
void dmub_abm_destroy(struct abm **abm)
drivers/gpu/drm/amd/display/dc/dce/dmub_abm.c
241
struct dce_abm *abm_dce = TO_DMUB_ABM(*abm);
drivers/gpu/drm/amd/display/dc/dce/dmub_abm.c
244
*abm = NULL;
drivers/gpu/drm/amd/display/dc/dce/dmub_abm.c
34
#define TO_DMUB_ABM(abm)\
drivers/gpu/drm/amd/display/dc/dce/dmub_abm.c
35
container_of(abm, struct dce_abm, base)
drivers/gpu/drm/amd/display/dc/dce/dmub_abm.c
40
static unsigned int abm_feature_support(struct abm *abm, unsigned int panel_inst)
drivers/gpu/drm/amd/display/dc/dce/dmub_abm.c
42
struct dc_context *dc = abm->ctx;
drivers/gpu/drm/amd/display/dc/dce/dmub_abm.c
62
static void dmub_abm_init_ex(struct abm *abm, uint32_t backlight, uint32_t user_level)
drivers/gpu/drm/amd/display/dc/dce/dmub_abm.c
64
dmub_abm_init(abm, backlight, user_level);
drivers/gpu/drm/amd/display/dc/dce/dmub_abm.c
67
static unsigned int dmub_abm_get_current_backlight_ex(struct abm *abm)
drivers/gpu/drm/amd/display/dc/dce/dmub_abm.c
69
dc_allow_idle_optimizations(abm->ctx->dc, false);
drivers/gpu/drm/amd/display/dc/dce/dmub_abm.c
71
return dmub_abm_get_current_backlight(abm);
drivers/gpu/drm/amd/display/dc/dce/dmub_abm.c
74
static unsigned int dmub_abm_get_target_backlight_ex(struct abm *abm)
drivers/gpu/drm/amd/display/dc/dce/dmub_abm.c
76
dc_allow_idle_optimizations(abm->ctx->dc, false);
drivers/gpu/drm/amd/display/dc/dce/dmub_abm.c
78
return dmub_abm_get_target_backlight(abm);
drivers/gpu/drm/amd/display/dc/dce/dmub_abm.c
81
static bool dmub_abm_set_level_ex(struct abm *abm, uint32_t level)
drivers/gpu/drm/amd/display/dc/dce/dmub_abm.c
88
feature_support = abm_feature_support(abm, i);
drivers/gpu/drm/amd/display/dc/dce/dmub_abm.c
95
ret = dmub_abm_set_level(abm, level, panel_mask0);
drivers/gpu/drm/amd/display/dc/dce/dmub_abm.h
32
struct abm *dmub_abm_create(
drivers/gpu/drm/amd/display/dc/dce/dmub_abm.h
38
void dmub_abm_destroy(struct abm **abm);
drivers/gpu/drm/amd/display/dc/dce/dmub_abm_lcd.c
116
dmub_abm_enable_fractional_pwm(abm->ctx);
drivers/gpu/drm/amd/display/dc/dce/dmub_abm_lcd.c
119
unsigned int dmub_abm_get_current_backlight(struct abm *abm)
drivers/gpu/drm/amd/display/dc/dce/dmub_abm_lcd.c
121
struct dce_abm *dce_abm = TO_DMUB_ABM(abm);
drivers/gpu/drm/amd/display/dc/dce/dmub_abm_lcd.c
130
unsigned int dmub_abm_get_target_backlight(struct abm *abm)
drivers/gpu/drm/amd/display/dc/dce/dmub_abm_lcd.c
132
struct dce_abm *dce_abm = TO_DMUB_ABM(abm);
drivers/gpu/drm/amd/display/dc/dce/dmub_abm_lcd.c
141
bool dmub_abm_set_level(struct abm *abm, uint32_t level, uint8_t panel_mask)
drivers/gpu/drm/amd/display/dc/dce/dmub_abm_lcd.c
144
struct dc_context *dc = abm->ctx;
drivers/gpu/drm/amd/display/dc/dce/dmub_abm_lcd.c
159
void dmub_abm_init_config(struct abm *abm,
drivers/gpu/drm/amd/display/dc/dce/dmub_abm_lcd.c
165
struct dc_context *dc = abm->ctx;
drivers/gpu/drm/amd/display/dc/dce/dmub_abm_lcd.c
189
bool dmub_abm_set_pause(struct abm *abm, bool pause, unsigned int panel_inst, unsigned int stream_inst)
drivers/gpu/drm/amd/display/dc/dce/dmub_abm_lcd.c
192
struct dc_context *dc = abm->ctx;
drivers/gpu/drm/amd/display/dc/dce/dmub_abm_lcd.c
254
bool dmub_abm_set_pipe(struct abm *abm,
drivers/gpu/drm/amd/display/dc/dce/dmub_abm_lcd.c
261
struct dc_context *dc = abm->ctx;
drivers/gpu/drm/amd/display/dc/dce/dmub_abm_lcd.c
279
bool dmub_abm_set_backlight_level(struct abm *abm,
drivers/gpu/drm/amd/display/dc/dce/dmub_abm_lcd.c
285
struct dc_context *dc = abm->ctx;
drivers/gpu/drm/amd/display/dc/dce/dmub_abm_lcd.c
301
bool dmub_abm_set_event(struct abm *abm, unsigned int scaling_enable, unsigned int scaling_strength_map,
drivers/gpu/drm/amd/display/dc/dce/dmub_abm_lcd.c
305
struct dc_context *dc = abm->ctx;
drivers/gpu/drm/amd/display/dc/dce/dmub_abm_lcd.c
39
#define TO_DMUB_ABM(abm)\
drivers/gpu/drm/amd/display/dc/dce/dmub_abm_lcd.c
40
container_of(abm, struct dce_abm, base)
drivers/gpu/drm/amd/display/dc/dce/dmub_abm_lcd.c
78
void dmub_abm_init(struct abm *abm, uint32_t backlight, uint32_t user_level)
drivers/gpu/drm/amd/display/dc/dce/dmub_abm_lcd.c
80
struct dce_abm *dce_abm = TO_DMUB_ABM(abm);
drivers/gpu/drm/amd/display/dc/dce/dmub_abm_lcd.h
33
void dmub_abm_init(struct abm *abm, uint32_t backlight, uint32_t user_level);
drivers/gpu/drm/amd/display/dc/dce/dmub_abm_lcd.h
34
bool dmub_abm_set_level(struct abm *abm, uint32_t level, uint8_t panel_mask);
drivers/gpu/drm/amd/display/dc/dce/dmub_abm_lcd.h
35
unsigned int dmub_abm_get_current_backlight(struct abm *abm);
drivers/gpu/drm/amd/display/dc/dce/dmub_abm_lcd.h
36
unsigned int dmub_abm_get_target_backlight(struct abm *abm);
drivers/gpu/drm/amd/display/dc/dce/dmub_abm_lcd.h
37
void dmub_abm_init_config(struct abm *abm,
drivers/gpu/drm/amd/display/dc/dce/dmub_abm_lcd.h
42
bool dmub_abm_set_pause(struct abm *abm, bool pause, unsigned int panel_inst, unsigned int stream_inst);
drivers/gpu/drm/amd/display/dc/dce/dmub_abm_lcd.h
47
bool dmub_abm_set_pipe(struct abm *abm, uint32_t otg_inst, uint32_t option, uint32_t panel_inst, uint32_t pwrseq_inst);
drivers/gpu/drm/amd/display/dc/dce/dmub_abm_lcd.h
48
bool dmub_abm_set_backlight_level(struct abm *abm,
drivers/gpu/drm/amd/display/dc/dce/dmub_abm_lcd.h
52
bool dmub_abm_set_event(struct abm *abm, unsigned int scaling_enable, unsigned int scaling_strength_map,
drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
2807
struct abm *abm;
drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
2867
abm = dc->res_pool->abm;
drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
2868
if (abm != NULL)
drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
2869
abm->funcs->abm_init(abm, backlight, user_level);
drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
2872
if (dmcu != NULL && abm != NULL)
drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
2873
abm->dmcu_is_running = dmcu->funcs->is_dmcu_initialized(dmcu);
drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
3185
struct abm *abm = pipe_ctx->stream_res.abm;
drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
3194
if (abm == NULL || panel_cntl == NULL || (abm->funcs->set_backlight_level_pwm == NULL))
drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
3203
abm->funcs->set_backlight_level_pwm(
drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
3204
abm,
drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
3215
struct abm *abm = pipe_ctx->stream_res.abm;
drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
3218
if (abm)
drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
3219
abm->funcs->set_abm_immediate_disable(abm,
drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
3228
struct abm *abm = pipe_ctx->stream_res.abm;
drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
3232
if (abm && panel_cntl)
drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
3233
abm->funcs->set_pipe(abm, otg_inst, panel_cntl->inst);
drivers/gpu/drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c
1327
if (pipe_ctx->stream_res.abm)
drivers/gpu/drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c
1763
struct abm *abm = dc->res_pool->abm;
drivers/gpu/drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c
1873
if (abm != NULL)
drivers/gpu/drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c
1874
abm->funcs->abm_init(abm, backlight, user_level);
drivers/gpu/drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c
1880
if (abm != NULL && dmcu != NULL)
drivers/gpu/drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c
1881
abm->dmcu_is_running = dmcu->funcs->is_dmcu_initialized(dmcu);
drivers/gpu/drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c
3173
if (stream_res->abm) {
drivers/gpu/drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c
3175
stream_res->abm->funcs->set_abm_level(stream_res->abm, stream->abm_level);
drivers/gpu/drm/amd/display/dc/hwss/dcn20/dcn20_hwseq.c
1258
if (stream_res->abm) {
drivers/gpu/drm/amd/display/dc/hwss/dcn20/dcn20_hwseq.c
1260
stream_res->abm->funcs->set_abm_level(stream_res->abm, stream->abm_level);
drivers/gpu/drm/amd/display/dc/hwss/dcn20/dcn20_hwseq.c
2007
if (pipe_ctx->stream_res.abm) {
drivers/gpu/drm/amd/display/dc/hwss/dcn20/dcn20_hwseq.c
2009
pipe_ctx->stream_res.abm->funcs->set_abm_level(pipe_ctx->stream_res.abm,
drivers/gpu/drm/amd/display/dc/hwss/dcn21/dcn21_hwseq.c
139
bool dcn21_dmub_abm_set_pipe(struct abm *abm, uint32_t otg_inst,
drivers/gpu/drm/amd/display/dc/hwss/dcn21/dcn21_hwseq.c
143
struct dc_context *dc = abm->ctx;
drivers/gpu/drm/amd/display/dc/hwss/dcn21/dcn21_hwseq.c
180
struct abm *abm = pipe_ctx->stream_res.abm;
drivers/gpu/drm/amd/display/dc/hwss/dcn21/dcn21_hwseq.c
196
if (abm && panel_cntl) {
drivers/gpu/drm/amd/display/dc/hwss/dcn21/dcn21_hwseq.c
197
if (abm->funcs && abm->funcs->set_pipe_ex) {
drivers/gpu/drm/amd/display/dc/hwss/dcn21/dcn21_hwseq.c
198
abm->funcs->set_pipe_ex(abm, otg_inst, SET_ABM_PIPE_IMMEDIATELY_DISABLE,
drivers/gpu/drm/amd/display/dc/hwss/dcn21/dcn21_hwseq.c
201
dcn21_dmub_abm_set_pipe(abm,
drivers/gpu/drm/amd/display/dc/hwss/dcn21/dcn21_hwseq.c
213
struct abm *abm = pipe_ctx->stream_res.abm;
drivers/gpu/drm/amd/display/dc/hwss/dcn21/dcn21_hwseq.c
219
if (!abm || !tg || !panel_cntl)
drivers/gpu/drm/amd/display/dc/hwss/dcn21/dcn21_hwseq.c
229
if (abm->funcs && abm->funcs->set_pipe_ex) {
drivers/gpu/drm/amd/display/dc/hwss/dcn21/dcn21_hwseq.c
230
abm->funcs->set_pipe_ex(abm,
drivers/gpu/drm/amd/display/dc/hwss/dcn21/dcn21_hwseq.c
236
dcn21_dmub_abm_set_pipe(abm, otg_inst,
drivers/gpu/drm/amd/display/dc/hwss/dcn21/dcn21_hwseq.c
247
struct abm *abm = pipe_ctx->stream_res.abm;
drivers/gpu/drm/amd/display/dc/hwss/dcn21/dcn21_hwseq.c
254
if (!abm || !tg || !panel_cntl)
drivers/gpu/drm/amd/display/dc/hwss/dcn21/dcn21_hwseq.c
264
if (abm->funcs && abm->funcs->set_pipe_ex) {
drivers/gpu/drm/amd/display/dc/hwss/dcn21/dcn21_hwseq.c
265
abm->funcs->set_pipe_ex(abm,
drivers/gpu/drm/amd/display/dc/hwss/dcn21/dcn21_hwseq.c
271
dcn21_dmub_abm_set_pipe(abm,
drivers/gpu/drm/amd/display/dc/hwss/dcn21/dcn21_hwseq.c
278
if (abm->funcs && abm->funcs->set_backlight_level_pwm)
drivers/gpu/drm/amd/display/dc/hwss/dcn21/dcn21_hwseq.c
279
abm->funcs->set_backlight_level_pwm(abm, backlight_pwm_u16_16,
drivers/gpu/drm/amd/display/dc/hwss/dcn21/dcn21_hwseq.h
50
bool dcn21_dmub_abm_set_pipe(struct abm *abm, uint32_t otg_inst,
drivers/gpu/drm/amd/display/dc/hwss/dcn30/dcn30_hwseq.c
643
struct abm **abms = dc->res_pool->multiple_abms;
drivers/gpu/drm/amd/display/dc/hwss/dcn31/dcn31_hwseq.c
113
struct abm **abms = dc->res_pool->multiple_abms;
drivers/gpu/drm/amd/display/dc/hwss/dcn31/dcn31_hwseq.c
709
struct abm *abm = pipe_ctx->stream_res.abm;
drivers/gpu/drm/amd/display/dc/hwss/dcn31/dcn31_hwseq.c
714
if (!abm || !tg || !panel_cntl)
drivers/gpu/drm/amd/display/dc/hwss/dcn31/dcn31_hwseq.c
719
dcn21_dmub_abm_set_pipe(abm,
drivers/gpu/drm/amd/display/dc/hwss/dcn32/dcn32_hwseq.c
787
struct abm **abms = dc->res_pool->multiple_abms;
drivers/gpu/drm/amd/display/dc/hwss/dcn35/dcn35_hwseq.c
142
struct abm **abms = dc->res_pool->multiple_abms;
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
142
struct abm **abms = dc->res_pool->multiple_abms;
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
2225
if (pipe_ctx->stream_res.abm) {
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
2227
pipe_ctx->stream_res.abm->funcs->set_abm_level(pipe_ctx->stream_res.abm,
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
2375
if (pipe_ctx->stream_res.abm) {
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
2378
hwss_add_abm_set_level(seq_state, pipe_ctx->stream_res.abm, pipe_ctx->stream->abm_level);
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
3192
if (stream_res->abm) {
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c
3197
hwss_add_abm_set_level(seq_state, stream_res->abm, stream->abm_level);
drivers/gpu/drm/amd/display/dc/hwss/hw_sequencer.h
1712
struct abm *abm, uint32_t abm_level);
drivers/gpu/drm/amd/display/dc/hwss/hw_sequencer.h
370
struct abm *abm;
drivers/gpu/drm/amd/display/dc/inc/core_types.h
320
struct abm *abm;
drivers/gpu/drm/amd/display/dc/inc/core_types.h
325
struct abm *multiple_abms[MAX_PIPES];
drivers/gpu/drm/amd/display/dc/inc/core_types.h
359
struct abm *abm;
drivers/gpu/drm/amd/display/dc/inc/hw/abm.h
39
void (*abm_init)(struct abm *abm, uint32_t back_light, uint32_t user_level);
drivers/gpu/drm/amd/display/dc/inc/hw/abm.h
40
bool (*set_abm_level)(struct abm *abm, unsigned int abm_level);
drivers/gpu/drm/amd/display/dc/inc/hw/abm.h
41
bool (*set_abm_immediate_disable)(struct abm *abm, unsigned int panel_inst);
drivers/gpu/drm/amd/display/dc/inc/hw/abm.h
42
bool (*set_pipe)(struct abm *abm, unsigned int controller_id, unsigned int panel_inst);
drivers/gpu/drm/amd/display/dc/inc/hw/abm.h
47
bool (*set_backlight_level_pwm)(struct abm *abm,
drivers/gpu/drm/amd/display/dc/inc/hw/abm.h
53
unsigned int (*get_current_backlight)(struct abm *abm);
drivers/gpu/drm/amd/display/dc/inc/hw/abm.h
54
unsigned int (*get_target_backlight)(struct abm *abm);
drivers/gpu/drm/amd/display/dc/inc/hw/abm.h
55
bool (*init_abm_config)(struct abm *abm,
drivers/gpu/drm/amd/display/dc/inc/hw/abm.h
59
bool (*set_abm_pause)(struct abm *abm, bool pause, unsigned int panel_inst, unsigned int otg_inst);
drivers/gpu/drm/amd/display/dc/inc/hw/abm.h
61
struct abm *abm,
drivers/gpu/drm/amd/display/dc/inc/hw/abm.h
64
bool (*set_pipe_ex)(struct abm *abm,
drivers/gpu/drm/amd/display/dc/link/protocols/link_edp_panel_control.c
1189
static struct abm *get_abm_from_stream_res(const struct dc_link *link)
drivers/gpu/drm/amd/display/dc/link/protocols/link_edp_panel_control.c
1193
struct abm *abm = NULL;
drivers/gpu/drm/amd/display/dc/link/protocols/link_edp_panel_control.c
1200
abm = pipe_ctx->stream_res.abm;
drivers/gpu/drm/amd/display/dc/link/protocols/link_edp_panel_control.c
1204
return abm;
drivers/gpu/drm/amd/display/dc/link/protocols/link_edp_panel_control.c
1209
struct abm *abm = get_abm_from_stream_res(link);
drivers/gpu/drm/amd/display/dc/link/protocols/link_edp_panel_control.c
1220
else if (abm != NULL && abm->funcs->get_current_backlight != NULL)
drivers/gpu/drm/amd/display/dc/link/protocols/link_edp_panel_control.c
1221
return (int) abm->funcs->get_current_backlight(abm);
drivers/gpu/drm/amd/display/dc/link/protocols/link_edp_panel_control.c
1228
struct abm *abm = get_abm_from_stream_res(link);
drivers/gpu/drm/amd/display/dc/link/protocols/link_edp_panel_control.c
1230
if (abm == NULL || abm->funcs->get_target_backlight == NULL)
drivers/gpu/drm/amd/display/dc/link/protocols/link_edp_panel_control.c
1233
return (int) abm->funcs->get_target_backlight(abm);
drivers/gpu/drm/amd/display/dc/resource/dce100/dce100_resource.c
1093
pool->base.abm = dce_abm_create(ctx,
drivers/gpu/drm/amd/display/dc/resource/dce100/dce100_resource.c
1097
if (pool->base.abm == NULL) {
drivers/gpu/drm/amd/display/dc/resource/dce100/dce100_resource.c
837
if (pool->base.abm != NULL)
drivers/gpu/drm/amd/display/dc/resource/dce100/dce100_resource.c
838
dce_abm_destroy(&pool->base.abm);
drivers/gpu/drm/amd/display/dc/resource/dce110/dce110_resource.c
1429
pool->base.abm = dce_abm_create(ctx,
drivers/gpu/drm/amd/display/dc/resource/dce110/dce110_resource.c
1433
if (pool->base.abm == NULL) {
drivers/gpu/drm/amd/display/dc/resource/dce110/dce110_resource.c
874
if (pool->base.abm != NULL)
drivers/gpu/drm/amd/display/dc/resource/dce110/dce110_resource.c
875
dce_abm_destroy(&pool->base.abm);
drivers/gpu/drm/amd/display/dc/resource/dce112/dce112_resource.c
1315
pool->base.abm = dce_abm_create(ctx,
drivers/gpu/drm/amd/display/dc/resource/dce112/dce112_resource.c
1319
if (pool->base.abm == NULL) {
drivers/gpu/drm/amd/display/dc/resource/dce112/dce112_resource.c
839
if (pool->base.abm != NULL)
drivers/gpu/drm/amd/display/dc/resource/dce112/dce112_resource.c
840
dce_abm_destroy(&pool->base.abm);
drivers/gpu/drm/amd/display/dc/resource/dce120/dce120_resource.c
1150
pool->base.abm = dce_abm_create(ctx,
drivers/gpu/drm/amd/display/dc/resource/dce120/dce120_resource.c
1154
if (pool->base.abm == NULL) {
drivers/gpu/drm/amd/display/dc/resource/dce120/dce120_resource.c
661
if (pool->base.abm != NULL)
drivers/gpu/drm/amd/display/dc/resource/dce120/dce120_resource.c
662
dce_abm_destroy(&pool->base.abm);
drivers/gpu/drm/amd/display/dc/resource/dce60/dce60_resource.c
1190
pool->base.abm = dce_abm_create(ctx,
drivers/gpu/drm/amd/display/dc/resource/dce60/dce60_resource.c
1194
if (pool->base.abm == NULL) {
drivers/gpu/drm/amd/display/dc/resource/dce60/dce60_resource.c
1387
pool->base.abm = dce_abm_create(ctx,
drivers/gpu/drm/amd/display/dc/resource/dce60/dce60_resource.c
1391
if (pool->base.abm == NULL) {
drivers/gpu/drm/amd/display/dc/resource/dce60/dce60_resource.c
873
if (pool->base.abm != NULL)
drivers/gpu/drm/amd/display/dc/resource/dce60/dce60_resource.c
874
dce_abm_destroy(&pool->base.abm);
drivers/gpu/drm/amd/display/dc/resource/dce60/dce60_resource.c
992
pool->base.abm = dce_abm_create(ctx,
drivers/gpu/drm/amd/display/dc/resource/dce60/dce60_resource.c
996
if (pool->base.abm == NULL) {
drivers/gpu/drm/amd/display/dc/resource/dce80/dce80_resource.c
1003
pool->base.abm = dce_abm_create(ctx,
drivers/gpu/drm/amd/display/dc/resource/dce80/dce80_resource.c
1007
if (pool->base.abm == NULL) {
drivers/gpu/drm/amd/display/dc/resource/dce80/dce80_resource.c
1203
pool->base.abm = dce_abm_create(ctx,
drivers/gpu/drm/amd/display/dc/resource/dce80/dce80_resource.c
1207
if (pool->base.abm == NULL) {
drivers/gpu/drm/amd/display/dc/resource/dce80/dce80_resource.c
1401
pool->base.abm = dce_abm_create(ctx,
drivers/gpu/drm/amd/display/dc/resource/dce80/dce80_resource.c
1405
if (pool->base.abm == NULL) {
drivers/gpu/drm/amd/display/dc/resource/dce80/dce80_resource.c
879
if (pool->base.abm != NULL)
drivers/gpu/drm/amd/display/dc/resource/dce80/dce80_resource.c
880
dce_abm_destroy(&pool->base.abm);
drivers/gpu/drm/amd/display/dc/resource/dcn10/dcn10_resource.c
1004
if (pool->base.abm != NULL)
drivers/gpu/drm/amd/display/dc/resource/dcn10/dcn10_resource.c
1005
dce_abm_destroy(&pool->base.abm);
drivers/gpu/drm/amd/display/dc/resource/dcn10/dcn10_resource.c
1133
idle_pipe->stream_res.abm = head_pipe->stream_res.abm;
drivers/gpu/drm/amd/display/dc/resource/dcn10/dcn10_resource.c
1491
pool->base.abm = dce_abm_create(ctx,
drivers/gpu/drm/amd/display/dc/resource/dcn10/dcn10_resource.c
1495
if (pool->base.abm == NULL) {
drivers/gpu/drm/amd/display/dc/resource/dcn20/dcn20_resource.c
1212
if (pool->base.abm != NULL)
drivers/gpu/drm/amd/display/dc/resource/dcn20/dcn20_resource.c
1213
dce_abm_destroy(&pool->base.abm);
drivers/gpu/drm/amd/display/dc/resource/dcn20/dcn20_resource.c
2580
pool->base.abm = dce_abm_create(ctx,
drivers/gpu/drm/amd/display/dc/resource/dcn20/dcn20_resource.c
2584
if (pool->base.abm == NULL) {
drivers/gpu/drm/amd/display/dc/resource/dcn21/dcn21_resource.c
1569
pool->base.abm = dmub_abm_create(ctx,
drivers/gpu/drm/amd/display/dc/resource/dcn21/dcn21_resource.c
1574
pool->base.abm = dce_abm_create(ctx,
drivers/gpu/drm/amd/display/dc/resource/dcn21/dcn21_resource.c
775
if (pool->base.abm != NULL) {
drivers/gpu/drm/amd/display/dc/resource/dcn21/dcn21_resource.c
776
if (pool->base.abm->ctx->dc->config.disable_dmcu)
drivers/gpu/drm/amd/display/dc/resource/dcn21/dcn21_resource.c
777
dmub_abm_destroy(&pool->base.abm);
drivers/gpu/drm/amd/display/dc/resource/dcn21/dcn21_resource.c
779
dce_abm_destroy(&pool->base.abm);
drivers/gpu/drm/amd/display/modules/power/power_helpers.c
702
if (res_pool->abm == NULL && res_pool->multiple_abms[inst] == NULL)
drivers/gpu/drm/amd/display/modules/power/power_helpers.c
760
result = res_pool->abm->funcs->init_abm_config(
drivers/gpu/drm/amd/display/modules/power/power_helpers.c
761
res_pool->abm, (char *)(&config), sizeof(struct abm_config_table), 0);
drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.h
272
bool abm;
drivers/gpu/drm/radeon/btc_dpm.c
2644
eg_pi->abm = true;
drivers/gpu/drm/radeon/cypress_dpm.c
2119
eg_pi->abm = true;
drivers/gpu/drm/radeon/cypress_dpm.h
67
bool abm;
drivers/gpu/drm/radeon/ni_dpm.c
4175
eg_pi->abm = true;
drivers/net/ethernet/netronome/nfp/abm/cls.c
122
struct nfp_abm *abm = alink->abm;
drivers/net/ethernet/netronome/nfp/abm/cls.c
127
bits_per_prio = roundup_pow_of_two(order_base_2(abm->num_bands));
drivers/net/ethernet/netronome/nfp/abm/cls.c
132
base_shift = 8 - order_base_2(abm->num_prios);
drivers/net/ethernet/netronome/nfp/abm/cls.c
134
for (i = 0; i < abm->num_prios; i++) {
drivers/net/ethernet/netronome/nfp/abm/cls.c
179
if (!nfp_abm_u32_check_knode(alink->abm, knode, proto, extack))
drivers/net/ethernet/netronome/nfp/abm/cls.c
21
nfp_abm_u32_check_knode(struct nfp_abm *abm, struct tc_cls_u32_knode *knode,
drivers/net/ethernet/netronome/nfp/abm/cls.c
57
if (knode->res && knode->res->classid >= abm->num_bands) {
drivers/net/ethernet/netronome/nfp/abm/cls.c
92
if (be32_to_cpu(k->mask) >> tos_off & ~abm->dscp_mask) {
drivers/net/ethernet/netronome/nfp/abm/cls.c
94
nfp_err(abm->app->cpp,
drivers/net/ethernet/netronome/nfp/abm/cls.c
96
be32_to_cpu(k->mask) >> tos_off, abm->dscp_mask);
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
105
return __nfp_abm_ctrl_set_q_lvl(alink->abm, threshold, val);
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
108
int __nfp_abm_ctrl_set_q_act(struct nfp_abm *abm, unsigned int id,
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
111
struct nfp_cpp *cpp = abm->app->cpp;
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
115
if (abm->actions[id] == act)
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
119
err = __nfp_rtsym_writel(cpp, abm->q_lvls, 4, 0, sym_offset, act);
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
127
abm->actions[id] = act;
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
138
return __nfp_abm_ctrl_set_q_act(alink->abm, qid, act);
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
146
for (band = 0; band < alink->abm->num_bands; band++) {
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
147
if (nfp_abm_ctrl_stat(alink, alink->abm->qm_stats,
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
162
for (band = 0; band < alink->abm->num_bands; band++) {
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
163
if (nfp_abm_ctrl_stat(alink, alink->abm->qm_stats,
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
177
if (!nfp_abm_has_prio(alink->abm)) {
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
189
return nfp_abm_ctrl_stat(alink, alink->abm->q_stats,
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
210
err = nfp_abm_ctrl_stat(alink, alink->abm->q_lvls, NFP_QLVL_STRIDE,
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
216
err = nfp_abm_ctrl_stat(alink, alink->abm->q_lvls,
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
222
err = nfp_abm_ctrl_stat(alink, alink->abm->qm_stats,
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
228
return nfp_abm_ctrl_stat(alink, alink->abm->qm_stats,
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
239
err = nfp_abm_ctrl_stat(alink, alink->abm->qm_stats,
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
245
return nfp_abm_ctrl_stat(alink, alink->abm->qm_stats,
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
250
int nfp_abm_ctrl_qm_enable(struct nfp_abm *abm)
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
252
return nfp_mbox_cmd(abm->app->pf, NFP_MBOX_PCIE_ABM_ENABLE,
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
256
int nfp_abm_ctrl_qm_disable(struct nfp_abm *abm)
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
258
return nfp_mbox_cmd(abm->app->pf, NFP_MBOX_PCIE_ABM_DISABLE,
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
269
err = nfp_net_mbox_lock(nn, alink->abm->prio_map_len);
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
275
alink->abm->prio_map_len);
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
277
for (i = 0; i < alink->abm->prio_map_len; i += sizeof(u32))
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
283
nfp_err(alink->abm->app->cpp,
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
290
struct nfp_abm *abm = alink->abm;
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
294
if (!nfp_abm_has_prio(alink->abm))
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
297
min_mbox_sz = NFP_NET_ABM_MBOX_DATA + alink->abm->prio_map_len;
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
299
nfp_err(abm->app->pf->cpp, "vNIC mailbox too small for prio offload: %u, need: %u\n",
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
315
static unsigned int nfp_abm_ctrl_prio_map_size(struct nfp_abm *abm)
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
319
size = roundup_pow_of_two(order_base_2(abm->num_bands));
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
320
size = DIV_ROUND_UP(size * abm->num_prios, BITS_PER_BYTE);
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
347
nfp_abm_ctrl_find_q_rtsym(struct nfp_abm *abm, const char *name_fmt,
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
352
size = array3_size(size, abm->num_bands, NFP_NET_MAX_RX_RINGS);
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
354
abm->pf_id, nfp_abm_has_prio(abm) ? "_per_band" : "");
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
356
return nfp_abm_ctrl_find_rtsym(abm->app->pf, pf_symbol, size);
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
359
int nfp_abm_ctrl_find_addrs(struct nfp_abm *abm)
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
361
struct nfp_pf *pf = abm->app->pf;
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
365
abm->pf_id = nfp_cppcore_pcie_unit(pf->cpp);
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
371
abm->red_support = res;
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
377
abm->num_bands = res;
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
382
abm->num_prios = res;
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
389
abm->action_mask = res;
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
391
abm->prio_map_len = nfp_abm_ctrl_prio_map_size(abm);
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
392
abm->dscp_mask = GENMASK(7, 8 - order_base_2(abm->num_prios));
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
395
if (!is_power_of_2(abm->num_bands) || !is_power_of_2(abm->num_prios) ||
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
396
abm->num_bands > U16_MAX || abm->num_prios > U16_MAX ||
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
397
(abm->num_bands == 1) != (abm->num_prios == 1)) {
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
400
abm->num_bands, abm->num_prios);
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
405
if (!abm->red_support)
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
408
sym = nfp_abm_ctrl_find_q_rtsym(abm, NFP_QLVL_SYM_NAME,
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
412
abm->q_lvls = sym;
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
414
sym = nfp_abm_ctrl_find_q_rtsym(abm, NFP_QMSTAT_SYM_NAME,
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
418
abm->qm_stats = sym;
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
420
if (nfp_abm_has_prio(abm)) {
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
421
sym = nfp_abm_ctrl_find_q_rtsym(abm, NFP_Q_STAT_SYM_NAME,
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
425
abm->q_stats = sym;
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
52
struct nfp_cpp *cpp = alink->abm->app->cpp;
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
75
int __nfp_abm_ctrl_set_q_lvl(struct nfp_abm *abm, unsigned int id, u32 val)
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
77
struct nfp_cpp *cpp = abm->app->cpp;
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
81
__clear_bit(id, abm->threshold_undef);
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
82
if (abm->thresholds[id] == val)
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
86
err = __nfp_rtsym_writel(cpp, abm->q_lvls, 4, 0, sym_offset, val);
drivers/net/ethernet/netronome/nfp/abm/ctrl.c
94
abm->thresholds[id] = val;
drivers/net/ethernet/netronome/nfp/abm/main.c
114
port->pf_id = alink->abm->pf_id;
drivers/net/ethernet/netronome/nfp/abm/main.c
167
nfp_abm_kill_reprs(struct nfp_abm *abm, struct nfp_abm_link *alink)
drivers/net/ethernet/netronome/nfp/abm/main.c
169
nfp_abm_kill_repr(abm->app, alink, NFP_REPR_TYPE_PF);
drivers/net/ethernet/netronome/nfp/abm/main.c
170
nfp_abm_kill_repr(abm->app, alink, NFP_REPR_TYPE_PHYS_PORT);
drivers/net/ethernet/netronome/nfp/abm/main.c
173
static void nfp_abm_kill_reprs_all(struct nfp_abm *abm)
drivers/net/ethernet/netronome/nfp/abm/main.c
175
struct nfp_pf *pf = abm->app->pf;
drivers/net/ethernet/netronome/nfp/abm/main.c
179
nfp_abm_kill_reprs(abm, (struct nfp_abm_link *)nn->app_priv);
drivers/net/ethernet/netronome/nfp/abm/main.c
184
struct nfp_abm *abm = app->priv;
drivers/net/ethernet/netronome/nfp/abm/main.c
186
return abm->eswitch_mode;
drivers/net/ethernet/netronome/nfp/abm/main.c
189
static int nfp_abm_eswitch_set_legacy(struct nfp_abm *abm)
drivers/net/ethernet/netronome/nfp/abm/main.c
191
nfp_abm_kill_reprs_all(abm);
drivers/net/ethernet/netronome/nfp/abm/main.c
192
nfp_abm_ctrl_qm_disable(abm);
drivers/net/ethernet/netronome/nfp/abm/main.c
194
abm->eswitch_mode = DEVLINK_ESWITCH_MODE_LEGACY;
drivers/net/ethernet/netronome/nfp/abm/main.c
198
static void nfp_abm_eswitch_clean_up(struct nfp_abm *abm)
drivers/net/ethernet/netronome/nfp/abm/main.c
200
if (abm->eswitch_mode != DEVLINK_ESWITCH_MODE_LEGACY)
drivers/net/ethernet/netronome/nfp/abm/main.c
201
WARN_ON(nfp_abm_eswitch_set_legacy(abm));
drivers/net/ethernet/netronome/nfp/abm/main.c
204
static int nfp_abm_eswitch_set_switchdev(struct nfp_abm *abm)
drivers/net/ethernet/netronome/nfp/abm/main.c
206
struct nfp_app *app = abm->app;
drivers/net/ethernet/netronome/nfp/abm/main.c
211
if (!abm->red_support)
drivers/net/ethernet/netronome/nfp/abm/main.c
214
err = nfp_abm_ctrl_qm_enable(abm);
drivers/net/ethernet/netronome/nfp/abm/main.c
230
abm->eswitch_mode = DEVLINK_ESWITCH_MODE_SWITCHDEV;
drivers/net/ethernet/netronome/nfp/abm/main.c
234
nfp_abm_kill_reprs_all(abm);
drivers/net/ethernet/netronome/nfp/abm/main.c
235
nfp_abm_ctrl_qm_disable(abm);
drivers/net/ethernet/netronome/nfp/abm/main.c
241
struct nfp_abm *abm = app->priv;
drivers/net/ethernet/netronome/nfp/abm/main.c
243
if (abm->eswitch_mode == mode)
drivers/net/ethernet/netronome/nfp/abm/main.c
248
return nfp_abm_eswitch_set_legacy(abm);
drivers/net/ethernet/netronome/nfp/abm/main.c
250
return nfp_abm_eswitch_set_switchdev(abm);
drivers/net/ethernet/netronome/nfp/abm/main.c
257
nfp_abm_vnic_set_mac(struct nfp_pf *pf, struct nfp_abm *abm, struct nfp_net *nn,
drivers/net/ethernet/netronome/nfp/abm/main.c
273
eth_port->eth_index, abm->pf_id);
drivers/net/ethernet/netronome/nfp/abm/main.c
316
struct nfp_abm *abm = app->priv;
drivers/net/ethernet/netronome/nfp/abm/main.c
324
alink->abm = abm;
drivers/net/ethernet/netronome/nfp/abm/main.c
335
alink->prio_map = kzalloc(abm->prio_map_len, GFP_KERNEL);
drivers/net/ethernet/netronome/nfp/abm/main.c
350
nfp_abm_vnic_set_mac(app->pf, abm, nn, id);
drivers/net/ethernet/netronome/nfp/abm/main.c
366
nfp_abm_kill_reprs(alink->abm, alink);
drivers/net/ethernet/netronome/nfp/abm/main.c
376
if (nfp_abm_has_prio(alink->abm))
drivers/net/ethernet/netronome/nfp/abm/main.c
428
static int nfp_abm_fw_init_reset(struct nfp_abm *abm)
drivers/net/ethernet/netronome/nfp/abm/main.c
432
if (!abm->red_support)
drivers/net/ethernet/netronome/nfp/abm/main.c
435
for (i = 0; i < abm->num_bands * NFP_NET_MAX_RX_RINGS; i++) {
drivers/net/ethernet/netronome/nfp/abm/main.c
436
__nfp_abm_ctrl_set_q_lvl(abm, i, NFP_ABM_LVL_INFINITY);
drivers/net/ethernet/netronome/nfp/abm/main.c
437
__nfp_abm_ctrl_set_q_act(abm, i, NFP_ABM_ACT_DROP);
drivers/net/ethernet/netronome/nfp/abm/main.c
440
return nfp_abm_ctrl_qm_disable(abm);
drivers/net/ethernet/netronome/nfp/abm/main.c
447
struct nfp_abm *abm;
drivers/net/ethernet/netronome/nfp/abm/main.c
464
abm = kzalloc_obj(*abm);
drivers/net/ethernet/netronome/nfp/abm/main.c
465
if (!abm)
drivers/net/ethernet/netronome/nfp/abm/main.c
467
app->priv = abm;
drivers/net/ethernet/netronome/nfp/abm/main.c
468
abm->app = app;
drivers/net/ethernet/netronome/nfp/abm/main.c
470
err = nfp_abm_ctrl_find_addrs(abm);
drivers/net/ethernet/netronome/nfp/abm/main.c
475
abm->num_thresholds = array_size(abm->num_bands, NFP_NET_MAX_RX_RINGS);
drivers/net/ethernet/netronome/nfp/abm/main.c
476
abm->threshold_undef = bitmap_zalloc(abm->num_thresholds, GFP_KERNEL);
drivers/net/ethernet/netronome/nfp/abm/main.c
477
if (!abm->threshold_undef)
drivers/net/ethernet/netronome/nfp/abm/main.c
480
abm->thresholds = kvcalloc(abm->num_thresholds,
drivers/net/ethernet/netronome/nfp/abm/main.c
481
sizeof(*abm->thresholds), GFP_KERNEL);
drivers/net/ethernet/netronome/nfp/abm/main.c
482
if (!abm->thresholds)
drivers/net/ethernet/netronome/nfp/abm/main.c
485
abm->actions = kvcalloc(abm->num_thresholds, sizeof(*abm->actions),
drivers/net/ethernet/netronome/nfp/abm/main.c
487
if (!abm->actions)
drivers/net/ethernet/netronome/nfp/abm/main.c
491
err = nfp_abm_fw_init_reset(abm);
drivers/net/ethernet/netronome/nfp/abm/main.c
511
kvfree(abm->actions);
drivers/net/ethernet/netronome/nfp/abm/main.c
513
kvfree(abm->thresholds);
drivers/net/ethernet/netronome/nfp/abm/main.c
515
bitmap_free(abm->threshold_undef);
drivers/net/ethernet/netronome/nfp/abm/main.c
517
kfree(abm);
drivers/net/ethernet/netronome/nfp/abm/main.c
524
struct nfp_abm *abm = app->priv;
drivers/net/ethernet/netronome/nfp/abm/main.c
526
nfp_abm_eswitch_clean_up(abm);
drivers/net/ethernet/netronome/nfp/abm/main.c
529
bitmap_free(abm->threshold_undef);
drivers/net/ethernet/netronome/nfp/abm/main.c
530
kvfree(abm->actions);
drivers/net/ethernet/netronome/nfp/abm/main.c
531
kvfree(abm->thresholds);
drivers/net/ethernet/netronome/nfp/abm/main.c
532
kfree(abm);
drivers/net/ethernet/netronome/nfp/abm/main.h
207
struct nfp_abm *abm;
drivers/net/ethernet/netronome/nfp/abm/main.h
225
static inline bool nfp_abm_has_prio(struct nfp_abm *abm)
drivers/net/ethernet/netronome/nfp/abm/main.h
227
return abm->num_bands > 1;
drivers/net/ethernet/netronome/nfp/abm/main.h
230
static inline bool nfp_abm_has_drop(struct nfp_abm *abm)
drivers/net/ethernet/netronome/nfp/abm/main.h
232
return abm->action_mask & BIT(NFP_ABM_ACT_DROP);
drivers/net/ethernet/netronome/nfp/abm/main.h
235
static inline bool nfp_abm_has_mark(struct nfp_abm *abm)
drivers/net/ethernet/netronome/nfp/abm/main.h
237
return abm->action_mask & BIT(NFP_ABM_ACT_MARK_DROP);
drivers/net/ethernet/netronome/nfp/abm/main.h
253
int nfp_abm_ctrl_find_addrs(struct nfp_abm *abm);
drivers/net/ethernet/netronome/nfp/abm/main.h
254
int __nfp_abm_ctrl_set_q_lvl(struct nfp_abm *abm, unsigned int id, u32 val);
drivers/net/ethernet/netronome/nfp/abm/main.h
257
int __nfp_abm_ctrl_set_q_act(struct nfp_abm *abm, unsigned int id,
drivers/net/ethernet/netronome/nfp/abm/main.h
269
int nfp_abm_ctrl_qm_enable(struct nfp_abm *abm);
drivers/net/ethernet/netronome/nfp/abm/main.h
270
int nfp_abm_ctrl_qm_disable(struct nfp_abm *abm);
drivers/net/ethernet/netronome/nfp/abm/main.h
271
void nfp_abm_prio_map_update(struct nfp_abm *abm);
drivers/net/ethernet/netronome/nfp/abm/qdisc.c
125
nfp_warn(alink->abm->app->cpp, "Offload of '%08x' stopped\n",
drivers/net/ethernet/netronome/nfp/abm/qdisc.c
153
nfp_err(alink->abm->app->cpp,
drivers/net/ethernet/netronome/nfp/abm/qdisc.c
161
nfp_err(alink->abm->app->cpp,
drivers/net/ethernet/netronome/nfp/abm/qdisc.c
215
for (i = 0; i < alink->abm->num_bands; i++) {
drivers/net/ethernet/netronome/nfp/abm/qdisc.c
247
struct nfp_abm *abm = alink->abm;
drivers/net/ethernet/netronome/nfp/abm/qdisc.c
254
for (i = 0; i < abm->num_bands; i++)
drivers/net/ethernet/netronome/nfp/abm/qdisc.c
255
__bitmap_set(abm->threshold_undef,
drivers/net/ethernet/netronome/nfp/abm/qdisc.c
277
for (i = 0; i < abm->num_thresholds; i++)
drivers/net/ethernet/netronome/nfp/abm/qdisc.c
278
if (test_bit(i, abm->threshold_undef))
drivers/net/ethernet/netronome/nfp/abm/qdisc.c
279
__nfp_abm_ctrl_set_q_lvl(abm, i, NFP_ABM_LVL_INFINITY);
drivers/net/ethernet/netronome/nfp/abm/qdisc.c
365
nfp_err(alink->abm->app->cpp,
drivers/net/ethernet/netronome/nfp/abm/qdisc.c
48
struct nfp_cpp *cpp = alink->abm->app->cpp;
drivers/net/ethernet/netronome/nfp/abm/qdisc.c
519
struct nfp_cpp *cpp = alink->abm->app->cpp;
drivers/net/ethernet/netronome/nfp/abm/qdisc.c
520
struct nfp_abm *abm = alink->abm;
drivers/net/ethernet/netronome/nfp/abm/qdisc.c
533
if (opt->set.dp_cnt != abm->num_bands) {
drivers/net/ethernet/netronome/nfp/abm/qdisc.c
535
abm->num_bands, opt->parent, opt->handle);
drivers/net/ethernet/netronome/nfp/abm/qdisc.c
539
for (i = 0; i < abm->num_bands; i++) {
drivers/net/ethernet/netronome/nfp/abm/qdisc.c
544
if (!band->is_ecn && !nfp_abm_has_drop(abm)) {
drivers/net/ethernet/netronome/nfp/abm/qdisc.c
549
if (band->is_ecn && !nfp_abm_has_mark(abm)) {
drivers/net/ethernet/netronome/nfp/abm/qdisc.c
664
struct nfp_cpp *cpp = alink->abm->app->cpp;
drivers/net/ethernet/netronome/nfp/abm/qdisc.c
665
struct nfp_abm *abm = alink->abm;
drivers/net/ethernet/netronome/nfp/abm/qdisc.c
667
if (!opt->set.is_ecn && !nfp_abm_has_drop(abm)) {
drivers/net/ethernet/netronome/nfp/abm/qdisc.c
672
if (opt->set.is_ecn && !nfp_abm_has_mark(abm)) {