[Intel-gfx] [PATCH] drm/i915:fix the bug that testdisplay can't work with 32 bits depth (bug # 40011)

2011-08-13 Thread Hai Lan
Signed-off-by: Hai Lan 
---
 drivers/gpu/drm/i915/intel_display.c |2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_display.c 
b/drivers/gpu/drm/i915/intel_display.c
index 35364e6..f743085 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -2056,6 +2056,8 @@ static int ironlake_update_plane(struct drm_crtc *crtc,
case 32:
if (fb->depth == 24)
dspcntr |= DISPPLANE_32BPP_NO_ALPHA;
+   else if (fb->depth == 32)
+   dspcntr |= DISPPLANE_32BPP_NO_ALPHA;
else if (fb->depth == 30)
dspcntr |= DISPPLANE_32BPP_30BIT_NO_ALPHA;
else
-- 
1.7.0.1

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


Re: [Intel-gfx] [PATCH] drm/i915:fix the bug that testdisplay can't work with 32 bits depth (bug # 40011)

2011-08-13 Thread Keith Packard
On Sat, 13 Aug 2011 23:22:14 -0400, Hai Lan  wrote:

>   case 32:
>   if (fb->depth == 24)
>   dspcntr |= DISPPLANE_32BPP_NO_ALPHA;
> + else if (fb->depth == 32)
> + dspcntr |= DISPPLANE_32BPP_NO_ALPHA;
>   else if (fb->depth == 30)
>   dspcntr |= DISPPLANE_32BPP_30BIT_NO_ALPHA;
>   else

There is no hardware support for depth 32 output -- the hardware can
only do 24-bits (8-8-8-8) XRGB or 30-bits (2-10-10-10) XRGB. Passing
depth 32 to this function is in fact an error which the kernel now
correctly reports.

This patch simply assumes that the application programmer created a
depth 24 frame buffer and then mistakenly told the kernel that it was
depth 32.

-- 
keith.pack...@intel.com


pgpSxwHSVAhTM.pgp
Description: PGP signature
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PATCH] drm/i915:fix the bug that testdisplay can't work with 32 bits depth (bug # 40011)

2011-08-13 Thread Lan, Hai
Hi Keith
Thanks for your explanation. So bug 40011 can be treated as not-a-bug.

Hai Lan

> -Original Message-
> From: Keith Packard [mailto:kei...@keithp.com]
> Sent: Sunday, August 14, 2011 1:47 AM
> To: Lan, Hai; intel-gfx@lists.freedesktop.org
> Cc: Lan, Hai
> Subject: Re: [PATCH] drm/i915:fix the bug that testdisplay can't work with 32
> bits depth (bug # 40011)
> 
> On Sat, 13 Aug 2011 23:22:14 -0400, Hai Lan  wrote:
> 
> > case 32:
> > if (fb->depth == 24)
> > dspcntr |= DISPPLANE_32BPP_NO_ALPHA;
> > +   else if (fb->depth == 32)
> > +   dspcntr |= DISPPLANE_32BPP_NO_ALPHA;
> > else if (fb->depth == 30)
> > dspcntr |= DISPPLANE_32BPP_30BIT_NO_ALPHA;
> > else
> 
> There is no hardware support for depth 32 output -- the hardware can only
> do 24-bits (8-8-8-8) XRGB or 30-bits (2-10-10-10) XRGB. Passing depth 32 to
> this function is in fact an error which the kernel now correctly reports.
> 
> This patch simply assumes that the application programmer created a depth
> 24 frame buffer and then mistakenly told the kernel that it was depth 32.
> 
> --
> keith.pack...@intel.com
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PATCH] drm/i915:fix the bug that testdisplay can't work with 32 bits depth (bug # 40011)

2011-08-13 Thread Keith Packard
On Sun, 14 Aug 2011 06:49:13 +0800, "Lan, Hai"  wrote:

> Thanks for your explanation. So bug 40011 can be treated as not-a-bug.

Yup.

-- 
keith.pack...@intel.com


pgppVLfmVRnhd.pgp
Description: PGP signature
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx