All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] TV Out patches to make our mode list be according to TV timing standards
@ 2011-12-14 23:10 Rodrigo Vivi
  2011-12-14 23:10 ` [PATCH 1/3] drm/i915: Fix TV Out refresh rate Rodrigo Vivi
                   ` (2 more replies)
  0 siblings, 3 replies; 14+ messages in thread
From: Rodrigo Vivi @ 2011-12-14 23:10 UTC (permalink / raw)
  To: intel-gfx

Hi all,
The following patches makes the TV Out mode list be according to timing table specification from TV standards.

The first one of the list fixes the https://bugs.freedesktop.org/show_bug.cgi?id=23899

When I start looking at this bug I was so focused on the pixel clock that I didn't noticed refresh rates were half of the specification for most of the modes. After the fix some modes got obsoletes and others were removed simply because they weren't on the TV Out standard timing table. From this same table I got the 1080p specification and added to our list there.

Cheers,
Rodrigo.

Rodrigo Vivi (3):
  drm/i915: Fix TV Out refresh rate.
  drm/i915: Removing TV Out modes.
  drm/i915: Adding 1080p modes to our TV Out mode list.

 drivers/gpu/drm/i915/intel_tv.c |  176 ++++++++++++++-------------------------
 1 files changed, 63 insertions(+), 113 deletions(-)

-- 
1.7.7.4

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH 1/3] drm/i915: Fix TV Out refresh rate.
  2011-12-14 23:10 [PATCH 0/3] TV Out patches to make our mode list be according to TV timing standards Rodrigo Vivi
@ 2011-12-14 23:10 ` Rodrigo Vivi
  2012-01-06 18:11   ` Jesse Barnes
  2012-01-06 22:02   ` Keith Packard
  2011-12-14 23:10 ` [PATCH 2/3] drm/i915: Removing TV Out modes Rodrigo Vivi
  2011-12-14 23:10 ` [PATCH 3/3] drm/i915: Adding 1080p modes to our TV Out mode list Rodrigo Vivi
  2 siblings, 2 replies; 14+ messages in thread
From: Rodrigo Vivi @ 2011-12-14 23:10 UTC (permalink / raw)
  To: intel-gfx

TV Out refresh rate was half of the specification for almost all modes.
Due to this reason pixel clock was so low for some modes causing flickering screen.

Signed-off-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
---
 drivers/gpu/drm/i915/intel_tv.c |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c
index f3c6a9a..2b1fcad 100644
--- a/drivers/gpu/drm/i915/intel_tv.c
+++ b/drivers/gpu/drm/i915/intel_tv.c
@@ -417,7 +417,7 @@ static const struct tv_mode tv_modes[] = {
 	{
 		.name		= "NTSC-M",
 		.clock		= 108000,
-		.refresh	= 29970,
+		.refresh	= 59940,
 		.oversample	= TV_OVERSAMPLE_8X,
 		.component_only = 0,
 		/* 525 Lines, 60 Fields, 15.734KHz line, Sub-Carrier 3.580MHz */
@@ -460,7 +460,7 @@ static const struct tv_mode tv_modes[] = {
 	{
 		.name		= "NTSC-443",
 		.clock		= 108000,
-		.refresh	= 29970,
+		.refresh	= 59940,
 		.oversample	= TV_OVERSAMPLE_8X,
 		.component_only = 0,
 		/* 525 Lines, 60 Fields, 15.734KHz line, Sub-Carrier 4.43MHz */
@@ -502,7 +502,7 @@ static const struct tv_mode tv_modes[] = {
 	{
 		.name		= "NTSC-J",
 		.clock		= 108000,
-		.refresh	= 29970,
+		.refresh	= 59940,
 		.oversample	= TV_OVERSAMPLE_8X,
 		.component_only = 0,
 
@@ -545,7 +545,7 @@ static const struct tv_mode tv_modes[] = {
 	{
 		.name		= "PAL-M",
 		.clock		= 108000,
-		.refresh	= 29970,
+		.refresh	= 59940,
 		.oversample	= TV_OVERSAMPLE_8X,
 		.component_only = 0,
 
@@ -589,7 +589,7 @@ static const struct tv_mode tv_modes[] = {
 		/* 625 Lines, 50 Fields, 15.625KHz line, Sub-Carrier 4.434MHz */
 		.name	    = "PAL-N",
 		.clock		= 108000,
-		.refresh	= 25000,
+		.refresh	= 50000,
 		.oversample	= TV_OVERSAMPLE_8X,
 		.component_only = 0,
 
@@ -634,7 +634,7 @@ static const struct tv_mode tv_modes[] = {
 		/* 625 Lines, 50 Fields, 15.625KHz line, Sub-Carrier 4.434MHz */
 		.name	    = "PAL",
 		.clock		= 108000,
-		.refresh	= 25000,
+		.refresh	= 50000,
 		.oversample	= TV_OVERSAMPLE_8X,
 		.component_only = 0,
 
@@ -821,7 +821,7 @@ static const struct tv_mode tv_modes[] = {
 	{
 		.name       = "1080i@50Hz",
 		.clock		= 148800,
-		.refresh	= 25000,
+		.refresh	= 50000,
 		.oversample     = TV_OVERSAMPLE_2X,
 		.component_only = 1,
 
@@ -847,7 +847,7 @@ static const struct tv_mode tv_modes[] = {
 	{
 		.name       = "1080i@60Hz",
 		.clock		= 148800,
-		.refresh	= 30000,
+		.refresh	= 60000,
 		.oversample     = TV_OVERSAMPLE_2X,
 		.component_only = 1,
 
-- 
1.7.7.4

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 2/3] drm/i915: Removing TV Out modes.
  2011-12-14 23:10 [PATCH 0/3] TV Out patches to make our mode list be according to TV timing standards Rodrigo Vivi
  2011-12-14 23:10 ` [PATCH 1/3] drm/i915: Fix TV Out refresh rate Rodrigo Vivi
