* [PATCH] drm/exynos: set the active aspect ratio as per mode
@ 2014-03-10 3:44 Shirish S
2014-03-12 15:19 ` Tomasz Figa
0 siblings, 1 reply; 7+ messages in thread
From: Shirish S @ 2014-03-10 3:44 UTC (permalink / raw)
To: dri-devel, inki.dae; +Cc: shirish, Shirish S
now that the drm_display_mode also provides aspect
ratio for all resolutions, this patch adds its usage
to set the active aspect ratio of AVI info frame
packets as per CEA-861-D standard's Table 9.
This is also needed to abide by the 7-27
compliance test of HDMI.
Signed-off-by: Shirish S <s.shirish@samsung.com>
---
drivers/gpu/drm/exynos/exynos_hdmi.c | 33 +++++++++++++++++++++++++++------
1 file changed, 27 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c
index c021ddc..8aca52a 100644
--- a/drivers/gpu/drm/exynos/exynos_hdmi.c
+++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
@@ -53,8 +53,6 @@
/* AVI header and aspect ratio */
#define HDMI_AVI_VERSION 0x02
#define HDMI_AVI_LENGTH 0x0D
-#define AVI_PIC_ASPECT_RATIO_16_9 (2 << 4)
-#define AVI_SAME_AS_PIC_ASPECT_RATIO 8
/* AUI header info */
#define HDMI_AUI_VERSION 0x01
@@ -65,6 +63,12 @@ enum hdmi_type {
HDMI_TYPE14,
};
+enum active_aspect_ratio {
+ AVI_SAME_AS_PIC_ASPECT_RATIO = 8,
+ AVI_4_3_Center_RATIO,
+ AVI_16_9_Center_RATIO,
+};
+
struct hdmi_resources {
struct clk *hdmi;
struct clk *sclk_hdmi;
@@ -162,6 +166,7 @@ struct hdmi_v14_conf {
struct hdmi_conf_regs {
int pixel_clock;
int cea_video_id;
+ enum hdmi_picture_aspect aspect_ratio;
union {
struct hdmi_v13_conf v13_conf;
struct hdmi_v14_conf v14_conf;
@@ -668,7 +673,6 @@ static void hdmi_reg_infoframe(struct hdmi_context *hdata,
{
u32 hdr_sum;
u8 chksum;
- u32 aspect_ratio;
u32 mod;
u32 vic;
@@ -697,10 +701,25 @@ static void hdmi_reg_infoframe(struct hdmi_context *hdata,
AVI_ACTIVE_FORMAT_VALID |
AVI_UNDERSCANNED_DISPLAY_VALID);
- aspect_ratio = AVI_PIC_ASPECT_RATIO_16_9;
-
- hdmi_reg_writeb(hdata, HDMI_AVI_BYTE(2), aspect_ratio |
+ /*
+ * Set the aspect ratio as per the mode, mentioned in
+ * Table 9 AVI InfoFrame Data Byte 2 of CEA-861-D Standard
+ */
+ switch (hdata->mode_conf.aspect_ratio) {
+ case HDMI_PICTURE_ASPECT_4_3:
+ hdmi_reg_writeb(hdata, HDMI_AVI_BYTE(2), aspect_ratio |
+ AVI_4_3_Center_RATIO);
+ break;
+ case HDMI_PICTURE_ASPECT_16_9:
+ hdmi_reg_writeb(hdata, HDMI_AVI_BYTE(2), aspect_ratio |
+ AVI_16_9_Center_RATIO);
+ break;
+ case HDMI_PICTURE_ASPECT_NONE:
+ default:
+ hdmi_reg_writeb(hdata, HDMI_AVI_BYTE(2), aspect_ratio |
AVI_SAME_AS_PIC_ASPECT_RATIO);
+ break;
+ }
vic = hdata->mode_conf.cea_video_id;
hdmi_reg_writeb(hdata, HDMI_AVI_BYTE(4), vic);
@@ -1421,6 +1440,7 @@ static void hdmi_v13_mode_set(struct hdmi_context *hdata,
hdata->mode_conf.cea_video_id =
drm_match_cea_mode((struct drm_display_mode *)m);
hdata->mode_conf.pixel_clock = m->clock * 1000;
+ hdata->mode_conf.aspect_ratio = m->picture_aspect_ratio;
hdmi_set_reg(core->h_blank, 2, m->htotal - m->hdisplay);
hdmi_set_reg(core->h_v_line, 3, (m->htotal << 12) | m->vtotal);
@@ -1517,6 +1537,7 @@ static void hdmi_v14_mode_set(struct hdmi_context *hdata,
hdata->mode_conf.cea_video_id =
drm_match_cea_mode((struct drm_display_mode *)m);
hdata->mode_conf.pixel_clock = m->clock * 1000;
+ hdata->mode_conf.aspect_ratio = m->picture_aspect_ratio;
hdmi_set_reg(core->h_blank, 2, m->htotal - m->hdisplay);
hdmi_set_reg(core->v_line, 2, m->vtotal);
--
1.7.10.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH] drm/exynos: set the active aspect ratio as per mode
@ 2014-03-11 9:00 Shirish S
0 siblings, 0 replies; 7+ messages in thread
From: Shirish S @ 2014-03-11 9:00 UTC (permalink / raw)
To: dri-devel, inki.dae; +Cc: shirish, Shirish S
now that the drm_display_mode also provides aspect
ratio for all resolutions, this patch adds its usage
to set the active aspect ratio of AVI info frame
packets as per CEA-861-D standard's Table 9.
This is also needed to abide by the 7-27
compliance test of HDMI.
V2: rebased it to TODO branch, and
made the orr'ing logic correct
Signed-off-by: Shirish S <s.shirish@samsung.com>
---
drivers/gpu/drm/exynos/exynos_hdmi.c | 38 +++++++++++++++++++++++++++-------
1 file changed, 31 insertions(+), 7 deletions(-)
diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c
index c021ddc..bba54c9 100644
--- a/drivers/gpu/drm/exynos/exynos_hdmi.c
+++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
@@ -53,8 +53,6 @@
/* AVI header and aspect ratio */
#define HDMI_AVI_VERSION 0x02
#define HDMI_AVI_LENGTH 0x0D
-#define AVI_PIC_ASPECT_RATIO_16_9 (2 << 4)
-#define AVI_SAME_AS_PIC_ASPECT_RATIO 8
/* AUI header info */
#define HDMI_AUI_VERSION 0x01
@@ -65,6 +63,12 @@ enum hdmi_type {
HDMI_TYPE14,
};
+enum active_aspect_ratio {
+ AVI_SAME_AS_PIC_ASPECT_RATIO = 8,
+ AVI_4_3_Center_RATIO,
+ AVI_16_9_Center_RATIO,
+};
+
struct hdmi_resources {
struct clk *hdmi;
struct clk *sclk_hdmi;
@@ -162,6 +166,7 @@ struct hdmi_v14_conf {
struct hdmi_conf_regs {
int pixel_clock;
int cea_video_id;
+ enum hdmi_picture_aspect aspect_ratio;
union {
struct hdmi_v13_conf v13_conf;
struct hdmi_v14_conf v14_conf;
@@ -668,7 +673,6 @@ static void hdmi_reg_infoframe(struct hdmi_context *hdata,
{
u32 hdr_sum;
u8 chksum;
- u32 aspect_ratio;
u32 mod;
u32 vic;
@@ -697,10 +701,28 @@ static void hdmi_reg_infoframe(struct hdmi_context *hdata,
AVI_ACTIVE_FORMAT_VALID |
AVI_UNDERSCANNED_DISPLAY_VALID);
- aspect_ratio = AVI_PIC_ASPECT_RATIO_16_9;
-
- hdmi_reg_writeb(hdata, HDMI_AVI_BYTE(2), aspect_ratio |
- AVI_SAME_AS_PIC_ASPECT_RATIO);
+ /*
+ * Set the aspect ratio as per the mode, mentioned in
+ * Table 9 AVI InfoFrame Data Byte 2 of CEA-861-D Standard
+ */
+ switch (hdata->mode_conf.aspect_ratio) {
+ case HDMI_PICTURE_ASPECT_4_3:
+ hdmi_reg_writeb(hdata, HDMI_AVI_BYTE(2),
+ (hdata->mode_conf.aspect_ratio << 4) |
+ AVI_4_3_Center_RATIO);
+ break;
+ case HDMI_PICTURE_ASPECT_16_9:
+ hdmi_reg_writeb(hdata, HDMI_AVI_BYTE(2),
+ (hdata->mode_conf.aspect_ratio << 4) |
+ AVI_16_9_Center_RATIO);
+ break;
+ case HDMI_PICTURE_ASPECT_NONE:
+ default:
+ hdmi_reg_writeb(hdata, HDMI_AVI_BYTE(2),
+ (hdata->mode_conf.aspect_ratio << 4) |
+ AVI_SAME_AS_PIC_ASPECT_RATIO);
+ break;
+ }
vic = hdata->mode_conf.cea_video_id;
hdmi_reg_writeb(hdata, HDMI_AVI_BYTE(4), vic);
@@ -1421,6 +1443,7 @@ static void hdmi_v13_mode_set(struct hdmi_context *hdata,
hdata->mode_conf.cea_video_id =
drm_match_cea_mode((struct drm_display_mode *)m);
hdata->mode_conf.pixel_clock = m->clock * 1000;
+ hdata->mode_conf.aspect_ratio = m->picture_aspect_ratio;
hdmi_set_reg(core->h_blank, 2, m->htotal - m->hdisplay);
hdmi_set_reg(core->h_v_line, 3, (m->htotal << 12) | m->vtotal);
@@ -1517,6 +1540,7 @@ static void hdmi_v14_mode_set(struct hdmi_context *hdata,
hdata->mode_conf.cea_video_id =
drm_match_cea_mode((struct drm_display_mode *)m);
hdata->mode_conf.pixel_clock = m->clock * 1000;
+ hdata->mode_conf.aspect_ratio = m->picture_aspect_ratio;
hdmi_set_reg(core->h_blank, 2, m->htotal - m->hdisplay);
hdmi_set_reg(core->v_line, 2, m->vtotal);
--
1.7.10.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] drm/exynos: set the active aspect ratio as per mode
2014-03-10 3:44 [PATCH] drm/exynos: set the active aspect ratio as per mode Shirish S
@ 2014-03-12 15:19 ` Tomasz Figa
2014-03-13 3:15 ` Shirish S
0 siblings, 1 reply; 7+ messages in thread
From: Tomasz Figa @ 2014-03-12 15:19 UTC (permalink / raw)
To: Shirish S, dri-devel, inki.dae; +Cc: shirish
Hi Shirish,
On 10.03.2014 04:44, Shirish S wrote:
> now that the drm_display_mode also provides aspect
> ratio for all resolutions, this patch adds its usage
> to set the active aspect ratio of AVI info frame
> packets as per CEA-861-D standard's Table 9.
>
> This is also needed to abide by the 7-27
> compliance test of HDMI.
>
> Signed-off-by: Shirish S <s.shirish@samsung.com>
> ---
> drivers/gpu/drm/exynos/exynos_hdmi.c | 33 +++++++++++++++++++++++++++------
> 1 file changed, 27 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c
> index c021ddc..8aca52a 100644
> --- a/drivers/gpu/drm/exynos/exynos_hdmi.c
> +++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
> @@ -53,8 +53,6 @@
> /* AVI header and aspect ratio */
> #define HDMI_AVI_VERSION 0x02
> #define HDMI_AVI_LENGTH 0x0D
> -#define AVI_PIC_ASPECT_RATIO_16_9 (2 << 4)
> -#define AVI_SAME_AS_PIC_ASPECT_RATIO 8
>
> /* AUI header info */
> #define HDMI_AUI_VERSION 0x01
> @@ -65,6 +63,12 @@ enum hdmi_type {
> HDMI_TYPE14,
> };
>
> +enum active_aspect_ratio {
> + AVI_SAME_AS_PIC_ASPECT_RATIO = 8,
> + AVI_4_3_Center_RATIO,
> + AVI_16_9_Center_RATIO,
> +};
> +
CodingStyle: Please define these using preprocessor macros, since they
are bitfield values. Also coding style implies using uppercase for
constants.
> struct hdmi_resources {
> struct clk *hdmi;
> struct clk *sclk_hdmi;
> @@ -162,6 +166,7 @@ struct hdmi_v14_conf {
> struct hdmi_conf_regs {
> int pixel_clock;
> int cea_video_id;
> + enum hdmi_picture_aspect aspect_ratio;
> union {
> struct hdmi_v13_conf v13_conf;
> struct hdmi_v14_conf v14_conf;
> @@ -668,7 +673,6 @@ static void hdmi_reg_infoframe(struct hdmi_context *hdata,
> {
> u32 hdr_sum;
> u8 chksum;
> - u32 aspect_ratio;
> u32 mod;
> u32 vic;
>
> @@ -697,10 +701,25 @@ static void hdmi_reg_infoframe(struct hdmi_context *hdata,
> AVI_ACTIVE_FORMAT_VALID |
> AVI_UNDERSCANNED_DISPLAY_VALID);
>
> - aspect_ratio = AVI_PIC_ASPECT_RATIO_16_9;
> -
> - hdmi_reg_writeb(hdata, HDMI_AVI_BYTE(2), aspect_ratio |
> + /*
> + * Set the aspect ratio as per the mode, mentioned in
> + * Table 9 AVI InfoFrame Data Byte 2 of CEA-861-D Standard
> + */
> + switch (hdata->mode_conf.aspect_ratio) {
> + case HDMI_PICTURE_ASPECT_4_3:
> + hdmi_reg_writeb(hdata, HDMI_AVI_BYTE(2), aspect_ratio |
> + AVI_4_3_Center_RATIO);
CodingStyle: Please keep wrapped function calls aligned using tabs at
least to the opening parenthesis.
> + break;
> + case HDMI_PICTURE_ASPECT_16_9:
> + hdmi_reg_writeb(hdata, HDMI_AVI_BYTE(2), aspect_ratio |
> + AVI_16_9_Center_RATIO);
Ditto.
> + break;
> + case HDMI_PICTURE_ASPECT_NONE:
> + default:
> + hdmi_reg_writeb(hdata, HDMI_AVI_BYTE(2), aspect_ratio |
> AVI_SAME_AS_PIC_ASPECT_RATIO);
Ditto.
Best regards,
Tomasz
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] drm/exynos: set the active aspect ratio as per mode
2014-03-12 15:19 ` Tomasz Figa
@ 2014-03-13 3:15 ` Shirish S
0 siblings, 0 replies; 7+ messages in thread
From: Shirish S @ 2014-03-13 3:15 UTC (permalink / raw)
To: Tomasz Figa; +Cc: Shirish S, Shirish S, dri-devel
Hi Tomasz,
On Wed, Mar 12, 2014 at 8:19 AM, Tomasz Figa <t.figa@samsung.com> wrote:
> Hi Shirish,
>
>
> On 10.03.2014 04:44, Shirish S wrote:
>>
>> now that the drm_display_mode also provides aspect
>> ratio for all resolutions, this patch adds its usage
>> to set the active aspect ratio of AVI info frame
>> packets as per CEA-861-D standard's Table 9.
>>
>> This is also needed to abide by the 7-27
>> compliance test of HDMI.
>>
>> Signed-off-by: Shirish S <s.shirish@samsung.com>
>> ---
>> drivers/gpu/drm/exynos/exynos_hdmi.c | 33
>> +++++++++++++++++++++++++++------
>> 1 file changed, 27 insertions(+), 6 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c
>> b/drivers/gpu/drm/exynos/exynos_hdmi.c
>> index c021ddc..8aca52a 100644
>> --- a/drivers/gpu/drm/exynos/exynos_hdmi.c
>> +++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
>> @@ -53,8 +53,6 @@
>> /* AVI header and aspect ratio */
>> #define HDMI_AVI_VERSION 0x02
>> #define HDMI_AVI_LENGTH 0x0D
>> -#define AVI_PIC_ASPECT_RATIO_16_9 (2 << 4)
>> -#define AVI_SAME_AS_PIC_ASPECT_RATIO 8
>>
>> /* AUI header info */
>> #define HDMI_AUI_VERSION 0x01
>> @@ -65,6 +63,12 @@ enum hdmi_type {
>> HDMI_TYPE14,
>> };
>>
>> +enum active_aspect_ratio {
>> + AVI_SAME_AS_PIC_ASPECT_RATIO = 8,
>> + AVI_4_3_Center_RATIO,
>> + AVI_16_9_Center_RATIO,
>> +};
>> +
>
>
> CodingStyle: Please define these using preprocessor macros, since they are
> bitfield values. Also coding style implies using uppercase for constants.
>
>
Agreed, updated in the next path set.
>> struct hdmi_resources {
>> struct clk *hdmi;
>> struct clk *sclk_hdmi;
>> @@ -162,6 +166,7 @@ struct hdmi_v14_conf {
>> struct hdmi_conf_regs {
>> int pixel_clock;
>> int cea_video_id;
>> + enum hdmi_picture_aspect aspect_ratio;
>> union {
>> struct hdmi_v13_conf v13_conf;
>> struct hdmi_v14_conf v14_conf;
>> @@ -668,7 +673,6 @@ static void hdmi_reg_infoframe(struct hdmi_context
>> *hdata,
>> {
>> u32 hdr_sum;
>> u8 chksum;
>> - u32 aspect_ratio;
>> u32 mod;
>> u32 vic;
>>
>> @@ -697,10 +701,25 @@ static void hdmi_reg_infoframe(struct hdmi_context
>> *hdata,
>> AVI_ACTIVE_FORMAT_VALID |
>> AVI_UNDERSCANNED_DISPLAY_VALID);
>>
>> - aspect_ratio = AVI_PIC_ASPECT_RATIO_16_9;
>> -
>> - hdmi_reg_writeb(hdata, HDMI_AVI_BYTE(2), aspect_ratio |
>> + /*
>> + * Set the aspect ratio as per the mode, mentioned in
>> + * Table 9 AVI InfoFrame Data Byte 2 of CEA-861-D Standard
>> + */
>> + switch (hdata->mode_conf.aspect_ratio) {
>> + case HDMI_PICTURE_ASPECT_4_3:
>> + hdmi_reg_writeb(hdata, HDMI_AVI_BYTE(2),
>> aspect_ratio |
>> + AVI_4_3_Center_RATIO);
>
>
> CodingStyle: Please keep wrapped function calls aligned using tabs at least
> to the opening parenthesis.
>
>
>> + break;
>> + case HDMI_PICTURE_ASPECT_16_9:
>> + hdmi_reg_writeb(hdata, HDMI_AVI_BYTE(2),
>> aspect_ratio |
>> + AVI_16_9_Center_RATIO);
>
>
> Ditto.
>
Agreed, updated in next patch set.
>
>> + break;
>> + case HDMI_PICTURE_ASPECT_NONE:
>> + default:
>> + hdmi_reg_writeb(hdata, HDMI_AVI_BYTE(2),
>> aspect_ratio |
>> AVI_SAME_AS_PIC_ASPECT_RATIO);
>
>
> Ditto.
>
> Best regards,
> Tomasz
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
Thanks & Regards,
Shirish S
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH] drm/exynos: set the active aspect ratio as per mode
2014-03-13 5:28 [PATCH] drm/exynos: add phy settings for RB resolutions Shirish S
@ 2014-03-13 5:28 ` Shirish S
2014-03-18 13:04 ` Tomasz Figa
0 siblings, 1 reply; 7+ messages in thread
From: Shirish S @ 2014-03-13 5:28 UTC (permalink / raw)
To: dri-devel, inki.dae, t.figa; +Cc: shirish, Shirish S
Now that the drm_display_mode also provides aspect
ratio for all resolutions, this patch adds its usage
to set the active aspect ratio of AVI info frame
packets as per CEA-861-D standard's Table 9.
This is also needed to abide by the 7-27
compliance test of HDMI.
Signed-off-by: Shirish S <s.shirish@samsung.com>
---
V2: rebased on new branch
V3: Incorporated review comments
drivers/gpu/drm/exynos/exynos_hdmi.c | 35 +++++++++++++++++++++++++++-------
1 file changed, 28 insertions(+), 7 deletions(-)
diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c
index 12fdf55..9b0b617 100644
--- a/drivers/gpu/drm/exynos/exynos_hdmi.c
+++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
@@ -53,12 +53,13 @@
/* AVI header and aspect ratio */
#define HDMI_AVI_VERSION 0x02
#define HDMI_AVI_LENGTH 0x0D
-#define AVI_PIC_ASPECT_RATIO_16_9 (2 << 4)
-#define AVI_SAME_AS_PIC_ASPECT_RATIO 8
/* AUI header info */
#define HDMI_AUI_VERSION 0x01
#define HDMI_AUI_LENGTH 0x0A
+#define AVI_SAME_AS_PIC_ASPECT_RATIO 0x8
+#define AVI_4_3_CENTER_RATIO 0x9
+#define AVI_16_9_CENTER_RATIO 0xa
enum hdmi_type {
HDMI_TYPE13,
@@ -162,6 +163,7 @@ struct hdmi_v14_conf {
struct hdmi_conf_regs {
int pixel_clock;
int cea_video_id;
+ enum hdmi_picture_aspect aspect_ratio;
union {
struct hdmi_v13_conf v13_conf;
struct hdmi_v14_conf v14_conf;
@@ -669,7 +671,6 @@ static void hdmi_reg_infoframe(struct hdmi_context *hdata,
{
u32 hdr_sum;
u8 chksum;
- u32 aspect_ratio;
u32 mod;
u32 vic;
@@ -698,10 +699,28 @@ static void hdmi_reg_infoframe(struct hdmi_context *hdata,
AVI_ACTIVE_FORMAT_VALID |
AVI_UNDERSCANNED_DISPLAY_VALID);
- aspect_ratio = AVI_PIC_ASPECT_RATIO_16_9;
-
- hdmi_reg_writeb(hdata, HDMI_AVI_BYTE(2), aspect_ratio |
- AVI_SAME_AS_PIC_ASPECT_RATIO);
+ /*
+ * Set the aspect ratio as per the mode, mentioned in
+ * Table 9 AVI InfoFrame Data Byte 2 of CEA-861-D Standard
+ */
+ switch (hdata->mode_conf.aspect_ratio) {
+ case HDMI_PICTURE_ASPECT_4_3:
+ hdmi_reg_writeb(hdata, HDMI_AVI_BYTE(2),
+ hdata->mode_conf.aspect_ratio |
+ AVI_4_3_CENTER_RATIO);
+ break;
+ case HDMI_PICTURE_ASPECT_16_9:
+ hdmi_reg_writeb(hdata, HDMI_AVI_BYTE(2),
+ hdata->mode_conf.aspect_ratio |
+ AVI_16_9_CENTER_RATIO);
+ break;
+ case HDMI_PICTURE_ASPECT_NONE:
+ default:
+ hdmi_reg_writeb(hdata, HDMI_AVI_BYTE(2),
+ hdata->mode_conf.aspect_ratio |
+ AVI_SAME_AS_PIC_ASPECT_RATIO);
+ break;
+ }
vic = hdata->mode_conf.cea_video_id;
hdmi_reg_writeb(hdata, HDMI_AVI_BYTE(4), vic);
@@ -1519,6 +1538,7 @@ static void hdmi_v13_mode_set(struct hdmi_context *hdata,
hdata->mode_conf.cea_video_id =
drm_match_cea_mode((struct drm_display_mode *)m);
hdata->mode_conf.pixel_clock = m->clock * 1000;
+ hdata->mode_conf.aspect_ratio = m->picture_aspect_ratio;
hdmi_set_reg(core->h_blank, 2, m->htotal - m->hdisplay);
hdmi_set_reg(core->h_v_line, 3, (m->htotal << 12) | m->vtotal);
@@ -1615,6 +1635,7 @@ static void hdmi_v14_mode_set(struct hdmi_context *hdata,
hdata->mode_conf.cea_video_id =
drm_match_cea_mode((struct drm_display_mode *)m);
hdata->mode_conf.pixel_clock = m->clock * 1000;
+ hdata->mode_conf.aspect_ratio = m->picture_aspect_ratio;
hdmi_set_reg(core->h_blank, 2, m->htotal - m->hdisplay);
hdmi_set_reg(core->v_line, 2, m->vtotal);
--
1.7.10.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] drm/exynos: set the active aspect ratio as per mode
2014-03-13 5:28 ` [PATCH] drm/exynos: set the active aspect ratio as per mode Shirish S
@ 2014-03-18 13:04 ` Tomasz Figa
2014-03-19 8:25 ` Inki Dae
0 siblings, 1 reply; 7+ messages in thread
From: Tomasz Figa @ 2014-03-18 13:04 UTC (permalink / raw)
To: Shirish S, dri-devel, inki.dae; +Cc: shirish
Hi Shirish,
On 13.03.2014 06:28, Shirish S wrote:
> Now that the drm_display_mode also provides aspect
> ratio for all resolutions, this patch adds its usage
> to set the active aspect ratio of AVI info frame
> packets as per CEA-861-D standard's Table 9.
>
> This is also needed to abide by the 7-27
> compliance test of HDMI.
>
> Signed-off-by: Shirish S <s.shirish@samsung.com>
> ---
> V2: rebased on new branch
> V3: Incorporated review comments
>
> drivers/gpu/drm/exynos/exynos_hdmi.c | 35 +++++++++++++++++++++++++++-------
> 1 file changed, 28 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c
> index 12fdf55..9b0b617 100644
> --- a/drivers/gpu/drm/exynos/exynos_hdmi.c
> +++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
> @@ -53,12 +53,13 @@
> /* AVI header and aspect ratio */
> #define HDMI_AVI_VERSION 0x02
> #define HDMI_AVI_LENGTH 0x0D
> -#define AVI_PIC_ASPECT_RATIO_16_9 (2 << 4)
> -#define AVI_SAME_AS_PIC_ASPECT_RATIO 8
>
> /* AUI header info */
> #define HDMI_AUI_VERSION 0x01
> #define HDMI_AUI_LENGTH 0x0A
> +#define AVI_SAME_AS_PIC_ASPECT_RATIO 0x8
> +#define AVI_4_3_CENTER_RATIO 0x9
> +#define AVI_16_9_CENTER_RATIO 0xa
One minor nitpick: Please don't use tabs between #define and macro name.
After fixing this issue feel free to add my:
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Best regards,
Tomasz
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] drm/exynos: set the active aspect ratio as per mode
2014-03-18 13:04 ` Tomasz Figa
@ 2014-03-19 8:25 ` Inki Dae
0 siblings, 0 replies; 7+ messages in thread
From: Inki Dae @ 2014-03-19 8:25 UTC (permalink / raw)
To: Tomasz Figa; +Cc: Shirish S, Shirish S, DRI mailing list
2014-03-18 22:04 GMT+09:00 Tomasz Figa <t.figa@samsung.com>:
> Hi Shirish,
>
>
> On 13.03.2014 06:28, Shirish S wrote:
>>
>> Now that the drm_display_mode also provides aspect
>> ratio for all resolutions, this patch adds its usage
>> to set the active aspect ratio of AVI info frame
>> packets as per CEA-861-D standard's Table 9.
>>
>> This is also needed to abide by the 7-27
>> compliance test of HDMI.
>>
>> Signed-off-by: Shirish S <s.shirish@samsung.com>
>> ---
>> V2: rebased on new branch
>> V3: Incorporated review comments
>>
>> drivers/gpu/drm/exynos/exynos_hdmi.c | 35
>> +++++++++++++++++++++++++++-------
>> 1 file changed, 28 insertions(+), 7 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c
>> b/drivers/gpu/drm/exynos/exynos_hdmi.c
>> index 12fdf55..9b0b617 100644
>> --- a/drivers/gpu/drm/exynos/exynos_hdmi.c
>> +++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
>> @@ -53,12 +53,13 @@
>> /* AVI header and aspect ratio */
>> #define HDMI_AVI_VERSION 0x02
>> #define HDMI_AVI_LENGTH 0x0D
>> -#define AVI_PIC_ASPECT_RATIO_16_9 (2 << 4)
>> -#define AVI_SAME_AS_PIC_ASPECT_RATIO 8
>>
>> /* AUI header info */
>> #define HDMI_AUI_VERSION 0x01
>> #define HDMI_AUI_LENGTH 0x0A
>> +#define AVI_SAME_AS_PIC_ASPECT_RATIO 0x8
>> +#define AVI_4_3_CENTER_RATIO 0x9
>> +#define AVI_16_9_CENTER_RATIO 0xa
>
>
> One minor nitpick: Please don't use tabs between #define and macro name.
>
Fixed and applied.
Thanks,
Inki Dae
> After fixing this issue feel free to add my:
>
> Reviewed-by: Tomasz Figa <t.figa@samsung.com>
>
> Best regards,
> Tomasz
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2014-03-19 8:25 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-03-10 3:44 [PATCH] drm/exynos: set the active aspect ratio as per mode Shirish S
2014-03-12 15:19 ` Tomasz Figa
2014-03-13 3:15 ` Shirish S
-- strict thread matches above, loose matches on Subject: below --
2014-03-11 9:00 Shirish S
2014-03-13 5:28 [PATCH] drm/exynos: add phy settings for RB resolutions Shirish S
2014-03-13 5:28 ` [PATCH] drm/exynos: set the active aspect ratio as per mode Shirish S
2014-03-18 13:04 ` Tomasz Figa
2014-03-19 8:25 ` Inki Dae
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.