head907d.c (dbb23f544e9c0dd364fd5e3a027c8aebe9dae75e) head907d.c (ed0b86a90bf91d0c41f6b373befd2ce98658b49e)
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

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

161{
162 struct nvif_push *push = nv50_disp(head->base.base.dev)->core->chan.push;
163 const int i = head->base.index;
164 int ret;
165
166 if ((ret = PUSH_WAIT(push, 5)))
167 return ret;
168
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

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

161{
162 struct nvif_push *push = nv50_disp(head->base.base.dev)->core->chan.push;
163 const int i = head->base.index;
164 int ret;
165
166 if ((ret = PUSH_WAIT(push, 5)))
167 return ret;
168
169 PUSH_NVSQ(push, NV907D, 0x0480 + (i * 0x300), 0x80000000 |
170 asyh->curs.layout << 26 |
171 asyh->curs.format << 24,
172 0x0484 + (i * 0x300), asyh->curs.offset >> 8);
173 PUSH_NVSQ(push, NV907D, 0x048c + (i * 0x300), asyh->curs.handle);
169 PUSH_MTHD(push, NV907D, HEAD_SET_CONTROL_CURSOR(i),
170 NVDEF(NV907D, HEAD_SET_CONTROL_CURSOR, ENABLE, ENABLE) |
171 NVVAL(NV907D, HEAD_SET_CONTROL_CURSOR, FORMAT, asyh->curs.format) |
172 NVVAL(NV907D, HEAD_SET_CONTROL_CURSOR, SIZE, asyh->curs.layout) |
173 NVVAL(NV907D, HEAD_SET_CONTROL_CURSOR, HOT_SPOT_X, 0) |
174 NVVAL(NV907D, HEAD_SET_CONTROL_CURSOR, HOT_SPOT_Y, 0) |
175 NVDEF(NV907D, HEAD_SET_CONTROL_CURSOR, COMPOSITION, ALPHA_BLEND),
176
177 HEAD_SET_OFFSET_CURSOR(i), asyh->curs.offset >> 8);
178
179 PUSH_MTHD(push, NV907D, HEAD_SET_CONTEXT_DMA_CURSOR(i), asyh->curs.handle);
174 return 0;
175}
176
177int
178head907d_core_clr(struct nv50_head *head)
179{
180 struct nvif_push *push = nv50_disp(head->base.base.dev)->core->chan.push;
181 const int i = head->base.index;

--- 235 unchanged lines hidden ---
180 return 0;
181}
182
183int
184head907d_core_clr(struct nv50_head *head)
185{
186 struct nvif_push *push = nv50_disp(head->base.base.dev)->core->chan.push;
187 const int i = head->base.index;

--- 235 unchanged lines hidden ---