@ 2011-12-14 23:10 ` Rodrigo Vivi
  2011-12-15 16:47   ` [PATCH 1/2] " Rodrigo Vivi
  2012-01-06 18:11   ` [PATCH 2/3] " Jesse Barnes
  2011-12-14 23:10 ` [PATCH 3/3] drm/i915: Adding 1080p modes to our TV Out mode list Rodrigo Vivi
  2 siblings, 2 replies; 14+ messages in thread
From: Rodrigo Vivi @ 2011-12-14 23:10 UTC (permalink / raw)
  To: intel-gfx

These modes are no longer needed or are not according to TV timing standards.

Signed-off-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
---
 drivers/gpu/drm/i915/intel_tv.c |  122 ---------------------------------------
 1 files changed, 0 insertions(+), 122 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c
index 2b1fcad..1571be3 100644
--- a/drivers/gpu/drm/i915/intel_tv.c
+++ b/drivers/gpu/drm/i915/intel_tv.c
@@ -674,78 +674,6 @@ static const struct tv_mode tv_modes[] = {
 		.filter_table = filter_table,
 	},
 	{
-		.name       = "480p@59.94Hz",
-		.clock		= 107520,
-		.refresh	= 59940,
-		.oversample     = TV_OVERSAMPLE_4X,
-		.component_only = 1,
-
-		.hsync_end      = 64,               .hblank_end         = 122,
-		.hblank_start   = 842,              .htotal             = 857,
-
-		.progressive    = true,		    .trilevel_sync = false,
-
-		.vsync_start_f1 = 12,               .vsync_start_f2     = 12,
-		.vsync_len      = 12,
-
-		.veq_ena        = false,
-
-		.vi_end_f1      = 44,               .vi_end_f2          = 44,
-		.nbr_end        = 479,
-
-		.burst_ena      = false,
-
-		.filter_table = filter_table,
-	},
-	{
-		.name       = "480p@60Hz",
-		.clock		= 107520,
-		.refresh	= 60000,
-		.oversample     = TV_OVERSAMPLE_4X,
-		.component_only = 1,
-
-		.hsync_end      = 64,               .hblank_end         = 122,
-		.hblank_start   = 842,              .htotal             = 856,
-
-		.progressive    = true,		    .trilevel_sync = false,
-
-		.vsync_start_f1 = 12,               .vsync_start_f2     = 12,
-		.vsync_len      = 12,
-
-		.veq_ena        = false,
-
-		.vi_end_f1      = 44,               .vi_end_f2          = 44,
-		.nbr_end        = 479,
-
-		.burst_ena      = false,
-
-		.filter_table = filter_table,
-	},
-	{
-		.name       = "576p",
-		.clock		= 107520,
-		.refresh	= 50000,
-		.oversample     = TV_OVERSAMPLE_4X,
-		.component_only = 1,
-
-		.hsync_end      = 64,               .hblank_end         = 139,
-		.hblank_start   = 859,              .htotal             = 863,
-
-		.progressive    = true,		.trilevel_sync = false,
-
-		.vsync_start_f1 = 10,               .vsync_start_f2     = 10,
-		.vsync_len      = 10,
-
-		.veq_ena        = false,
-
-		.vi_end_f1      = 48,               .vi_end_f2          = 48,
-		.nbr_end        = 575,
-
-		.burst_ena      = false,
-
-		.filter_table = filter_table,
-	},
-	{
 		.name       = "720p@60Hz",
 		.clock		= 148800,
 		.refresh	= 60000,
@@ -770,30 +698,6 @@ static const struct tv_mode tv_modes[] = {
 		.filter_table = filter_table,
 	},
 	{
-		.name       = "720p@59.94Hz",
-		.clock		= 148800,
-		.refresh	= 59940,
-		.oversample     = TV_OVERSAMPLE_2X,
-		.component_only = 1,
-
-		.hsync_end      = 80,               .hblank_end         = 300,
-		.hblank_start   = 1580,             .htotal             = 1651,
-
-		.progressive	= true,		    .trilevel_sync = true,
-
-		.vsync_start_f1 = 10,               .vsync_start_f2     = 10,
-		.vsync_len      = 10,
-
-		.veq_ena        = false,
-
-		.vi_end_f1      = 29,               .vi_end_f2          = 29,
-		.nbr_end        = 719,
-
-		.burst_ena      = false,
-
-		.filter_table = filter_table,
-	},
-	{
 		.name       = "720p@50Hz",
 		.clock		= 148800,
 		.refresh	= 50000,
@@ -870,32 +774,6 @@ static const struct tv_mode tv_modes[] = {
 
 		.filter_table = filter_table,
 	},
-	{
-		.name       = "1080i@59.94Hz",
-		.clock		= 148800,
-		.refresh	= 29970,
-		.oversample     = TV_OVERSAMPLE_2X,
-		.component_only = 1,
-
-		.hsync_end      = 88,               .hblank_end         = 235,
-		.hblank_start   = 2155,             .htotal             = 2201,
-
-		.progressive	= false,	    .trilevel_sync = true,
-
-		.vsync_start_f1 = 4,            .vsync_start_f2    = 5,
-		.vsync_len      = 10,
-
-		.veq_ena	= true,		    .veq_start_f1	= 4,
-		.veq_start_f2	= 4,		.veq_len	  = 10,
-
-
-		.vi_end_f1	= 21,		.vi_end_f2	  = 22,
-		.nbr_end        = 539,
-
-		.burst_ena      = false,
-
-		.filter_table = filter_table,
-	},
 };
 
 static struct intel_tv *enc_to_intel_tv(struct drm_encoder *encoder)
-- 
1.7.7.4

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 3/3] drm/i915: Adding 1080p modes to our TV Out mode list.
  2011-12-14 23:10 [PATCH 0/3] TV Out patches to make our mode list be according to TV timing standards Rodrigo Vivi
  2011-12-14 23:10 ` [PATCH 1/3] drm/i915: Fix TV Out refresh rate Rodrigo Vivi
  2011-12-14 23:10 ` [PATCH 2/3] drm/i915: Removing TV Out modes Rodrigo Vivi
