stream_update
bundle->stream_update.vrr_infopacket =
bundle->stream_update.stream = acrtc_state->stream;
bundle->stream_update.src = acrtc_state->stream->src;
bundle->stream_update.dst = acrtc_state->stream->dst;
bundle->stream_update.gamut_remap =
bundle->stream_update.output_csc_transform =
bundle->stream_update.out_transfer_func =
bundle->stream_update.lut3d_func =
bundle->stream_update.func_shaper =
bundle->stream_update.abm_level = &acrtc_state->abm_level;
&bundle->stream_update,
struct dc_stream_update stream_update;
memset(&stream_update, 0, sizeof(stream_update));
stream_update.stream = dm_new_crtc_state->stream;
stream_update.src = dm_new_crtc_state->stream->src;
stream_update.dst = dm_new_crtc_state->stream->dst;
stream_update.output_color_space = &dm_new_crtc_state->stream->output_color_space;
stream_update.abm_level = &dm_new_crtc_state->abm_level;
stream_update.hdr_static_metadata = &hdr_packet;
&stream_update);
struct dc_stream_update stream_update;
bundle->stream_update.stream = dc_state->streams[k];
&bundle->stream_update,
struct dc_stream_update *stream_update,
stream_update);
struct dc_stream_update stream_update;
bundle->stream_update.cursor_position =
amdgpu_dm_update_cursor(plane, old_plane_state, &bundle->stream_update);
struct dc_stream_update *stream_update)
if (stream_update && stream_update->pending_test_pattern) {
if (stream_update && stream_update->hw_cursor_req) {
if (stream_update) {
union stream_update_flags *su_flags = &stream_update->stream->update_flags;
if ((stream_update->src.height != 0 && stream_update->src.width != 0) ||
(stream_update->dst.height != 0 && stream_update->dst.width != 0) ||
stream_update->integer_scaling_update)
if (check_config->enable_legacy_fast_update && stream_update->out_transfer_func)
if (stream_update->abm_level)
if (stream_update->dpms_off) {
if (stream_update->gamut_remap)
if (stream_update->wb_update)
if (stream_update->dsc_config)
if (stream_update->mst_bw_update)
if (stream_update->stream->freesync_on_desktop &&
(stream_update->vrr_infopacket || stream_update->allow_freesync ||
stream_update->vrr_active_variable || stream_update->vrr_active_fixed))
if (stream_update->scaler_sharpener_update)
if (stream_update->sharpening_required)
if (stream_update->output_color_space)
if (stream_update->output_csc_transform) {
if (!check_config->enable_legacy_fast_update && stream_update->out_transfer_func) {
struct dc_stream_update *stream_update)
if (stream_update)
stream_update->stream->update_flags.raw = 0;
return check_update_surfaces_for_stream(check_config, updates, surface_count, stream_update);
const struct dc_stream_update *stream_update,
struct dc_stream_update *stream_update,
&dc->check_config, srf_updates, surface_count, stream_update).update_type;
if (full_update_required_weak(dc, srf_updates, surface_count, stream_update, stream))
copy_stream_update_to_stream(dc, context, stream, stream_update);
if (stream_update) {
uint32_t dsc_changed = stream_update->stream->update_flags.bits.dsc_changed;
stream_update->stream->update_flags.raw = 0xFFFFFFFF;
stream_update->stream->update_flags.bits.dsc_changed = dsc_changed;
struct dc_stream_update *stream_update,
if (stream_update->periodic_interrupt && dc->hwss.setup_periodic_interrupt)
if ((stream_update->hdr_static_metadata && !stream->use_dynamic_meta) ||
stream_update->vrr_infopacket ||
stream_update->vsc_infopacket ||
stream_update->vsp_infopacket ||
stream_update->hfvsif_infopacket ||
stream_update->adaptive_sync_infopacket ||
stream_update->vtem_infopacket ||
stream_update->avi_infopacket) {
if (stream_update->hdr_static_metadata &&
if (stream_update->gamut_remap)
if (stream_update->output_csc_transform)
if (stream_update->dither_option) {
if (stream_update->cursor_attributes)
if (stream_update->cursor_position)
if (stream_update->dsc_config)
if (stream_update->mst_bw_update) {
if (stream_update->mst_bw_update->is_increase)
stream_update->mst_bw_update->mst_stream_bw);
stream_update->mst_bw_update->mst_stream_bw);
if (stream_update->pending_test_pattern) {
if (stream_update->dpms_off) {
if (*stream_update->dpms_off) {
} else if (pipe_ctx->stream->link->wa_flags.blank_stream_on_ocs_change && stream_update->output_color_space
if (stream_update->abm_level && pipe_ctx->stream_res.abm) {
if (*stream_update->abm_level == ABM_LEVEL_IMMEDIATE_DISABLE) {
struct dc_stream_update *stream_update,
if (stream_update) {
struct dc_stream_update *stream_update,
if (stream_update)
commit_planes_do_stream_update(dc, stream, stream_update, update_type, context);
struct dc_stream_update *stream_update,
surface_count, stream, stream_update,
struct dc_stream_update *stream_update)
if (stream_update) {
fast_update[0].out_transfer_func = stream_update->out_transfer_func;
fast_update[0].output_csc_transform = stream_update->output_csc_transform;
const struct dc_stream_update *stream_update,
const struct dc_stream_update *stream_update,
if (full_update_required_weak(dc, srf_updates, surface_count, stream_update, stream))
if (stream_update &&
(((stream_update->src.height != 0 && stream_update->src.width != 0) ||
(stream_update->dst.height != 0 && stream_update->dst.width != 0) ||
stream_update->integer_scaling_update) ||
stream_update->hdr_static_metadata ||
stream_update->abm_level ||
stream_update->periodic_interrupt ||
stream_update->vrr_infopacket ||
stream_update->vsc_infopacket ||
stream_update->vsp_infopacket ||
stream_update->hfvsif_infopacket ||
stream_update->vtem_infopacket ||
stream_update->adaptive_sync_infopacket ||
stream_update->avi_infopacket ||
stream_update->dpms_off ||
stream_update->allow_freesync ||
stream_update->vrr_active_variable ||
stream_update->vrr_active_fixed ||
stream_update->gamut_remap ||
stream_update->output_color_space ||
stream_update->dither_option ||
stream_update->wb_update ||
stream_update->dsc_config ||
stream_update->mst_bw_update ||
stream_update->func_shaper ||
stream_update->lut3d_func ||
stream_update->pending_test_pattern ||
stream_update->crtc_timing_adjust ||
stream_update->scaler_sharpener_update ||
stream_update->hw_cursor_req))
const struct dc_stream_update *stream_update,
&& !full_update_required(dc, srf_updates, surface_count, stream_update, stream);
struct dc_stream_update *stream_update)
populate_fast_updates(fast_update, srf_updates, surface_count, stream_update);
surface_count, stream_update, stream);
stream_update,
stream_update,
if (!stream_update &&
stream_update,
struct dc_stream_update *stream_update,
stream_update);
stream_update, stream) &&
stream_update,
stream_update,
struct dc_stream_update *stream_update,
if (commit_minimal_transition_based_on_new_context(dc, new_context, stream, stream_update,
commit_planes_for_stream(dc, srf_updates, surface_count, stream, stream_update, update_type, new_context);
struct dc_stream_update *stream_update)
stream, stream_update, &update_type,
stream_update, update_type);
stream_update, update_type, new_context);
struct dc_stream_update *stream_update)
stream_update
struct dc_stream_update *stream_update,
stream, stream_update);
stream, stream_update);
struct dc_stream_update *stream_update;
scratch->stream_update
scratch->stream_update,
scratch->stream_update
scratch->stream_update,
use_stream_update ? scratch->stream_update : NULL,
scratch->stream_update,
struct dc_stream_update *stream_update
.stream_update = stream_update,
struct dc_stream_update *stream_update);
struct dc_stream_update *stream_update);
struct dc_stream_update *stream_update
struct dc_stream_update *stream_update,
struct dc_stream_update *stream_update);
stream_update.stream = streams_on_link[i];
stream_update.dpms_off = &dpms_off;
dc_update_planes_and_stream(dc, NULL, 0, streams_on_link[i], &stream_update);
struct dc_stream_update stream_update = { 0 };
struct dc_stream_update stream_update;
memset(&stream_update, 0, sizeof(stream_update));
stream_update.dpms_off = &dpms_off;
stream_update.stream = streams[i];
streams[i], &stream_update,
if (snd_hdac_bus_handle_stream_irq(bus, status, stream_update))