From: Ondrej Zary <linux-ZCIryABCsrmttCpgsWEBFmD2FQJk+8+b@public.gmane.org>
To: Ilia Mirkin <imirkin-FrUbXkNCsVf2fBVCVOL8/A@public.gmane.org>
Cc: "nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org"
<nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org>,
Ben Skeggs <bskeggs-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: Blank console but X11 works on MCP79 - old regression since 3.8
Date: Fri, 17 Nov 2017 20:25:14 +0100 [thread overview]
Message-ID: <201711172025.15121.linux@rainbow-software.org> (raw)
In-Reply-To: <CAKb7Uvg9BQ6yAXXt+PbVf_c3Wzx3vkA0VdzkcO6qnRC2nJ7AOQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
On Friday 17 November 2017 18:41:17 Ilia Mirkin wrote:
> On Fri, Nov 17, 2017 at 12:33 PM, Ondrej Zary
>
> <linux@rainbow-software.org> wrote:
> > @@ -483,8 +483,8 @@
> > nouveau 0000:02:00.0: disp: 0860: 00000000 -> 00000500
> > nouveau 0000:02:00.0: disp: 0864: 00000000
> > nouveau 0000:02:00.0: disp: 0868: 00000000 -> 04000500
> > -nouveau 0000:02:00.0: disp: 086c: 00000000 -> 00100500
> > -nouveau 0000:02:00.0: disp: 0870: 0000e900 -> 00001e00
> > +nouveau 0000:02:00.0: disp: 086c: 00000000 -> 00100a00
> > +nouveau 0000:02:00.0: disp: 0870: 0000e900 -> 0000e800
> > nouveau 0000:02:00.0: disp: 0874: 00000000 -> ffff0000
> > nouveau 0000:02:00.0: disp: 0878: 00000000
> > nouveau 0000:02:00.0: disp: 0880: 05000000
> >
> > Looks like it's using 8bpp (0x1e00) in 32MB case but 16bpp (0xe800) in
> > 64MB case. Why?
> >
> > I get blank screen even with 64MB with video=1280x1024-8 kernel
> > parameter. Console works with video=1280x1024-16 even with 32MB stolen
> > memory.
> >
> > Conclusions: 8-bit support is broken and bpp reduction is weird.
>
> OK, well that makes a *ton* of sense (8bpp being broken).
>
> I think the idea of bpp reduction is that when you're on your shiny
> new Riva TNT with 16MB of VRAM, you don't want to go crazy allocating
> all that to a pinned fbcon - almost half of that would go to a single
> 32bpp 1600x1200 buffer, more for 1920x1200. You want to be able to
> have at least a few fb-sized buffers for backbuffer rendering, etc.
>
> The specific limits could probably use tweaking - I think they only
> consider VRAM size, not the fb size.
>
> I guess 8bpp worked prior to the change you bisected though, so we
> should figure out what we did wrong in the new code.
Yes, booted 3.7 (last working kernel) and it's running in 8bpp.
I guess that nv50_head_gamma_set() is missing something like this (from
nv_crtc_gamma_set()):
/* We need to know the depth before we upload, but it's possible to
* get called before a framebuffer is bound. If this is the case,
* mark the lut values as dirty by setting depth==0, and it'll be
* uploaded on the first mode_set_base()
*/
if (!nv_crtc->base.primary->fb) {
nv_crtc->lut.depth = 0;
return 0;
}
That's easy to add but there's no mode_set_base() for nv50 so there's no place
to add code like this:
if (nv_crtc->lut.depth != drm_fb->format->depth) {
nv_crtc->lut.depth = drm_fb->format->depth;
nv_crtc_gamma_load(crtc);
}
--
Ondrej Zary
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau
WARNING: multiple messages have this Message-ID (diff)
From: Ondrej Zary <linux@rainbow-software.org>
To: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: Ben Skeggs <bskeggs@redhat.com>,
"nouveau@lists.freedesktop.org" <nouveau@lists.freedesktop.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: Blank console but X11 works on MCP79 - old regression since 3.8
Date: Fri, 17 Nov 2017 20:25:14 +0100 [thread overview]
Message-ID: <201711172025.15121.linux@rainbow-software.org> (raw)
In-Reply-To: <CAKb7Uvg9BQ6yAXXt+PbVf_c3Wzx3vkA0VdzkcO6qnRC2nJ7AOQ@mail.gmail.com>
On Friday 17 November 2017 18:41:17 Ilia Mirkin wrote:
> On Fri, Nov 17, 2017 at 12:33 PM, Ondrej Zary
>
> <linux@rainbow-software.org> wrote:
> > @@ -483,8 +483,8 @@
> > nouveau 0000:02:00.0: disp: 0860: 00000000 -> 00000500
> > nouveau 0000:02:00.0: disp: 0864: 00000000
> > nouveau 0000:02:00.0: disp: 0868: 00000000 -> 04000500
> > -nouveau 0000:02:00.0: disp: 086c: 00000000 -> 00100500
> > -nouveau 0000:02:00.0: disp: 0870: 0000e900 -> 00001e00
> > +nouveau 0000:02:00.0: disp: 086c: 00000000 -> 00100a00
> > +nouveau 0000:02:00.0: disp: 0870: 0000e900 -> 0000e800
> > nouveau 0000:02:00.0: disp: 0874: 00000000 -> ffff0000
> > nouveau 0000:02:00.0: disp: 0878: 00000000
> > nouveau 0000:02:00.0: disp: 0880: 05000000
> >
> > Looks like it's using 8bpp (0x1e00) in 32MB case but 16bpp (0xe800) in
> > 64MB case. Why?
> >
> > I get blank screen even with 64MB with video=1280x1024-8 kernel
> > parameter. Console works with video=1280x1024-16 even with 32MB stolen
> > memory.
> >
> > Conclusions: 8-bit support is broken and bpp reduction is weird.
>
> OK, well that makes a *ton* of sense (8bpp being broken).
>
> I think the idea of bpp reduction is that when you're on your shiny
> new Riva TNT with 16MB of VRAM, you don't want to go crazy allocating
> all that to a pinned fbcon - almost half of that would go to a single
> 32bpp 1600x1200 buffer, more for 1920x1200. You want to be able to
> have at least a few fb-sized buffers for backbuffer rendering, etc.
>
> The specific limits could probably use tweaking - I think they only
> consider VRAM size, not the fb size.
>
> I guess 8bpp worked prior to the change you bisected though, so we
> should figure out what we did wrong in the new code.
Yes, booted 3.7 (last working kernel) and it's running in 8bpp.
I guess that nv50_head_gamma_set() is missing something like this (from
nv_crtc_gamma_set()):
/* We need to know the depth before we upload, but it's possible to
* get called before a framebuffer is bound. If this is the case,
* mark the lut values as dirty by setting depth==0, and it'll be
* uploaded on the first mode_set_base()
*/
if (!nv_crtc->base.primary->fb) {
nv_crtc->lut.depth = 0;
return 0;
}
That's easy to add but there's no mode_set_base() for nv50 so there's no place
to add code like this:
if (nv_crtc->lut.depth != drm_fb->format->depth) {
nv_crtc->lut.depth = drm_fb->format->depth;
nv_crtc_gamma_load(crtc);
}
--
Ondrej Zary
next prev parent reply other threads:[~2017-11-17 19:25 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-17 14:26 Blank console but X11 works on MCP79 - old regression since 3.8 Ondrej Zary
[not found] ` <201711171526.01053.linux-ZCIryABCsrmttCpgsWEBFmD2FQJk+8+b@public.gmane.org>
2017-11-17 14:43 ` Ilia Mirkin
2017-11-17 14:43 ` Ilia Mirkin
[not found] ` <CAKb7UvgEyKTHK3JMrEdLrMXZP0SAPH9opDFGAWjeFCw4s+NEUA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-11-17 17:33 ` Ondrej Zary
2017-11-17 17:33 ` Ondrej Zary
[not found] ` <201711171833.52855.linux-ZCIryABCsrmttCpgsWEBFmD2FQJk+8+b@public.gmane.org>
2017-11-17 17:41 ` Ilia Mirkin
2017-11-17 17:41 ` Ilia Mirkin
[not found] ` <CAKb7Uvg9BQ6yAXXt+PbVf_c3Wzx3vkA0VdzkcO6qnRC2nJ7AOQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-11-17 19:25 ` Ondrej Zary [this message]
2017-11-17 19:25 ` Ondrej Zary
[not found] ` <201711172025.15121.linux-ZCIryABCsrmttCpgsWEBFmD2FQJk+8+b@public.gmane.org>
2017-11-17 19:37 ` Ilia Mirkin
2017-11-17 19:37 ` Ilia Mirkin
[not found] ` <CAKb7Uvjv23Po+a5cJWgYSPRDOO7UEv7o2LzD_OGLuUGT3dZ_3A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-11-17 19:52 ` Ilia Mirkin
2017-11-17 19:52 ` Ilia Mirkin
[not found] ` <CAKb7UvhoHYp5ucpO0PED0-Angzyw=Wm_V1_uGJyWTkoyYpGhjQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-11-17 20:06 ` Ondrej Zary
2017-11-17 20:06 ` Ondrej Zary
2017-11-18 5:23 ` Ilia Mirkin
2017-11-18 5:23 ` Ilia Mirkin
[not found] ` <CAKb7UvhemHsv2=uTikry0u81hhsRwdT1YFuGicn9zNTWrsT61g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-11-21 1:52 ` Ilia Mirkin
2017-11-21 1:52 ` Ilia Mirkin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201711172025.15121.linux@rainbow-software.org \
--to=linux-zciryabcsrmttcpgswebfmd2fqjk+8+b@public.gmane.org \
--cc=bskeggs-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=imirkin-FrUbXkNCsVf2fBVCVOL8/A@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.