@ 2011-12-14 23:10 ` Rodrigo Vivi
  2011-12-14 23:19   ` Chris Wilson
  2011-12-15 16:48   ` [PATCH 2/2] " Rodrigo Vivi
  2 siblings, 2 replies; 14+ messages in thread
From: Rodrigo Vivi @ 2011-12-14 23:10 UTC (permalink / raw)
  To: intel-gfx

According to TV Out timing standards, supported 1080p modes were missing.

Signed-off-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
---
 drivers/gpu/drm/i915/intel_tv.c |   72 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 72 insertions(+), 0 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c
index 1571be3..cfb44f4 100644
--- a/drivers/gpu/drm/i915/intel_tv.c
+++ b/drivers/gpu/drm/i915/intel_tv.c
@@ -774,6 +774,78 @@ static const struct tv_mode tv_modes[] = {
 
 		.filter_table = filter_table,
 	},
+	{
+		.name       = "1080p@30Hz",
+		.clock		= 148800,
+		.refresh	= 30000,
+		.oversample     = TV_OVERSAMPLE_2X,
+		.component_only = 1,
+
+		.hsync_end      = 88,               .hblank_end         = 235,
+		.hblank_start   = 2155,             .htotal             = 2199,
+
+		.progressive	= true, 	    .trilevel_sync = true,
+
+		.vsync_start_f1 = 8,                .vsync_start_f2     = 8,
+		.vsync_len      = 10,
+
+		.veq_ena	= false,
+
+		.vi_end_f1      = 44,               .vi_end_f2          = 44,
+		.nbr_end        = 1079,
+
+		.burst_ena      = false,
+
+		.filter_table = filter_table,
+	},
+	{
+		.name       = "1080p@50Hz",
+		.clock		= 148800,
+		.refresh	= 50000,
+		.oversample     = TV_OVERSAMPLE_2X,
+		.component_only = 1,
+
+		.hsync_end      = 88,               .hblank_end         = 235,
+		.hblank_start   = 2155,             .htotal             = 2639,
+
+		.progressive	= true, 	    .trilevel_sync = true,
+
+		.vsync_start_f1 = 8,                .vsync_start_f2     = 8,
+		.vsync_len      = 10,
+
+		.veq_ena	= false,
+
+		.vi_end_f1      = 44,               .vi_end_f2          = 44,
+		.nbr_end        = 1079,
+
+		.burst_ena      = false,
+
+		.filter_table = filter_table,
+	},
+	{
+		.name       = "1080p@60Hz",
+		.clock		= 148800,
+		.refresh	= 60000,
+		.oversample     = TV_OVERSAMPLE_2X,
+		.component_only = 1,
+
+		.hsync_end      = 88,               .hblank_end         = 235,
+		.hblank_start   = 2155,             .htotal             = 2199,
+
+		.progressive	= true, 	    .trilevel_sync = true,
+
+		.vsync_start_f1 = 8,                .vsync_start_f2     = 8,
+		.vsync_len      = 10,
+
+		.veq_ena	= false,
+
+		.vi_end_f1      = 44,               .vi_end_f2          = 44,
+		.nbr_end        = 1079,
+
+		.burst_ena      = false,
+
+		.filter_table = filter_table,
+	},
 };
 
 static struct intel_tv *enc_to_intel_tv(struct drm_encoder *encoder)
-- 
1.7.7.4

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [PATCH 3/3] drm/i915: Adding 1080p modes to our TV Out mode list.
  2011-12-14 23:10 ` [PATCH 3/3] drm/i915: Adding 1080p modes to our TV Out mode list Rodrigo Vivi
