summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Courbot <acourbot@nvidia.com>2016-02-10 14:45:43 +0900
committerAlexandre Courbot <acourbot@nvidia.com>2016-06-06 12:34:26 +0900
commit31d64e1ab4dce45b5b0e411ccaddeae5fb30dc67 (patch)
tree98c80335d06e10da1d0411713e0a837958320f2c
parent223b50fcd7b95686f67451e2bad273b40d3bedcd (diff)
downloadnouveau-staging/drm-fixes.tar.gz
drm: Move ->get_scanout_position() to struct drm_crtc_funcsstaging/drm-fixes
Align to changes done in tagr's staging/work kernel branch
-rw-r--r--drm/nouveau/nouveau_display.c28
-rw-r--r--drm/nouveau/nouveau_display.h6
-rw-r--r--drm/nouveau/nouveau_drm.c1
-rw-r--r--drm/nouveau/nv50_display.c1
4 files changed, 9 insertions, 27 deletions
diff --git a/drm/nouveau/nouveau_display.c b/drm/nouveau/nouveau_display.c
index 7ce7fa5cb..3abd6f26d 100644
--- a/drm/nouveau/nouveau_display.c
+++ b/drm/nouveau/nouveau_display.c
@@ -93,8 +93,9 @@ calc(int blanks, int blanke, int total, int line)
}
int
-nouveau_display_scanoutpos_head(struct drm_crtc *crtc, int *vpos, int *hpos,
- ktime_t *stime, ktime_t *etime)
+nouveau_display_scanoutpos(struct drm_crtc *crtc, unsigned int flags,
+ int *vpos, int *hpos, ktime_t *stime,
+ ktime_t *etime, const struct drm_display_mode *mode)
{
struct {
struct nv04_disp_mthd_v0 base;
@@ -133,24 +134,6 @@ nouveau_display_scanoutpos_head(struct drm_crtc *crtc, int *vpos, int *hpos,
}
int
-nouveau_display_scanoutpos(struct drm_device *dev, unsigned int pipe,
- unsigned int flags, int *vpos, int *hpos,
- ktime_t *stime, ktime_t *etime,
- const struct drm_display_mode *mode)
-{
- struct drm_crtc *crtc;
-
- list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) {
- if (nouveau_crtc(crtc)->index == pipe) {
- return nouveau_display_scanoutpos_head(crtc, vpos, hpos,
- stime, etime);
- }
- }
-
- return 0;
-}
-
-int
nouveau_display_vblstamp(struct drm_device *dev, unsigned int pipe,
int *max_error, struct timeval *time, unsigned flags)
{
@@ -158,9 +141,8 @@ nouveau_display_vblstamp(struct drm_device *dev, unsigned int pipe,
list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) {
if (nouveau_crtc(crtc)->index == pipe) {
- return drm_calc_vbltimestamp_from_scanoutpos(dev,
- pipe, max_error, time, flags,
- &crtc->hwmode);
+ return drm_calc_vbltimestamp_from_scanoutpos(crtc,
+ max_error, time, flags, &crtc->hwmode);
}
}
diff --git a/drm/nouveau/nouveau_display.h b/drm/nouveau/nouveau_display.h
index 24273bacd..f229001d2 100644
--- a/drm/nouveau/nouveau_display.h
+++ b/drm/nouveau/nouveau_display.h
@@ -67,9 +67,9 @@ int nouveau_display_suspend(struct drm_device *dev, bool runtime);
void nouveau_display_resume(struct drm_device *dev, bool runtime);
int nouveau_display_vblank_enable(struct drm_device *, unsigned int);
void nouveau_display_vblank_disable(struct drm_device *, unsigned int);
-int nouveau_display_scanoutpos(struct drm_device *, unsigned int,
- unsigned int, int *, int *, ktime_t *,
- ktime_t *, const struct drm_display_mode *);
+int nouveau_display_scanoutpos(struct drm_crtc *, unsigned int, int *, int *,
+ ktime_t *, ktime_t *,
+ const struct drm_display_mode *);
int nouveau_display_vblstamp(struct drm_device *, unsigned int, int *,
struct timeval *, unsigned);
diff --git a/drm/nouveau/nouveau_drm.c b/drm/nouveau/nouveau_drm.c
index 7cde35298..243ba5e12 100644
--- a/drm/nouveau/nouveau_drm.c
+++ b/drm/nouveau/nouveau_drm.c
@@ -951,7 +951,6 @@ driver_stub = {
.get_vblank_counter = drm_vblank_no_hw_counter,
.enable_vblank = nouveau_display_vblank_enable,
.disable_vblank = nouveau_display_vblank_disable,
- .get_scanout_position = nouveau_display_scanoutpos,
.get_vblank_timestamp = nouveau_display_vblstamp,
.ioctls = nouveau_ioctls,
diff --git a/drm/nouveau/nv50_display.c b/drm/nouveau/nv50_display.c
index d2d6d7b1b..3cbc1e65f 100644
--- a/drm/nouveau/nv50_display.c
+++ b/drm/nouveau/nv50_display.c
@@ -1429,6 +1429,7 @@ static const struct drm_crtc_funcs nv50_crtc_func = {
.set_config = nouveau_crtc_set_config,
.destroy = nv50_crtc_destroy,
.page_flip = nouveau_crtc_page_flip,
+ .get_scanout_position = nouveau_display_scanoutpos,
};
static int