diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2018-05-08 20:39:47 +1000 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2018-05-18 15:01:30 +1000 |
commit | 01d380ab4f702fffa6da60c4b006547b8dd66de8 (patch) | |
tree | 6f3d6916921b3205f8e9e0f2844d3cecd0430bf5 /drivers/gpu/drm/nouveau/dispnv50/head917d.c | |
parent | b05d873808c77fedd25130b0355acc0da1c11e19 (diff) |
drm/nouveau/kms/gk104-: support additional cursor sizes
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/dispnv50/head917d.c')
-rw-r--r-- | drivers/gpu/drm/nouveau/dispnv50/head917d.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/dispnv50/head917d.c b/drivers/gpu/drm/nouveau/dispnv50/head917d.c index 5f654512c8c2..4c019a4417ea 100644 --- a/drivers/gpu/drm/nouveau/dispnv50/head917d.c +++ b/drivers/gpu/drm/nouveau/dispnv50/head917d.c @@ -63,6 +63,21 @@ head917d_base(struct nv50_head *head, struct nv50_head_atom *asyh) } } +static int +head917d_curs_layout(struct nv50_head *head, struct nv50_wndw_atom *asyw, + struct nv50_head_atom *asyh) +{ + switch (asyw->state.fb->width) { + case 32: asyh->curs.layout = 0; break; + case 64: asyh->curs.layout = 1; break; + case 128: asyh->curs.layout = 2; break; + case 256: asyh->curs.layout = 3; break; + default: + return -EINVAL; + } + return 0; +} + const struct nv50_head_func head917d = { .view = head907d_view, @@ -73,6 +88,8 @@ head917d = { .core_calc = head507d_core_calc, .core_set = head907d_core_set, .core_clr = head907d_core_clr, + .curs_layout = head917d_curs_layout, + .curs_format = head507d_curs_format, .curs_set = head907d_curs_set, .curs_clr = head907d_curs_clr, .base = head917d_base, |