@ 2011-12-14 23:19   ` Chris Wilson
  2011-12-15 15:00     ` Rodrigo Vivi
  2011-12-15 16:48   ` [PATCH 2/2] " Rodrigo Vivi
  1 sibling, 1 reply; 14+ messages in thread
From: Chris Wilson @ 2011-12-14 23:19 UTC (permalink / raw)
  To: Rodrigo Vivi, intel-gfx

On Wed, 14 Dec 2011 21:10:08 -0200, Rodrigo Vivi <rodrigo.vivi@gmail.com> wrote:
> According to TV Out timing standards, supported 1080p modes were missing.

Can you both here in the changelog and in comments a document
reference so that we can easily find the right table again in future?
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 3/3] drm/i915: Adding 1080p modes to our TV Out mode list.
  2011-12-14 23:19   ` Chris Wilson
@ 2011-12-15 15:00     ` Rodrigo Vivi
  2011-12-15 15:05       ` Rodrigo Vivi
  0 siblings, 1 reply; 14+ messages in thread
From: Rodrigo Vivi @ 2011-12-15 15:00 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

For other patches in this serie the table can be found at our PRM
http://intellinuxgraphics.org/VOL_3_display_registers_updated.pdf

Section 5.2 TV Out Programming / 5.2.1 Television Standards

On Wed, Dec 14, 2011 at 9:19 PM, Chris Wilson <chris@chris-wilson.co.uk> wrote:
> On Wed, 14 Dec 2011 21:10:08 -0200, Rodrigo Vivi <rodrigo.vivi@gmail.com> wrote:
>> According to TV Out timing standards, supported 1080p modes were missing.
>
> Can you both here in the changelog and in comments a document
> reference so that we can easily find the right table again in future?
> -Chris
>
> --
> Chris Wilson, Intel Open Source Technology Centre



-- 
Rodrigo Vivi
Blog: http://blog.vivi.eng.br
GPG: 0x905BE242 @ wwwkeys.pgp.net

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 3/3] drm/i915: Adding 1080p modes to our TV Out mode list.
  2011-12-15 15:00     ` Rodrigo Vivi
@ 2011-12-15 15:05       ` Rodrigo Vivi
  2011-12-15 16:06         ` Chris Wilson
  0 siblings, 1 reply; 14+ messages in thread
From: Rodrigo Vivi @ 2011-12-15 15:05 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

sorry... last email was unfinished and it was sent by mistake.. full version:

For other patches in this serie the table can be found at our PRM
http://intellinuxgraphics.org/VOL_3_display_registers_updated.pdf

Section 5.2 TV Out Programming / 5.2.1 Television Standards / 5.2.1.1
Timing Table

However the 1080p was added on the new version witch is internal for now.
I'm going to change the commit comment but I'm not happy with the
comment such as:

"Adding 1080p supported modes according to new PRM version which is
internal for now."

Because in a near future this document will be public and the comment
will be there forever.

Do you have any suggestion?

Thanks
Rodrigo

On Thu, Dec 15, 2011 at 1:00 PM, Rodrigo Vivi <rodrigo.vivi@gmail.com> wrote:
> For other patches in this serie the table can be found at our PRM
> http://intellinuxgraphics.org/VOL_3_display_registers_updated.pdf
>
> Section 5.2 TV Out Programming / 5.2.1 Television Standards
>
> On Wed, Dec 14, 2011 at 9:19 PM, Chris Wilson <chris@chris-wilson.co.uk> wrote:
>> On Wed, 14 Dec 2011 21:10:08 -0200, Rodrigo Vivi <rodrigo.vivi@gmail.com> wrote:
>>> According to TV Out timing standards, supported 1080p modes were missing.
>>
>> Can you both here in the changelog and in comments a document
>> reference so that we can easily find the right table again in future?
>> -Chris
>>
>> --
>> Chris Wilson, Intel Open Source Technology Centre
>
>
>
> --
> Rodrigo Vivi
> Blog: http://blog.vivi.eng.br
> GPG: 0x905BE242 @ wwwkeys.pgp.net



-- 
Rodrigo Vivi
Blog: http://blog.vivi.eng.br
GPG: 0x905BE242 @ wwwkeys.pgp.net

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 3/3] drm/i915: Adding 1080p modes to our TV Out mode list.
  2011-12-15 15:05       ` Rodrigo Vivi
