Loading drivers/gpu/drm/nouveau/dispnv50/disp.c +0 −1 Original line number Diff line number Diff line Loading @@ -46,7 +46,6 @@ #include <nvif/class.h> #include <nvif/cl0002.h> #include <nvif/cl5070.h> #include <nvif/event.h> #include <nvif/if0012.h> #include <nvif/if0014.h> Loading drivers/gpu/drm/nouveau/include/nvif/cl0046.h +0 −22 Original line number Diff line number Diff line Loading @@ -4,26 +4,4 @@ #define NV04_DISP_NTFY_VBLANK 0x00 #define NV04_DISP_NTFY_CONN 0x01 struct nv04_disp_mthd_v0 { __u8 version; #define NV04_DISP_SCANOUTPOS 0x00 __u8 method; __u8 head; __u8 pad03[5]; }; struct nv04_disp_scanoutpos_v0 { __u8 version; __u8 pad01[7]; __s64 time[2]; __u16 vblanks; __u16 vblanke; __u16 vtotal; __u16 vline; __u16 hblanks; __u16 hblanke; __u16 htotal; __u16 hline; }; #endif drivers/gpu/drm/nouveau/include/nvif/cl5070.hdeleted 100644 → 0 +0 −28 Original line number Diff line number Diff line /* SPDX-License-Identifier: MIT */ #ifndef __NVIF_CL5070_H__ #define __NVIF_CL5070_H__ #define NV50_DISP_MTHD 0x00 struct nv50_disp_mthd_v0 { __u8 version; #define NV50_DISP_SCANOUTPOS 0x00 __u8 method; __u8 head; __u8 pad03[5]; }; struct nv50_disp_scanoutpos_v0 { __u8 version; __u8 pad01[7]; __s64 time[2]; __u16 vblanks; __u16 vblanke; __u16 vtotal; __u16 vline; __u16 hblanks; __u16 hblanke; __u16 htotal; __u16 hline; }; #endif drivers/gpu/drm/nouveau/include/nvif/if0013.h +18 −0 Original line number Diff line number Diff line Loading @@ -9,4 +9,22 @@ union nvif_head_args { __u8 pad02[6]; } v0; }; #define NVIF_HEAD_V0_SCANOUTPOS 0x00 union nvif_head_scanoutpos_args { struct nvif_head_scanoutpos_v0 { __u8 version; __u8 pad01[7]; __s64 time[2]; __u16 vblanks; __u16 vblanke; __u16 vtotal; __u16 vline; __u16 hblanks; __u16 hblanke; __u16 htotal; __u16 hline; } v0; }; #endif drivers/gpu/drm/nouveau/nouveau_display.c +11 −16 Original line number Diff line number Diff line Loading @@ -42,7 +42,7 @@ #include "nv50_display.h" #include <nvif/class.h> #include <nvif/cl0046.h> #include <nvif/if0013.h> #include <nvif/event.h> #include <dispnv50/crc.h> Loading Loading @@ -84,24 +84,20 @@ static bool nouveau_display_scanoutpos_head(struct drm_crtc *crtc, int *vpos, int *hpos, ktime_t *stime, ktime_t *etime) { struct { struct nv04_disp_mthd_v0 base; struct nv04_disp_scanoutpos_v0 scan; } args = { .base.method = NV04_DISP_SCANOUTPOS, .base.head = nouveau_crtc(crtc)->index, }; struct nouveau_display *disp = nouveau_display(crtc->dev); struct drm_vblank_crtc *vblank = &crtc->dev->vblank[drm_crtc_index(crtc)]; struct nvif_head *head = &nouveau_crtc(crtc)->head; struct nvif_head_scanoutpos_v0 args; int retry = 20; bool ret = false; args.version = 0; do { ret = nvif_mthd(&disp->disp.object, 0, &args, sizeof(args)); ret = nvif_mthd(&head->object, NVIF_HEAD_V0_SCANOUTPOS, &args, sizeof(args)); if (ret != 0) return false; if (args.scan.vline) { if (args.vline) { ret = true; break; } Loading @@ -109,11 +105,10 @@ nouveau_display_scanoutpos_head(struct drm_crtc *crtc, int *vpos, int *hpos, if (retry) ndelay(vblank->linedur_ns); } while (retry--); *hpos = args.scan.hline; *vpos = calc(args.scan.vblanks, args.scan.vblanke, args.scan.vtotal, args.scan.vline); if (stime) *stime = ns_to_ktime(args.scan.time[0]); if (etime) *etime = ns_to_ktime(args.scan.time[1]); *hpos = args.hline; *vpos = calc(args.vblanks, args.vblanke, args.vtotal, args.vline); if (stime) *stime = ns_to_ktime(args.time[0]); if (etime) *etime = ns_to_ktime(args.time[1]); return ret; } Loading Loading
drivers/gpu/drm/nouveau/dispnv50/disp.c +0 −1 Original line number Diff line number Diff line Loading @@ -46,7 +46,6 @@ #include <nvif/class.h> #include <nvif/cl0002.h> #include <nvif/cl5070.h> #include <nvif/event.h> #include <nvif/if0012.h> #include <nvif/if0014.h> Loading
drivers/gpu/drm/nouveau/include/nvif/cl0046.h +0 −22 Original line number Diff line number Diff line Loading @@ -4,26 +4,4 @@ #define NV04_DISP_NTFY_VBLANK 0x00 #define NV04_DISP_NTFY_CONN 0x01 struct nv04_disp_mthd_v0 { __u8 version; #define NV04_DISP_SCANOUTPOS 0x00 __u8 method; __u8 head; __u8 pad03[5]; }; struct nv04_disp_scanoutpos_v0 { __u8 version; __u8 pad01[7]; __s64 time[2]; __u16 vblanks; __u16 vblanke; __u16 vtotal; __u16 vline; __u16 hblanks; __u16 hblanke; __u16 htotal; __u16 hline; }; #endif
drivers/gpu/drm/nouveau/include/nvif/cl5070.hdeleted 100644 → 0 +0 −28 Original line number Diff line number Diff line /* SPDX-License-Identifier: MIT */ #ifndef __NVIF_CL5070_H__ #define __NVIF_CL5070_H__ #define NV50_DISP_MTHD 0x00 struct nv50_disp_mthd_v0 { __u8 version; #define NV50_DISP_SCANOUTPOS 0x00 __u8 method; __u8 head; __u8 pad03[5]; }; struct nv50_disp_scanoutpos_v0 { __u8 version; __u8 pad01[7]; __s64 time[2]; __u16 vblanks; __u16 vblanke; __u16 vtotal; __u16 vline; __u16 hblanks; __u16 hblanke; __u16 htotal; __u16 hline; }; #endif
drivers/gpu/drm/nouveau/include/nvif/if0013.h +18 −0 Original line number Diff line number Diff line Loading @@ -9,4 +9,22 @@ union nvif_head_args { __u8 pad02[6]; } v0; }; #define NVIF_HEAD_V0_SCANOUTPOS 0x00 union nvif_head_scanoutpos_args { struct nvif_head_scanoutpos_v0 { __u8 version; __u8 pad01[7]; __s64 time[2]; __u16 vblanks; __u16 vblanke; __u16 vtotal; __u16 vline; __u16 hblanks; __u16 hblanke; __u16 htotal; __u16 hline; } v0; }; #endif
drivers/gpu/drm/nouveau/nouveau_display.c +11 −16 Original line number Diff line number Diff line Loading @@ -42,7 +42,7 @@ #include "nv50_display.h" #include <nvif/class.h> #include <nvif/cl0046.h> #include <nvif/if0013.h> #include <nvif/event.h> #include <dispnv50/crc.h> Loading Loading @@ -84,24 +84,20 @@ static bool nouveau_display_scanoutpos_head(struct drm_crtc *crtc, int *vpos, int *hpos, ktime_t *stime, ktime_t *etime) { struct { struct nv04_disp_mthd_v0 base; struct nv04_disp_scanoutpos_v0 scan; } args = { .base.method = NV04_DISP_SCANOUTPOS, .base.head = nouveau_crtc(crtc)->index, }; struct nouveau_display *disp = nouveau_display(crtc->dev); struct drm_vblank_crtc *vblank = &crtc->dev->vblank[drm_crtc_index(crtc)]; struct nvif_head *head = &nouveau_crtc(crtc)->head; struct nvif_head_scanoutpos_v0 args; int retry = 20; bool ret = false; args.version = 0; do { ret = nvif_mthd(&disp->disp.object, 0, &args, sizeof(args)); ret = nvif_mthd(&head->object, NVIF_HEAD_V0_SCANOUTPOS, &args, sizeof(args)); if (ret != 0) return false; if (args.scan.vline) { if (args.vline) { ret = true; break; } Loading @@ -109,11 +105,10 @@ nouveau_display_scanoutpos_head(struct drm_crtc *crtc, int *vpos, int *hpos, if (retry) ndelay(vblank->linedur_ns); } while (retry--); *hpos = args.scan.hline; *vpos = calc(args.scan.vblanks, args.scan.vblanke, args.scan.vtotal, args.scan.vline); if (stime) *stime = ns_to_ktime(args.scan.time[0]); if (etime) *etime = ns_to_ktime(args.scan.time[1]); *hpos = args.hline; *vpos = calc(args.vblanks, args.vblanke, args.vtotal, args.vline); if (stime) *stime = ns_to_ktime(args.time[0]); if (etime) *etime = ns_to_ktime(args.time[1]); return ret; } Loading