/linux-master/drivers/gpu/drm/nouveau/dispnv50/ |
H A D | head.c | 41 struct nv50_head_atom *asyh, bool flush) 44 .mask = asyh->clr.mask & ~(flush ? 0 : asyh->set.mask), 53 nv50_head_flush_set_wndw(struct nv50_head *head, struct nv50_head_atom *asyh) argument 55 if (asyh->set.curs ) head->func->curs_set(head, asyh); 56 if (asyh->set.olut ) { 57 asyh->olut.offset = nv50_lut_load(&head->olut, 58 asyh->olut.buffer, 59 asyh 40 nv50_head_flush_clr(struct nv50_head *head, struct nv50_head_atom *asyh, bool flush) argument 66 nv50_head_flush_set(struct nv50_head *head, struct nv50_head_atom *asyh) argument 80 nv50_head_atomic_check_procamp(struct nv50_head_atom *armh, struct nv50_head_atom *asyh, struct nouveau_conn_atom *asyc) argument 93 nv50_head_atomic_check_dither(struct nv50_head_atom *armh, struct nv50_head_atom *asyh, struct nouveau_conn_atom *asyc) argument 122 nv50_head_atomic_check_view(struct nv50_head_atom *armh, struct nv50_head_atom *asyh, struct nouveau_conn_atom *asyc) argument 226 nv50_head_atomic_check_lut(struct nv50_head *head, struct nv50_head_atom *asyh) argument 284 nv50_head_atomic_check_mode(struct nv50_head *head, struct nv50_head_atom *asyh) argument 343 struct nv50_head_atom *asyh = nv50_head_atom(crtc_state); local 464 struct nv50_head_atom *asyh = nv50_head_atom(state); local 473 struct nv50_head_atom *asyh; local 498 struct nv50_head_atom *asyh; local [all...] |
H A D | head507d.c | 30 head507d_procamp(struct nv50_head *head, struct nv50_head_atom *asyh) argument 42 NVVAL(NV507D, HEAD_SET_PROCAMP, SAT_COS, asyh->procamp.sat.cos) | 43 NVVAL(NV507D, HEAD_SET_PROCAMP, SAT_SINE, asyh->procamp.sat.sin) | 49 head507d_dither(struct nv50_head *head, struct nv50_head_atom *asyh) argument 59 NVVAL(NV507D, HEAD_SET_DITHER_CONTROL, ENABLE, asyh->dither.enable) | 60 NVVAL(NV507D, HEAD_SET_DITHER_CONTROL, BITS, asyh->dither.bits) | 61 NVVAL(NV507D, HEAD_SET_DITHER_CONTROL, MODE, asyh->dither.mode) | 67 head507d_ovly(struct nv50_head *head, struct nv50_head_atom *asyh) argument 74 if (asyh->ovly.cpp) { 75 switch (asyh 95 head507d_base(struct nv50_head *head, struct nv50_head_atom *asyh) argument 140 head507d_curs_set(struct nv50_head *head, struct nv50_head_atom *asyh) argument 163 head507d_curs_format(struct nv50_head *head, struct nv50_wndw_atom *asyw, struct nv50_head_atom *asyh) argument 176 head507d_curs_layout(struct nv50_head *head, struct nv50_wndw_atom *asyw, struct nv50_head_atom *asyh) argument 203 head507d_core_set(struct nv50_head *head, struct nv50_head_atom *asyh) argument 247 head507d_core_calc(struct nv50_head *head, struct nv50_head_atom *asyh) argument 294 head507d_olut_set(struct nv50_head *head, struct nv50_head_atom *asyh) argument 331 head507d_olut(struct nv50_head *head, struct nv50_head_atom *asyh, int size) argument 346 head507d_mode(struct nv50_head *head, struct nv50_head_atom *asyh) argument 401 head507d_view(struct nv50_head *head, struct nv50_head_atom *asyh) argument [all...] |
H A D | pior507d.c | 31 struct nv50_head_atom *asyh) 36 if (asyh) { 37 ctrl |= NVVAL(NV507D, PIOR_SET_CONTROL, HSYNC_POLARITY, asyh->or.nhsync); 38 ctrl |= NVVAL(NV507D, PIOR_SET_CONTROL, VSYNC_POLARITY, asyh->or.nvsync); 39 ctrl |= NVVAL(NV837D, PIOR_SET_CONTROL, PIXEL_DEPTH, asyh->or.depth); 30 pior507d_ctrl(struct nv50_core *core, int or, u32 ctrl, struct nv50_head_atom *asyh) argument
|
H A D | sor507d.c | 31 struct nv50_head_atom *asyh) 36 if (asyh) { 37 ctrl |= NVVAL(NV507D, SOR_SET_CONTROL, HSYNC_POLARITY, asyh->or.nhsync); 38 ctrl |= NVVAL(NV507D, SOR_SET_CONTROL, VSYNC_POLARITY, asyh->or.nvsync); 39 ctrl |= NVVAL(NV837D, SOR_SET_CONTROL, PIXEL_DEPTH, asyh->or.depth); 30 sor507d_ctrl(struct nv50_core *core, int or, u32 ctrl, struct nv50_head_atom *asyh) argument
|
H A D | head917d.c | 31 head917d_dither(struct nv50_head *head, struct nv50_head_atom *asyh) argument 41 NVVAL(NV917D, HEAD_SET_DITHER_CONTROL, ENABLE, asyh->dither.enable) | 42 NVVAL(NV917D, HEAD_SET_DITHER_CONTROL, BITS, asyh->dither.bits) | 43 NVVAL(NV917D, HEAD_SET_DITHER_CONTROL, MODE, asyh->dither.mode) | 49 head917d_base(struct nv50_head *head, struct nv50_head_atom *asyh) argument 56 if (asyh->base.cpp) { 57 switch (asyh->base.cpp) { 78 head917d_curs_set(struct nv50_head *head, struct nv50_head_atom *asyh) argument 90 NVVAL(NV917D, HEAD_SET_CONTROL_CURSOR, FORMAT, asyh->curs.format) | 91 NVVAL(NV917D, HEAD_SET_CONTROL_CURSOR, SIZE, asyh 103 head917d_curs_layout(struct nv50_head *head, struct nv50_wndw_atom *asyw, struct nv50_head_atom *asyh) argument [all...] |
H A D | dac507d.c | 30 struct nv50_head_atom *asyh) 36 if (asyh) { 37 sync |= NVVAL(NV507D, DAC_SET_POLARITY, HSYNC, asyh->or.nhsync); 38 sync |= NVVAL(NV507D, DAC_SET_POLARITY, VSYNC, asyh->or.nvsync); 29 dac507d_ctrl(struct nv50_core *core, int or, u32 ctrl, struct nv50_head_atom *asyh) argument
|
H A D | headc37d.c | 31 headc37d_or(struct nv50_head *head, struct nv50_head_atom *asyh) argument 41 switch (asyh->or.depth) { 47 depth = asyh->or.depth; 56 NVVAL(NVC37D, HEAD_SET_CONTROL_OUTPUT_RESOURCE, CRC_MODE, asyh->or.crc_raster) | 57 NVVAL(NVC37D, HEAD_SET_CONTROL_OUTPUT_RESOURCE, HSYNC_POLARITY, asyh->or.nhsync) | 58 NVVAL(NVC37D, HEAD_SET_CONTROL_OUTPUT_RESOURCE, VSYNC_POLARITY, asyh->or.nvsync) | 65 headc37d_procamp(struct nv50_head *head, struct nv50_head_atom *asyh) argument 77 NVVAL(NVC37D, HEAD_SET_PROCAMP, SAT_COS, asyh->procamp.sat.cos) | 78 NVVAL(NVC37D, HEAD_SET_PROCAMP, SAT_SINE, asyh->procamp.sat.sin) | 86 headc37d_dither(struct nv50_head *head, struct nv50_head_atom *asyh) argument 123 headc37d_curs_set(struct nv50_head *head, struct nv50_head_atom *asyh) argument 154 headc37d_curs_format(struct nv50_head *head, struct nv50_wndw_atom *asyw, struct nv50_head_atom *asyh) argument 176 headc37d_olut_set(struct nv50_head *head, struct nv50_head_atom *asyh) argument 196 headc37d_olut(struct nv50_head *head, struct nv50_head_atom *asyh, int size) argument 210 headc37d_mode(struct nv50_head *head, struct nv50_head_atom *asyh) argument 255 headc37d_view(struct nv50_head *head, struct nv50_head_atom *asyh) argument 275 headc37d_static_wndw_map(struct nv50_head *head, struct nv50_head_atom *asyh) argument [all...] |
H A D | head907d.c | 37 head907d_or(struct nv50_head *head, struct nv50_head_atom *asyh) argument 47 NVVAL(NV907D, HEAD_SET_CONTROL_OUTPUT_RESOURCE, CRC_MODE, asyh->or.crc_raster) | 48 NVVAL(NV907D, HEAD_SET_CONTROL_OUTPUT_RESOURCE, HSYNC_POLARITY, asyh->or.nhsync) | 49 NVVAL(NV907D, HEAD_SET_CONTROL_OUTPUT_RESOURCE, VSYNC_POLARITY, asyh->or.nvsync) | 50 NVVAL(NV907D, HEAD_SET_CONTROL_OUTPUT_RESOURCE, PIXEL_DEPTH, asyh->or.depth), 53 NVVAL(NV907D, HEAD_SET_CONTROL, STRUCTURE, asyh->mode.interlace)); 58 head907d_procamp(struct nv50_head *head, struct nv50_head_atom *asyh) argument 70 NVVAL(NV907D, HEAD_SET_PROCAMP, SAT_COS, asyh->procamp.sat.cos) | 71 NVVAL(NV907D, HEAD_SET_PROCAMP, SAT_SINE, asyh->procamp.sat.sin) | 78 head907d_dither(struct nv50_head *head, struct nv50_head_atom *asyh) argument 96 head907d_ovly(struct nv50_head *head, struct nv50_head_atom *asyh) argument 125 head907d_base(struct nv50_head *head, struct nv50_head_atom *asyh) argument 172 head907d_curs_set(struct nv50_head *head, struct nv50_head_atom *asyh) argument 210 head907d_core_set(struct nv50_head *head, struct nv50_head_atom *asyh) argument 264 head907d_olut_set(struct nv50_head *head, struct nv50_head_atom *asyh) argument 303 head907d_olut(struct nv50_head *head, struct nv50_head_atom *asyh, int size) argument 323 head907d_mode(struct nv50_head *head, struct nv50_head_atom *asyh) argument 379 head907d_view(struct nv50_head *head, struct nv50_head_atom *asyh) argument [all...] |
H A D | head827d.c | 49 head827d_curs_set(struct nv50_head *head, struct nv50_head_atom *asyh) argument 60 NVVAL(NV827D, HEAD_SET_CONTROL_CURSOR, FORMAT, asyh->curs.format) | 61 NVVAL(NV827D, HEAD_SET_CONTROL_CURSOR, SIZE, asyh->curs.layout) | 67 HEAD_SET_OFFSET_CURSOR(i), asyh->curs.offset >> 8); 69 PUSH_MTHD(push, NV827D, HEAD_SET_CONTEXT_DMA_CURSOR(i), asyh->curs.handle); 74 head827d_core_set(struct nv50_head *head, struct nv50_head_atom *asyh) argument 84 NVVAL(NV827D, HEAD_SET_OFFSET, ORIGIN, asyh->core.offset >> 8)); 87 NVVAL(NV827D, HEAD_SET_SIZE, WIDTH, asyh->core.w) | 88 NVVAL(NV827D, HEAD_SET_SIZE, HEIGHT, asyh->core.h), 91 NVVAL(NV827D, HEAD_SET_STORAGE, BLOCK_HEIGHT, asyh 128 head827d_olut_set(struct nv50_head *head, struct nv50_head_atom *asyh) argument [all...] |
H A D | headc57d.c | 44 headc57d_or(struct nv50_head *head, struct nv50_head_atom *asyh) argument 54 switch (asyh->or.depth) { 60 depth = asyh->or.depth; 69 NVVAL(NVC57D, HEAD_SET_CONTROL_OUTPUT_RESOURCE, CRC_MODE, asyh->or.crc_raster) | 70 NVVAL(NVC57D, HEAD_SET_CONTROL_OUTPUT_RESOURCE, HSYNC_POLARITY, asyh->or.nhsync) | 71 NVVAL(NVC57D, HEAD_SET_CONTROL_OUTPUT_RESOURCE, VSYNC_POLARITY, asyh->or.nvsync) | 79 headc57d_procamp(struct nv50_head *head, struct nv50_head_atom *asyh) argument 111 headc57d_olut_set(struct nv50_head *head, struct nv50_head_atom *asyh) argument 121 NVVAL(NVC57D, HEAD_SET_OLUT_CONTROL, INTERPOLATE, asyh->olut.output_mode) | 123 NVVAL(NVC57D, HEAD_SET_OLUT_CONTROL, MODE, asyh 186 headc57d_olut(struct nv50_head *head, struct nv50_head_atom *asyh, int size) argument 202 headc57d_mode(struct nv50_head *head, struct nv50_head_atom *asyh) argument [all...] |
H A D | curs507a.c | 78 curs507a_prepare(struct nv50_wndw *wndw, struct nv50_head_atom *asyh, argument 83 if (asyh->curs.handle != handle || asyh->curs.offset != offset) { 84 asyh->curs.handle = handle; 85 asyh->curs.offset = offset; 86 asyh->set.curs = asyh->curs.visible; 92 struct nv50_head_atom *asyh) 94 asyh->curs.visible = false; 99 struct nv50_head_atom *asyh) 91 curs507a_release(struct nv50_wndw *wndw, struct nv50_wndw_atom *asyw, struct nv50_head_atom *asyh) argument 98 curs507a_acquire(struct nv50_wndw *wndw, struct nv50_wndw_atom *asyw, struct nv50_head_atom *asyh) argument [all...] |
H A D | crc.c | 246 struct nv50_head_atom *asyh = nv50_head_atom(crtc_state); local 249 if (!asyh->clr.crc) 278 struct nv50_head_atom *asyh = nv50_head_atom(new_crtc_state); local 282 if (!asyh->set.crc) 302 struct nv50_head_atom *asyh = nv50_head_atom(new_crtc_state); local 306 if (!asyh->clr.crc) 325 struct nv50_head_atom *asyh = nv50_head_atom(crtc_state); local 329 if (!asyh->set.crc) 337 crc->src = asyh->crc.src; 350 struct nv50_head_atom *asyh, 349 nv50_crc_atomic_check_head(struct nv50_head *head, struct nv50_head_atom *asyh, struct nv50_head_atom *armh) argument 391 struct nv50_head_atom *asyh = nv50_head_atom(new_crtc_state); local 448 nv50_crc_atomic_set(struct nv50_head *head, struct nv50_head_atom *asyh) argument 547 struct nv50_head_atom *asyh; local [all...] |
H A D | dac907d.c | 30 struct nv50_head_atom *asyh) 29 dac907d_ctrl(struct nv50_core *core, int or, u32 ctrl, struct nv50_head_atom *asyh) argument
|
H A D | sorc37d.c | 30 struct nv50_head_atom *asyh) 29 sorc37d_ctrl(struct nv50_core *core, int or, u32 ctrl, struct nv50_head_atom *asyh) argument
|
H A D | base507c.c | 226 struct nv50_head_atom *asyh) 228 asyh->base.cpp = 0; 233 struct nv50_head_atom *asyh) 238 ret = drm_atomic_helper_check_plane_state(&asyw->state, &asyh->state, 246 if ((asyh->base.cpp != 1) ^ (fb->format->cpp[0] != 1)) 247 asyh->state.color_mgmt_changed = true; 250 asyh->base.depth = fb->format->depth; 251 asyh->base.cpp = fb->format->cpp[0]; 252 asyh->base.x = asyw->state.src.x1 >> 16; 253 asyh 225 base507c_release(struct nv50_wndw *wndw, struct nv50_wndw_atom *asyw, struct nv50_head_atom *asyh) argument 232 base507c_acquire(struct nv50_wndw *wndw, struct nv50_wndw_atom *asyw, struct nv50_head_atom *asyh) argument [all...] |
H A D | wndw.c | 196 struct nv50_head_atom *asyh) 200 wndw->func->release(wndw, asyw, asyh); 272 struct nv50_head_atom *asyh) 311 if (!asyh->state.async_flip) 364 return wndw->func->acquire(wndw, asyw, asyh); 371 struct nv50_head_atom *asyh) 373 struct drm_property_blob *ilut = asyh->state.degamma_lut; 387 if (!(ilut = asyh->state.gamma_lut)) { 393 asyh->wndw.olut |= BIT(wndw->id); 395 asyh 194 nv50_wndw_atomic_check_release(struct nv50_wndw *wndw, struct nv50_wndw_atom *asyw, struct nv50_head_atom *asyh) argument 269 nv50_wndw_atomic_check_acquire(struct nv50_wndw *wndw, bool modeset, struct nv50_wndw_atom *armw, struct nv50_wndw_atom *asyw, struct nv50_head_atom *asyh) argument 368 nv50_wndw_atomic_check_lut(struct nv50_wndw *wndw, struct nv50_wndw_atom *armw, struct nv50_wndw_atom *asyw, struct nv50_head_atom *asyh) argument 446 struct nv50_head_atom *harm = NULL, *asyh = NULL; local 539 struct nv50_head_atom *asyh; local [all...] |
H A D | head.h | 23 void nv50_head_flush_set(struct nv50_head *head, struct nv50_head_atom *asyh); 24 void nv50_head_flush_set_wndw(struct nv50_head *head, struct nv50_head_atom *asyh); 26 struct nv50_head_atom *asyh, bool flush);
|
H A D | sor907d.c | 33 struct nv50_head_atom *asyh) 32 sor907d_ctrl(struct nv50_core *core, int or, u32 ctrl, struct nv50_head_atom *asyh) argument
|
H A D | wndw.h | 50 struct nv50_head_atom *asyh); 52 struct nv50_head_atom *asyh); 53 void (*prepare)(struct nv50_wndw *, struct nv50_head_atom *asyh, 63 void (*ilut)(struct nv50_wndw *wndw, struct nv50_wndw_atom *asyh, int size);
|
H A D | ovly507e.c | 95 struct nv50_head_atom *asyh) 97 asyh->ovly.cpp = 0; 102 struct nv50_head_atom *asyh) 107 ret = drm_atomic_helper_check_plane_state(&asyw->state, &asyh->state, 114 asyh->ovly.cpp = fb->format->cpp[0]; 94 ovly507e_release(struct nv50_wndw *wndw, struct nv50_wndw_atom *asyw, struct nv50_head_atom *asyh) argument 101 ovly507e_acquire(struct nv50_wndw *wndw, struct nv50_wndw_atom *asyw, struct nv50_head_atom *asyh) argument
|
H A D | disp.c | 371 struct nv50_head_atom *asyh = nv50_head_atom(crtc_state); local 373 struct drm_display_mode *mode = &asyh->state.adjusted_mode; 381 asyh->or.bpc = min_t(u8, asyh->or.bpc, 10); 384 while (asyh->or.bpc > 6) { 385 mode_rate = DIV_ROUND_UP(mode->clock * asyh->or.bpc * 3, 8); 389 asyh->or.bpc -= 2; 404 struct nv50_head_atom *asyh = nv50_head_atom(crtc_state); local 413 asyh->or.bpc = connector->display_info.bpc; 488 struct nv50_head_atom *asyh local 968 struct nv50_head_atom *asyh = nv50_head_atom(crtc_state); local 1028 struct nv50_head_atom *asyh = local 1537 nv50_sor_update(struct nouveau_encoder *nv_encoder, u8 head, struct nv50_head_atom *asyh, u8 proto, u8 depth) argument 1605 nv50_sor_dp_watermark_sst(struct nouveau_encoder *outp, struct nv50_head *head, struct nv50_head_atom *asyh) argument 1745 struct nv50_head_atom *asyh = local 1982 struct nv50_head_atom *asyh = local 2195 struct nv50_head_atom *asyh = nv50_head_atom(new_crtc_state); local 2278 struct nv50_head_atom *asyh = nv50_head_atom(new_crtc_state); local 2329 struct nv50_head_atom *asyh = nv50_head_atom(new_crtc_state); local 2569 struct nv50_head_atom *asyh; local [all...] |
H A D | crc.h | 114 struct nv50_head_atom *asyh, 113 nv50_crc_atomic_check_head(struct nv50_head *head, struct nv50_head_atom *asyh, struct nv50_head_atom *armh) argument
|
H A D | wndwc37e.c | 290 struct nv50_head_atom *asyh) 296 struct nv50_head_atom *asyh) 298 return drm_atomic_helper_check_plane_state(&asyw->state, &asyh->state, 289 wndwc37e_release(struct nv50_wndw *wndw, struct nv50_wndw_atom *asyw, struct nv50_head_atom *asyh) argument 295 wndwc37e_acquire(struct nv50_wndw *wndw, struct nv50_wndw_atom *asyw, struct nv50_head_atom *asyh) argument
|