@ 2011-12-15 16:06         ` Chris Wilson
  0 siblings, 0 replies; 14+ messages in thread
From: Chris Wilson @ 2011-12-15 16:06 UTC (permalink / raw)
  To: Rodrigo Vivi; +Cc: intel-gfx

On Thu, 15 Dec 2011 13:05:24 -0200, Rodrigo Vivi <rodrigo.vivi@gmail.com> wrote:
> sorry... last email was unfinished and it was sent by mistake.. full version:
> 
> For other patches in this serie the table can be found at our PRM
> http://intellinuxgraphics.org/VOL_3_display_registers_updated.pdf
> 
> Section 5.2 TV Out Programming / 5.2.1 Television Standards / 5.2.1.1
> Timing Table
> 
> However the 1080p was added on the new version witch is internal for now.
> I'm going to change the commit comment but I'm not happy with the
> comment such as:
> 
> "Adding 1080p supported modes according to new PRM version which is
> internal for now."
> 
> Because in a near future this document will be public and the comment
> will be there forever.

The comment can be updated to match the public material once it becomes
available (and more likely when someone finds something that needs
changing). If someone finds a reference to an internal document, they
are likely to ask us for it. At that point, we can double check whether
the material is now public, answer their question for them (and see if
we can improve the code so that the question becomes unncessary) or see
if we can provide them with the document under NDA.

Without a reference at all, that dialogue will never happen and we run
the risk of loosing the review. And more likely we will forget where to
find the information and have to search all the specs afresh. I'll trade
confusing a few people for saving time and preventing mistakes later.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH 1/2] drm/i915: Removing TV Out modes.
  2011-12-14 23:10 ` [PATCH 2/3] drm/i915: Removing TV Out modes Rodrigo Vivi
@ 2011-12-15 16:47   ` Rodrigo Vivi
  2012-01-06 18:11   ` [PATCH 2/3] " Jesse Barnes
  1 sibling, 0 replies; 14+ messages in thread
From: Rodrigo Vivi @ 2011-12-15 16:47 UTC (permalink / raw)
  To: intel-gfx

These modes are no longer needed or are not according to TV timing standards.

Intel PRM Vol 3 - Display Registers Updated - Section 5 TV-Out Programming / 5.2.1 Television Standards / 5.2.1.1 Timing tables

Signed-off-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
---
 drivers/gpu/drm/i915/intel_tv.c |  122 ---------------------------------------
 1 files changed, 0 insertions(+), 122 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c
