[PATCH 0/1] [lucid] LP#539730 -- Dell D630 screen corruption

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

[PATCH 0/1] [lucid] LP#539730 -- Dell D630 screen corruption

Andy Whitcroft-3
This patch seems to sort out corrupted displays on the Dell D630.
Tested by the reporter.

Proposing for application to Lucid.

-apw

Ben Skeggs (1):
  drm/nv40: add LVDS table quirk for Dell Latitude D620

 drivers/gpu/drm/nouveau/nouveau_bios.c |   15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 deletions(-)


--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

[PATCH 1/1] drm/nv40: add LVDS table quirk for Dell Latitude D620

Andy Whitcroft-3
From: Ben Skeggs <[hidden email]>

Should fix:
 https://bugzilla.redhat.com/show_bug.cgi?id=505132
 https://bugzilla.redhat.com/show_bug.cgi?id=543091
 https://bugzilla.redhat.com/show_bug.cgi?id=530425
 https://bugs.edge.launchpad.net/ubuntu/+source/xserver-xorg-video-nouveau/
 +bug/539730

Signed-off-by: Ben Skeggs <[hidden email]>
(cherry picked from commit 8af36117e23bc36c34d0d25484f7b9de021b51bc git://cgit.freedesktop.org/nouveau/linux-2.6)

BugLink: http://bugs.launchpad.net/bugs/539730
Signed-off-by: Andy Whitcroft <[hidden email]>
---
 drivers/gpu/drm/nouveau/nouveau_bios.c |   15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/drivers/gpu/drm/nouveau/nouveau_bios.c b/drivers/gpu/drm/nouveau/nouveau_bios.c
index 0e9cd1d..5480c14 100644
--- a/drivers/gpu/drm/nouveau/nouveau_bios.c
+++ b/drivers/gpu/drm/nouveau/nouveau_bios.c
@@ -3668,6 +3668,21 @@ int nouveau_bios_parse_lvds_table(struct drm_device *dev, int pxclk, bool *dl, b
  break;
  }
 
+ /* Dell Latitude D620 reports a too-high value for the dual-link
+ * transition freq, causing us to program the panel incorrectly.
+ *
+ * It doesn't appear the VBIOS actually uses its transition freq
+ * (90000kHz), instead it uses the "Number of LVDS channels" field
+ * out of the panel ID structure (http://www.spwg.org/).
+ *
+ * For the moment, a quirk will do :)
+ */
+ if ((dev->pdev->device == 0x01d7) &&
+    (dev->pdev->subsystem_vendor == 0x1028) &&
+    (dev->pdev->subsystem_device == 0x01c2)) {
+ bios->fp.duallink_transition_clk = 80000;
+ }
+
  /* set dual_link flag for EDID case */
  if (pxclk && (chip_version < 0x25 || chip_version > 0x28))
  bios->fp.dual_link = (pxclk >= bios->fp.duallink_transition_clk);
--
1.7.0


--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH 0/1] [lucid] LP#539730 -- Dell D630 screen corruption

Mario Limonciello-5
In reply to this post by Andy Whitcroft-3
This sounds like something that should at least be checked against
current BIOSes though to make sure it wasn't fixed in any of the recent
VBIOSses.  What happens if it was fixed in a later BIOS and this "quirk"
is applied against that later BIOS?

On 04/08/2010 07:09 AM, Andy Whitcroft wrote:

> This patch seems to sort out corrupted displays on the Dell D630.
> Tested by the reporter.
>
> Proposing for application to Lucid.
>
> -apw
>
> Ben Skeggs (1):
>   drm/nv40: add LVDS table quirk for Dell Latitude D620
>
>  drivers/gpu/drm/nouveau/nouveau_bios.c |   15 +++++++++++++++
>  1 files changed, 15 insertions(+), 0 deletions(-)
>
>
>  
--
Mario Limonciello
*Dell | Linux Engineering*
[hidden email]


--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team

signature.asc (270 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH 0/1] [lucid] LP#539730 -- Dell D630 screen corruption

Andy Whitcroft-3
On Thu, Apr 08, 2010 at 10:37:18AM -0500, Mario Limonciello wrote:
> This sounds like something that should at least be checked against
> current BIOSes though to make sure it wasn't fixed in any of the recent
> VBIOSses.  What happens if it was fixed in a later BIOS and this "quirk"
> is applied against that later BIOS?

Good question.  The commit I believe is coming from upstream so is where
they are going at the moment.  Do we have access to VBIOS updates to
test this?

-apw

--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH 0/1] [lucid] LP#539730 -- Dell D630 screen corruption

Mario Limonciello-2
Hi Andy:

On Thu, Apr 8, 2010 at 13:52, Andy Whitcroft <[hidden email]> wrote:
On Thu, Apr 08, 2010 at 10:37:18AM -0500, Mario Limonciello wrote:
> This sounds like something that should at least be checked against
> current BIOSes though to make sure it wasn't fixed in any of the recent
> VBIOSses.  What happens if it was fixed in a later BIOS and this "quirk"
> is applied against that later BIOS?

Good question.  The commit I believe is coming from upstream so is where
they are going at the moment.  Do we have access to VBIOS updates to
test this?

VBIOS updates are contained in the BIOS update.

D620:

D630:

There's updates as fresh as January this year it looks like.

-apw



--
Mario Limonciello
[hidden email]

--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH 0/1] [lucid] LP#539730 -- Dell D630 screen corruption

Scott James Remnant-2
On Thu, 2010-04-08 at 14:21 -0500, Mario Limonciello wrote:

