[PATCH] drm: exynos: fix for loosing display mode header during mode adjustment
Inki Dae
inki.dae at samsung.com
Wed Nov 14 01:06:12 PST 2012
2012/11/9 Rahul Sharma <rahul.sharma at samsung.com>
> This patch is to preserve the display mode header during the mode
> adjustment.
> Display mode header is overwritten with the adjusted mode header which is
> throwing the stack dump.
>
> Signed-off-by: Rahul Sharma <rahul.sharma at samsung.com>
> ---
> drivers/gpu/drm/exynos/exynos_hdmi.c | 8 ++++++++
> 1 files changed, 8 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c
> b/drivers/gpu/drm/exynos/exynos_hdmi.c
> index ee110c9..c7844ea 100644
> --- a/drivers/gpu/drm/exynos/exynos_hdmi.c
> +++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
> @@ -1974,6 +1974,8 @@ static void hdmi_mode_fixup(void *ctx, struct
> drm_connector *connector,
> {
> struct drm_display_mode *m;
> struct hdmi_context *hdata = ctx;
> + struct drm_mode_object base;
> + struct list_head head;
>
Remove base and head,
> int index;
>
> DRM_DEBUG_KMS("[%d] %s\n", __LINE__, __func__);
> @@ -2002,7 +2004,13 @@ static void hdmi_mode_fixup(void *ctx, struct
> drm_connector *connector,
> if (index >= 0) {
>
And declare them here.
Thanks,
Inki Dae
> DRM_INFO("desired mode doesn't exist so\n");
> DRM_INFO("use the most suitable mode among
> modes.\n");
> +
> + /* preserve display mode header while copying. */
> + head = adjusted_mode->head;
> + base = adjusted_mode->base;
> memcpy(adjusted_mode, m, sizeof(*m));
> + adjusted_mode->head = head;
> + adjusted_mode->base = base;
> break;
> }
> }
> --
> 1.7.0.4
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20121114/66f05448/attachment.html>
More information about the dri-devel
mailing list