• Home
  • Raw
  • Download

Lines Matching refs:dmcu

37 #define TO_DCE_DMCU(dmcu)\  argument
38 container_of(dmcu, struct dce_dmcu, base)
62 static bool dce_dmcu_init(struct dmcu *dmcu) in dce_dmcu_init() argument
68 bool dce_dmcu_load_iram(struct dmcu *dmcu, in dce_dmcu_load_iram() argument
73 struct dce_dmcu *dmcu_dce = TO_DCE_DMCU(dmcu); in dce_dmcu_load_iram()
96 static void dce_get_dmcu_psr_state(struct dmcu *dmcu, uint32_t *psr_state) in dce_get_dmcu_psr_state() argument
98 struct dce_dmcu *dmcu_dce = TO_DCE_DMCU(dmcu); in dce_get_dmcu_psr_state()
119 static void dce_dmcu_set_psr_enable(struct dmcu *dmcu, bool enable, bool wait) in dce_dmcu_set_psr_enable() argument
121 struct dce_dmcu *dmcu_dce = TO_DCE_DMCU(dmcu); in dce_dmcu_set_psr_enable()
145 dce_get_dmcu_psr_state(dmcu, &psr_state); in dce_dmcu_set_psr_enable()
158 static bool dce_dmcu_setup_psr(struct dmcu *dmcu, in dce_dmcu_setup_psr() argument
162 struct dce_dmcu *dmcu_dce = TO_DCE_DMCU(dmcu); in dce_dmcu_setup_psr()
240 dm_write_reg(dmcu->ctx, REG(MASTER_COMM_DATA_REG1), in dce_dmcu_setup_psr()
252 dm_write_reg(dmcu->ctx, REG(MASTER_COMM_DATA_REG2), in dce_dmcu_setup_psr()
257 dm_write_reg(dmcu->ctx, REG(MASTER_COMM_DATA_REG3), in dce_dmcu_setup_psr()
270 static bool dce_is_dmcu_initialized(struct dmcu *dmcu) in dce_is_dmcu_initialized() argument
272 struct dce_dmcu *dmcu_dce = TO_DCE_DMCU(dmcu); in dce_is_dmcu_initialized()
286 struct dmcu *dmcu, in dce_psr_wait_loop() argument
289 struct dce_dmcu *dmcu_dce = TO_DCE_DMCU(dmcu); in dce_psr_wait_loop()
292 if (dmcu->cached_wait_loop_number == wait_loop_number) in dce_psr_wait_loop()
296 if (!dce_is_dmcu_initialized(dmcu)) in dce_psr_wait_loop()
304 dmcu->cached_wait_loop_number = wait_loop_number; in dce_psr_wait_loop()
305 dm_write_reg(dmcu->ctx, REG(MASTER_COMM_DATA_REG1), masterCmdData1.u32); in dce_psr_wait_loop()
315 struct dmcu *dmcu, unsigned int *psr_wait_loop_number) in dce_get_psr_wait_loop() argument
317 *psr_wait_loop_number = dmcu->cached_wait_loop_number; in dce_get_psr_wait_loop()
322 static void dcn10_get_dmcu_version(struct dmcu *dmcu) in dcn10_get_dmcu_version() argument
324 struct dce_dmcu *dmcu_dce = TO_DCE_DMCU(dmcu); in dcn10_get_dmcu_version()
336 dmcu->dmcu_version.interface_version = REG_READ(DMCU_IRAM_RD_DATA); in dcn10_get_dmcu_version()
337 dmcu->dmcu_version.abm_version = REG_READ(DMCU_IRAM_RD_DATA); in dcn10_get_dmcu_version()
338 dmcu->dmcu_version.psr_version = REG_READ(DMCU_IRAM_RD_DATA); in dcn10_get_dmcu_version()
339 dmcu->dmcu_version.build_version = ((REG_READ(DMCU_IRAM_RD_DATA) << 8) | in dcn10_get_dmcu_version()
348 static void dcn10_dmcu_enable_fractional_pwm(struct dmcu *dmcu, in dcn10_dmcu_enable_fractional_pwm() argument
351 struct dce_dmcu *dmcu_dce = TO_DCE_DMCU(dmcu); in dcn10_dmcu_enable_fractional_pwm()
370 static bool dcn10_dmcu_init(struct dmcu *dmcu) in dcn10_dmcu_init() argument
372 struct dce_dmcu *dmcu_dce = TO_DCE_DMCU(dmcu); in dcn10_dmcu_init()
373 const struct dc_config *config = &dmcu->ctx->dc->config; in dcn10_dmcu_init()
381 dmcu->dmcu_state = REG_READ(DC_DMCU_SCRATCH); in dcn10_dmcu_init()
383 switch (dmcu->dmcu_state) { in dcn10_dmcu_init()
408 dmcu->dmcu_state = REG_READ(DC_DMCU_SCRATCH); in dcn10_dmcu_init()
411 if (dmcu->dmcu_state == DMCU_RUNNING) { in dcn10_dmcu_init()
413 dcn10_get_dmcu_version(dmcu); in dcn10_dmcu_init()
416 dcn10_dmcu_enable_fractional_pwm(dmcu, in dcn10_dmcu_init()
436 static bool dcn10_dmcu_load_iram(struct dmcu *dmcu, in dcn10_dmcu_load_iram() argument
441 struct dce_dmcu *dmcu_dce = TO_DCE_DMCU(dmcu); in dcn10_dmcu_load_iram()
445 if (dmcu->dmcu_state != DMCU_RUNNING) in dcn10_dmcu_load_iram()
481 static void dcn10_get_dmcu_psr_state(struct dmcu *dmcu, uint32_t *psr_state) in dcn10_get_dmcu_psr_state() argument
483 struct dce_dmcu *dmcu_dce = TO_DCE_DMCU(dmcu); in dcn10_get_dmcu_psr_state()
488 if (dmcu->dmcu_state != DMCU_RUNNING) in dcn10_get_dmcu_psr_state()
508 static void dcn10_dmcu_set_psr_enable(struct dmcu *dmcu, bool enable, bool wait) in dcn10_dmcu_set_psr_enable() argument
510 struct dce_dmcu *dmcu_dce = TO_DCE_DMCU(dmcu); in dcn10_dmcu_set_psr_enable()
518 if (dmcu->dmcu_state != DMCU_RUNNING) in dcn10_dmcu_set_psr_enable()
521 dcn10_get_dmcu_psr_state(dmcu, &psr_state); in dcn10_dmcu_set_psr_enable()
546 dcn10_get_dmcu_psr_state(dmcu, &psr_state); in dcn10_dmcu_set_psr_enable()
563 static bool dcn10_dmcu_setup_psr(struct dmcu *dmcu, in dcn10_dmcu_setup_psr() argument
567 struct dce_dmcu *dmcu_dce = TO_DCE_DMCU(dmcu); in dcn10_dmcu_setup_psr()
577 if (dmcu->dmcu_state != DMCU_RUNNING) in dcn10_dmcu_setup_psr()
653 dm_write_reg(dmcu->ctx, REG(MASTER_COMM_DATA_REG1), in dcn10_dmcu_setup_psr()
665 dm_write_reg(dmcu->ctx, REG(MASTER_COMM_DATA_REG2), in dcn10_dmcu_setup_psr()
670 dm_write_reg(dmcu->ctx, REG(MASTER_COMM_DATA_REG3), in dcn10_dmcu_setup_psr()
688 struct dmcu *dmcu, in dcn10_psr_wait_loop() argument
691 struct dce_dmcu *dmcu_dce = TO_DCE_DMCU(dmcu); in dcn10_psr_wait_loop()
695 if (dmcu->dmcu_state != DMCU_RUNNING) in dcn10_psr_wait_loop()
704 dmcu->cached_wait_loop_number = wait_loop_number; in dcn10_psr_wait_loop()
705 dm_write_reg(dmcu->ctx, REG(MASTER_COMM_DATA_REG1), masterCmdData1.u32); in dcn10_psr_wait_loop()
716 struct dmcu *dmcu, unsigned int *psr_wait_loop_number) in dcn10_get_psr_wait_loop() argument
718 *psr_wait_loop_number = dmcu->cached_wait_loop_number; in dcn10_get_psr_wait_loop()
722 static bool dcn10_is_dmcu_initialized(struct dmcu *dmcu) in dcn10_is_dmcu_initialized() argument
725 if (dmcu->dmcu_state != DMCU_RUNNING) in dcn10_is_dmcu_initialized()
734 static bool dcn20_lock_phy(struct dmcu *dmcu) in dcn20_lock_phy() argument
736 struct dce_dmcu *dmcu_dce = TO_DCE_DMCU(dmcu); in dcn20_lock_phy()
739 if (dmcu->dmcu_state != DMCU_RUNNING) in dcn20_lock_phy()
757 static bool dcn20_unlock_phy(struct dmcu *dmcu) in dcn20_unlock_phy() argument
759 struct dce_dmcu *dmcu_dce = TO_DCE_DMCU(dmcu); in dcn20_unlock_phy()
762 if (dmcu->dmcu_state != DMCU_RUNNING) in dcn20_unlock_phy()
828 struct dmcu *base = &dmcu_dce->base; in dce_dmcu_construct()
839 struct dmcu *dce_dmcu_create( in dce_dmcu_create()
861 struct dmcu *dcn10_dmcu_create( in dcn10_dmcu_create()
884 struct dmcu *dcn20_dmcu_create( in dcn20_dmcu_create()
906 void dce_dmcu_destroy(struct dmcu **dmcu) in dce_dmcu_destroy() argument
908 struct dce_dmcu *dmcu_dce = TO_DCE_DMCU(*dmcu); in dce_dmcu_destroy()
911 dmcu_dce->base.funcs->set_psr_enable(*dmcu, false, true); in dce_dmcu_destroy()
914 *dmcu = NULL; in dce_dmcu_destroy()