#include <drm/amdgpu_drm.h>
#include <drm/drm_fixed.h>
#include "amdgpu.h"
#include "atom.h"
#include "atom-bits.h"
#include "atombios_encoders.h"
#include "atombios_crtc.h"
#include "amdgpu_atombios.h"
#include "amdgpu_pll.h"
#include "amdgpu_connectors.h"
void amdgpu_atombios_crtc_overscan_setup(struct drm_crtc *crtc,
struct drm_display_mode *mode,
struct drm_display_mode *adjusted_mode)
{ … }
void amdgpu_atombios_crtc_scaler_setup(struct drm_crtc *crtc)
{ … }
void amdgpu_atombios_crtc_lock(struct drm_crtc *crtc, int lock)
{ … }
void amdgpu_atombios_crtc_enable(struct drm_crtc *crtc, int state)
{ … }
void amdgpu_atombios_crtc_blank(struct drm_crtc *crtc, int state)
{ … }
void amdgpu_atombios_crtc_powergate(struct drm_crtc *crtc, int state)
{ … }
void amdgpu_atombios_crtc_powergate_init(struct amdgpu_device *adev)
{ … }
void amdgpu_atombios_crtc_set_dtd_timing(struct drm_crtc *crtc,
struct drm_display_mode *mode)
{ … }
atom_enable_ss;
static void amdgpu_atombios_crtc_program_ss(struct amdgpu_device *adev,
int enable,
int pll_id,
int crtc_id,
struct amdgpu_atom_ss *ss)
{ … }
adjust_pixel_clock;
static u32 amdgpu_atombios_crtc_adjust_pll(struct drm_crtc *crtc,
struct drm_display_mode *mode)
{ … }
set_pixel_clock;
void amdgpu_atombios_crtc_set_disp_eng_pll(struct amdgpu_device *adev,
u32 dispclk)
{ … }
set_dce_clock;
u32 amdgpu_atombios_crtc_set_dce_clock(struct amdgpu_device *adev,
u32 freq, u8 clk_type, u8 clk_src)
{ … }
static bool is_pixel_clock_source_from_pll(u32 encoder_mode, int pll_id)
{ … }
void amdgpu_atombios_crtc_program_pll(struct drm_crtc *crtc,
u32 crtc_id,
int pll_id,
u32 encoder_mode,
u32 encoder_id,
u32 clock,
u32 ref_div,
u32 fb_div,
u32 frac_fb_div,
u32 post_div,
int bpc,
bool ss_enabled,
struct amdgpu_atom_ss *ss)
{ … }
int amdgpu_atombios_crtc_prepare_pll(struct drm_crtc *crtc,
struct drm_display_mode *mode)
{ … }
void amdgpu_atombios_crtc_set_pll(struct drm_crtc *crtc, struct drm_display_mode *mode)
{ … }