mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
Merge tag 'drm-intel-fixes-2024-02-22' of git://anongit.freedesktop.org/drm/drm-intel into drm-fixes
- Fixup for TV mode Signed-off-by: Dave Airlie <airlied@redhat.com> From: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/ZdcwT9kltvEgJZZE@jlahtine-mobl.ger.corp.intel.com
This commit is contained in:
commit
741922e7fb
@ -1209,7 +1209,7 @@ static bool intel_sdvo_set_tv_format(struct intel_sdvo *intel_sdvo,
|
||||
struct intel_sdvo_tv_format format;
|
||||
u32 format_map;
|
||||
|
||||
format_map = 1 << conn_state->tv.mode;
|
||||
format_map = 1 << conn_state->tv.legacy_mode;
|
||||
memset(&format, 0, sizeof(format));
|
||||
memcpy(&format, &format_map, min(sizeof(format), sizeof(format_map)));
|
||||
|
||||
@ -2298,7 +2298,7 @@ static int intel_sdvo_get_tv_modes(struct drm_connector *connector)
|
||||
* Read the list of supported input resolutions for the selected TV
|
||||
* format.
|
||||
*/
|
||||
format_map = 1 << conn_state->tv.mode;
|
||||
format_map = 1 << conn_state->tv.legacy_mode;
|
||||
memcpy(&tv_res, &format_map,
|
||||
min(sizeof(format_map), sizeof(struct intel_sdvo_sdtv_resolution_request)));
|
||||
|
||||
@ -2363,7 +2363,7 @@ intel_sdvo_connector_atomic_get_property(struct drm_connector *connector,
|
||||
int i;
|
||||
|
||||
for (i = 0; i < intel_sdvo_connector->format_supported_num; i++)
|
||||
if (state->tv.mode == intel_sdvo_connector->tv_format_supported[i]) {
|
||||
if (state->tv.legacy_mode == intel_sdvo_connector->tv_format_supported[i]) {
|
||||
*val = i;
|
||||
|
||||
return 0;
|
||||
@ -2419,7 +2419,7 @@ intel_sdvo_connector_atomic_set_property(struct drm_connector *connector,
|
||||
struct intel_sdvo_connector_state *sdvo_state = to_intel_sdvo_connector_state(state);
|
||||
|
||||
if (property == intel_sdvo_connector->tv_format) {
|
||||
state->tv.mode = intel_sdvo_connector->tv_format_supported[val];
|
||||
state->tv.legacy_mode = intel_sdvo_connector->tv_format_supported[val];
|
||||
|
||||
if (state->crtc) {
|
||||
struct drm_crtc_state *crtc_state =
|
||||
@ -3076,7 +3076,7 @@ static bool intel_sdvo_tv_create_property(struct intel_sdvo *intel_sdvo,
|
||||
drm_property_add_enum(intel_sdvo_connector->tv_format, i,
|
||||
tv_format_names[intel_sdvo_connector->tv_format_supported[i]]);
|
||||
|
||||
intel_sdvo_connector->base.base.state->tv.mode = intel_sdvo_connector->tv_format_supported[0];
|
||||
intel_sdvo_connector->base.base.state->tv.legacy_mode = intel_sdvo_connector->tv_format_supported[0];
|
||||
drm_object_attach_property(&intel_sdvo_connector->base.base.base,
|
||||
intel_sdvo_connector->tv_format, 0);
|
||||
return true;
|
||||
|
@ -949,7 +949,7 @@ intel_disable_tv(struct intel_atomic_state *state,
|
||||
|
||||
static const struct tv_mode *intel_tv_mode_find(const struct drm_connector_state *conn_state)
|
||||
{
|
||||
int format = conn_state->tv.mode;
|
||||
int format = conn_state->tv.legacy_mode;
|
||||
|
||||
return &tv_modes[format];
|
||||
}
|
||||
@ -1704,7 +1704,7 @@ static void intel_tv_find_better_format(struct drm_connector *connector)
|
||||
break;
|
||||
}
|
||||
|
||||
connector->state->tv.mode = i;
|
||||
connector->state->tv.legacy_mode = i;
|
||||
}
|
||||
|
||||
static int
|
||||
@ -1859,7 +1859,7 @@ static int intel_tv_atomic_check(struct drm_connector *connector,
|
||||
old_state = drm_atomic_get_old_connector_state(state, connector);
|
||||
new_crtc_state = drm_atomic_get_new_crtc_state(state, new_state->crtc);
|
||||
|
||||
if (old_state->tv.mode != new_state->tv.mode ||
|
||||
if (old_state->tv.legacy_mode != new_state->tv.legacy_mode ||
|
||||
old_state->tv.margins.left != new_state->tv.margins.left ||
|
||||
old_state->tv.margins.right != new_state->tv.margins.right ||
|
||||
old_state->tv.margins.top != new_state->tv.margins.top ||
|
||||
@ -1896,7 +1896,7 @@ static void intel_tv_add_properties(struct drm_connector *connector)
|
||||
conn_state->tv.margins.right = 46;
|
||||
conn_state->tv.margins.bottom = 37;
|
||||
|
||||
conn_state->tv.mode = 0;
|
||||
conn_state->tv.legacy_mode = 0;
|
||||
|
||||
/* Create TV properties then attach current values */
|
||||
for (i = 0; i < ARRAY_SIZE(tv_modes); i++) {
|
||||
@ -1910,7 +1910,7 @@ static void intel_tv_add_properties(struct drm_connector *connector)
|
||||
|
||||
drm_object_attach_property(&connector->base,
|
||||
i915->drm.mode_config.legacy_tv_mode_property,
|
||||
conn_state->tv.mode);
|
||||
conn_state->tv.legacy_mode);
|
||||
drm_object_attach_property(&connector->base,
|
||||
i915->drm.mode_config.tv_left_margin_property,
|
||||
conn_state->tv.margins.left);
|
||||
|
Loading…
Reference in New Issue
Block a user