Lines Matching full:scaler
164 * Once NV12 is enabled, handle it here while allocating scaler in skl_update_scaler()
176 * if plane is being disabled or scaler is no more required or force detach in skl_update_scaler()
177 * - free scaler binded to this plane/crtc in skl_update_scaler()
180 * Here scaler state in crtc_state is set free so that in skl_update_scaler()
181 * scaler can be assigned to other user. Actual register in skl_update_scaler()
182 * update to free the scaler is done in plane/panel-fit programming. in skl_update_scaler()
192 "Staged freeing scaler id %d scaler_users = 0x%x\n", in skl_update_scaler()
214 "size is out of scaler range\n", in skl_update_scaler()
222 * The pipe scaler does not use all the bits of PIPESRC, at least in skl_update_scaler()
225 * we assume the limits match the scaler destination size limits. in skl_update_scaler()
232 "is out of scaler range\n", in skl_update_scaler()
238 /* mark this plane as a scaler user in crtc_state */ in skl_update_scaler()
271 * skl_update_scaler_plane - Stages update to scaler state for a given plane.
272 * @crtc_state: crtc's scaler state
288 /* Pre-gen11 and SDR planes always need a scaler for planar formats. */ in skl_update_scaler_plane()
334 * as the first scaler, so we don't reject downscaling in calculate_max_scale()
341 * scaler supports a vertical scaling factor in calculate_max_scale()
376 "Cannot find scaler for %s:%d\n", name, idx)) in intel_atomic_setup_scaler()
379 /* set scaler mode */ in intel_atomic_setup_scaler()
389 * On gen11+'s HDR planes we only use the scaler for in intel_atomic_setup_scaler()
391 * we don't need the scaler to upsample the UV plane. in intel_atomic_setup_scaler()
407 * when only 1 scaler is in use on a pipe with 2 scalers in intel_atomic_setup_scaler()
408 * scaler 0 operates in high quality (HQ) mode. in intel_atomic_setup_scaler()
409 * In this case use scaler 0 to take advantage of HQ mode in intel_atomic_setup_scaler()
431 * support HQ vs dynamic scaler properly. in intel_atomic_setup_scaler()
440 "[CRTC:%d:%s] scaler %d doesn't support required plane scaling\n", in intel_atomic_setup_scaler()
477 "Scaler %d doesn't support required pipe scaling\n", in intel_atomic_setup_scaler()
489 drm_dbg_kms(display->drm, "[CRTC:%d:%s] attached scaler id %u.%u to %s:%d\n", in intel_atomic_setup_scaler()
522 /* plane on different crtc cannot be a scaler user of this crtc */ in setup_plane_scaler()
555 * This function takes into account the current scaler(s) in use by any planes
577 * - staged scaler requests are already in scaler_state->scaler_users in intel_atomic_setup_scalers()
583 * - as part of crtc_commit, scaler will be either attached or detached in intel_atomic_setup_scalers()
600 /* skip if scaler not required */ in intel_atomic_setup_scalers()
662 * To enable nearest-neighbor scaling: program scaler coefficients with
791 const struct intel_scaler *scaler = in skl_program_plane_scaler() local
827 ps_ctrl = PS_SCALER_EN | PS_BINDING_PLANE(plane->id) | scaler->mode | in skl_program_plane_scaler()
895 /* find scaler attached to this pipe */ in skl_scaler_get_config()