/* This structure is a copy of WatermarkRowGeneric_t defined by smuxx_driver_if.h*/ struct pp_smu_wm_set_range {
uint16_t min_fill_clk_mhz;
uint16_t max_fill_clk_mhz;
uint16_t min_drain_clk_mhz;
uint16_t max_drain_clk_mhz;
void (*set_display_count)(struct pp_smu *pp, int count);
/* reader and writer WM's are sent together as part of one table*/ /* *PPSMC_MSG_SetDriverDramAddrHigh *PPSMC_MSG_SetDriverDramAddrLow *PPSMC_MSG_TransferTableDram2Smu *
* */ void (*set_wm_ranges)(struct pp_smu *pp, struct pp_smu_wm_range_sets *ranges);
/* PPSMC_MSG_SetHardMinDcfclkByFreq *fixedclockatrequestedfreq,eitherfromFCHbypassorDFS
*/ void (*set_hard_min_dcfclk_by_freq)(struct pp_smu *pp, int mhz);
/* reader and writer WM's are sent together as part of one table*/ /* *PPSMC_MSG_SetDriverDramAddrHigh *PPSMC_MSG_SetDriverDramAddrLow *PPSMC_MSG_TransferTableDram2Smu * *onDCN20: *readerfillclk=uclk *readerdrainclk=dcfclk *writerfillclk=socclk *writerdrainclk=uclk
* */ enum pp_smu_status (*set_wm_ranges)(struct pp_smu *pp, struct pp_smu_wm_range_sets *ranges);
/* Not a single SMU message. This call should return maximum sustainable limit for all *clocksthatDCdependson.Thesewillbeusedasbasisformodeenumeration.
*/ enum pp_smu_status (*get_maximum_sustainable_clocks)(struct pp_smu *pp, struct pp_smu_nv_clock_table *max_clocks);
/* This call should return the discrete uclk DPM states available
*/ enum pp_smu_status (*get_uclk_dpm_states)(struct pp_smu *pp, unsignedint *clock_values_in_khz, unsignedint *num_states);
/* Not a single SMU message. This call informs PPLIB that display will not be able *toperformpstatehandshakinginitscurrentstate.Typicallythishandshake *isusedtoperformuCLKswitching,sodisablingpstatedisablesuCLKswitching. * *Notethatwhensettinghandshaketounsupported,thecallispre-emptive.Thatmeans *DCwillmakethecallBEFOREsettingupthedisplaystatewhichwouldcausepstate *requesttogoun-acked.Onlywhenthecallcompletesshouldsuchastatebeappliedto *DChardware
*/ enum pp_smu_status (*set_pstate_handshake_support)(struct pp_smu *pp, bool pstate_handshake_supported);
};
/* *readerandwriterWM'saresenttogetheraspartofonetable * *PPSMC_MSG_SetDriverDramAddrHigh *PPSMC_MSG_SetDriverDramAddrLow *PPSMC_MSG_TransferTableDram2Smu *
*/ // TODO: Check whether this is moved to DAL, and remove as needed enum pp_smu_status (*set_wm_ranges)(struct pp_smu *pp, struct pp_smu_wm_range_sets *ranges);
// TODO: Check whether this is moved to DAL, and remove as needed enum pp_smu_status (*get_dpm_clock_table) (struct pp_smu *pp, struct dpm_clocks *clock_table);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.