drm/amdgpu: remove unused display_vblank_wait interface
No longer used since we changed the MC programming sequence. Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
e5e0e86717
commit
a3405d0c71
|
@ -1804,7 +1804,6 @@ amdgpu_get_sdma_instance(struct amdgpu_ring *ring)
|
|||
#define amdgpu_ih_decode_iv(adev, iv) (adev)->irq.ih_funcs->decode_iv((adev), (iv))
|
||||
#define amdgpu_ih_set_rptr(adev) (adev)->irq.ih_funcs->set_rptr((adev))
|
||||
#define amdgpu_display_vblank_get_counter(adev, crtc) (adev)->mode_info.funcs->vblank_get_counter((adev), (crtc))
|
||||
#define amdgpu_display_vblank_wait(adev, crtc) (adev)->mode_info.funcs->vblank_wait((adev), (crtc))
|
||||
#define amdgpu_display_backlight_set_level(adev, e, l) (adev)->mode_info.funcs->backlight_set_level((e), (l))
|
||||
#define amdgpu_display_backlight_get_level(adev, e) (adev)->mode_info.funcs->backlight_get_level((e))
|
||||
#define amdgpu_display_hpd_sense(adev, h) (adev)->mode_info.funcs->hpd_sense((adev), (h))
|
||||
|
|
|
@ -267,8 +267,6 @@ struct amdgpu_display_funcs {
|
|||
void (*bandwidth_update)(struct amdgpu_device *adev);
|
||||
/* get frame count */
|
||||
u32 (*vblank_get_counter)(struct amdgpu_device *adev, int crtc);
|
||||
/* wait for vblank */
|
||||
void (*vblank_wait)(struct amdgpu_device *adev, int crtc);
|
||||
/* set backlight level */
|
||||
void (*backlight_set_level)(struct amdgpu_encoder *amdgpu_encoder,
|
||||
u8 level);
|
||||
|
|
|
@ -190,66 +190,6 @@ static void dce_v10_0_audio_endpt_wreg(struct amdgpu_device *adev,
|
|||
spin_unlock_irqrestore(&adev->audio_endpt_idx_lock, flags);
|
||||
}
|
||||
|
||||
static bool dce_v10_0_is_in_vblank(struct amdgpu_device *adev, int crtc)
|
||||
{
|
||||
if (RREG32(mmCRTC_STATUS + crtc_offsets[crtc]) &
|
||||
CRTC_STATUS__CRTC_V_BLANK_MASK)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool dce_v10_0_is_counter_moving(struct amdgpu_device *adev, int crtc)
|
||||
{
|
||||
u32 pos1, pos2;
|
||||
|
||||
pos1 = RREG32(mmCRTC_STATUS_POSITION + crtc_offsets[crtc]);
|
||||
pos2 = RREG32(mmCRTC_STATUS_POSITION + crtc_offsets[crtc]);
|
||||
|
||||
if (pos1 != pos2)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* dce_v10_0_vblank_wait - vblank wait asic callback.
|
||||
*
|
||||
* @adev: amdgpu_device pointer
|
||||
* @crtc: crtc to wait for vblank on
|
||||
*
|
||||
* Wait for vblank on the requested crtc (evergreen+).
|
||||
*/
|
||||
static void dce_v10_0_vblank_wait(struct amdgpu_device *adev, int crtc)
|
||||
{
|
||||
unsigned i = 100;
|
||||
|
||||
if (crtc >= adev->mode_info.num_crtc)
|
||||
return;
|
||||
|
||||
if (!(RREG32(mmCRTC_CONTROL + crtc_offsets[crtc]) & CRTC_CONTROL__CRTC_MASTER_EN_MASK))
|
||||
return;
|
||||
|
||||
/* depending on when we hit vblank, we may be close to active; if so,
|
||||
* wait for another frame.
|
||||
*/
|
||||
while (dce_v10_0_is_in_vblank(adev, crtc)) {
|
||||
if (i++ == 100) {
|
||||
i = 0;
|
||||
if (!dce_v10_0_is_counter_moving(adev, crtc))
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
while (!dce_v10_0_is_in_vblank(adev, crtc)) {
|
||||
if (i++ == 100) {
|
||||
i = 0;
|
||||
if (!dce_v10_0_is_counter_moving(adev, crtc))
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static u32 dce_v10_0_vblank_get_counter(struct amdgpu_device *adev, int crtc)
|
||||
{
|
||||
if (crtc >= adev->mode_info.num_crtc)
|
||||
|
@ -3602,7 +3542,6 @@ static void dce_v10_0_encoder_add(struct amdgpu_device *adev,
|
|||
static const struct amdgpu_display_funcs dce_v10_0_display_funcs = {
|
||||
.bandwidth_update = &dce_v10_0_bandwidth_update,
|
||||
.vblank_get_counter = &dce_v10_0_vblank_get_counter,
|
||||
.vblank_wait = &dce_v10_0_vblank_wait,
|
||||
.backlight_set_level = &amdgpu_atombios_encoder_set_backlight_level,
|
||||
.backlight_get_level = &amdgpu_atombios_encoder_get_backlight_level,
|
||||
.hpd_sense = &dce_v10_0_hpd_sense,
|
||||
|
|
|
@ -207,66 +207,6 @@ static void dce_v11_0_audio_endpt_wreg(struct amdgpu_device *adev,
|
|||
spin_unlock_irqrestore(&adev->audio_endpt_idx_lock, flags);
|
||||
}
|
||||
|
||||
static bool dce_v11_0_is_in_vblank(struct amdgpu_device *adev, int crtc)
|
||||
{
|
||||
if (RREG32(mmCRTC_STATUS + crtc_offsets[crtc]) &
|
||||
CRTC_STATUS__CRTC_V_BLANK_MASK)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool dce_v11_0_is_counter_moving(struct amdgpu_device *adev, int crtc)
|
||||
{
|
||||
u32 pos1, pos2;
|
||||
|
||||
pos1 = RREG32(mmCRTC_STATUS_POSITION + crtc_offsets[crtc]);
|
||||
pos2 = RREG32(mmCRTC_STATUS_POSITION + crtc_offsets[crtc]);
|
||||
|
||||
if (pos1 != pos2)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* dce_v11_0_vblank_wait - vblank wait asic callback.
|
||||
*
|
||||
* @adev: amdgpu_device pointer
|
||||
* @crtc: crtc to wait for vblank on
|
||||
*
|
||||
* Wait for vblank on the requested crtc (evergreen+).
|
||||
*/
|
||||
static void dce_v11_0_vblank_wait(struct amdgpu_device *adev, int crtc)
|
||||
{
|
||||
unsigned i = 100;
|
||||
|
||||
if (crtc < 0 || crtc >= adev->mode_info.num_crtc)
|
||||
return;
|
||||
|
||||
if (!(RREG32(mmCRTC_CONTROL + crtc_offsets[crtc]) & CRTC_CONTROL__CRTC_MASTER_EN_MASK))
|
||||
return;
|
||||
|
||||
/* depending on when we hit vblank, we may be close to active; if so,
|
||||
* wait for another frame.
|
||||
*/
|
||||
while (dce_v11_0_is_in_vblank(adev, crtc)) {
|
||||
if (i++ == 100) {
|
||||
i = 0;
|
||||
if (!dce_v11_0_is_counter_moving(adev, crtc))
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
while (!dce_v11_0_is_in_vblank(adev, crtc)) {
|
||||
if (i++ == 100) {
|
||||
i = 0;
|
||||
if (!dce_v11_0_is_counter_moving(adev, crtc))
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static u32 dce_v11_0_vblank_get_counter(struct amdgpu_device *adev, int crtc)
|
||||
{
|
||||
if (crtc < 0 || crtc >= adev->mode_info.num_crtc)
|
||||
|
@ -3727,7 +3667,6 @@ static void dce_v11_0_encoder_add(struct amdgpu_device *adev,
|
|||
static const struct amdgpu_display_funcs dce_v11_0_display_funcs = {
|
||||
.bandwidth_update = &dce_v11_0_bandwidth_update,
|
||||
.vblank_get_counter = &dce_v11_0_vblank_get_counter,
|
||||
.vblank_wait = &dce_v11_0_vblank_wait,
|
||||
.backlight_set_level = &amdgpu_atombios_encoder_set_backlight_level,
|
||||
.backlight_get_level = &amdgpu_atombios_encoder_get_backlight_level,
|
||||
.hpd_sense = &dce_v11_0_hpd_sense,
|
||||
|
|
|
@ -142,64 +142,6 @@ static void dce_v6_0_audio_endpt_wreg(struct amdgpu_device *adev,
|
|||
spin_unlock_irqrestore(&adev->audio_endpt_idx_lock, flags);
|
||||
}
|
||||
|
||||
static bool dce_v6_0_is_in_vblank(struct amdgpu_device *adev, int crtc)
|
||||
{
|
||||
if (RREG32(mmCRTC_STATUS + crtc_offsets[crtc]) & CRTC_STATUS__CRTC_V_BLANK_MASK)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool dce_v6_0_is_counter_moving(struct amdgpu_device *adev, int crtc)
|
||||
{
|
||||
u32 pos1, pos2;
|
||||
|
||||
pos1 = RREG32(mmCRTC_STATUS_POSITION + crtc_offsets[crtc]);
|
||||
pos2 = RREG32(mmCRTC_STATUS_POSITION + crtc_offsets[crtc]);
|
||||
|
||||
if (pos1 != pos2)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* dce_v6_0_wait_for_vblank - vblank wait asic callback.
|
||||
*
|
||||
* @crtc: crtc to wait for vblank on
|
||||
*
|
||||
* Wait for vblank on the requested crtc (evergreen+).
|
||||
*/
|
||||
static void dce_v6_0_vblank_wait(struct amdgpu_device *adev, int crtc)
|
||||
{
|
||||
unsigned i = 100;
|
||||
|
||||
if (crtc >= adev->mode_info.num_crtc)
|
||||
return;
|
||||
|
||||
if (!(RREG32(mmCRTC_CONTROL + crtc_offsets[crtc]) & CRTC_CONTROL__CRTC_MASTER_EN_MASK))
|
||||
return;
|
||||
|
||||
/* depending on when we hit vblank, we may be close to active; if so,
|
||||
* wait for another frame.
|
||||
*/
|
||||
while (dce_v6_0_is_in_vblank(adev, crtc)) {
|
||||
if (i++ == 100) {
|
||||
i = 0;
|
||||
if (!dce_v6_0_is_counter_moving(adev, crtc))
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
while (!dce_v6_0_is_in_vblank(adev, crtc)) {
|
||||
if (i++ == 100) {
|
||||
i = 0;
|
||||
if (!dce_v6_0_is_counter_moving(adev, crtc))
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static u32 dce_v6_0_vblank_get_counter(struct amdgpu_device *adev, int crtc)
|
||||
{
|
||||
if (crtc >= adev->mode_info.num_crtc)
|
||||
|
@ -3409,7 +3351,6 @@ static void dce_v6_0_encoder_add(struct amdgpu_device *adev,
|
|||
static const struct amdgpu_display_funcs dce_v6_0_display_funcs = {
|
||||
.bandwidth_update = &dce_v6_0_bandwidth_update,
|
||||
.vblank_get_counter = &dce_v6_0_vblank_get_counter,
|
||||
.vblank_wait = &dce_v6_0_vblank_wait,
|
||||
.backlight_set_level = &amdgpu_atombios_encoder_set_backlight_level,
|
||||
.backlight_get_level = &amdgpu_atombios_encoder_get_backlight_level,
|
||||
.hpd_sense = &dce_v6_0_hpd_sense,
|
||||
|
|
|
@ -140,66 +140,6 @@ static void dce_v8_0_audio_endpt_wreg(struct amdgpu_device *adev,
|
|||
spin_unlock_irqrestore(&adev->audio_endpt_idx_lock, flags);
|
||||
}
|
||||
|
||||
static bool dce_v8_0_is_in_vblank(struct amdgpu_device *adev, int crtc)
|
||||
{
|
||||
if (RREG32(mmCRTC_STATUS + crtc_offsets[crtc]) &
|
||||
CRTC_STATUS__CRTC_V_BLANK_MASK)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool dce_v8_0_is_counter_moving(struct amdgpu_device *adev, int crtc)
|
||||
{
|
||||
u32 pos1, pos2;
|
||||
|
||||
pos1 = RREG32(mmCRTC_STATUS_POSITION + crtc_offsets[crtc]);
|
||||
pos2 = RREG32(mmCRTC_STATUS_POSITION + crtc_offsets[crtc]);
|
||||
|
||||
if (pos1 != pos2)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* dce_v8_0_vblank_wait - vblank wait asic callback.
|
||||
*
|
||||
* @adev: amdgpu_device pointer
|
||||
* @crtc: crtc to wait for vblank on
|
||||
*
|
||||
* Wait for vblank on the requested crtc (evergreen+).
|
||||
*/
|
||||
static void dce_v8_0_vblank_wait(struct amdgpu_device *adev, int crtc)
|
||||
{
|
||||
unsigned i = 100;
|
||||
|
||||
if (crtc >= adev->mode_info.num_crtc)
|
||||
return;
|
||||
|
||||
if (!(RREG32(mmCRTC_CONTROL + crtc_offsets[crtc]) & CRTC_CONTROL__CRTC_MASTER_EN_MASK))
|
||||
return;
|
||||
|
||||
/* depending on when we hit vblank, we may be close to active; if so,
|
||||
* wait for another frame.
|
||||
*/
|
||||
while (dce_v8_0_is_in_vblank(adev, crtc)) {
|
||||
if (i++ == 100) {
|
||||
i = 0;
|
||||
if (!dce_v8_0_is_counter_moving(adev, crtc))
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
while (!dce_v8_0_is_in_vblank(adev, crtc)) {
|
||||
if (i++ == 100) {
|
||||
i = 0;
|
||||
if (!dce_v8_0_is_counter_moving(adev, crtc))
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static u32 dce_v8_0_vblank_get_counter(struct amdgpu_device *adev, int crtc)
|
||||
{
|
||||
if (crtc >= adev->mode_info.num_crtc)
|
||||
|
@ -3493,7 +3433,6 @@ static void dce_v8_0_encoder_add(struct amdgpu_device *adev,
|
|||
static const struct amdgpu_display_funcs dce_v8_0_display_funcs = {
|
||||
.bandwidth_update = &dce_v8_0_bandwidth_update,
|
||||
.vblank_get_counter = &dce_v8_0_vblank_get_counter,
|
||||
.vblank_wait = &dce_v8_0_vblank_wait,
|
||||
.backlight_set_level = &amdgpu_atombios_encoder_set_backlight_level,
|
||||
.backlight_get_level = &amdgpu_atombios_encoder_get_backlight_level,
|
||||
.hpd_sense = &dce_v8_0_hpd_sense,
|
||||
|
|
|
@ -48,19 +48,6 @@ static void dce_virtual_set_crtc_vblank_interrupt_state(struct amdgpu_device *ad
|
|||
int crtc,
|
||||
enum amdgpu_interrupt_state state);
|
||||
|
||||
/**
|
||||
* dce_virtual_vblank_wait - vblank wait asic callback.
|
||||
*
|
||||
* @adev: amdgpu_device pointer
|
||||
* @crtc: crtc to wait for vblank on
|
||||
*
|
||||
* Wait for vblank on the requested crtc (evergreen+).
|
||||
*/
|
||||
static void dce_virtual_vblank_wait(struct amdgpu_device *adev, int crtc)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
static u32 dce_virtual_vblank_get_counter(struct amdgpu_device *adev, int crtc)
|
||||
{
|
||||
return 0;
|
||||
|
@ -654,7 +641,6 @@ static int dce_virtual_connector_encoder_init(struct amdgpu_device *adev,
|
|||
static const struct amdgpu_display_funcs dce_virtual_display_funcs = {
|
||||
.bandwidth_update = &dce_virtual_bandwidth_update,
|
||||
.vblank_get_counter = &dce_virtual_vblank_get_counter,
|
||||
.vblank_wait = &dce_virtual_vblank_wait,
|
||||
.backlight_set_level = NULL,
|
||||
.backlight_get_level = NULL,
|
||||
.hpd_sense = &dce_virtual_hpd_sense,
|
||||
|
|
|
@ -1568,7 +1568,6 @@ static int amdgpu_notify_freesync(struct drm_device *dev, void *data,
|
|||
static const struct amdgpu_display_funcs dm_display_funcs = {
|
||||
.bandwidth_update = dm_bandwidth_update, /* called unconditionally */
|
||||
.vblank_get_counter = dm_vblank_get_counter,/* called unconditionally */
|
||||
.vblank_wait = NULL,
|
||||
.backlight_set_level =
|
||||
dm_set_backlight_level,/* called unconditionally */
|
||||
.backlight_get_level =
|
||||
|
|
Loading…
Reference in New Issue