[PATCH 1/5] drm/radeon: remove (pre|post)_page_flip callbacks

Alex Deucher alexdeucher at gmail.com
Tue May 27 08:56:08 PDT 2014


On Tue, May 27, 2014 at 10:49 AM, Christian König
<deathsimple at vodafone.de> wrote:
> From: Christian König <christian.koenig at amd.com>
>
> They are doing the same on all generations anyway.
>
> Signed-off-by: Christian König <christian.koenig at amd.com>

Reviewed-by: Alex Deucher <alexander.deucher at amd.com>

> ---
>  drivers/gpu/drm/radeon/evergreen.c      | 30 ----------------------
>  drivers/gpu/drm/radeon/r100.c           | 30 ----------------------
>  drivers/gpu/drm/radeon/radeon.h         |  4 ---
>  drivers/gpu/drm/radeon/radeon_asic.c    | 44 ---------------------------------
>  drivers/gpu/drm/radeon/radeon_asic.h    |  6 -----
>  drivers/gpu/drm/radeon/radeon_display.c |  4 +--
>  drivers/gpu/drm/radeon/rs600.c          | 12 ---------
>  7 files changed, 2 insertions(+), 128 deletions(-)
>
> diff --git a/drivers/gpu/drm/radeon/evergreen.c b/drivers/gpu/drm/radeon/evergreen.c
> index b406546..ec31a82 100644
> --- a/drivers/gpu/drm/radeon/evergreen.c
> +++ b/drivers/gpu/drm/radeon/evergreen.c
> @@ -1301,36 +1301,6 @@ void dce4_wait_for_vblank(struct radeon_device *rdev, int crtc)
>  }
>
>  /**
> - * radeon_irq_kms_pflip_irq_get - pre-pageflip callback.
> - *
> - * @rdev: radeon_device pointer
> - * @crtc: crtc to prepare for pageflip on
> - *
> - * Pre-pageflip callback (evergreen+).
> - * Enables the pageflip irq (vblank irq).
> - */
> -void evergreen_pre_page_flip(struct radeon_device *rdev, int crtc)
> -{
> -       /* enable the pflip int */
> -       radeon_irq_kms_pflip_irq_get(rdev, crtc);
> -}
> -
> -/**
> - * evergreen_post_page_flip - pos-pageflip callback.
> - *
> - * @rdev: radeon_device pointer
> - * @crtc: crtc to cleanup pageflip on
> - *
> - * Post-pageflip callback (evergreen+).
> - * Disables the pageflip irq (vblank irq).
> - */
> -void evergreen_post_page_flip(struct radeon_device *rdev, int crtc)
> -{
> -       /* disable the pflip int */
> -       radeon_irq_kms_pflip_irq_put(rdev, crtc);
> -}
> -
> -/**
>   * evergreen_page_flip - pageflip callback.
>   *
>   * @rdev: radeon_device pointer
> diff --git a/drivers/gpu/drm/radeon/r100.c b/drivers/gpu/drm/radeon/r100.c
> index b6c3264..840651f 100644
> --- a/drivers/gpu/drm/radeon/r100.c
> +++ b/drivers/gpu/drm/radeon/r100.c
> @@ -142,36 +142,6 @@ void r100_wait_for_vblank(struct radeon_device *rdev, int crtc)
>  }
>
>  /**
> - * r100_pre_page_flip - pre-pageflip callback.
> - *
> - * @rdev: radeon_device pointer
> - * @crtc: crtc to prepare for pageflip on
> - *
> - * Pre-pageflip callback (r1xx-r4xx).
> - * Enables the pageflip irq (vblank irq).
> - */
> -void r100_pre_page_flip(struct radeon_device *rdev, int crtc)
> -{
> -       /* enable the pflip int */
> -       radeon_irq_kms_pflip_irq_get(rdev, crtc);
> -}
> -
> -/**
> - * r100_post_page_flip - pos-pageflip callback.
> - *
> - * @rdev: radeon_device pointer
> - * @crtc: crtc to cleanup pageflip on
> - *
> - * Post-pageflip callback (r1xx-r4xx).
> - * Disables the pageflip irq (vblank irq).
> - */
> -void r100_post_page_flip(struct radeon_device *rdev, int crtc)
> -{
> -       /* disable the pflip int */
> -       radeon_irq_kms_pflip_irq_put(rdev, crtc);
> -}
> -
> -/**
>   * r100_page_flip - pageflip callback.
>   *
>   * @rdev: radeon_device pointer
> diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h
> index 325f3a5..2b919af 100644
> --- a/drivers/gpu/drm/radeon/radeon.h
> +++ b/drivers/gpu/drm/radeon/radeon.h
> @@ -1881,9 +1881,7 @@ struct radeon_asic {
>         } dpm;
>         /* pageflipping */
>         struct {
> -               void (*pre_page_flip)(struct radeon_device *rdev, int crtc);
>                 u32 (*page_flip)(struct radeon_device *rdev, int crtc, u64 crtc_base);
> -               void (*post_page_flip)(struct radeon_device *rdev, int crtc);
>         } pflip;
>  };
>
> @@ -2742,9 +2740,7 @@ void radeon_ring_write(struct radeon_ring *ring, uint32_t v);
>  #define radeon_pm_finish(rdev) (rdev)->asic->pm.finish((rdev))
>  #define radeon_pm_init_profile(rdev) (rdev)->asic->pm.init_profile((rdev))
>  #define radeon_pm_get_dynpm_state(rdev) (rdev)->asic->pm.get_dynpm_state((rdev))
> -#define radeon_pre_page_flip(rdev, crtc) (rdev)->asic->pflip.pre_page_flip((rdev), (crtc))
>  #define radeon_page_flip(rdev, crtc, base) (rdev)->asic->pflip.page_flip((rdev), (crtc), (base))
> -#define radeon_post_page_flip(rdev, crtc) (rdev)->asic->pflip.post_page_flip((rdev), (crtc))
>  #define radeon_wait_for_vblank(rdev, crtc) (rdev)->asic->display.wait_for_vblank((rdev), (crtc))
>  #define radeon_mc_wait_for_idle(rdev) (rdev)->asic->mc_wait_for_idle((rdev))
>  #define radeon_get_xclk(rdev) (rdev)->asic->get_xclk((rdev))
> diff --git a/drivers/gpu/drm/radeon/radeon_asic.c b/drivers/gpu/drm/radeon/radeon_asic.c
> index ddcd0a2..cb7a0ea 100644
> --- a/drivers/gpu/drm/radeon/radeon_asic.c
> +++ b/drivers/gpu/drm/radeon/radeon_asic.c
> @@ -248,9 +248,7 @@ static struct radeon_asic r100_asic = {
>                 .set_clock_gating = &radeon_legacy_set_clock_gating,
>         },
>         .pflip = {
> -               .pre_page_flip = &r100_pre_page_flip,
>                 .page_flip = &r100_page_flip,
> -               .post_page_flip = &r100_post_page_flip,
>         },
>  };
>
> @@ -315,9 +313,7 @@ static struct radeon_asic r200_asic = {
>                 .set_clock_gating = &radeon_legacy_set_clock_gating,
>         },
>         .pflip = {
> -               .pre_page_flip = &r100_pre_page_flip,
>                 .page_flip = &r100_page_flip,
> -               .post_page_flip = &r100_post_page_flip,
>         },
>  };
>
> @@ -396,9 +392,7 @@ static struct radeon_asic r300_asic = {
>                 .set_clock_gating = &radeon_legacy_set_clock_gating,
>         },
>         .pflip = {
> -               .pre_page_flip = &r100_pre_page_flip,
>                 .page_flip = &r100_page_flip,
> -               .post_page_flip = &r100_post_page_flip,
>         },
>  };
>
> @@ -463,9 +457,7 @@ static struct radeon_asic r300_asic_pcie = {
>                 .set_clock_gating = &radeon_legacy_set_clock_gating,
>         },
>         .pflip = {
> -               .pre_page_flip = &r100_pre_page_flip,
>                 .page_flip = &r100_page_flip,
> -               .post_page_flip = &r100_post_page_flip,
>         },
>  };
>
> @@ -530,9 +522,7 @@ static struct radeon_asic r420_asic = {
>                 .set_clock_gating = &radeon_atom_set_clock_gating,
>         },
>         .pflip = {
> -               .pre_page_flip = &r100_pre_page_flip,
>                 .page_flip = &r100_page_flip,
> -               .post_page_flip = &r100_post_page_flip,
>         },
>  };
>
> @@ -597,9 +587,7 @@ static struct radeon_asic rs400_asic = {
>                 .set_clock_gating = &radeon_legacy_set_clock_gating,
>         },
>         .pflip = {
> -               .pre_page_flip = &r100_pre_page_flip,
>                 .page_flip = &r100_page_flip,
> -               .post_page_flip = &r100_post_page_flip,
>         },
>  };
>
> @@ -666,9 +654,7 @@ static struct radeon_asic rs600_asic = {
>                 .set_clock_gating = &radeon_atom_set_clock_gating,
>         },
>         .pflip = {
> -               .pre_page_flip = &rs600_pre_page_flip,
>                 .page_flip = &rs600_page_flip,
> -               .post_page_flip = &rs600_post_page_flip,
>         },
>  };
>
> @@ -735,9 +721,7 @@ static struct radeon_asic rs690_asic = {
>                 .set_clock_gating = &radeon_atom_set_clock_gating,
>         },
>         .pflip = {
> -               .pre_page_flip = &rs600_pre_page_flip,
>                 .page_flip = &rs600_page_flip,
> -               .post_page_flip = &rs600_post_page_flip,
>         },
>  };
>
> @@ -802,9 +786,7 @@ static struct radeon_asic rv515_asic = {
>                 .set_clock_gating = &radeon_atom_set_clock_gating,
>         },
>         .pflip = {
> -               .pre_page_flip = &rs600_pre_page_flip,
>                 .page_flip = &rs600_page_flip,
> -               .post_page_flip = &rs600_post_page_flip,
>         },
>  };
>
> @@ -869,9 +851,7 @@ static struct radeon_asic r520_asic = {
>                 .set_clock_gating = &radeon_atom_set_clock_gating,
>         },
>         .pflip = {
> -               .pre_page_flip = &rs600_pre_page_flip,
>                 .page_flip = &rs600_page_flip,
> -               .post_page_flip = &rs600_post_page_flip,
>         },
>  };
>
> @@ -968,9 +948,7 @@ static struct radeon_asic r600_asic = {
>                 .get_temperature = &rv6xx_get_temp,
>         },
>         .pflip = {
> -               .pre_page_flip = &rs600_pre_page_flip,
>                 .page_flip = &rs600_page_flip,
> -               .post_page_flip = &rs600_post_page_flip,
>         },
>  };
>
> @@ -1059,9 +1037,7 @@ static struct radeon_asic rv6xx_asic = {
>                 .force_performance_level = &rv6xx_dpm_force_performance_level,
>         },
>         .pflip = {
> -               .pre_page_flip = &rs600_pre_page_flip,
>                 .page_flip = &rs600_page_flip,
> -               .post_page_flip = &rs600_post_page_flip,
>         },
>  };
>
> @@ -1150,9 +1126,7 @@ static struct radeon_asic rs780_asic = {
>                 .force_performance_level = &rs780_dpm_force_performance_level,
>         },
>         .pflip = {
> -               .pre_page_flip = &rs600_pre_page_flip,
>                 .page_flip = &rs600_page_flip,
> -               .post_page_flip = &rs600_post_page_flip,
>         },
>  };
>
> @@ -1256,9 +1230,7 @@ static struct radeon_asic rv770_asic = {
>                 .vblank_too_short = &rv770_dpm_vblank_too_short,
>         },
>         .pflip = {
> -               .pre_page_flip = &rs600_pre_page_flip,
>                 .page_flip = &rv770_page_flip,
> -               .post_page_flip = &rs600_post_page_flip,
>         },
>  };
>
> @@ -1375,9 +1347,7 @@ static struct radeon_asic evergreen_asic = {
>                 .vblank_too_short = &cypress_dpm_vblank_too_short,
>         },
>         .pflip = {
> -               .pre_page_flip = &evergreen_pre_page_flip,
>                 .page_flip = &evergreen_page_flip,
> -               .post_page_flip = &evergreen_post_page_flip,
>         },
>  };
>
> @@ -1467,9 +1437,7 @@ static struct radeon_asic sumo_asic = {
>                 .force_performance_level = &sumo_dpm_force_performance_level,
>         },
>         .pflip = {
> -               .pre_page_flip = &evergreen_pre_page_flip,
>                 .page_flip = &evergreen_page_flip,
> -               .post_page_flip = &evergreen_post_page_flip,
>         },
>  };
>
> @@ -1560,9 +1528,7 @@ static struct radeon_asic btc_asic = {
>                 .vblank_too_short = &btc_dpm_vblank_too_short,
>         },
>         .pflip = {
> -               .pre_page_flip = &evergreen_pre_page_flip,
>                 .page_flip = &evergreen_page_flip,
> -               .post_page_flip = &evergreen_post_page_flip,
>         },
>  };
>
> @@ -1704,9 +1670,7 @@ static struct radeon_asic cayman_asic = {
>                 .vblank_too_short = &ni_dpm_vblank_too_short,
>         },
>         .pflip = {
> -               .pre_page_flip = &evergreen_pre_page_flip,
>                 .page_flip = &evergreen_page_flip,
> -               .post_page_flip = &evergreen_post_page_flip,
>         },
>  };
>
> @@ -1805,9 +1769,7 @@ static struct radeon_asic trinity_asic = {
>                 .enable_bapm = &trinity_dpm_enable_bapm,
>         },
>         .pflip = {
> -               .pre_page_flip = &evergreen_pre_page_flip,
>                 .page_flip = &evergreen_page_flip,
> -               .post_page_flip = &evergreen_post_page_flip,
>         },
>  };
>
> @@ -1936,9 +1898,7 @@ static struct radeon_asic si_asic = {
>                 .vblank_too_short = &ni_dpm_vblank_too_short,
>         },
>         .pflip = {
> -               .pre_page_flip = &evergreen_pre_page_flip,
>                 .page_flip = &evergreen_page_flip,
> -               .post_page_flip = &evergreen_post_page_flip,
>         },
>  };
>
> @@ -2099,9 +2059,7 @@ static struct radeon_asic ci_asic = {
>                 .powergate_uvd = &ci_dpm_powergate_uvd,
>         },
>         .pflip = {
> -               .pre_page_flip = &evergreen_pre_page_flip,
>                 .page_flip = &evergreen_page_flip,
> -               .post_page_flip = &evergreen_post_page_flip,
>         },
>  };
>
> @@ -2204,9 +2162,7 @@ static struct radeon_asic kv_asic = {
>                 .enable_bapm = &kv_dpm_enable_bapm,
>         },
>         .pflip = {
> -               .pre_page_flip = &evergreen_pre_page_flip,
>                 .page_flip = &evergreen_page_flip,
> -               .post_page_flip = &evergreen_post_page_flip,
>         },
>  };
>
> diff --git a/drivers/gpu/drm/radeon/radeon_asic.h b/drivers/gpu/drm/radeon/radeon_asic.h
> index e6455b9..953607d 100644
> --- a/drivers/gpu/drm/radeon/radeon_asic.h
> +++ b/drivers/gpu/drm/radeon/radeon_asic.h
> @@ -135,9 +135,7 @@ extern void r100_pm_prepare(struct radeon_device *rdev);
>  extern void r100_pm_finish(struct radeon_device *rdev);
>  extern void r100_pm_init_profile(struct radeon_device *rdev);
>  extern void r100_pm_get_dynpm_state(struct radeon_device *rdev);
> -extern void r100_pre_page_flip(struct radeon_device *rdev, int crtc);
>  extern u32 r100_page_flip(struct radeon_device *rdev, int crtc, u64 crtc_base);
> -extern void r100_post_page_flip(struct radeon_device *rdev, int crtc);
>  extern void r100_wait_for_vblank(struct radeon_device *rdev, int crtc);
>  extern int r100_mc_wait_for_idle(struct radeon_device *rdev);
>
> @@ -241,9 +239,7 @@ void rs600_hpd_set_polarity(struct radeon_device *rdev,
>  extern void rs600_pm_misc(struct radeon_device *rdev);
>  extern void rs600_pm_prepare(struct radeon_device *rdev);
>  extern void rs600_pm_finish(struct radeon_device *rdev);
> -extern void rs600_pre_page_flip(struct radeon_device *rdev, int crtc);
>  extern u32 rs600_page_flip(struct radeon_device *rdev, int crtc, u64 crtc_base);
> -extern void rs600_post_page_flip(struct radeon_device *rdev, int crtc);
>  void rs600_set_safe_registers(struct radeon_device *rdev);
>  extern void avivo_wait_for_vblank(struct radeon_device *rdev, int crtc);
>  extern int rs600_mc_wait_for_idle(struct radeon_device *rdev);
> @@ -520,9 +516,7 @@ extern void sumo_pm_init_profile(struct radeon_device *rdev);
>  extern void btc_pm_init_profile(struct radeon_device *rdev);
>  int sumo_set_uvd_clocks(struct radeon_device *rdev, u32 vclk, u32 dclk);
>  int evergreen_set_uvd_clocks(struct radeon_device *rdev, u32 vclk, u32 dclk);
> -extern void evergreen_pre_page_flip(struct radeon_device *rdev, int crtc);
>  extern u32 evergreen_page_flip(struct radeon_device *rdev, int crtc, u64 crtc_base);
> -extern void evergreen_post_page_flip(struct radeon_device *rdev, int crtc);
>  extern void dce4_wait_for_vblank(struct radeon_device *rdev, int crtc);
>  void evergreen_disable_interrupt_state(struct radeon_device *rdev);
>  int evergreen_mc_wait_for_idle(struct radeon_device *rdev);
> diff --git a/drivers/gpu/drm/radeon/radeon_display.c b/drivers/gpu/drm/radeon/radeon_display.c
> index 8d99d5e..beccc4a 100644
> --- a/drivers/gpu/drm/radeon/radeon_display.c
> +++ b/drivers/gpu/drm/radeon/radeon_display.c
> @@ -342,7 +342,7 @@ void radeon_crtc_handle_flip(struct radeon_device *rdev, int crtc_id)
>
>         drm_vblank_put(rdev->ddev, radeon_crtc->crtc_id);
>         radeon_fence_unref(&work->fence);
> -       radeon_post_page_flip(work->rdev, work->crtc_id);
> +       radeon_irq_kms_pflip_irq_get(rdev, work->crtc_id);
>         schedule_work(&work->work);
>  }
>
> @@ -471,7 +471,7 @@ static int radeon_crtc_page_flip(struct drm_crtc *crtc,
>         }
>
>         /* set the proper interrupt */
> -       radeon_pre_page_flip(rdev, radeon_crtc->crtc_id);
> +       radeon_irq_kms_pflip_irq_get(rdev, radeon_crtc->crtc_id);
>
>         return 0;
>
> diff --git a/drivers/gpu/drm/radeon/rs600.c b/drivers/gpu/drm/radeon/rs600.c
> index 72d3616..e005bd7 100644
> --- a/drivers/gpu/drm/radeon/rs600.c
> +++ b/drivers/gpu/drm/radeon/rs600.c
> @@ -109,18 +109,6 @@ void avivo_wait_for_vblank(struct radeon_device *rdev, int crtc)
>         }
>  }
>
> -void rs600_pre_page_flip(struct radeon_device *rdev, int crtc)
> -{
> -       /* enable the pflip int */
> -       radeon_irq_kms_pflip_irq_get(rdev, crtc);
> -}
> -
> -void rs600_post_page_flip(struct radeon_device *rdev, int crtc)
> -{
> -       /* disable the pflip int */
> -       radeon_irq_kms_pflip_irq_put(rdev, crtc);
> -}
> -
>  u32 rs600_page_flip(struct radeon_device *rdev, int crtc_id, u64 crtc_base)
>  {
>         struct radeon_crtc *radeon_crtc = rdev->mode_info.crtcs[crtc_id];
> --
> 1.9.1
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel


More information about the dri-devel mailing list