index 2b1fcad..1571be3 100644
--- a/drivers/gpu/drm/i915/intel_tv.c
+++ b/drivers/gpu/drm/i915/intel_tv.c
@@ -674,78 +674,6 @@ static const struct tv_mode tv_modes[] = {
 		.filter_table = filter_table,
 	},
 	{
-		.name       = "480p@59.94Hz",
-		.clock		= 107520,
-		.refresh	= 59940,
-		.oversample     = TV_OVERSAMPLE_4X,
-		.component_only = 1,
-
-		.hsync_end      = 64,               .hblank_end         = 122,
-		.hblank_start   = 842,              .htotal             = 857,
-
-		.progressive    = true,		    .trilevel_sync = false,
-
-		.vsync_start_f1 = 12,               .vsync_start_f2     = 12,
-		.vsync_len      = 12,
-
-		.veq_ena        = false,
-
-		.vi_end_f1      = 44,               .vi_end_f2          = 44,
-		.nbr_end        = 479,
-
-		.burst_ena      = false,
-
-		.filter_table = filter_table,
-	},
-	{
-		.name       = "480p@60Hz",
-		.clock		= 107520,
-		.refresh	= 60000,
-		.oversample     = TV_OVERSAMPLE_4X,
-		.component_only = 1,
-
-		.hsync_end      = 64,               .hblank_end         = 122,
-		.hblank_start   = 842,              .htotal             = 856,
-
-		.progressive    = true,		    .trilevel_sync = false,
-
-		.vsync_start_f1 = 12,               .vsync_start_f2     = 12,
-		.vsync_len      = 12,
-
-		.veq_ena        = false,
-
-		.vi_end_f1      = 44,               .vi_end_f2          = 44,
-		.nbr_end        = 479,
-
-		.burst_ena      = false,
-
-		.filter_table = filter_table,
-	},
-	{
-		.name       = "576p",
-		.clock		= 107520,
-		.refresh	= 50000,
-		.oversample     = TV_OVERSAMPLE_4X,
-		.component_only = 1,
-
-		.hsync_end      = 64,               .hblank_end         = 139,
-		.hblank_start   = 859,              .htotal             = 863,
-
-		.progressive    = true,		.trilevel_sync = false,
-
-		.vsync_start_f1 = 10,               .vsync_start_f2     = 10,
-		.vsync_len      = 10,
-
-		.veq_ena        = false,
-
-		.vi_end_f1      = 48,               .vi_end_f2          = 48,
-		.nbr_end        = 575,
-
-		.burst_ena      = false,
-
-		.filter_table = filter_table,
-	},
-	{
 		.name       = "720p@60Hz",
 		.clock		= 148800,
 		.refresh	= 60000,
@@ -770,30 +698,6 @@ static const struct tv_mode tv_modes[] = {
 		.filter_table = filter_table,
 	},
 	{
-		.name       = "720p@59.94Hz",
-		.clock		= 148800,
-		.refresh	= 59940,
-		.oversample     = TV_OVERSAMPLE_2X,
-		.component_only = 1,
-
-		.hsync_end      = 80,               .hblank_end         = 300,
-		.hblank_start   = 1580,             .htotal             = 1651,
-
-		.progressive	= true,		    .trilevel_sync = true,
-
-		.vsync_start_f1 = 10,               .vsync_start_f2     = 10,
-		.vsync_len      = 10,
-
-		.veq_ena        = false,
-
-		.vi_end_f1      = 29,               .vi_end_f2          = 29,
-		.nbr_end        = 719,
-
-		.burst_ena      = false,
-
-		.filter_table = filter_table,
-	},
-	{
 		.name       = "720p@50Hz",
 		.clock		= 148800,
 		.refresh	= 50000,
@@ -870,32 +774,6 @@ static const struct tv_mode tv_modes[] = {
 
 		.filter_table = filter_table,
 	},
-	{
-		.name       = "1080i@59.94Hz",
-		.clock		= 148800,
-		.refresh	= 29970,
-		.oversample     = TV_OVERSAMPLE_2X,
-		.component_only = 1,
-
-		.hsync_end      = 88,               .hblank_end         = 235,
-		.hblank_start   = 2155,             .htotal             = 2201,
-
-		.progressive	= false,	    .trilevel_sync = true,
-
-		.vsync_start_f1 = 4,            .vsync_start_f2    = 5,
-		.vsync_len      = 10,
-
-		.veq_ena	= true,		    .veq_start_f1	= 4,
-		.veq_start_f2	= 4,		.veq_len	  = 10,
-
-
-		.vi_end_f1	= 21,		.vi_end_f2	  = 22,
-		.nbr_end        = 539,
-
-		.burst_ena      = false,
-
-		.filter_table = filter_table,
-	},
 };
 
 static struct intel_tv *enc_to_intel_tv(struct drm_encoder *encoder)
-- 
1.7.7.4

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 2/2] drm/i915: Adding 1080p modes to our TV Out mode list.
  2011-12-14 23:10 ` [PATCH 3/3] drm/i915: Adding 1080p modes to our TV Out mode list Rodrigo Vivi
  2011-12-14 23:19   ` Chris Wilson
