diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2006-10-26 15:38:10 +1000 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2006-11-01 14:52:48 +1100 |
commit | 441cbd8dace80545db2ac43175ac1c097d96f75c (patch) | |
tree | fd56c377409091420b9fb159730779bb6d68b3bb /arch/powerpc/kernel/btext.c | |
parent | d5b9b787b5e1618dfe82a2c2a6972374e85b02db (diff) | |
download | blackbird-obmc-linux-441cbd8dace80545db2ac43175ac1c097d96f75c.tar.gz blackbird-obmc-linux-441cbd8dace80545db2ac43175ac1c097d96f75c.zip |
[POWERPC] Fix various offb issues
This patch fixes a few issues in offb:
- A test was inverted causing the palette hack to never work
(no device node was passed down to the init function)
- Some cards seem to have their assigned-addresses property in a random
order, thus we need to try using of_get_pci_address() first, which will
fail if it's not a PCI device, and fallback to of_get_address() in that
case. of_get_pci_address() properly parsees assigned-addresses to test
the BAR number and thus will get it right whatever the order is.
- Some cards (like GXT4500) provide a linebytes of 0xffffffff in the
device-tree which does no good. This patch handles that by using the
screen width when that happens. (Also fixes btext.c while at it).
- Add detection of the GXT4500 in addition to the GXT2000 for the
palette hacks (we use the same hack, palette is linear in register space
at offset 0x6000).
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/kernel/btext.c')
-rw-r--r-- | arch/powerpc/kernel/btext.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/powerpc/kernel/btext.c b/arch/powerpc/kernel/btext.c index 995fcef156fd..93f21aaf7c8e 100644 --- a/arch/powerpc/kernel/btext.c +++ b/arch/powerpc/kernel/btext.c @@ -182,7 +182,7 @@ int btext_initialize(struct device_node *np) prop = get_property(np, "linux,bootx-linebytes", NULL); if (prop == NULL) prop = get_property(np, "linebytes", NULL); - if (prop) + if (prop && *prop != 0xffffffffu) pitch = *prop; if (pitch == 1) pitch = 0x1000; |