All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] drm/nouveau: add support for 2560x1440@56 over HDMI
@ 2015-08-08 17:01 Hauke Mehrtens
  2015-08-08 17:01 ` [PATCH 1/2] drm/nouveau: activate dual link TMDS links only when possible Hauke Mehrtens
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Hauke Mehrtens @ 2015-08-08 17:01 UTC (permalink / raw)
  To: nouveau; +Cc: Hauke Mehrtens, dri-devel

These patches are adding support for outputting 2560x1440@56 over HDMI. 
This needs a pixel clock of 225 MHz which was not supported before.

This was tested in a dual monitor setup with a GF114 (GTX 560 TI) and 
one HDMI monitor running with 2560x1440@56 and one DVI monitor running 
with 1920x1200@60. This still needs testing on other graphics cards and 
with dual link DVI.

There is no Maintainers entry for nouveau.

Hauke Mehrtens (2):
  drm/nouveau: activate dual link TMDS links only when possible
  drm/nouveau: increase max pixel clock to 225 MHZ for HDMI

 drivers/gpu/drm/nouveau/nouveau_connector.c      | 6 ++++--
 drivers/gpu/drm/nouveau/nv50_display.c           | 8 ++++----
 drivers/gpu/drm/nouveau/nvkm/engine/disp/gf110.c | 2 +-
 drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.c  | 2 +-
 4 files changed, 10 insertions(+), 8 deletions(-)

-- 
2.1.4

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* [PATCH 1/2] drm/nouveau: activate dual link TMDS links only when possible
  2015-08-08 17:01 [PATCH 0/2] drm/nouveau: add support for 2560x1440@56 over HDMI Hauke Mehrtens
@ 2015-08-08 17:01 ` Hauke Mehrtens
  2015-08-08 17:01 ` [PATCH 2/2] drm/nouveau: increase max pixel clock to 225 MHZ for HDMI Hauke Mehrtens
       [not found] ` <1439053275-3323-1-git-send-email-hauke-5/S+JYg5SzeELgA04lAiVw@public.gmane.org>
  2 siblings, 0 replies; 6+ messages in thread
From: Hauke Mehrtens @ 2015-08-08 17:01 UTC (permalink / raw)
  To: nouveau; +Cc: Hauke Mehrtens, dri-devel

