Lines Matching full:scaler
130 * Once NV12 is enabled, handle it here while allocating scaler in skl_update_scaler()
141 * if plane is being disabled or scaler is no more required or force detach in skl_update_scaler()
142 * - free scaler binded to this plane/crtc in skl_update_scaler()
145 * Here scaler state in crtc_state is set free so that in skl_update_scaler()
146 * scaler can be assigned to other user. Actual register in skl_update_scaler()
147 * update to free the scaler is done in plane/panel-fit programming. in skl_update_scaler()
157 "Staged freeing scaler id %d scaler_users = 0x%x\n", in skl_update_scaler()
206 "size is out of scaler range\n", in skl_update_scaler()
213 * The pipe scaler does not use all the bits of PIPESRC, at least in skl_update_scaler()
216 * we assume the limits match the scaler destination size limits. in skl_update_scaler()
223 "is out of scaler range\n", in skl_update_scaler()
228 /* mark this plane as a scaler user in crtc_state */ in skl_update_scaler()
260 * skl_update_scaler_plane - Stages update to scaler state for a given plane.
261 * @crtc_state: crtc's scaler state
279 /* Pre-gen11 and SDR planes always need a scaler for planar formats. */ in skl_update_scaler_plane()
363 /* find a free scaler */ in intel_atomic_setup_scaler()
375 "Cannot find scaler for %s:%d\n", name, idx)) in intel_atomic_setup_scaler()
378 /* set scaler mode */ in intel_atomic_setup_scaler()
388 * On gen11+'s HDR planes we only use the scaler for in intel_atomic_setup_scaler()
390 * we don't need the scaler to upsample the UV plane. in intel_atomic_setup_scaler()
406 * when only 1 scaler is in use on a pipe with 2 scalers in intel_atomic_setup_scaler()
407 * scaler 0 operates in high quality (HQ) mode. in intel_atomic_setup_scaler()
408 * In this case use scaler 0 to take advantage of HQ mode in intel_atomic_setup_scaler()
419 * FIXME: we should also check the scaler factors for pfit, so in intel_atomic_setup_scaler()
432 * as the first scaler, so we don't reject downscaling in intel_atomic_setup_scaler()
439 * scaler supports a vertical scaling factor in intel_atomic_setup_scaler()
460 * support HQ vs dynamic scaler properly. in intel_atomic_setup_scaler()
469 "Scaler %d doesn't support required plane scaling\n", in intel_atomic_setup_scaler()
478 drm_dbg_kms(&dev_priv->drm, "Attached scaler id %u.%u to %s:%d\n", in intel_atomic_setup_scaler()
495 * This function takes into account the current scaler(s) in use by any planes
519 * - staged scaler requests are already in scaler_state->scaler_users in intel_atomic_setup_scalers()
525 * - as part of crtc_commit, scaler will be either attached or detached in intel_atomic_setup_scalers()
544 /* skip if scaler not required */ in intel_atomic_setup_scalers()
552 /* panel fitter case: assign as a crtc scaler */ in intel_atomic_setup_scalers()
557 /* plane scaler case: assign as a plane scaler */ in intel_atomic_setup_scalers()
562 * to enable/disable hq mode, add planes that are using scaler in intel_atomic_setup_scalers()
589 /* plane on different crtc cannot be a scaler user of this crtc */ in intel_atomic_setup_scalers()
650 * To enable nearest-neighbor scaling: program scaler coefficents with
772 const struct intel_scaler *scaler = in skl_program_plane_scaler() local
808 ps_ctrl = PS_SCALER_EN | PS_BINDING_PLANE(plane->id) | scaler->mode | in skl_program_plane_scaler()
869 /* find scaler attached to this pipe */ in skl_scaler_get_config()