> VBIOS updates are contained in the BIOS update.
>
>
> D620:
> http://support.dell.com/support/downloads/driverslist.aspx?os=BIOSA&catid=-1&dateid=-1&impid=-1&osl=EN&typeid=-1&formatid=-1&servicetag=&SystemID=LATITUDE+D620&hidos=WW1&hidlang=en&TabIndex=&scanSupported=False&scanConsent=False
>
The only download on this site is a Windows .EXE - these don't work on
Ubuntu.

Scott
--
Scott James Remnant
[hidden email]

--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team

signature.asc (205 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH 0/1] [lucid] LP#539730 -- Dell D630 screen corruption

Mario Limonciello-2
Hi Scott:

On Fri, Apr 9, 2010 at 04:44, Scott James Remnant <[hidden email]> wrote:
The only download on this site is a Windows .EXE - these don't work on
Ubuntu.

They're DOS executables.  You should be able to run them from a freedos boot disk.

supermario@yoshi:~/Downloads$ file D630_A17.EXE 
D630_A17.EXE: MS-DOS executable

supermario@yoshi:~/Downloads$ file D620_A10.EXE 
D620_A10.EXE: MS-DOS executable
 

--
Mario Limonciello
[hidden email]

--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH 0/1] [lucid] LP#539730 -- Dell D630 screen corruption

Scott James Remnant-2
On Fri, 2010-04-09 at 09:32 -0500, Mario Limonciello wrote:

> Hi Scott:
>
> On Fri, Apr 9, 2010 at 04:44, Scott James Remnant <[hidden email]>
> wrote:
>         On Thu, 2010-04-08 at 14:21 -0500, Mario Limonciello wrote:
>        
>         > VBIOS updates are contained in the BIOS update.
>         >
>         >
>         > D620:
>         >
>         http://support.dell.com/support/downloads/driverslist.aspx?os=BIOSA&catid=-1&dateid=-1&impid=-1&osl=EN&typeid=-1&formatid=-1&servicetag=&SystemID=LATITUDE+D620&hidos=WW1&hidlang=en&TabIndex=&scanSupported=False&scanConsent=False
>         >
>        
>         The only download on this site is a Windows .EXE - these don't
>         work on
>         Ubuntu.
>        
> They're DOS executables.  You should be able to run them from a
> freedos boot disk.
>
>
> supermario@yoshi:~/Downloads$ file D630_A17.EXE
> D630_A17.EXE: MS-DOS executable
>
>
> supermario@yoshi:~/Downloads$ file D620_A10.EXE
> D620_A10.EXE: MS-DOS executable
>
As you can see from the bug, I already have A10 bios on the D620

Scott
--
Scott James Remnant
[hidden email]

--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team

signature.asc (205 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH 1/1] drm/nv40: add LVDS table quirk for Dell Latitude D620

Stefan Bader-2
In reply to this post by Andy Whitcroft-3
Not sure from later discussion what the preferred way to proceed is. But from
the point of view of the patch, it looks ok and restricts itself to a certain
subvendor. If it is tested ok, I would tend to ack it.

Andy Whitcroft wrote:

> From: Ben Skeggs <[hidden email]>
>
> Should fix:
>  https://bugzilla.redhat.com/show_bug.cgi?id=505132
>  https://bugzilla.redhat.com/show_bug.cgi?id=543091
>  https://bugzilla.redhat.com/show_bug.cgi?id=530425
>  https://bugs.edge.launchpad.net/ubuntu/+source/xserver-xorg-video-nouveau/
>  +bug/539730
>
> Signed-off-by: Ben Skeggs <[hidden email]>
> (cherry picked from commit 8af36117e23bc36c34d0d25484f7b9de021b51bc git://cgit.freedesktop.org/nouveau/linux-2.6)
>
> BugLink: http://bugs.launchpad.net/bugs/539730
> Signed-off-by: Andy Whitcroft <[hidden email]>
Acked-by: Stefan Bader <[hidden email]>

> ---
>  drivers/gpu/drm/nouveau/nouveau_bios.c |   15 +++++++++++++++
>  1 files changed, 15 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/gpu/drm/nouveau/nouveau_bios.c b/drivers/gpu/drm/nouveau/nouveau_bios.c
> index 0e9cd1d..5480c14 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_bios.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_bios.c
> @@ -3668,6 +3668,21 @@ int nouveau_bios_parse_lvds_table(struct drm_device *dev, int pxclk, bool *dl, b
>   break;
>   }
>  
> + /* Dell Latitude D620 reports a too-high value for the dual-link
> + * transition freq, causing us to program the panel incorrectly.
> + *
> + * It doesn't appear the VBIOS actually uses its transition freq
> + * (90000kHz), instead it uses the "Number of LVDS channels" field
> + * out of the panel ID structure (http://www.spwg.org/).
> + *
> + * For the moment, a quirk will do :)
> + */
> + if ((dev->pdev->device == 0x01d7) &&
> +    (dev->pdev->subsystem_vendor == 0x1028) &&
> +    (dev->pdev->subsystem_device == 0x01c2)) {
> + bios->fp.duallink_transition_clk = 80000;
> + }
> +
>   /* set dual_link flag for EDID case */
>   if (pxclk && (chip_version < 0x25 || chip_version > 0x28))
>   bios->fp.dual_link = (pxclk >= bios->fp.duallink_transition_clk);


--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

[APPLIED] [PATCH 0/1] [lucid] LP#539730 -- Dell D630 screen corruption

Andy Whitcroft-3
In reply to this post by Andy Whitcroft-3
Applied to Lucid.

-apw

--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team