Without this patch a pixel clock rate above 165 MHz on a TMDS link is
assumed to be dual link. This is true for DVI, but not for HDMI. HDMI
supports no dual link, but it supports pixel clock rates above 165 MHz.
Only activate Dual Link mode when it is actual possible.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
 drivers/gpu/drm/nouveau/nv50_display.c           | 8 ++++----
 drivers/gpu/drm/nouveau/nvkm/engine/disp/gf110.c | 2 +-
 drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.c  | 2 +-
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c
index 981342d..7d11763 100644
--- a/drivers/gpu/drm/nouveau/nv50_display.c
+++ b/drivers/gpu/drm/nouveau/nv50_display.c
@@ -1936,10 +1936,10 @@ nv50_sor_mode_set(struct drm_encoder *encoder, struct drm_display_mode *umode,
 	switch (nv_encoder->dcb->type) {
 	case DCB_OUTPUT_TMDS:
 		if (nv_encoder->dcb->sorconf.link & 1) {
-			if (mode->clock < 165000)
-				proto = 0x1;
-			else
-				proto = 0x5;
+			proto = 0x1;
+			if (mode->clock >= 165000 &&
+			    nv_encoder->dcb->duallink_possible)
+				proto |= 0x4;
 		} else {
 			proto = 0x2;
 		}
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/gf110.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/gf110.c
index 7f2f05f..ed2b08f 100644
--- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/gf110.c
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/gf110.c
@@ -895,7 +895,7 @@ exec_clkcmp(struct nv50_disp_priv *priv, int head, int id, u32 pclk, u32 *conf)
 	switch (outp->info.type) {
 	case DCB_OUTPUT_TMDS:
 		*conf = (ctrl & 0x00000f00) >> 8;
-		if (pclk >= 165000)
+		if (pclk >= 165000 && outp->info.duallink_possible)
 			*conf |= 0x0100;
 		break;
 	case DCB_OUTPUT_LVDS:
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.c
index 8ba808d..594c228 100644
--- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.c
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.c
@@ -1544,7 +1544,7 @@ exec_clkcmp(struct nv50_disp_priv *priv, int head, int id, u32 pclk, u32 *conf)
 		switch (outp->info.type) {
 		case DCB_OUTPUT_TMDS:
 			*conf = (ctrl & 0x00000f00) >> 8;
-			if (pclk >= 165000)
+			if (pclk >= 165000 && outp->info.duallink_possible)
 				*conf |= 0x0100;
 			break;
 		case DCB_OUTPUT_LVDS:
-- 
2.1.4

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* [PATCH 2/2] drm/nouveau: increase max pixel clock to 225 MHZ for HDMI
  2015-08-08 17:01 [PATCH 0/2] drm/nouveau: add support for 2560x1440@56 over HDMI Hauke Mehrtens
  2015-08-08 17:01 ` [PATCH 1/2] drm/nouveau: activate dual link TMDS links only when possible Hauke Mehrtens
@ 2015-08-08 17:01 ` Hauke Mehrtens
       [not found] ` <1439053275-3323-1-git-send-email-hauke-5/S+JYg5SzeELgA04lAiVw@public.gmane.org>
  2 siblings, 0 replies; 6+ messages in thread
From: Hauke Mehrtens @ 2015-08-08 17:01 UTC (permalink / raw)
  To: nouveau; +Cc: Hauke Mehrtens, dri-devel

The Nvidia blob allows a pixel clock up to 225 MHz in version 346.59,
but only allowed 165MHz in version 295 for HDMI connections. This was
tested with a GF114 (Nvidia GTX 560 TI) and a HDMI monitor which used
225 MHz pixel clock and a signal link DVI monitor with a pixel clock of
less than 165 MHz. This should also be tested with some other device,
but I only have this one graphics card.

The HDMI standard <= 1.2 allowed a maximal pixel clock of 165 MHz and
the HDMI standard >= 1.3 allows a maximal pixel clock of 340 MHz. One
DVI link only allows a maximum clock of 165 MHz, so this should only be
changed for HDMI.

My assumption is that all Nvidia cards with HDMI support a Pixel clock
of 225 MHz, but I haven't tested this

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
 drivers/gpu/drm/nouveau/nouveau_connector.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.c b/drivers/gpu/drm/nouveau/nouveau_connector.c
index 3162040..9191545b 100644
--- a/drivers/gpu/drm/nouveau/nouveau_connector.c
+++ b/drivers/gpu/drm/nouveau/nouveau_connector.c
@@ -815,8 +815,10 @@ get_tmds_link_bandwidth(struct drm_connector *connector)
 	struct nouveau_drm *drm = nouveau_drm(connector->dev);
 	struct dcb_output *dcb = nv_connector->detected_encoder->dcb;
 
-	if (dcb->location != DCB_LOC_ON_CHIP ||
-	    drm->device.info.chipset >= 0x46)
+	if (drm_detect_hdmi_monitor(nv_connector->edid))
+		return 225000;
+	else if (dcb->location != DCB_LOC_ON_CHIP ||
+		 drm->device.info.chipset >= 0x46)
 		return 165000;
 	else if (drm->device.info.chipset >= 0x40)
 		return 155000;
-- 
2.1.4

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* Re: [PATCH 0/2] drm/nouveau: add support for 2560x1440@56 over HDMI
       [not found] ` <1439053275-3323-1-git-send-email-hauke-5/S+JYg5SzeELgA04lAiVw@public.gmane.org>
@ 2015-08-17 18:04   ` Hauke Mehrtens
  2015-08-25  5:09     ` [Nouveau] " Ben Skeggs
  0 siblings, 1 reply; 6+ messages in thread
From: Hauke Mehrtens @ 2015-08-17 18:04 UTC (permalink / raw)
  To: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, Ben Skeggs
  Cc: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

On 08/08/2015 07:01 PM, Hauke Mehrtens wrote:
> These patches are adding support for outputting 2560x1440@56 over HDMI. 
> This needs a pixel clock of 225 MHz which was not supported before.
> 
> This was tested in a dual monitor setup with a GF114 (GTX 560 TI) and 
> one HDMI monitor running with 2560x1440@56 and one DVI monitor running 
> with 1920x1200@60. This still needs testing on other graphics cards and 
> with dual link DVI.
> 
> There is no Maintainers entry for nouveau.
> 
> Hauke Mehrtens (2):
>   drm/nouveau: activate dual link TMDS links only when possible
>   drm/nouveau: increase max pixel clock to 225 MHZ for HDMI
> 
>  drivers/gpu/drm/nouveau/nouveau_connector.c      | 6 ++++--
>  drivers/gpu/drm/nouveau/nv50_display.c           | 8 ++++----
>  drivers/gpu/drm/nouveau/nvkm/engine/disp/gf110.c | 2 +-
>  drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.c  | 2 +-
>  4 files changed, 10 insertions(+), 8 deletions(-)
> 


Hi Ben,

Some people in the IRC suggested you should look at these patches.

There are still some parts in the code with something like "if
(pixel_lock > 165MHz)", I haven't changed that because that did not
affected me and I do not know in which situations this gets called.

Hauke
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

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

* Re: [Nouveau] [PATCH 0/2] drm/nouveau: add support for 2560x1440@56 over HDMI
  2015-08-17 18:04   ` [PATCH 0/2] drm/nouveau: add support for 2560x1440@56 over HDMI Hauke Mehrtens
@ 2015-08-25  5:09     ` Ben Skeggs
       [not found]       ` <CACAvsv6cU7t317dM-HQzoHcbg--BmyX9HsGzkzQHv705BCyDFA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 6+ messages in thread
From: Ben Skeggs @ 2015-08-25  5:09 UTC (permalink / raw)
  To: Hauke Mehrtens; +Cc: nouveau, Ben Skeggs, dri-devel

On 18 August 2015 at 04:04, Hauke Mehrtens <hauke@hauke-m.de> wrote:
> On 08/08/2015 07:01 PM, Hauke Mehrtens wrote:
>> These patches are adding support for outputting 2560x1440@56 over HDMI.
>> This needs a pixel clock of 225 MHz which was not supported before.
>>
>> This was tested in a dual monitor setup with a GF114 (GTX 560 TI) and
>> one HDMI monitor running with 2560x1440@56 and one DVI monitor running
>> with 1920x1200@60. This still needs testing on other graphics cards and
>> with dual link DVI.
Out of curiosity, what mode does the VBIOS select to display the
system's boot messages?

Ben.

>>
>> There is no Maintainers entry for nouveau.
>>
>> Hauke Mehrtens (2):
>>   drm/nouveau: activate dual link TMDS links only when possible
>>   drm/nouveau: increase max pixel clock to 225 MHZ for HDMI
>>
>>  drivers/gpu/drm/nouveau/nouveau_connector.c      | 6 ++++--
>>  drivers/gpu/drm/nouveau/nv50_display.c           | 8 ++++----
>>  drivers/gpu/drm/nouveau/nvkm/engine/disp/gf110.c | 2 +-
>>  drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.c  | 2 +-
>>  4 files changed, 10 insertions(+), 8 deletions(-)
>>
>
>
> Hi Ben,
>
> Some people in the IRC suggested you should look at these patches.
>
> There are still some parts in the code with something like "if
> (pixel_lock > 165MHz)", I haven't changed that because that did not
> affected me and I do not know in which situations this gets called.
>
> Hauke
> _______________________________________________
> Nouveau mailing list
> Nouveau@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/nouveau
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* Re: [PATCH 0/2] drm/nouveau: add support for 2560x1440@56 over HDMI
       [not found]       ` <CACAvsv6cU7t317dM-HQzoHcbg--BmyX9HsGzkzQHv705BCyDFA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2015-08-31 20:50         ` Hauke Mehrtens
  0 siblings, 0 replies; 6+ messages in thread
From: Hauke Mehrtens @ 2015-08-31 20:50 UTC (permalink / raw)
  To: Ben Skeggs
  Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, Ben Skeggs,
	dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

On 08/25/2015 07:09 AM, Ben Skeggs wrote:
> On 18 August 2015 at 04:04, Hauke Mehrtens <hauke@hauke-m.de> wrote:
>> On 08/08/2015 07:01 PM, Hauke Mehrtens wrote:
>>> These patches are adding support for outputting 2560x1440@56 over HDMI.
>>> This needs a pixel clock of 225 MHz which was not supported before.
>>>
>>> This was tested in a dual monitor setup with a GF114 (GTX 560 TI) and
>>> one HDMI monitor running with 2560x1440@56 and one DVI monitor running
>>> with 1920x1200@60. This still needs testing on other graphics cards and
>>> with dual link DVI.
> Out of curiosity, what mode does the VBIOS select to display the
> system's boot messages?

The monitor is not activated before X comes up, I see the boot messages
only on my monitor connected via DVI.

You can find my vbios here:
https://www.hauke-m.de/files/.nouveau/vbios.rom

Hauke
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

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

end of thread, other threads:[~2015-08-31 20:50 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-08-08 17:01 [PATCH 0/2] drm/nouveau: add support for 2560x1440@56 over HDMI Hauke Mehrtens
2015-08-08 17:01 ` [PATCH 1/2] drm/nouveau: activate dual link TMDS links only when possible Hauke Mehrtens
2015-08-08 17:01 ` [PATCH 2/2] drm/nouveau: increase max pixel clock to 225 MHZ for HDMI Hauke Mehrtens
     [not found] ` <1439053275-3323-1-git-send-email-hauke-5/S+JYg5SzeELgA04lAiVw@public.gmane.org>
2015-08-17 18:04   ` [PATCH 0/2] drm/nouveau: add support for 2560x1440@56 over HDMI Hauke Mehrtens
2015-08-25  5:09     ` [Nouveau] " Ben Skeggs
     [not found]       ` <CACAvsv6cU7t317dM-HQzoHcbg--BmyX9HsGzkzQHv705BCyDFA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-08-31 20:50         ` Hauke Mehrtens

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.