ovly507e.c (8944d8b37ac9eecfff5706e9a11d5fcb3df64dbb) ovly507e.c (0a4693e80dc9a57f2133439e58a697f2d7730c4d)
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

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

36 u32 *push;
37 if ((push = evo_wait(&wndw->wndw, 2))) {
38 evo_mthd(push, 0x0080, 1);
39 evo_data(push, interlock[NV50_DISP_INTERLOCK_CORE]);
40 evo_kick(push, &wndw->wndw);
41 }
42}
43
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

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

36 u32 *push;
37 if ((push = evo_wait(&wndw->wndw, 2))) {
38 evo_mthd(push, 0x0080, 1);
39 evo_data(push, interlock[NV50_DISP_INTERLOCK_CORE]);
40 evo_kick(push, &wndw->wndw);
41 }
42}
43
44void
44int
45ovly507e_scale_set(struct nv50_wndw *wndw, struct nv50_wndw_atom *asyw)
46{
45ovly507e_scale_set(struct nv50_wndw *wndw, struct nv50_wndw_atom *asyw)
46{
47 u32 *push;
48 if ((push = evo_wait(&wndw->wndw, 4))) {
49 evo_mthd(push, 0x00e0, 3);
50 evo_data(push, asyw->scale.sy << 16 | asyw->scale.sx);
51 evo_data(push, asyw->scale.sh << 16 | asyw->scale.sw);
52 evo_data(push, asyw->scale.dw);
53 evo_kick(push, &wndw->wndw);
54 }
47 struct nvif_push *push = wndw->wndw.push;
48 int ret;
49
50 if ((ret = PUSH_WAIT(push, 4)))
51 return ret;
52
53 PUSH_NVSQ(push, NV507E, 0x00e0, asyw->scale.sy << 16 | asyw->scale.sx,
54 0x00e4, asyw->scale.sh << 16 | asyw->scale.sw,
55 0x00e8, asyw->scale.dw);
56 return 0;
55}
56
57static int
58ovly507e_image_set(struct nv50_wndw *wndw, struct nv50_wndw_atom *asyw)
59{
60 struct nvif_push *push = wndw->wndw.push;
61 int ret;
62

--- 118 unchanged lines hidden ---
57}
58
59static int
60ovly507e_image_set(struct nv50_wndw *wndw, struct nv50_wndw_atom *asyw)
61{
62 struct nvif_push *push = wndw->wndw.push;
63 int ret;
64

--- 118 unchanged lines hidden ---