dc.h (59f1622a5f05d948a7c665a458a3dd76ba73015e) dc.h (e379787cbc2aa73c63a795ec55140f9b21c27d8c)
1/*
2 * Copyright 2012-2023 Advanced Micro Devices, Inc.
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the

--- 449 unchanged lines hidden (view full) ---

458};
459
460enum dml_hostvm_override_opts {
461 DML_HOSTVM_NO_OVERRIDE = 0x0,
462 DML_HOSTVM_OVERRIDE_FALSE = 0x1,
463 DML_HOSTVM_OVERRIDE_TRUE = 0x2,
464};
465
1/*
2 * Copyright 2012-2023 Advanced Micro Devices, Inc.
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the

--- 449 unchanged lines hidden (view full) ---

458};
459
460enum dml_hostvm_override_opts {
461 DML_HOSTVM_NO_OVERRIDE = 0x0,
462 DML_HOSTVM_OVERRIDE_FALSE = 0x1,
463 DML_HOSTVM_OVERRIDE_TRUE = 0x2,
464};
465
466enum dc_replay_power_opts {
467 replay_power_opt_invalid = 0x0,
468 replay_power_opt_smu_opt_static_screen = 0x1,
469 replay_power_opt_z10_static_screen = 0x10,
470};
471
466enum dcc_option {
467 DCC_ENABLE = 0,
468 DCC_DISABLE = 1,
469 DCC_HALF_REQ_DISALBE = 2,
470};
471
472/**
473 * enum pipe_split_policy - Pipe split strategy supported by DCN

--- 1598 unchanged lines hidden (view full) ---

2072 bool wait, bool force_static, const unsigned int *power_opts);
2073
2074bool dc_link_get_psr_state(const struct dc_link *dc_link, enum dc_psr_state *state);
2075
2076bool dc_link_setup_psr(struct dc_link *dc_link,
2077 const struct dc_stream_state *stream, struct psr_config *psr_config,
2078 struct psr_context *psr_context);
2079
472enum dcc_option {
473 DCC_ENABLE = 0,
474 DCC_DISABLE = 1,
475 DCC_HALF_REQ_DISALBE = 2,
476};
477
478/**
479 * enum pipe_split_policy - Pipe split strategy supported by DCN

--- 1598 unchanged lines hidden (view full) ---

2078 bool wait, bool force_static, const unsigned int *power_opts);
2079
2080bool dc_link_get_psr_state(const struct dc_link *dc_link, enum dc_psr_state *state);
2081
2082bool dc_link_setup_psr(struct dc_link *dc_link,
2083 const struct dc_stream_state *stream, struct psr_config *psr_config,
2084 struct psr_context *psr_context);
2085
2086/*
2087 * Communicate with DMUB to allow or disallow Panel Replay on the specified link:
2088 *
2089 * @link: pointer to the dc_link struct instance
2090 * @enable: enable(active) or disable(inactive) replay
2091 * @wait: state transition need to wait the active set completed.
2092 * @force_static: force disable(inactive) the replay
2093 * @power_opts: set power optimazation parameters to DMUB.
2094 *
2095 * return: allow Replay active will return true, else will return false.
2096 */
2097bool dc_link_set_replay_allow_active(struct dc_link *dc_link, const bool *enable,
2098 bool wait, bool force_static, const unsigned int *power_opts);
2099
2080bool dc_link_get_replay_state(const struct dc_link *dc_link, uint64_t *state);
2081
2082/* On eDP links this function call will stall until T12 has elapsed.
2083 * If the panel is not in power off state, this function will return
2084 * immediately.
2085 */
2086bool dc_link_wait_for_t12(struct dc_link *link);
2087

--- 228 unchanged lines hidden (view full) ---

2316
2317/* cleanup on driver unload */
2318void dc_hardware_release(struct dc *dc);
2319
2320/* disables fw based mclk switch */
2321void dc_mclk_switch_using_fw_based_vblank_stretch_shut_down(struct dc *dc);
2322
2323bool dc_set_psr_allow_active(struct dc *dc, bool enable);
2100bool dc_link_get_replay_state(const struct dc_link *dc_link, uint64_t *state);
2101
2102/* On eDP links this function call will stall until T12 has elapsed.
2103 * If the panel is not in power off state, this function will return
2104 * immediately.
2105 */
2106bool dc_link_wait_for_t12(struct dc_link *link);
2107

--- 228 unchanged lines hidden (view full) ---

2336
2337/* cleanup on driver unload */
2338void dc_hardware_release(struct dc *dc);
2339
2340/* disables fw based mclk switch */
2341void dc_mclk_switch_using_fw_based_vblank_stretch_shut_down(struct dc *dc);
2342
2343bool dc_set_psr_allow_active(struct dc *dc, bool enable);
2344
2345bool dc_set_replay_allow_active(struct dc *dc, bool active);
2346
2324void dc_z10_restore(const struct dc *dc);
2325void dc_z10_save_init(struct dc *dc);
2326
2327bool dc_is_dmub_outbox_supported(struct dc *dc);
2328bool dc_enable_dmub_notifications(struct dc *dc);
2329
2330bool dc_abm_save_restore(
2331 struct dc *dc,

--- 46 unchanged lines hidden ---
2347void dc_z10_restore(const struct dc *dc);
2348void dc_z10_save_init(struct dc *dc);
2349
2350bool dc_is_dmub_outbox_supported(struct dc *dc);
2351bool dc_enable_dmub_notifications(struct dc *dc);
2352
2353bool dc_abm_save_restore(
2354 struct dc *dc,

--- 46 unchanged lines hidden ---