Olaf Hering [Mon, 5 Jul 2004 03:23:54 +0000 (20:23 -0700)]
[PATCH] ppc32: biarch gcc support
A native powerpc64-linux gcc can not compile a ppc32 kernel properly. This
patch fixes it. It was copied from ppc64. The change to vmlinux.lds.S
fixes this error:
ld: warning: powerpc:common architecture of input file `init/built-in.o' is
incompatible with powerpc:common64 output
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Paul Mackerras [Mon, 5 Jul 2004 03:23:09 +0000 (20:23 -0700)]
[PATCH] ppc64: RTAS error log locking fix
From: Linas Vepstas <linas@austin.ibm.com>
When an RTAS call returns the "hardware error" code, we need to do another
RTAS call to find out what went wrong. Previously we weren't doing that
inside the lock that serializes RTAS calls, and thus another cpu could get
in and do another RTAS call in the meantime. This patch fixes it. This
patch also includes some minor whitespace fixes.
Signed-off-by: Linas Vepstas <linas@linas.org> Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Paul Mackerras [Mon, 5 Jul 2004 03:22:58 +0000 (20:22 -0700)]
[PATCH] ppc64: EEH fixes for POWER5 machines (2/2)
From: Linas Vepstas <linas@austin.ibm.com>
This patch fixes the usage of the slot-error-detail log buffer for the
Power5 architecture. The size of the error buffer is variable, and the
correct size to use should have been obtained from firmware. Failure to
use the correct buffer sizes will result in hard-to-debug system lockups
deep in firmware. This patch is based on an earlier patch from Ben
Herrenschmidt, which essentially did the same thing.
This patch also tweaks some of the subroutine documentation.
Signed-off-by: Linas Vepstas <linas@linas.org> Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Paul Mackerras [Mon, 5 Jul 2004 03:22:47 +0000 (20:22 -0700)]
[PATCH] ppc64: EEH fixes for POWER5 machines (1/2)
From: Linas Vepstas <linas@austin.ibm.com>
This patch allows ppc64 to boot on Power5 machines. The new Power5 PCI
bridge design requires EEH (enhanced PCI error handling) to be enabled for
all PCI devices, not just some PCI devices. In addition, this patch moves
the check for PCI to ISA bridges out of perf critical code, and into
initialization code. This also avoids race conditions where the device
type might not have been set. Also, some whitespace fixes, and some
error-message-printing beautification.
Signed-off-by: Linas Vepstas <linas@linas.org> Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Paul Mundt [Sun, 4 Jul 2004 05:01:12 +0000 (22:01 -0700)]
[PATCH] swap_unplug_io_fn() nommu update
include/linux/swap.h changed the definition for swap_unplug_io_fn() awhile
back, but mm/nommu.c was never updated to reflect the new definition.
As such, mm/nommu.c presently fails to compile. This fixes it.
Signed-off-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Jeff Garzik [Sat, 3 Jul 2004 22:12:44 +0000 (18:12 -0400)]
[libata sata_promise] update driver to use new ->qc_issue hook
The ->qc_issue hook was designed to allow drivers to override some
or all of the actual delivery of the taskfile to hardware.
In the case of Promise, the hardware has its own packet format when doing
read/write DMA commands, but uses traditional ATA taskfile registers
for other types of commands.
Jeff Garzik [Sat, 3 Jul 2004 20:26:17 +0000 (16:26 -0400)]
[libata] split ATA_QCFLAG_SG into ATA_QCFLAG_{SG,SINGLE}
In part of the effort to remove SCSI specifics from the libata
internals, remove references to cmd->use_sg. cmd->use_sg
becomes ATA_QCFLAG_SG, and !cmd->use_sg becomes ATA_QCFLAG_SINGLE.
Convenience constant ATA_QCFLAG_DMAMAP is created when the programmer
wishes to refer collectively to ATA_QCFLAG_{SG,SINGLE}.
Jeff Garzik [Sat, 3 Jul 2004 18:40:48 +0000 (14:40 -0400)]
[libata] create, and use, ->irq_clear hook
This is more conservative in general, and so applies to multiple
controllers. Specifically it attempts to address irq-related issues
on the Intel ICH5/6 hardware. On Intel ICH5/6, the BMDMA 'interrupt'
status bit will be set even on non-DMA commands, which software
(and I) did not expect.
This change clears pending interrupts once upon initialization,
and then each time ata_irq_on() is called.
Paul Jackson [Sat, 3 Jul 2004 16:55:19 +0000 (09:55 -0700)]
[PATCH] remaining cpumask const qualifiers
The remainder of the const qualifiers on cpumask ops.
My cpumask overhaul missed specifying the const qualifiers
in cpumask.h. Subsequently, Linus has added some. The following
should provide the remainder of them. It also fixes one src vs dst
variable misnaming.
Using crosstool on 2.6.7-mm5, I have built the following
arch's with the following change included:
Andrew Morton [Sat, 3 Jul 2004 03:05:24 +0000 (20:05 -0700)]
[PATCH] apm.c warning fix
arch/i386/kernel/apm.c: In function `suspend':
arch/i386/kernel/apm.c:1221: warning: implicit declaration of function `save_processor_state'
arch/i386/kernel/apm.c:1223: warning: implicit declaration of function `restore_processor_state'
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
I did some simple benchmarking (time cat linux-2.6.7-mm5/MAINTAINERS)
between 2.4 and 2.6 and I am not satisfied with what I see (It's claimed
that fbdev-2.6 is faster than 2.4). The reason for the claim:
2.4 putcs - draw small amounts of data a lot of times
2.6 putcs - draw larger amounts of data a fewer times
The way characters are drawn in 2.6 is optimal for accelerated drivers but
should also give a speed boost for drivers that rely on software drawing.
However the penaly incurred when preparing a large bitmap from a number of
small bitmaps is currently very high. This is because of the following
reasons:
1 fb_move_buf_{aligned|unaligned} uses pixmap->{out|in}buf. This is very
expensive since outbuf and inbuf methods process only a byte or 2 of data
at a time.
2 fb_sys_outbuf (the default method for pixmap->outbuf) uses memcpy().
Not a good choice if moving only a few bytes.
3 fb_move_buf_unaligned (used for fonts such as 12x22) also involves a
lot of bit operations + a lot of calls to outbuf/inbuf which
proportionately increases the penaly.
So, I thought of separating fb_move_buf_* to fb_iomove_buf_* and
fb_sysmove_buf_*.
fb_iomove_buf_* - used if drivers specified outbuf and inbuf methods
fb_sysmove_buf_* - used if drivers have no outbuf or inbuf methods
*Most, if not all drivers fall in the second category.
Below is a table that show differences between 2.4, 2.6 and 2.6 +
abovementioned changes. To reduce the effect of panning and
fillrect/copyarea, the scrollmode is forced to redraw.
1024x768-8 1024x768-16 1024x768-32
=================================================================
8x16 noaccel (2.4)
real 0m5.490s real 0m8.535s real 0m15.388s
user 0m0.001s user 0m0.000s user 0m0.001s
sys 0m5.487s sys 0m8.535s sys 0m15.386s
8x16 noaccel (2.6)
real 0m5.166s real 0m7.195s real 0m12.177s
user 0m0.001s user 0m0.000s user 0m0.000s
sys 0m5.164s sys 0m7.192s sys 0m12.176s
8x16 noaccel+patch (2.6)
real 0m3.474s real 0m5.496s real 0m10.460s
user 0m0.001s user 0m0.001s user 0m0.001s
sys 0m5.492s sys 0m5.492s sys 0m10.454s
=================================================================
8x16 accel (2.4)
real 0m4.368s real 0m9.420s real 0m22.415s
user 0m0.001s user 0m0.001s user 0m0.001s
sys 0m4.019s sys 0m9.384s sys 0m22.312s
8x16 accel (2.6)
real 0m4.296s real 0m4.339s real 0m4.391s
user 0m0.001s user 0m0.001s user 0m0.000s
sys 0m4.280s sys 0m4.336s sys 0m4.389s
8x16 accel+patch (2.6)
real 0m2.536s real 0m2.649s real 0m2.799s
user 0m0.000s user 0m0.000s user 0m0.001s
sys 0m2.536s sys 0m2.645s sys 0m2.798s
=================================================================
1024x768-8 1024x768-16 1024x768-32
=================================================================
12x22 noaccel (2.4)
real 0m7.883s real 0m12.175s real 0m21.134s
user 0m0.000s user 0m0.000s user 0m0.001s
sys 0m7.882s sys 0m12.174s sys 0m21.129s
12x22 noaccel (2.6)
real 0m10.651s real 0m13.550s real 0m21.009s
user 0m0.001s user 0m0.001s user 0m0.000s
sys 0m10.617s sys 0m13.545s sys 0m21.008s
12x22 noaccel+patch (2.6)
real 0m4.794s real 0m7.718s real 0m15.173s
user 0m0.002s user 0m0.001s user 0m0.000s
sys 0m4.792s sys 0m7.715s sys 0m15.170s
=================================================================
12x22 accel (2.4)
real 0m3.971s real 0m9.030s real 0m21.711s
user 0m0.000s user 0m0.000s user 0m0.000s
sys 0m3.950s sys 0m8.983s sys 0m21.602s
12x22 accel (2.6)
real 0m9.392s real 0m9.486s real 0m9.508s
user 0m0.000s user 0m0.000s user 0m0.001s
sys 0m9.392s sys 0m9.484s sys 0m9.484s
12x22 accel+patch (2.6)
real 0m3.570s real 0m3.603s real 0m3.848s
user 0m0.001s user 0m0.000s user 0m0.000s
sys 0m3.567s sys 0m3.600s sys 0m3.844s
=================================================================
Summary:
1 2.6 unaccelerated is a bit faster than 2.4 when handling 8x16 fonts,
with a higher speed differential at high color depths.
2 2.4 unaccelerated is a bit faster than 2.6 when handling 12x22 fonts,
with a smaller speed difference at high color depths (2.6 is actually a
bit faster than 2.4 at 32bpp).
3 2.4 rivafb accelerated suffers at high color depths, even becoming
slower than unaccelerated, possibly because of the 'draw few bytes many
times' method.
4 2.6 rivafb accelerated has similar performance at any color depth,
possibly because of 'draw lots of bytes a fewer times' method.
5 With the changes, there is a speed gain of ~1.7 seconds and ~5.7
seconds with 8x16 and 12x22 fonts respectively indepependent of the color
depth or acceleration used. The speed gain is constant but significant.
Below is a patch against 2.6.7-mm5. The effects will be very noticeable
with drivers that uses SCROLL_REDRAW, but one should still see some speed
gain even if SCROLL_YPAN/YWRAP is used.
Separated fb_sys_move_* into fb_iosys_move_* and fb_sysmove_* to reduce
penalty when constructing fb_image->data from character maps. In my
testcase (1024x768 SCROLL_REDRAW), I get a ~1.7 second advantage with 'time
cat MAINTAINERS' using 8x16 fonts and ~5.7 seconds with 12x22 fonts. The
speed gain is independent of acceleration or color depth.
Jan Kara [Sat, 3 Jul 2004 03:02:27 +0000 (20:02 -0700)]
[PATCH] Fix minor quota race
It fixes a possible race between quotaoff and prune_icache. The race could
lead to some forgotten pointers to quotas in inodes leading later to BUG
when invalidating quota structures.
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Paul Mackerras [Sat, 3 Jul 2004 03:01:53 +0000 (20:01 -0700)]
[PATCH] ppc64: set ppc_md.log_error
We have a platform-specific function pointer on ppc64 for a function to log
errors detected by the platform, but it was never getting set. This patch
sets it on pSeries (the only ppc64 platform which has an error logging
function).
Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Paul Mackerras [Sat, 3 Jul 2004 03:01:42 +0000 (20:01 -0700)]
[PATCH] ppc64: remove deprecated firmware API
From: Linas Vepstas <linas@austin.ibm.com>
This patch eliminates the usage of the deprecated ibm,fw-phb-id token for
idnetifying PCI bus heads in favor of the documented, offically supported
mechanism for obtaining this info. Please note that some versions of
firmware may return incorrect values for the ibm,fw-phb-id token.
Signed-off-by: Linas Vepstas <linas@linas.org> Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Jeff Garzik [Fri, 2 Jul 2004 20:08:29 +0000 (16:08 -0400)]
[libata] add ->qc_issue hook
This hook is used when an ATA controller wishes to use
hardware-specific methods of taskfile delivery, rather
than the standard method of bitbanging the ATA shadow
registers.
Two years ago, OGAWA Hirofumi removed some ugly code and
added a few simple tests to the FAT filesystem code,
intended to avoid recognizing non-FAT as FAT (for people who
fail to specify rootfstype=, forcing the kernel to guess).
That worked fairly well, until this year.
I have now seen a thread in Czech and a report from Holland that
involved the "FAT: bogus sectors-per-track value" error message.
The patch below removes this test again. The advantage is that
some real-life FAT filesystems can be mounted again.
The disadvantage that more non-FAT fss will be accepted as FAT.
Ferry van Steen <freaky@bananateam.nl> reports "the patch Andries
Brouwer gave me seems to work".
NTFS: 2.1.15 - Implement fs/ntfs/aops.c::ntfs_write_mst_block() which
enables the writing of page cache pages belonging to mst protected
attributes like the index allocation attribute in directory indices
and other indices like $Quota/$Q, etc. This means that the quota is
now marked out of date on all volumes rather than only on ones where
the quota defaults entry is in the index root attribute of the
$Quota/$Q index.
Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
NTFS: Update __ntfs_index_entry_mark_dirty() so it makes sure that the
page has buffers. Otherwise we could end up with a dirty page
without buffers and our set_page_dirty() would not mark the buffers
dirty when they are created and thus they would not be written out
and the dirty records would be lost.
Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
Chris Wright [Fri, 2 Jul 2004 11:48:26 +0000 (04:48 -0700)]
[PATCH] check attr updates in /proc
Any proc entry with default proc_file_inode_operations allow unauthorized
attribute updates. This is very dangerous for proc entries that rely
solely on file permissions for open/read/write.
Signed-off-by: Chris Wright <chrisw@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
NTFS: Add fs/ntfs/index.c::__ntfs_index_entry_mark_dirty() which sets all
buffers that are inside the ntfs record in the page dirty after which
it sets the page dirty. This allows ->writepage to only write the
dirty index records rather than having to write all the records in
the page. Modify fs/ntfs/index.h::ntfs_index_entry_mark_dirty() to
use this rather than __set_page_dirty_nobuffers().
Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
NTFS: Add a set_page_dirty address space operation for ntfs_m[fs]t_aops.
It is simply set to __set_page_dirty_nobuffers() to make sure that
running set_page_dirty() on a page containing mft/ntfs records will
not affect the dirty state of the page buffers.
Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
[PATCH] PCI: New PCI vendor/device ID for Radisys ENP-2611 board
Included is a patch for linux to add a PCI vendor/device ID for the
Radisys ENP-2611 board. The ENP-2611 is a 64bit/66MHz PCI board which
hosts an Intel IXP2400 network processor, has three GigE interfaces,
runs linux and generally kicks ass.
(see http://www.radisys.com/oem_products/ds-page.cfm?productdatasheetsid=1147)
Please review and apply the following patch if you find it agreeable.
This patch does not make any functional changes, but does improve
both performance and memory usage by rearranging structure elements.
The need for these changes became appearent during a code review of
the disassembly involving this structure. The memory footprint of this
structure is made smaller by grouping the byte fields next to each other.
The access of the list_head can be simplified by making it the first element
of the structure, thus avoiding a needless add-immediate without negatively
impacting any of the other accesses.
This patch fixes a null-pointer dereference when hot-plug operations
are performed on a machine that has virtual-io devices in it.
Virtual i/o devices to not have pci bridges associated with them.
It also corrects an ordering problem during hotplug remove.
This patch was previously reviewed/tested by Linda Xie, the current
rpaphp maintainer.
Roland Dreier [Fri, 2 Jul 2004 06:32:11 +0000 (23:32 -0700)]
[PATCH] PCI: Add some PCI Express constants to pci.h
This patch adds some PCI Express register constants to <linux/pci.h>
For my device, setting the Max_Read_Request_Size value in the PCI
Express device control register makes a huge performance difference.
I wanted my driver code that does this to be a little more
self-documenting than:
pci_read_config_word(mdev->pdev, cap + 8, &val);
val = (val & ~(5 << 12)) | (5 << 12);
I went a little overboard and added all the basic device register
fields. If desired I could go even further overboard and add the
link, slot and root registers as well.
This patch is based on Matthew Wilcox's patch for pciutils, corrected
for some PCI Express spec 1.0a changes.
Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
Mika Kukkonen [Fri, 2 Jul 2004 03:36:36 +0000 (20:36 -0700)]
[PATCH] Remaining sparse warnings in allnoconfig
Attached is a smallish patch for couple trivial sparse warnings in
allnoconfig build and more importantly an "excuses" text file explaining
why the rest have not been fixed.
Basically all of them (with the exception of the one in Andrews tree) need
some serious re-engineering.
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
- Remove support for NEC Eagle which is a system that was produced in
almost zero numbers.
- Sort out the MV-64340 code a little more.
- Fix computation of interrupts masks for the upper 32 interrupts of the
MV-64340.
- Gas was producing bad break codes for MIPS32/MIPS64 processors for a while.
Add a workaround to the kernel trap handler.
- Rewrite RM7000 cache code in a way where it's hopefully easier to read.
- Handle 64-bit pointers right for the BCM1250.
- Try to share code for GT-64240 and MV-64340.
- Fix RM9000 definition of _CACHE_CACHABLE_NONCOHERENT.
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Paul King [Fri, 2 Jul 2004 03:34:52 +0000 (20:34 -0700)]
[PATCH] Telephony Driver ISAPNP fix
I recently got an ISA Phonejack card and quickly found it wouldn't work
with a stock 2.6.7 kernel.
So found this bug in the ISAPNP part of the code, throughout the code it
use it's own data structure to reference it's base IO address, in the
ISAPNP code this was not being populated with any value hence it can't talk
to the card and so the driver fails.
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
zfcp host adapter changes:
- Exploit FC transport class and autoselect SCSI_FC_ATTRS for zfcp.
- Fix acl download to zfcp controller.
- Change message loglevels to make zfcp less noisy.
- Don't wait for SBAL to finish for command aborts after a timeout
and for logical unit or target resets.
- Force reopen of port if link test failed.
- Fix race between qdio_shutdown and do_QDIO.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
From: Ursula Braun-Krahl <braunu@de.ibm.com>
From: Frank Pavlic <pavlic@de.ibm.com>
From: Thomas Spatzier <tspat@de.ibm.com>
From: Peter Tiedemann <ptiedem@de.ibm.com>
s390 network driver changes:
- ctc: replace snprintf by strlcpy.
- lcs: change info text for lcs cards from "OSA2 card" to "OSA LCS card".
- lcs: fix alignment of lcs_cmd structure to get multicast pings working.
- lcs: first call in_dev_put then register multicast addresses.
- netiucv: remove unused device timer and unused flags field.
- netiucv: include interrupt type in pathid mismatch message.
- qeth: don't start a new kernel thread for every new ip address.
- qeth: fix IP assist command sequence numbers.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
dasd device driver changes:
- Fix calculation of number of idal words needed for a channel program.
- Fix race in i/o termination after request timeout.
- Fix race in state change interrupt handling.
- Fix call to BLKPG ioctl in dasd_destroy_partitions.
- Integrate irb into dasd request to avoid kmalloc in the interrupt handler.
- Store build clock for error recovery requests.
- Remove unused cpu variable from dasd_ext_handler.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Common i/o layer changes:
- Consolidate store channel subsystem characteristics from its three
users (css, cmf and qdio) to a single location.
- Always use new stipd format and move creation of global path group
to channel subsystem init function. Add dummy init_IRQ to setup.c
and remove requestirq.c.
- Remove bogus CHPID_LONGS define.
- Add more magic to catch chpids coming online again without generating
machine checks.
- Fix check for unsolicited interrupts. Deferred cc=1 indicates a
solicited interrupt.
- Fix progress indication in qdio summary bytes to avoid loosing interrupts.
- Rename console_device to console_devno to avoid naming conflict.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
From: Arnd Bergmann <arndb@de.ibm.com>
From: Christian Bornträger <cborntra@de.ibm.com>
From: Michael Holzheu <holzheu@de.ibm.com>
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
s390 core changes:
- Fix cpu_idle loop if /proc/sys/kernel/hz_timer is set.
- Store correct trap indication on 64 bit for call to do_debugger_trap
in the single stepped svc code.
- Avoid the use of alloca in the debug feature.
- Remove extraneous includes of linux/version.h.
- Regenerate default configuration.
- Mention eServer z890 in Kconfig help text.
- Prevent gcc 3.4 from removing statically defined per cpu variables.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
The radix tree functions __lookup and __lookup_tag uses (1 << shift) in
their index calculations. On 64 bit systems the shift can be bigger than
32. The shift of an integer by more than 32 bits evaluates to zero which
causes the lookup to fail.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This is ES7000 sub arch update. The tiny patch below fixes a bug that
results in boot problem on all ES7000 partitions with numbers higher than
0. Currently, target_cpus() returns incorrect cpumask value since it
indexes bits by the logical APIC ID, not by CPU number. The patch affects
only ES7000 sub arch. It was tested extensively on the system with
multiple partitions.
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
- Update display->vrows when fbset changes certain fields in var (such as
color depth) but without changing the display resolution. This might
produce concommitant changes in other fields such as and especially
var->yres_virtual.
- Clear the FBINFO_MISC_MODECHANGEUSER flag _before_ issuing a
notifier_call_chain(). Clearing it after the notifier_call_chain() will
cause fbcon to go into an infinite loop.
As we've discussed in another thread, below is a diff that will do a set_par()
as late as possible when there is KD_TEXT<->KD_GRAPHICS switch. The set_par()
will be forced in fbcon_resize() instead.
Not sure if this has repercussions with the other drivers, but this patch
fixed the X nv driver hanging when switching to the console. (I believe the
crash is actually caused by an early set_par() -- while in fbcon_blank.
Removing the set_par in fbcon_blank fixed the hang but caused cursor sprite
and display corruption).
1 Seems that nVidia hardware has a limit on clipping coordinates that is
also dependent on the color depth of the framebuffer.
2.From Pawel Goleniowski <pawelg@dabrowa.pl>: Fix for wrong colors at 16bpp
(RGB565). The fix has been submitted several times in lkml and this list
but was never applied.
3 Search all I2C/DDC busses for the EDID block instead of just the first
bus.
4 Updated request_mem_region/release_mem_region to
pci_request_regions/pci_release_regions.