head.c (c74a7469f97c0f40b46e82ee979f9fb1bb6e847c) head.c (cb55cd0c66a16fd965a44e2634755b060dc64bd7)
1/*
2 * Copyright 2018 Red Hat Inc.
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the

--- 36 unchanged lines hidden (view full) ---

45void
46nv50_head_flush_set(struct nv50_head *head, struct nv50_head_atom *asyh)
47{
48 if (asyh->set.view ) head->func->view (head, asyh);
49 if (asyh->set.mode ) head->func->mode (head, asyh);
50 if (asyh->set.core ) head->func->core_set(head, asyh);
51 if (asyh->set.olut ) {
52 asyh->olut.offset = nv50_lut_load(&head->olut,
1/*
2 * Copyright 2018 Red Hat Inc.
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the

--- 36 unchanged lines hidden (view full) ---

45void
46nv50_head_flush_set(struct nv50_head *head, struct nv50_head_atom *asyh)
47{
48 if (asyh->set.view ) head->func->view (head, asyh);
49 if (asyh->set.mode ) head->func->mode (head, asyh);
50 if (asyh->set.core ) head->func->core_set(head, asyh);
51 if (asyh->set.olut ) {
52 asyh->olut.offset = nv50_lut_load(&head->olut,
53 asyh->olut.mode <= 1,
54 asyh->olut.buffer,
53 asyh->olut.buffer,
55 asyh->state.gamma_lut);
54 asyh->state.gamma_lut,
55 asyh->olut.load);
56 head->func->olut_set(head, asyh);
57 }
58 if (asyh->set.curs ) head->func->curs_set(head, asyh);
59 if (asyh->set.base ) head->func->base (head, asyh);
60 if (asyh->set.ovly ) head->func->ovly (head, asyh);
61 if (asyh->set.dither ) head->func->dither (head, asyh);
62 if (asyh->set.procamp) head->func->procamp (head, asyh);
63 if (asyh->set.or ) head->func->or (head, asyh);

--- 141 unchanged lines hidden (view full) ---

205 * all of them must.
206 */
207 if (asyh->wndw.olut != asyh->wndw.mask)
208 return -EINVAL;
209 olut = NULL;
210 }
211 }
212
56 head->func->olut_set(head, asyh);
57 }
58 if (asyh->set.curs ) head->func->curs_set(head, asyh);
59 if (asyh->set.base ) head->func->base (head, asyh);
60 if (asyh->set.ovly ) head->func->ovly (head, asyh);
61 if (asyh->set.dither ) head->func->dither (head, asyh);
62 if (asyh->set.procamp) head->func->procamp (head, asyh);
63 if (asyh->set.or ) head->func->or (head, asyh);

--- 141 unchanged lines hidden (view full) ---

205 * all of them must.
206 */
207 if (asyh->wndw.olut != asyh->wndw.mask)
208 return -EINVAL;
209 olut = NULL;
210 }
211 }
212
213 if (!olut) {
213 if (!olut && !head->func->olut_identity) {
214 asyh->olut.handle = 0;
215 return 0;
216 }
217
218 asyh->olut.handle = disp->core->chan.vram.handle;
219 asyh->olut.buffer = !asyh->olut.buffer;
220 head->func->olut(head, asyh);
221 return 0;

--- 290 unchanged lines hidden ---
214 asyh->olut.handle = 0;
215 return 0;
216 }
217
218 asyh->olut.handle = disp->core->chan.vram.handle;
219 asyh->olut.buffer = !asyh->olut.buffer;
220 head->func->olut(head, asyh);
221 return 0;

--- 290 unchanged lines hidden ---