Re: [PATCH 2/5] drm/amdgpu: Use drm_crtc_vblank_crtc()
On Wed, May 08, 2024 at 09:47:50AM -0400, Alex Deucher wrote: > On Mon, Apr 8, 2024 at 3:06 PM Ville Syrjala > wrote: > > > > From: Ville Syrjälä > > > > Replace the open coded drm_crtc_vblank_crtc() with the real > > thing. > > > > Cc: Alex Deucher > > Cc: "Christian König" > > Cc: "Pan, Xinhui" > > Cc: amd-...@lists.freedesktop.org > > Signed-off-by: Ville Syrjälä > > Reviewed-by: Alex Deucher Thanks. Pushed to drm-misc-next. -- Ville Syrjälä Intel
Re: [PATCH 2/5] drm/amdgpu: Use drm_crtc_vblank_crtc()
On Mon, Apr 8, 2024 at 3:06 PM Ville Syrjala wrote: > > From: Ville Syrjälä > > Replace the open coded drm_crtc_vblank_crtc() with the real > thing. > > Cc: Alex Deucher > Cc: "Christian König" > Cc: "Pan, Xinhui" > Cc: amd-...@lists.freedesktop.org > Signed-off-by: Ville Syrjälä Reviewed-by: Alex Deucher > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c | 8 ++-- > drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 2 +- > 2 files changed, 3 insertions(+), 7 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c > index 8baa2e0935cc..258703145161 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c > @@ -65,9 +65,7 @@ static enum hrtimer_restart > amdgpu_vkms_vblank_simulate(struct hrtimer *timer) > > static int amdgpu_vkms_enable_vblank(struct drm_crtc *crtc) > { > - struct drm_device *dev = crtc->dev; > - unsigned int pipe = drm_crtc_index(crtc); > - struct drm_vblank_crtc *vblank = >vblank[pipe]; > + struct drm_vblank_crtc *vblank = drm_crtc_vblank_crtc(crtc); > struct amdgpu_vkms_output *out = drm_crtc_to_amdgpu_vkms_output(crtc); > struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(crtc); > > @@ -91,10 +89,8 @@ static bool amdgpu_vkms_get_vblank_timestamp(struct > drm_crtc *crtc, > ktime_t *vblank_time, > bool in_vblank_irq) > { > - struct drm_device *dev = crtc->dev; > - unsigned int pipe = crtc->index; > struct amdgpu_vkms_output *output = > drm_crtc_to_amdgpu_vkms_output(crtc); > - struct drm_vblank_crtc *vblank = >vblank[pipe]; > + struct drm_vblank_crtc *vblank = drm_crtc_vblank_crtc(crtc); > struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(crtc); > > if (!READ_ONCE(vblank->enabled)) { > diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > index 71d2d44681b2..662d2d83473b 100644 > --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > @@ -528,7 +528,7 @@ static void dm_vupdate_high_irq(void *interrupt_params) > if (acrtc) { > vrr_active = amdgpu_dm_crtc_vrr_active_irq(acrtc); > drm_dev = acrtc->base.dev; > - vblank = _dev->vblank[acrtc->base.index]; > + vblank = drm_crtc_vblank_crtc(>base); > previous_timestamp = > atomic64_read(_params->previous_timestamp); > frame_duration_ns = vblank->time - previous_timestamp; > > -- > 2.43.2 >
Re: [PATCH 2/5] drm/amdgpu: Use drm_crtc_vblank_crtc()
On Mon, 08 Apr 2024, Ville Syrjala wrote: > From: Ville Syrjälä > > Replace the open coded drm_crtc_vblank_crtc() with the real > thing. > > Cc: Alex Deucher > Cc: "Christian König" > Cc: "Pan, Xinhui" > Cc: amd-...@lists.freedesktop.org > Signed-off-by: Ville Syrjälä FWIW, Reviewed-by: Jani Nikula > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c | 8 ++-- > drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 2 +- > 2 files changed, 3 insertions(+), 7 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c > index 8baa2e0935cc..258703145161 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c > @@ -65,9 +65,7 @@ static enum hrtimer_restart > amdgpu_vkms_vblank_simulate(struct hrtimer *timer) > > static int amdgpu_vkms_enable_vblank(struct drm_crtc *crtc) > { > - struct drm_device *dev = crtc->dev; > - unsigned int pipe = drm_crtc_index(crtc); > - struct drm_vblank_crtc *vblank = >vblank[pipe]; > + struct drm_vblank_crtc *vblank = drm_crtc_vblank_crtc(crtc); > struct amdgpu_vkms_output *out = drm_crtc_to_amdgpu_vkms_output(crtc); > struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(crtc); > > @@ -91,10 +89,8 @@ static bool amdgpu_vkms_get_vblank_timestamp(struct > drm_crtc *crtc, >ktime_t *vblank_time, >bool in_vblank_irq) > { > - struct drm_device *dev = crtc->dev; > - unsigned int pipe = crtc->index; > struct amdgpu_vkms_output *output = > drm_crtc_to_amdgpu_vkms_output(crtc); > - struct drm_vblank_crtc *vblank = >vblank[pipe]; > + struct drm_vblank_crtc *vblank = drm_crtc_vblank_crtc(crtc); > struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(crtc); > > if (!READ_ONCE(vblank->enabled)) { > diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > index 71d2d44681b2..662d2d83473b 100644 > --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > @@ -528,7 +528,7 @@ static void dm_vupdate_high_irq(void *interrupt_params) > if (acrtc) { > vrr_active = amdgpu_dm_crtc_vrr_active_irq(acrtc); > drm_dev = acrtc->base.dev; > - vblank = _dev->vblank[acrtc->base.index]; > + vblank = drm_crtc_vblank_crtc(>base); > previous_timestamp = > atomic64_read(_params->previous_timestamp); > frame_duration_ns = vblank->time - previous_timestamp; -- Jani Nikula, Intel
[PATCH 2/5] drm/amdgpu: Use drm_crtc_vblank_crtc()
From: Ville Syrjälä Replace the open coded drm_crtc_vblank_crtc() with the real thing. Cc: Alex Deucher Cc: "Christian König" Cc: "Pan, Xinhui" Cc: amd-...@lists.freedesktop.org Signed-off-by: Ville Syrjälä --- drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c | 8 ++-- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 2 +- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c index 8baa2e0935cc..258703145161 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c @@ -65,9 +65,7 @@ static enum hrtimer_restart amdgpu_vkms_vblank_simulate(struct hrtimer *timer) static int amdgpu_vkms_enable_vblank(struct drm_crtc *crtc) { - struct drm_device *dev = crtc->dev; - unsigned int pipe = drm_crtc_index(crtc); - struct drm_vblank_crtc *vblank = >vblank[pipe]; + struct drm_vblank_crtc *vblank = drm_crtc_vblank_crtc(crtc); struct amdgpu_vkms_output *out = drm_crtc_to_amdgpu_vkms_output(crtc); struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(crtc); @@ -91,10 +89,8 @@ static bool amdgpu_vkms_get_vblank_timestamp(struct drm_crtc *crtc, ktime_t *vblank_time, bool in_vblank_irq) { - struct drm_device *dev = crtc->dev; - unsigned int pipe = crtc->index; struct amdgpu_vkms_output *output = drm_crtc_to_amdgpu_vkms_output(crtc); - struct drm_vblank_crtc *vblank = >vblank[pipe]; + struct drm_vblank_crtc *vblank = drm_crtc_vblank_crtc(crtc); struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(crtc); if (!READ_ONCE(vblank->enabled)) { diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c index 71d2d44681b2..662d2d83473b 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -528,7 +528,7 @@ static void dm_vupdate_high_irq(void *interrupt_params) if (acrtc) { vrr_active = amdgpu_dm_crtc_vrr_active_irq(acrtc); drm_dev = acrtc->base.dev; - vblank = _dev->vblank[acrtc->base.index]; + vblank = drm_crtc_vblank_crtc(>base); previous_timestamp = atomic64_read(_params->previous_timestamp); frame_duration_ns = vblank->time - previous_timestamp; -- 2.43.2