@ 2011-12-15 16:48   ` Rodrigo Vivi
  1 sibling, 0 replies; 14+ messages in thread
From: Rodrigo Vivi @ 2011-12-15 16:48 UTC (permalink / raw)
  To: intel-gfx

Adding 1080p supported modes according to new PRM version which is
internal for now.

Signed-off-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
---
 drivers/gpu/drm/i915/intel_tv.c |   72 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 72 insertions(+), 0 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c
index 1571be3..cfb44f4 100644
--- a/drivers/gpu/drm/i915/intel_tv.c
+++ b/drivers/gpu/drm/i915/intel_tv.c
@@ -774,6 +774,78 @@ static const struct tv_mode tv_modes[] = {
 
 		.filter_table = filter_table,
 	},
+	{
+		.name       = "1080p@30Hz",
+		.clock		= 148800,
+		.refresh	= 30000,
+		.oversample     = TV_OVERSAMPLE_2X,
+		.component_only = 1,
+
+		.hsync_end      = 88,               .hblank_end         = 235,
+		.hblank_start   = 2155,             .htotal             = 2199,
+
+		.progressive	= true, 	    .trilevel_sync = true,
+
+		.vsync_start_f1 = 8,                .vsync_start_f2     = 8,
+		.vsync_len      = 10,
+
+		.veq_ena	= false,
+
+		.vi_end_f1      = 44,               .vi_end_f2          = 44,
+		.nbr_end        = 1079,
+
+		.burst_ena      = false,
+
+		.filter_table = filter_table,
+	},
+	{
+		.name       = "1080p@50Hz",
+		.clock		= 148800,
+		.refresh	= 50000,
+		.oversample     = TV_OVERSAMPLE_2X,
+		.component_only = 1,
+
+		.hsync_end      = 88,               .hblank_end         = 235,
+		.hblank_start   = 2155,             .htotal             = 2639,
+
+		.progressive	= true, 	    .trilevel_sync = true,
+
+		.vsync_start_f1 = 8,                .vsync_start_f2     = 8,
+		.vsync_len      = 10,
+
+		.veq_ena	= false,
+
+		.vi_end_f1      = 44,               .vi_end_f2          = 44,
+		.nbr_end        = 1079,
+
+		.burst_ena      = false,
+
+		.filter_table = filter_table,
+	},
+	{
+		.name       = "1080p@60Hz",
+		.clock		= 148800,
+		.refresh	= 60000,
+		.oversample     = TV_OVERSAMPLE_2X,
+		.component_only = 1,
+
+		.hsync_end      = 88,               .hblank_end         = 235,
+		.hblank_start   = 2155,             .htotal             = 2199,
+
+		.progressive	= true, 	    .trilevel_sync = true,
+
+		.vsync_start_f1 = 8,                .vsync_start_f2     = 8,
+		.vsync_len      = 10,
+
+		.veq_ena	= false,
+
+		.vi_end_f1      = 44,               .vi_end_f2          = 44,
+		.nbr_end        = 1079,
+
+		.burst_ena      = false,
+
+		.filter_table = filter_table,
+	},
 };
 
 static struct intel_tv *enc_to_intel_tv(struct drm_encoder *encoder)
-- 
1.7.7.4

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [PATCH 1/3] drm/i915: Fix TV Out refresh rate.
  2011-12-14 23:10 ` [PATCH 1/3] drm/i915: Fix TV Out refresh rate Rodrigo Vivi
@ 2012-01-06 18:11   ` Jesse Barnes
  2012-01-06 22:02   ` Keith Packard
  1 sibling, 0 replies; 14+ messages in thread
From: Jesse Barnes @ 2012-01-06 18:11 UTC (permalink / raw)
  To: Rodrigo Vivi; +Cc: intel-gfx


[-- Attachment #1.1: Type: text/plain, Size: 544 bytes --]

On Wed, 14 Dec 2011 21:10:06 -0200
Rodrigo Vivi <rodrigo.vivi@gmail.com> wrote:

> TV Out refresh rate was half of the specification for almost all modes.
> Due to this reason pixel clock was so low for some modes causing flickering screen.
> 
> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
> ---
>  drivers/gpu/drm/i915/intel_tv.c |   16 ++++++++--------
>  1 files changed, 8 insertions(+), 8 deletions(-)
> 

Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>

-- 
Jesse Barnes, Intel Open Source Technology Center

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 2/3] drm/i915: Removing TV Out modes.
  2011-12-14 23:10 ` [PATCH 2/3] drm/i915: Removing TV Out modes Rodrigo Vivi
  2011-12-15 16:47   ` [PATCH 1/2] " Rodrigo Vivi
