From: Helge Deller <deller@gmx.de>
To: John David Anglin <dave@hiauly1.hia.nrc.ca>
Cc: gmsoft@tuxicoman.be, kraxel@goldbach.in-berlin.de,
dave.anglin@nrc-cnrc.gc.ca, linux-parisc@vger.kernel.org
Subject: Re: X won't start with VisEG and 2.6.22.19
Date: Sun, 24 Aug 2008 16:38:26 +0200 [thread overview]
Message-ID: <48B17262.3010206@gmx.de> (raw)
In-Reply-To: <20080824140930.309DD431A@hiauly1.hia.nrc.ca>
John David Anglin wrote:
>>>>> As you can see, the main video parameters are OK, while the
>>>>> monitor/modeline values (pixclock, left_margin, right_margin,
>>>>> upper_margin, lower_margin, hsync_len, vsync_len, sync and vmode)
>>>>> were changed to zero.
>
> The skeletonfb.c code makes it very clear that the only place where
> a mode can be changed is in xxxfb_check_var:
>
> * Exception to the above rule: Some drivers have a fixed mode, ie,
> * the hardware is already set at boot up, and cannot be changed. In
> * this case, it is more acceptable that this function just return
> * a copy of the currently working var (info->var). Better is to not
> * implement this function, as the upper layer will do the copying
> * of the current var for you.
> *
> * Note: This is the only function where the contents of var can be
> * freely adjusted after the driver has been registered. If you find
> * that you have code outside of this function that alters the content
> * of var, then you are doing something wrong. Note also that the
> * contents of info->var must be left untouched at all times after
> * driver registration.
>
> As xxxfb_check_var is not implemented in stifb.c, it must be the upper
> level that is changing the parameters. Possibly, something to try is
> the following:
>
> * However, even if your hardware does not support mode changing,
> * a set_par might be needed to at least initialize the hardware to
> * a known working state, especially if it came back from another
> * process that also modifies the same hardware, such as X.
> *
> * If this is the case, a combination such as the following should work:
> *
> * static int xxxfb_check_var(struct fb_var_screeninfo *var,
> * struct fb_info *info)
> * {
> * *var = info->var;
> * return 0;
> * }
> *
> * static int xxxfb_set_par(struct fb_info *info)
> * {
> * init your hardware here
> * }
Yes, exactly that would be the patch to make it work.
>> But stifb and a few other fb drivers are not able to set sync timings,
>> and for those X behaves IMHO wrong. For those X should assume that the
>> timings set by the driver are correct as long as the resolution and bit
>> depth are correct.
>>
>> This is what happens:
>> 1. In xorg.conf you configured a pixel resolution and bpp (e.g.
>> 1280x1024-16)
>> 2. In xorg.conf you might have configured a monitor (with or without
>> some timing/sync informations)
>> 3. X reads those config parameters and try to set them through kernel calls.
>> 4. Kernel returns that it now has set up the mode (1280x1024-16) and has
>> set up the timings. Since stifb does not support timing modes, it
>> returns zeros in those values (IMHO thats correct behavior if you look
>> at the comments in skeletonfb.c)
>> 5. X verifies the returned values and aborts since the timing values are
>> different to what it fed to the kernel, although the resolution
>> (1280x1024-16) is correctly set and returned like that.
>>
>> I think X is right in noticing that the timing/sync values are not what
>> it expected. Nevertheless, I would prefer that it would just warn (in
>> the fbdev drivers only!) that the timings are incorrect instead of
>> aborting completely. X is right to abort, if the pixel resolution and
>> bpp can not be set.
>> So, X's tests should be like that:
>> a) resolution and bpp different -> abort
>> b) resolution and bpp correct, but sync timings/monitor timings
>> different -> warn but continue
>>
>> Right now X's tests are:
>> resolution, bpp or sync/monitor timings different -> abort.
>>
>> Of course it's easily possible to change stifb in that it just takes any
>> timing values, but that is not how it is documented in skeletonfb.
>
> My sense in looking at the PR is that the freedesktop people won't
> accept this approach.
Sadly I have the same feeling.
But just scan yourself through the kernel fb drivers and look how many
drivers haven't implemented this workaround with check_var and set_par.
All those fb drivers are probably broken due to this X behavior.
Helge
next prev parent reply other threads:[~2008-08-24 14:38 UTC|newest]
Thread overview: 185+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <no.id>
1999-06-10 18:32 ` [parisc-linux] booting problems Stan Sieler
1999-06-21 17:03 ` Hack to head.S John David Anglin
1999-06-21 19:38 ` John David Anglin
2000-10-11 20:11 ` [parisc-linux] __hp9000s700 predefined John David Anglin
2000-11-09 17:39 ` testcase for hppa64 gcc bug John David Anglin
2000-12-06 4:12 ` Jeffrey A Law
2000-12-06 4:14 ` John David Anglin
2000-12-06 5:28 ` Alan Modra
2001-02-01 1:19 ` [parisc-linux] " Jeffrey A Law
2000-11-09 23:57 ` abort in eliminate_regs compiling glob.c from glibc John David Anglin
2000-11-10 0:36 ` Alan Modra
2000-11-10 2:50 ` John David Anglin
2000-11-14 21:40 ` John David Anglin
2001-01-27 20:12 ` Richard Henderson
2000-12-14 0:48 ` pa reload problem John David Anglin
2000-12-14 3:43 ` Jeffrey A Law
2000-12-14 16:40 ` John David Anglin
2000-12-27 20:08 ` Jeffrey A Law
2000-12-28 5:18 ` John David Anglin
2000-12-16 20:38 ` [parisc-linux] PATCH: Adjust label usage count for new insns [was Re: pa reload problem] John David Anglin
2001-01-02 9:51 ` Jeffrey A Law
2002-01-07 18:39 ` [parisc-linux] PIC assembly John David Anglin
2002-01-09 1:05 ` Grant Grundler
2002-01-11 20:45 ` Grant Grundler
2002-07-15 17:21 ` [parisc-linux] compiling kernels with gcc-3.1 John David Anglin
2002-07-15 17:32 ` Randolph Chung
2002-07-15 17:43 ` Matthew Wilcox
2002-07-15 18:18 ` John David Anglin
2002-07-16 9:02 ` joel.soete
2002-07-16 17:01 ` [parisc-linux] gcc-3.[02] alignment problem John David Anglin
2002-07-16 17:01 ` John David Anglin
2002-07-16 17:22 ` Randolph Chung
2002-07-16 17:24 ` Matthew Wilcox
2002-07-17 3:19 ` Randolph Chung
2002-07-17 3:19 ` Randolph Chung
2002-07-16 17:24 ` Matthew Wilcox
2002-07-16 20:21 ` Richard Henderson
2002-07-16 20:21 ` Richard Henderson
2002-07-16 17:22 ` Randolph Chung
2002-07-16 17:27 ` [parisc-linux] gcc-3.2 bootstrap? John David Anglin
2003-01-31 21:27 ` [parisc-linux] PATCH hppa ordered load absolute ops John David Anglin
2003-01-31 21:27 ` John David Anglin
2003-08-31 19:10 ` [parisc-linux] Re: [glibc] tststatic failues, reduced to simp le testcase John David Anglin
2003-08-31 20:22 ` Carlos O'Donell
2003-08-31 20:47 ` John David Anglin
2003-09-01 6:05 ` Carlos O'Donell
2003-12-15 22:05 ` [parisc-linux] dlopen failed on 'libthread_db.so.1' - /lib/libthread_db.so.1: undefined symbol: ps_pglobal_lookup John David Anglin
2003-12-17 15:32 ` [parisc-linux] " Carlos O'Donell
2003-12-17 15:53 ` Carlos O'Donell
2003-12-17 16:43 ` [parisc-linux] Re: dlopen failed on 'libthread_db.so.1' - John David Anglin
2003-12-17 18:35 ` Carlos O'Donell
2003-12-18 0:21 ` John David Anglin
2003-12-18 0:32 ` John David Anglin
2003-12-18 0:42 ` [parisc-linux] Re: dlopen failed on 'libthread_db.so.1' -g John David Anglin
2004-01-07 21:14 ` [parisc-linux] [Testers wanted] New glibc with profiling fixed John David Anglin
2004-01-07 21:14 ` John David Anglin
2004-08-31 4:23 ` [parisc-linux] Re: linux signal race fixes, patches against hppa tree, please test John David Anglin
2004-08-31 20:43 ` [parisc-linux] Re: linux signal race fixes, patches against hppa tree, please te John David Anglin
2004-09-01 20:08 ` John David Anglin
2004-09-11 7:24 ` [parisc-linux] Another SIGSEGV, this time in /bin/sh John David Anglin
2004-09-13 15:01 ` [parisc-linux] " Carlos O'Donell
2004-09-02 6:29 ` [parisc-linux] Re: linux signal race fixes, patches against hppa tree, please te Carlos O'Donell
2005-03-05 21:53 ` [parisc-linux] Re: Comments? John David Anglin
2005-03-06 0:22 ` John David Anglin
2005-03-08 17:32 ` Carlos O'Donell
2005-03-08 17:44 ` John David Anglin
2005-03-08 17:54 ` Carlos O'Donell
2005-03-08 19:02 ` John David Anglin
2005-03-08 21:08 ` [parisc-linux] OPD's on hppa-linux, and what to do about __cffc's fragility Carlos O'Donell
2005-03-08 21:48 ` [parisc-linux] " John David Anglin
2005-03-08 21:52 ` John David Anglin
2005-03-08 22:25 ` Alan Modra
2005-03-10 15:31 ` Carlos O'Donell
2005-03-10 22:27 ` Alan Modra
2005-03-11 18:05 ` [parisc-linux] Solution to OPD's in hppa-linux, including a transition plan? Carlos O'Donell
2005-03-12 0:49 ` [parisc-linux] " John David Anglin
[not found] ` <20050315220842.GC22872@baldric.uwo.ca>
[not found] ` <20050315224142.GC21148@bubble.modra.org>
2005-03-16 20:36 ` Carlos O'Donell
2005-03-16 23:54 ` Alan Modra
[not found] ` <200503160410.j2G4ALcu021219@hiauly1.hia.nrc.ca>
2005-03-16 21:37 ` Carlos O'Donell
2005-03-17 3:51 ` John David Anglin
2005-07-16 2:55 ` [parisc-linux] Re: Non-inline math, and inline math broken, GCC to blame? (1 hppa tls toolchain regression) John David Anglin
2005-07-16 16:16 ` Carlos O'Donell
2005-07-16 17:37 ` John David Anglin
2005-07-16 17:54 ` John David Anglin
2005-07-16 19:41 ` Carlos O'Donell
2005-07-16 19:56 ` John David Anglin
2005-07-16 19:15 ` Carlos O'Donell
2005-08-16 3:32 ` [parisc-linux] Re: gsyprf11 and 2.6.13-rc3-pa1 John David Anglin
2005-12-26 19:58 ` [parisc-linux] strtold John David Anglin
2006-01-07 21:07 ` [parisc-linux] strtold Carlos O'Donell
2006-01-07 22:41 ` John David Anglin
2006-01-07 23:42 ` Carlos O'Donell
2006-01-07 23:49 ` John David Anglin
2006-01-07 23:56 ` John David Anglin
2006-01-08 4:28 ` Grant Grundler
2005-12-26 21:54 ` [parisc-linux] Re: nscd: error while loading shared libraries: unexpected reloc type 0x42 John David Anglin
2006-01-07 23:53 ` Carlos O'Donell
2006-01-08 0:16 ` [parisc-linux] Re: nscd: error while loading shared libraries: John David Anglin
2006-02-04 23:41 ` [parisc-linux] long double on hppa64-*-linux* John David Anglin
2006-02-05 0:45 ` Grant Grundler
2006-02-05 3:42 ` John David Anglin
2006-03-12 20:15 ` [parisc-linux] Re: gcj can't make shared libs on hppa John David Anglin
2006-03-13 14:24 ` Carlos O'Donell
2006-03-13 20:50 ` John David Anglin
2006-06-09 0:56 ` [parisc-linux] User space locks -- what's wrong John David Anglin
2007-01-03 1:41 ` [parisc-linux] Re: PA8800 Status (Happy New Year) John David Anglin
2007-01-03 4:24 ` John David Anglin
2007-02-17 20:32 ` [parisc-linux] Re: call_init in libc6 2.3.6.ds1-11 John David Anglin
2007-09-04 1:19 ` [parisc-linux] 2.6.23-rc5 warnings John David Anglin
2008-08-23 16:48 ` X won't start with VisEG and 2.6.22.19 John David Anglin
2008-08-24 10:35 ` Helge Deller
2008-08-24 14:09 ` John David Anglin
2008-08-24 14:38 ` Helge Deller [this message]
2009-05-03 0:48 ` Kernel Panic during init with 2.6.29-gb609308 (fresh clone of git John David Anglin
2009-08-23 21:21 ` Reproducible random python crash John David Anglin
2009-12-23 22:18 ` futex wait failure John David Anglin
2009-12-24 2:22 ` Carlos O'Donell
2009-12-28 18:59 ` John David Anglin
2009-12-29 13:47 ` Helge Deller
2009-12-29 15:00 ` John David Anglin
2009-12-30 10:49 ` Randolph Chung
2009-12-31 18:14 ` Carlos O'Donell
2009-12-31 19:11 ` Helge Deller
2010-01-01 3:49 ` John David Anglin
2010-01-01 5:02 ` John David Anglin
2010-01-04 16:27 ` Helge Deller
2010-01-04 17:16 ` Carlos O'Donell
2010-01-04 18:11 ` John David Anglin
2010-01-04 18:29 ` John David Anglin
2010-01-04 20:51 ` Helge Deller
2010-01-04 21:39 ` John David Anglin
2010-01-05 22:27 ` John David Anglin
2010-01-06 23:33 ` John David Anglin
2010-01-07 16:13 ` Helge Deller
2010-01-08 16:37 ` John David Anglin
2010-01-08 21:17 ` John David Anglin
2010-02-02 21:16 ` Helge Deller
2010-02-03 3:44 ` John David Anglin
2010-02-03 22:03 ` Helge Deller
2010-03-07 17:12 ` John David Anglin
2010-03-07 20:32 ` John David Anglin
2010-03-11 3:20 ` John David Anglin
2010-03-11 13:54 ` Kyle McMartin
2010-03-11 22:40 ` John David Anglin
2010-03-11 23:32 ` John David Anglin
2010-03-13 2:06 ` John David Anglin
2010-03-15 1:10 ` John David Anglin
2010-03-16 11:49 ` Carlos O'Donell
2010-03-21 18:19 ` John David Anglin
2010-03-22 14:26 ` Carlos O'Donell
2010-03-23 21:32 ` Carlos O'Donell
2010-03-23 22:23 ` John David Anglin
2010-02-03 22:44 ` Carlos O'Donell
2010-01-08 21:18 ` Helge Deller
2010-01-08 21:43 ` John David Anglin
2010-01-08 21:44 ` Carlos O'Donell
2010-01-08 21:44 ` Carlos O'Donell
2010-01-08 21:56 ` Kyle McMartin
2010-01-08 22:28 ` John David Anglin
2010-01-08 22:33 ` Kyle McMartin
2010-01-08 22:31 ` John David Anglin
2010-01-16 23:17 ` Helge Deller
2010-01-18 15:50 ` John David Anglin
2010-01-18 20:44 ` John David Anglin
2010-01-18 20:49 ` Carlos O'Donell
2010-01-29 17:53 ` Carlos O'Donell
2010-01-31 21:14 ` Helge Deller
2010-01-01 0:26 ` John David Anglin
2010-02-01 12:58 ` Carlos O'Donell
2010-02-01 15:47 ` John David Anglin
2010-02-01 19:02 ` Helge Deller
2010-02-01 19:11 ` John David Anglin
2010-02-01 21:36 ` Carlos O'Donell
2010-01-04 17:32 ` John David Anglin
2010-01-04 18:02 ` Carlos O'Donell
2010-01-04 18:22 ` John David Anglin
2010-01-04 21:24 ` Helge Deller
2009-12-31 22:38 ` John David Anglin
2010-01-01 0:36 ` John David Anglin
2008-07-28 17:09 Cupertino test ring problem? Rick Jones
2008-07-28 17:15 ` Matthew Wilcox
2008-07-29 20:03 ` Rick Jones
2008-07-29 20:25 ` James Bottomley
2008-07-29 20:57 ` Rick Jones
2008-07-29 22:09 ` James Bottomley
2008-07-31 5:15 ` Grant Grundler
2008-07-31 17:26 ` Rick Jones
2008-08-01 23:31 ` Grant Grundler
2008-08-04 8:59 ` Thibaut VARENE
2008-08-06 1:42 ` X won't start with VisEG and 2.6.22.19 John David Anglin
2008-08-06 5:11 ` Guy Martin
2008-08-14 20:54 ` Helge Deller
2008-08-14 21:24 ` John David Anglin
2008-08-15 15:09 ` Helge Deller
2008-08-23 14:49 ` John David Anglin
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=48B17262.3010206@gmx.de \
--to=deller@gmx.de \
--cc=dave.anglin@nrc-cnrc.gc.ca \
--cc=dave@hiauly1.hia.nrc.ca \
--cc=gmsoft@tuxicoman.be \
--cc=kraxel@goldbach.in-berlin.de \
--cc=linux-parisc@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox