drm: Add and handle new aspect ratios in DRM layer
HDMI 2.0/CEA-861-F introduces two new aspect ratios: - 64:27 - 256:135 This patch: - Adds new DRM flags for to represent these new aspect ratios. - Adds new cases to handle these aspect ratios while converting from user->kernel mode or vise versa. V2: Rebase V3: Align macro for DRM_MODE_PICTURE_ASPECT_256_135 (Jim Bride) V4: Added r-b from Jose. Signed-off-by: Shashank Sharma <shashank.sharma@intel.com> Reviewed-by: Sean Paul <seanpaul@chromium.org> Reviewed-by: Jose Abreu <Jose.Abreu@synopsys.com> Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: Emil Velikov <emil.l.velikov@gmail.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: http://patchwork.freedesktop.org/patch/msgid/1476705880-15600-5-git-send-email-shashank.sharma@intel.com
This commit is contained in:
Родитель
a6e78b3e14
Коммит
a68362fe3e
|
@ -1509,6 +1509,12 @@ void drm_mode_convert_to_umode(struct drm_mode_modeinfo *out,
|
|||
case HDMI_PICTURE_ASPECT_16_9:
|
||||
out->flags |= DRM_MODE_FLAG_PIC_AR_16_9;
|
||||
break;
|
||||
case HDMI_PICTURE_ASPECT_64_27:
|
||||
out->flags |= DRM_MODE_FLAG_PIC_AR_64_27;
|
||||
break;
|
||||
case DRM_MODE_PICTURE_ASPECT_256_135:
|
||||
out->flags |= DRM_MODE_FLAG_PIC_AR_256_135;
|
||||
break;
|
||||
case HDMI_PICTURE_ASPECT_RESERVED:
|
||||
default:
|
||||
out->flags |= DRM_MODE_FLAG_PIC_AR_NONE;
|
||||
|
@ -1570,6 +1576,12 @@ int drm_mode_convert_umode(struct drm_display_mode *out,
|
|||
case DRM_MODE_FLAG_PIC_AR_16_9:
|
||||
out->picture_aspect_ratio |= HDMI_PICTURE_ASPECT_16_9;
|
||||
break;
|
||||
case DRM_MODE_FLAG_PIC_AR_64_27:
|
||||
out->picture_aspect_ratio |= HDMI_PICTURE_ASPECT_64_27;
|
||||
break;
|
||||
case DRM_MODE_FLAG_PIC_AR_256_135:
|
||||
out->picture_aspect_ratio |= HDMI_PICTURE_ASPECT_256_135;
|
||||
break;
|
||||
default:
|
||||
out->picture_aspect_ratio = HDMI_PICTURE_ASPECT_NONE;
|
||||
break;
|
||||
|
|
|
@ -81,6 +81,8 @@ extern "C" {
|
|||
#define DRM_MODE_PICTURE_ASPECT_NONE 0
|
||||
#define DRM_MODE_PICTURE_ASPECT_4_3 1
|
||||
#define DRM_MODE_PICTURE_ASPECT_16_9 2
|
||||
#define DRM_MODE_PICTURE_ASPECT_64_27 3
|
||||
#define DRM_MODE_PICTURE_ASPECT_256_135 4
|
||||
|
||||
/* Aspect ratio flag bitmask (4 bits 22:19) */
|
||||
#define DRM_MODE_FLAG_PIC_AR_MASK (0x0F<<19)
|
||||
|
@ -90,6 +92,10 @@ extern "C" {
|
|||
(DRM_MODE_PICTURE_ASPECT_4_3<<19)
|
||||
#define DRM_MODE_FLAG_PIC_AR_16_9 \
|
||||
(DRM_MODE_PICTURE_ASPECT_16_9<<19)
|
||||
#define DRM_MODE_FLAG_PIC_AR_64_27 \
|
||||
(DRM_MODE_PICTURE_ASPECT_64_27<<19)
|
||||
#define DRM_MODE_FLAG_PIC_AR_256_135 \
|
||||
(DRM_MODE_PICTURE_ASPECT_256_135<<19)
|
||||
|
||||
/* DPMS flags */
|
||||
/* bit compatible with the xorg definitions. */
|
||||
|
|
Загрузка…
Ссылка в новой задаче