Message ID | 20240408190611.24914-2-ville.syrjala@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/5] drm/vblank: Introduce drm_crtc_vblank_crtc() | expand |
On Mon, 08 Apr 2024, Ville Syrjala <ville.syrjala@linux.intel.com> wrote: > From: Ville Syrjälä <ville.syrjala@linux.intel.com> > > Replace the open coded drm_crtc_vblank_crtc() with the real > thing. > > Cc: Alex Deucher <alexander.deucher@amd.com> > Cc: "Christian König" <christian.koenig@amd.com> > Cc: "Pan, Xinhui" <Xinhui.Pan@amd.com> > Cc: amd-gfx@lists.freedesktop.org > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> FWIW, Reviewed-by: Jani Nikula <jani.nikula@intel.com> > --- > 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 = &dev->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 = &dev->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 = &drm_dev->vblank[acrtc->base.index]; > + vblank = drm_crtc_vblank_crtc(&acrtc->base); > previous_timestamp = atomic64_read(&irq_params->previous_timestamp); > frame_duration_ns = vblank->time - previous_timestamp;
On Mon, Apr 8, 2024 at 3:06 PM Ville Syrjala <ville.syrjala@linux.intel.com> wrote: > > From: Ville Syrjälä <ville.syrjala@linux.intel.com> > > Replace the open coded drm_crtc_vblank_crtc() with the real > thing. > > Cc: Alex Deucher <alexander.deucher@amd.com> > Cc: "Christian König" <christian.koenig@amd.com> > Cc: "Pan, Xinhui" <Xinhui.Pan@amd.com> > Cc: amd-gfx@lists.freedesktop.org > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> > --- > 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 = &dev->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 = &dev->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 = &drm_dev->vblank[acrtc->base.index]; > + vblank = drm_crtc_vblank_crtc(&acrtc->base); > previous_timestamp = atomic64_read(&irq_params->previous_timestamp); > frame_duration_ns = vblank->time - previous_timestamp; > > -- > 2.43.2 >
On Wed, May 08, 2024 at 09:47:50AM -0400, Alex Deucher wrote: > On Mon, Apr 8, 2024 at 3:06 PM Ville Syrjala > <ville.syrjala@linux.intel.com> wrote: > > > > From: Ville Syrjälä <ville.syrjala@linux.intel.com> > > > > Replace the open coded drm_crtc_vblank_crtc() with the real > > thing. > > > > Cc: Alex Deucher <alexander.deucher@amd.com> > > Cc: "Christian König" <christian.koenig@amd.com> > > Cc: "Pan, Xinhui" <Xinhui.Pan@amd.com> > > Cc: amd-gfx@lists.freedesktop.org > > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> > > Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Thanks. Pushed to drm-misc-next.
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 = &dev->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 = &dev->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 = &drm_dev->vblank[acrtc->base.index]; + vblank = drm_crtc_vblank_crtc(&acrtc->base); previous_timestamp = atomic64_read(&irq_params->previous_timestamp); frame_duration_ns = vblank->time - previous_timestamp;