@ 2012-01-06 18:11   ` Jesse Barnes
  1 sibling, 0 replies; 14+ messages in thread
From: Jesse Barnes @ 2012-01-06 18:11 UTC (permalink / raw)
  To: Rodrigo Vivi; +Cc: intel-gfx


[-- Attachment #1.1: Type: text/plain, Size: 484 bytes --]

On Wed, 14 Dec 2011 21:10:07 -0200
Rodrigo Vivi <rodrigo.vivi@gmail.com> wrote:

> These modes are no longer needed or are not according to TV timing standards.
> 
> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
> ---
>  drivers/gpu/drm/i915/intel_tv.c |  122 ---------------------------------------
>  1 files changed, 0 insertions(+), 122 deletions(-)

Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>

-- 
Jesse Barnes, Intel Open Source Technology Center

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 1/3] drm/i915: Fix TV Out refresh rate.
  2011-12-14 23:10 ` [PATCH 1/3] drm/i915: Fix TV Out refresh rate Rodrigo Vivi
  2012-01-06 18:11   ` Jesse Barnes
@ 2012-01-06 22:02   ` Keith Packard
  2012-01-16 14:10     ` Rodrigo Vivi
  1 sibling, 1 reply; 14+ messages in thread
From: Keith Packard @ 2012-01-06 22:02 UTC (permalink / raw)
  To: Rodrigo Vivi, intel-gfx


[-- Attachment #1.1: Type: text/plain, Size: 917 bytes --]

On Wed, 14 Dec 2011 21:10:06 -0200, Rodrigo Vivi <rodrigo.vivi@gmail.com> wrote:
> TV Out refresh rate was half of the specification for almost all modes.
> Due to this reason pixel clock was so low for some modes causing
> flickering screen.
>
>  Signed-off-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>

And

>  These modes are no longer needed or are not according to TV timing standards.
>
>  Intel PRM Vol 3 - Display Registers Updated - Section 5 TV-Out
>  Programming / 5.2.1 Television Standards / 5.2.1.1 Timing tables
>
>  Signed-off-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>

I've got these two queued on my machine. Once drm-next is merged to
master, drm-intel-fixes will be fast-forwarded to that point and these
fixes rebased on top of that.

There's still the 1080p modes which Chris has asked for an updated
changelog and a comment in the source for.

-- 
keith.packard@intel.com

[-- Attachment #1.2: Type: application/pgp-signature, Size: 827 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 1/3] drm/i915: Fix TV Out refresh rate.
  2012-01-06 22:02   ` Keith Packard
@ 2012-01-16 14:10     ` Rodrigo Vivi
  0 siblings, 0 replies; 14+ messages in thread
From: Rodrigo Vivi @ 2012-01-16 14:10 UTC (permalink / raw)
  To: Keith Packard; +Cc: intel-gfx

I think we should go ahead and integrate the first and second patches
and skip the 1080 (third) for now.

We are internally discussing when and if that document will be released.

On Fri, Jan 6, 2012 at 8:02 PM, Keith Packard <keithp@keithp.com> wrote:
> On Wed, 14 Dec 2011 21:10:06 -0200, Rodrigo Vivi <rodrigo.vivi@gmail.com> wrote:
>> TV Out refresh rate was half of the specification for almost all modes.
>> Due to this reason pixel clock was so low for some modes causing
>> flickering screen.
>>
>>  Signed-off-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
>
> And
>
>>  These modes are no longer needed or are not according to TV timing standards.
>>
>>  Intel PRM Vol 3 - Display Registers Updated - Section 5 TV-Out
>>  Programming / 5.2.1 Television Standards / 5.2.1.1 Timing tables
>>
>>  Signed-off-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
>
> I've got these two queued on my machine. Once drm-next is merged to
> master, drm-intel-fixes will be fast-forwarded to that point and these
> fixes rebased on top of that.
>
> There's still the 1080p modes which Chris has asked for an updated
> changelog and a comment in the source for.
>
> --
> keith.packard@intel.com



-- 
Rodrigo Vivi
Blog: http://blog.vivi.eng.br
GPG: 0x905BE242 @ wwwkeys.pgp.net

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2012-01-16 14:10 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-12-14 23:10 [PATCH 0/3] TV Out patches to make our mode list be according to TV timing standards Rodrigo Vivi
2011-12-14 23:10 ` [PATCH 1/3] drm/i915: Fix TV Out refresh rate Rodrigo Vivi
2012-01-06 18:11   ` Jesse Barnes
2012-01-06 22:02   ` Keith Packard
2012-01-16 14:10     ` Rodrigo Vivi
2011-12-14 23:10 ` [PATCH 2/3] drm/i915: Removing TV Out modes Rodrigo Vivi
2011-12-15 16:47   ` [PATCH 1/2] " Rodrigo Vivi
2012-01-06 18:11   ` [PATCH 2/3] " Jesse Barnes
2011-12-14 23:10 ` [PATCH 3/3] drm/i915: Adding 1080p modes to our TV Out mode list Rodrigo Vivi
2011-12-14 23:19   ` Chris Wilson
2011-12-15 15:00     ` Rodrigo Vivi
2011-12-15 15:05       ` Rodrigo Vivi
2011-12-15 16:06         ` Chris Wilson
2011-12-15 16:48   ` [PATCH 2/2] " Rodrigo Vivi

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.