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...