dm_state
struct dm_atomic_state **dm_state)
if (*dm_state)
*dm_state = to_dm_atomic_state(priv_state);
struct dm_atomic_state *dm_state = to_dm_atomic_state(state);
if (dm_state && dm_state->context)
dc_release_state(dm_state->context);
kfree(dm_state);
const struct dm_connector_state *dm_state,
if (dm_state) {
rmx_type = dm_state->scaling;
if (dm_state->underscan_enable) {
dst.x += dm_state->underscan_hborder / 2;
dst.y += dm_state->underscan_vborder / 2;
dst.width -= dm_state->underscan_hborder;
dst.height -= dm_state->underscan_vborder;
const struct dm_connector_state *dm_state)
dm_state ? (dm_state->scaling != RMX_OFF) : false);
if (!dm_state)
update_stream_scaling_settings(&mode, dm_state, stream);
if (dm_state && dm_state->freesync_capable)
struct dm_connector_state *dm_state =
switch (dm_state->scaling) {
*val = dm_state->underscan_hborder;
*val = dm_state->underscan_vborder;
*val = dm_state->underscan_enable;
*val = dm_state->max_bpc;
is_scaling_state_different(const struct dm_connector_state *dm_state,
if (dm_state->scaling != old_dm_state->scaling)
if (!dm_state->underscan_enable && old_dm_state->underscan_enable) {
} else if (dm_state->underscan_enable && !old_dm_state->underscan_enable) {
if (dm_state->underscan_hborder != 0 && dm_state->underscan_vborder != 0)
} else if (dm_state->underscan_hborder != old_dm_state->underscan_hborder ||
dm_state->underscan_vborder != old_dm_state->underscan_vborder)
struct dm_atomic_state *dm_state;
dm_state = dm_atomic_get_new_state(state);
if (dm_state && dm_state->context) {
dc_state = dm_state->context;
struct dm_atomic_state *dm_state = NULL;
ret = dm_atomic_get_state(state, &dm_state);
dm_state->context,
ret = dm_atomic_get_state(state, &dm_state);
dm_state->context,
struct dm_atomic_state *dm_state = NULL;
ret = dm_atomic_get_state(state, &dm_state);
dm_state->context)) {
ret = dm_atomic_get_state(state, &dm_state);
dm_state->context)) {
struct dm_atomic_state *dm_state = NULL, *old_dm_state = NULL;
ret = dm_atomic_get_state(state, &dm_state);
struct dm_atomic_state *dm_state = NULL;
ret = dm_atomic_get_state(state, &dm_state);
if (dc_validate_global_state(dc, dm_state->context) != DC_OK) {
if ((dirrem->dm_state & COMPLETE) == 0) {
dirrem->dm_state = isrmdir ? RMDIR : 0;
dirrem->dm_state |= COMPLETE;
dirrem->dm_state |= DIRCHG;
if ((dirrem->dm_state & COMPLETE) == 0) {
if ((dirrem->dm_state & COMPLETE) == 0) {
if ((dirrem->dm_state & RMDIR) == 0) {
if (dirrem->dm_state & DIRCHG) {
dirrem->dm_state = 0;