search for: asyw

Displaying 20 results from an estimated 77 matches for "asyw".

Did you mean: asyh
2019 Jun 12
0
[PATCH v2] drm/nouveau/kms/gf119-: add ctm property support
...u/drm/nouveau/dispnv50/base907c.c b/drivers/gpu/drm/nouveau/dispnv50/base907c.c index 049ce6da321c..fd0c1d84730b 100644 --- a/drivers/gpu/drm/nouveau/dispnv50/base907c.c +++ b/drivers/gpu/drm/nouveau/dispnv50/base907c.c @@ -83,6 +83,68 @@ base907c_ilut(struct nv50_wndw *wndw, struct nv50_wndw_atom *asyw) asyw->xlut.i.load = head907d_olut_load; } +static inline u32 +csc_drm_to_base(u64 in) +{ + /* base takes a 19-bit 2's complement value in S3.16 format */ + bool sign = in & BIT_ULL(63); + u32 integer = (in >> 32) & 0x7fffffff; + u32 fraction = in & 0xffffffff; + + if...
2019 Jun 11
1
[PATCH 1/2] drm/nouveau/kms/gf119-: add ctm property support
...u/drm/nouveau/dispnv50/base907c.c b/drivers/gpu/drm/nouveau/dispnv50/base907c.c index 049ce6da321c..ceadc2e3efe9 100644 --- a/drivers/gpu/drm/nouveau/dispnv50/base907c.c +++ b/drivers/gpu/drm/nouveau/dispnv50/base907c.c @@ -83,6 +83,68 @@ base907c_ilut(struct nv50_wndw *wndw, struct nv50_wndw_atom *asyw) asyw->xlut.i.load = head907d_olut_load; } +static inline u32 +ctm_drm_to_base(u64 in) +{ + /* base takes a 19-bit 2's complement value in S3.16 format */ + bool sign = in & BIT_ULL(63); + u32 integer = (in >> 32) & 0x7fffffff; + u32 fraction = in & 0xffffffff; + + if...
2020 Feb 06
5
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...ruct nouveau_bo *nvbo = nouveau_gem_object(fb->obj[0]); > const u8 kind = nvbo->kind; > const u32 handle = 0xfb000000 | kind; > struct { > @@ -236,16 +236,16 @@ nv50_wndw_atomic_check_acquire(struct nv50_wndw *wndw, bool modeset, > struct nv50_wndw_atom *asyw, > struct nv50_head_atom *asyh) > { > - struct nouveau_framebuffer *fb = nouveau_framebuffer(asyw->state.fb); > + struct drm_framebuffer *fb = asyw->state.fb; > struct nouveau_drm *drm = nouveau_drm(wndw->plane.dev); > - struct nouveau_bo *nvbo = nouveau_...
2020 Feb 06
2
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...??? const u8??? kind = nvbo->kind; >>> ????? const u32 handle = 0xfb000000 | kind; >>> ????? struct { >>> @@ -236,16 +236,16 @@ nv50_wndw_atomic_check_acquire(struct nv50_wndw >>> *wndw, bool modeset, >>> ???????????????????? struct nv50_wndw_atom *asyw, >>> ???????????????????? struct nv50_head_atom *asyh) >>> ? { >>> -??? struct nouveau_framebuffer *fb = >>> nouveau_framebuffer(asyw->state.fb); >>> +??? struct drm_framebuffer *fb = asyw->state.fb; >>> ????? struct nouveau_drm *drm =...
2020 Feb 06
2
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...????? const u8??? kind = nvbo->kind; >>> ????? const u32 handle = 0xfb000000 | kind; >>> ????? struct { >>> @@ -236,16 +236,16 @@ nv50_wndw_atomic_check_acquire(struct nv50_wndw >>> *wndw, bool modeset, >>> ???????????????????? struct nv50_wndw_atom *asyw, >>> ???????????????????? struct nv50_head_atom *asyh) >>> ? { >>> -??? struct nouveau_framebuffer *fb = >>> nouveau_framebuffer(asyw->state.fb); >>> +??? struct drm_framebuffer *fb = asyw->state.fb; >>> ????? struct nouveau_drm *drm = no...
2019 Sep 06
0
[PATCH] drm/nouveau/kms/gf119-: allow both 256- and 1024-sized LUTs to be used
.../nouveau/dispnv50/base907c.c b/drivers/gpu/drm/nouveau/dispnv50/base907c.c index 5f2de77e0f32..224a34c340fe 100644 --- a/drivers/gpu/drm/nouveau/dispnv50/base907c.c +++ b/drivers/gpu/drm/nouveau/dispnv50/base907c.c @@ -75,12 +75,16 @@ base907c_xlut_set(struct nv50_wndw *wndw, struct nv50_wndw_atom *asyw) } } -static void -base907c_ilut(struct nv50_wndw *wndw, struct nv50_wndw_atom *asyw) +static bool +base907c_ilut(struct nv50_wndw *wndw, struct nv50_wndw_atom *asyw, int size) { - asyw->xlut.i.mode = 7; + if (size != 256 && size != 1024) + return false; + + asyw->xlut.i.mode =...
2020 Feb 10
2
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...t;>>> const u32 handle = 0xfb000000 | kind; > >>>> struct { > >>>> @@ -236,16 +236,16 @@ nv50_wndw_atomic_check_acquire(struct nv50_wndw > >>>> *wndw, bool modeset, > >>>> struct nv50_wndw_atom *asyw, > >>>> struct nv50_head_atom *asyh) > >>>> { > >>>> - struct nouveau_framebuffer *fb = > >>>> nouveau_framebuffer(asyw->state.fb); > >>>> + struct drm_framebuffer *fb = asyw->state.fb; &...
2019 Dec 11
2
[PATCH 3/3] drm/nouveau: Support NVIDIA format modifiers
...nd = fb->nvbo->kind; > + const u8 kind = fb->kind; > const u32 handle = 0xfb000000 | kind; > struct { > struct nv_dma_v0 base; > @@ -243,7 +243,7 @@ nv50_wndw_atomic_check_acquire(struct nv50_wndw *wndw, bool modeset, > if (asyw->state.fb != armw->state.fb || !armw->visible || modeset) { > asyw->image.w = fb->base.width; > asyw->image.h = fb->base.height; > - asyw->image.kind = fb->nvbo->kind; > + asyw->image.kind = fb-...
2020 Feb 10
2
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...2 handle = 0xfb000000 | kind; >>>>>>> struct { >>>>>>> @@ -236,16 +236,16 @@ nv50_wndw_atomic_check_acquire(struct nv50_wndw >>>>>>> *wndw, bool modeset, >>>>>>> struct nv50_wndw_atom *asyw, >>>>>>> struct nv50_head_atom *asyh) >>>>>>> { >>>>>>> - struct nouveau_framebuffer *fb = >>>>>>> nouveau_framebuffer(asyw->state.fb); >>>>>>> + struct drm_f...
2020 Feb 06
0
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...ect(fb->base.obj[0]); + struct nouveau_bo *nvbo = nouveau_gem_object(fb->obj[0]); const u8 kind = nvbo->kind; const u32 handle = 0xfb000000 | kind; struct { @@ -236,16 +236,16 @@ nv50_wndw_atomic_check_acquire(struct nv50_wndw *wndw, bool modeset, struct nv50_wndw_atom *asyw, struct nv50_head_atom *asyh) { - struct nouveau_framebuffer *fb = nouveau_framebuffer(asyw->state.fb); + struct drm_framebuffer *fb = asyw->state.fb; struct nouveau_drm *drm = nouveau_drm(wndw->plane.dev); - struct nouveau_bo *nvbo = nouveau_gem_object(fb->base.obj[0]); +...
2020 Feb 06
0
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...t;obj[0]); >> ????? const u8??? kind = nvbo->kind; >> ????? const u32 handle = 0xfb000000 | kind; >> ????? struct { >> @@ -236,16 +236,16 @@ nv50_wndw_atomic_check_acquire(struct nv50_wndw >> *wndw, bool modeset, >> ???????????????????? struct nv50_wndw_atom *asyw, >> ???????????????????? struct nv50_head_atom *asyh) >> ? { >> -??? struct nouveau_framebuffer *fb = >> nouveau_framebuffer(asyw->state.fb); >> +??? struct drm_framebuffer *fb = asyw->state.fb; >> ????? struct nouveau_drm *drm = nouveau_drm(wndw->plane...
2020 Feb 06
5
[PATCH 0/4] drm/nouveau: Remove struct nouveau_framebuffer
All fields in struct nouveau_framebuffer appear to be obsolete. The data structure can be replaced by struct drm_framebuffer entirely. Patch 1 removes several unused fields from struct nouveau_framebuffer. Patch 2 moves the field vma to struct nouveau_fbdev. The information in vma is only relevant for fbdev emulation, and as such he field is only used there. Patch 3 removes nvbo from struct
2020 Feb 06
0
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...gt;obj[0]); >> ????? const u8??? kind = nvbo->kind; >> ????? const u32 handle = 0xfb000000 | kind; >> ????? struct { >> @@ -236,16 +236,16 @@ nv50_wndw_atomic_check_acquire(struct nv50_wndw >> *wndw, bool modeset, >> ???????????????????? struct nv50_wndw_atom *asyw, >> ???????????????????? struct nv50_head_atom *asyh) >> ? { >> -??? struct nouveau_framebuffer *fb = >> nouveau_framebuffer(asyw->state.fb); >> +??? struct drm_framebuffer *fb = asyw->state.fb; >> ????? struct nouveau_drm *drm = nouveau_drm(wndw->plane....
2017 Nov 23
0
[PATCH 10/15] drm/nouveau/kms/nv50: Use drm_mode_get_hv_timing() to populate plane clip rectangle
...truct nv50_wndw_atom { struct drm_plane_state state; u8 interval; - struct drm_rect clip; - struct { u32 handle; u16 offset:12; @@ -840,10 +838,6 @@ nv50_wndw_atomic_check_acquire(struct nv50_wndw *wndw, int ret; NV_ATOMIC(drm, "%s acquire\n", wndw->plane.name); - asyw->clip.x1 = 0; - asyw->clip.y1 = 0; - asyw->clip.x2 = asyh->state.mode.hdisplay; - asyw->clip.y2 = asyh->state.mode.vdisplay; asyw->image.w = fb->base.width; asyw->image.h = fb->base.height; @@ -1141,10 +1135,15 @@ static int nv50_curs_acquire(struct nv50_wndw *w...
2020 Feb 07
0
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...= nvbo->kind; >>>> ?????? const u32 handle = 0xfb000000 | kind; >>>> ?????? struct { >>>> @@ -236,16 +236,16 @@ nv50_wndw_atomic_check_acquire(struct nv50_wndw >>>> *wndw, bool modeset, >>>> ????????????????????? struct nv50_wndw_atom *asyw, >>>> ????????????????????? struct nv50_head_atom *asyh) >>>> ?? { >>>> -??? struct nouveau_framebuffer *fb = >>>> nouveau_framebuffer(asyw->state.fb); >>>> +??? struct drm_framebuffer *fb = asyw->state.fb; >>>> ?????? st...
2020 Feb 06
0
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...nvbo->kind; > >>> const u32 handle = 0xfb000000 | kind; > >>> struct { > >>> @@ -236,16 +236,16 @@ nv50_wndw_atomic_check_acquire(struct nv50_wndw > >>> *wndw, bool modeset, > >>> struct nv50_wndw_atom *asyw, > >>> struct nv50_head_atom *asyh) > >>> { > >>> - struct nouveau_framebuffer *fb = > >>> nouveau_framebuffer(asyw->state.fb); > >>> + struct drm_framebuffer *fb = asyw->state.fb; > >>>...
2019 Jun 20
0
[PATCH] drm/nouveau/kms/gf119-: allow both 256- and 1024-sized LUTs to be used
...rm/nouveau/dispnv50/base907c.c b/drivers/gpu/drm/nouveau/dispnv50/base907c.c index fd0c1d84730b..76db448205d2 100644 --- a/drivers/gpu/drm/nouveau/dispnv50/base907c.c +++ b/drivers/gpu/drm/nouveau/dispnv50/base907c.c @@ -76,9 +76,9 @@ base907c_xlut_set(struct nv50_wndw *wndw, struct nv50_wndw_atom *asyw) } static void -base907c_ilut(struct nv50_wndw *wndw, struct nv50_wndw_atom *asyw) +base907c_ilut(struct nv50_wndw *wndw, struct nv50_wndw_atom *asyw, int size) { - asyw->xlut.i.mode = 7; + asyw->xlut.i.mode = size == 1024 ? 4 : 7; asyw->xlut.i.enable = 2; asyw->xlut.i.load = h...
2020 Feb 10
0
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...t; const u32 handle = 0xfb000000 | kind; >>>>>> struct { >>>>>> @@ -236,16 +236,16 @@ nv50_wndw_atomic_check_acquire(struct nv50_wndw >>>>>> *wndw, bool modeset, >>>>>> struct nv50_wndw_atom *asyw, >>>>>> struct nv50_head_atom *asyh) >>>>>> { >>>>>> - struct nouveau_framebuffer *fb = >>>>>> nouveau_framebuffer(asyw->state.fb); >>>>>> + struct drm_framebuffer *fb = asyw-...
2020 Feb 10
0
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...0 | kind; > >>>>>>> struct { > >>>>>>> @@ -236,16 +236,16 @@ nv50_wndw_atomic_check_acquire(struct nv50_wndw > >>>>>>> *wndw, bool modeset, > >>>>>>> struct nv50_wndw_atom *asyw, > >>>>>>> struct nv50_head_atom *asyh) > >>>>>>> { > >>>>>>> - struct nouveau_framebuffer *fb = > >>>>>>> nouveau_framebuffer(asyw->state.fb); > >>>>>&...
2017 Jul 12
2
[PATCH 15/16] drm/nouveau: Convert nouveau to use new iterator macros
...d *head = nv50_head(crtc); NV_ATOMIC(drm, "%s: clr %04x (set %04x)\n", crtc->name, @@ -3939,8 +3939,8 @@ nv50_disp_atomic_commit_tail(struct drm_atomic_state *state) } /* Disable plane(s). */ - for_each_plane_in_state(state, plane, plane_state, i) { - struct nv50_wndw_atom *asyw = nv50_wndw_atom(plane->state); + for_each_new_plane_in_state(state, plane, new_plane_state, i) { + struct nv50_wndw_atom *asyw = nv50_wndw_atom(new_plane_state); struct nv50_wndw *wndw = nv50_wndw(plane); NV_ATOMIC(drm, "%s: clr %02x (set %02x)\n", plane->name, @@ -4005,8...