base507c.c (34838908f62a0160d2c12c12be6c3be910d17b85) | base507c.c (6d6e11e2844015a5f6c3d0373966fd4a459add8b) |
---|---|
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 --- 42 unchanged lines hidden (view full) --- 51 evo_mthd(push, 0x0084, 1); 52 evo_data(push, 0x00000000); 53 evo_mthd(push, 0x00c0, 1); 54 evo_data(push, 0x00000000); 55 evo_kick(push, &wndw->wndw); 56 } 57} 58 | 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 --- 42 unchanged lines hidden (view full) --- 51 evo_mthd(push, 0x0084, 1); 52 evo_data(push, 0x00000000); 53 evo_mthd(push, 0x00c0, 1); 54 evo_data(push, 0x00000000); 55 evo_kick(push, &wndw->wndw); 56 } 57} 58 |
59static void | 59static int |
60base507c_image_set(struct nv50_wndw *wndw, struct nv50_wndw_atom *asyw) 61{ | 60base507c_image_set(struct nv50_wndw *wndw, struct nv50_wndw_atom *asyw) 61{ |
62 u32 *push; 63 if ((push = evo_wait(&wndw->wndw, 13))) { 64 evo_mthd(push, 0x0084, 1); 65 evo_data(push, asyw->image.mode << 8 | 66 asyw->image.interval << 4); 67 evo_mthd(push, 0x00c0, 1); 68 evo_data(push, asyw->image.handle[0]); 69 if (asyw->image.format == 0xca) { 70 evo_mthd(push, 0x0110, 2); 71 evo_data(push, 1); 72 evo_data(push, 0x6400); 73 } else { 74 evo_mthd(push, 0x0110, 2); 75 evo_data(push, 0); 76 evo_data(push, 0); 77 } 78 evo_mthd(push, 0x0800, 5); 79 evo_data(push, asyw->image.offset[0] >> 8); 80 evo_data(push, 0x00000000); 81 evo_data(push, asyw->image.h << 16 | asyw->image.w); 82 evo_data(push, asyw->image.layout << 20 | 83 (asyw->image.pitch[0] >> 8) << 8 | 84 asyw->image.blocks[0] << 8 | 85 asyw->image.blockh); 86 evo_data(push, asyw->image.kind << 16 | 87 asyw->image.format << 8); 88 evo_kick(push, &wndw->wndw); | 62 struct nvif_push *push = wndw->wndw.push; 63 int ret; 64 65 if ((ret = PUSH_WAIT(push, 13))) 66 return ret; 67 68 PUSH_NVSQ(push, NV507C, 0x0084, asyw->image.mode << 8 | 69 asyw->image.interval << 4); 70 PUSH_NVSQ(push, NV507C, 0x00c0, asyw->image.handle[0]); 71 if (asyw->image.format == 0xca) { 72 PUSH_NVSQ(push, NV507C, 0x0110, 1, 73 0x0114, 0x6400); 74 } else { 75 PUSH_NVSQ(push, NV507C, 0x0110, 0, 76 0x0114, 0); |
89 } | 77 } |
78 PUSH_NVSQ(push, NV507C, 0x0800, asyw->image.offset[0] >> 8, 79 0x0804, 0x00000000, 80 0x0808, asyw->image.h << 16 | asyw->image.w, 81 0x080c, asyw->image.layout << 20 | 82 (asyw->image.pitch[0] >> 8) << 8 | 83 asyw->image.blocks[0] << 8 | 84 asyw->image.blockh, 85 0x0810, asyw->image.kind << 16 | 86 asyw->image.format << 8); 87 return 0; |
|
90} 91 92int 93base507c_xlut_clr(struct nv50_wndw *wndw) 94{ 95 struct nvif_push *push = wndw->wndw.push; 96 int ret; 97 --- 224 unchanged lines hidden --- | 88} 89 90int 91base507c_xlut_clr(struct nv50_wndw *wndw) 92{ 93 struct nvif_push *push = wndw->wndw.push; 94 int ret; 95 --- 224 unchanged lines hidden --- |