Re: Improvements for the PS3
From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: 2018-07-19 07:45:39
Hi Geoff, Frederik, On Thu, Jul 19, 2018 at 12:40 AM Geoff Levand [off-list ref] wrote:
On 07/14/2018 09:49 AM, Fredrik Noring wrote:quoted
so I added a sleep with + msleep(10000);
I can't see where you added the sleep, but 10s seems excessive. If the real reason is the need to wait for an interrupt for ps3fb_sync_imag= e(), then waiting for 40 ms should be sufficient? Or am I missing something?
quoted
+ return 0; et voil=C3=A0, the screen came alive and the kernel panic was revealed!=
It seems
quoted
the kernel panics so fast that the PS3 frame buffer is unprepared. This=
is,
quoted
of course, very unfortunate because trying to debug the boot process wi=
thout
quoted
a screen or any other means of obtaining console text is quite difficul=
t.
We could add a fixed delay there, but I'd like to avoid waiting that long on every boot. Why don't you add a kernel module_param named something like ps3fb_delay that takes a value in milliseconds and a default of zero. See: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree=
/drivers/video/fbdev/ps3fb.c?h=3Dv4.17#n260
quoted
I suppose the problem is that it relies on interrupts for ps3fb_sync_im=
age
quoted
to regularly copy the image, hence without them the screen isn't update=
d to
quoted
show kernel panics, etc. Perhaps one way to fix that is to implement th=
e
quoted
struct fb_tile_ops API, so that the console is synchronously updated? W=
ould
quoted
that be acceptable?I'm not sure if that would work or not. Maybe Geert is more familiar wi=
th it.
That sounds like a complex solution, slowing down the console a lot.
What about letting ps3fb register a panic notifier to sync the screen, like
hyperv_fb does?
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k=
.org
In personal conversations with technical people, I call myself a hacker. Bu=
t
when I'm talking to journalists I just say "programmer" or something like t=
hat.
-- Linus Torvalds