* XVR-500 additional pci ids
@ 2010-02-26 1:55 Dennis Gilmore
2010-02-26 5:58 ` David Miller
` (21 more replies)
0 siblings, 22 replies; 23+ messages in thread
From: Dennis Gilmore @ 2010-02-26 1:55 UTC (permalink / raw)
To: sparclinux
[-- Attachment #1: Type: text/plain, Size: 425 bytes --]
While testing Fedora 12 install media I noticed that the video card in my
SB2000 wasnt working. after doing a serial console install i decided to dig
into why. It seems that the pci id for it is missing. there was a propossed
patch back in 2008 http://marc.info/?l=linux-sparc&m=122816564110952&w=2 Im
doing a test build now but was wondering if there was some reson that the
patch is not accepted.
Dennis
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: XVR-500 additional pci ids
2010-02-26 1:55 XVR-500 additional pci ids Dennis Gilmore
@ 2010-02-26 5:58 ` David Miller
2010-02-27 9:05 ` Frans van Berckel
` (20 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: David Miller @ 2010-02-26 5:58 UTC (permalink / raw)
To: sparclinux
From: Dennis Gilmore <dennis@ausil.us>
Date: Thu, 25 Feb 2010 19:55:15 -0600
> While testing Fedora 12 install media I noticed that the video card in my
> SB2000 wasnt working. after doing a serial console install i decided to dig
> into why. It seems that the pci id for it is missing. there was a propossed
> patch back in 2008 http://marc.info/?l=linux-sparc&m\x122816564110952&w=2 Im
> doing a test build now but was wondering if there was some reson that the
> patch is not accepted.
I'll take care of this, it just slipped through the cracks, that's
all.
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: XVR-500 additional pci ids
2010-02-26 1:55 XVR-500 additional pci ids Dennis Gilmore
2010-02-26 5:58 ` David Miller
@ 2010-02-27 9:05 ` Frans van Berckel
2010-02-27 9:59 ` David Miller
` (19 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: Frans van Berckel @ 2010-02-27 9:05 UTC (permalink / raw)
To: sparclinux
Reading the Sparc64 OpenSolaris xwindow forum list last year about
closed drivers pointed up a open BSD driver for Wildcat fb cards.
http://www.openbsd.org/cgi-bin/cvsweb/xenocara/driver/xf86-video-wildcatfb/
Did you know this BSD sources are available? Are you able to port it
into the kernel?
Thanks,
Frans van Berckel
On Thu, 2010-02-25 at 21:58 -0800, David Miller wrote:
> From: Dennis Gilmore <dennis@ausil.us>
> Date: Thu, 25 Feb 2010 19:55:15 -0600
>
> > While testing Fedora 12 install media I noticed that the video card in my
> > SB2000 wasnt working. after doing a serial console install i decided to dig
> > into why. It seems that the pci id for it is missing. there was a propossed
> > patch back in 2008 http://marc.info/?l=linux-sparc&m\x122816564110952&w=2 Im
> > doing a test build now but was wondering if there was some reson that the
> > patch is not accepted.
>
> I'll take care of this, it just slipped through the cracks, that's
> all.
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: XVR-500 additional pci ids
2010-02-26 1:55 XVR-500 additional pci ids Dennis Gilmore
2010-02-26 5:58 ` David Miller
2010-02-27 9:05 ` Frans van Berckel
@ 2010-02-27 9:59 ` David Miller
2010-03-02 8:20 ` Frans van Berckel
` (18 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: David Miller @ 2010-02-27 9:59 UTC (permalink / raw)
To: sparclinux
From: Frans van Berckel <fberckel@xs4all.nl>
Date: Sat, 27 Feb 2010 10:05:26 +0100
> Reading the Sparc64 OpenSolaris xwindow forum list last year about
> closed drivers pointed up a open BSD driver for Wildcat fb cards.
>
> http://www.openbsd.org/cgi-bin/cvsweb/xenocara/driver/xf86-video-wildcatfb/
>
> Did you know this BSD sources are available? Are you able to port it
> into the kernel?
You should be able to use the plain ole' 'fbdev' driver under X.
It can drive any card that has a drivers/video driver under Linux.
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: XVR-500 additional pci ids
2010-02-26 1:55 XVR-500 additional pci ids Dennis Gilmore
` (2 preceding siblings ...)
2010-02-27 9:59 ` David Miller
@ 2010-03-02 8:20 ` Frans van Berckel
2010-03-11 2:24 ` David Miller
` (17 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: Frans van Berckel @ 2010-03-02 8:20 UTC (permalink / raw)
To: sparclinux
Sorry, i did link the wrong BSD sources. I wasn't looking for Xorg
support yet. But I wanne get my XVR-1200 supported by the kernel.
For what I found out this BSD kernel driver does. Because they did
extend the acceleration code to handle XVR-600 and XVR-1200. It's based
on the driver you created. The sources are available here.
http://www.openbsd.org/cgi-bin/cvsweb/src/sys/arch/sparc64/dev/ifb.c
Now I know you are very busy these day's, so leave it on for now. Or if
someone els wanna look into it?
Thanks,
Frans van Berckel
On Sat, 2010-02-27 at 01:59 -0800, David Miller wrote:
> From: Frans van Berckel <fberckel@xs4all.nl>
> Date: Sat, 27 Feb 2010 10:05:26 +0100
>
> > Reading the Sparc64 OpenSolaris xwindow forum list last year about
> > closed drivers pointed up a open BSD driver for Wildcat fb cards.
> >
> > http://www.openbsd.org/cgi-bin/cvsweb/xenocara/driver/xf86-video-wildcatfb/
> >
> > Did you know this BSD sources are available? Are you able to port it
> > into the kernel?
>
> You should be able to use the plain ole' 'fbdev' driver under X.
>
> It can drive any card that has a drivers/video driver under Linux.
>
> --
> To unsubscribe from this list: send the line "unsubscribe sparclinux" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: XVR-500 additional pci ids
2010-02-26 1:55 XVR-500 additional pci ids Dennis Gilmore
` (3 preceding siblings ...)
2010-03-02 8:20 ` Frans van Berckel
@ 2010-03-11 2:24 ` David Miller
2010-03-11 8:30 ` Frans van Berckel
` (16 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: David Miller @ 2010-03-11 2:24 UTC (permalink / raw)
To: sparclinux
From: Frans van Berckel <fberckel@xs4all.nl>
Date: Tue, 02 Mar 2010 09:20:39 +0100
> But I wanne get my XVR-1200 supported by the kernel.
Can you get me "prtconf -pv" or "lspci" output with the card
installed?
I think just adding the matching PCI device ID to the driver should
allow the card to work just fine.
So if someone can get me the PCI device ID for these other XVR-*
cards, I can add them to the driver.
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: XVR-500 additional pci ids
2010-02-26 1:55 XVR-500 additional pci ids Dennis Gilmore
` (4 preceding siblings ...)
2010-03-11 2:24 ` David Miller
@ 2010-03-11 8:30 ` Frans van Berckel
2010-03-11 16:16 ` David Miller
` (15 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: Frans van Berckel @ 2010-03-11 8:30 UTC (permalink / raw)
To: sparclinux
[-- Attachment #1: Type: text/plain, Size: 583 bytes --]
Thanks for asking. Attaching XVR 1000 (SUNW,gfb) prtconf -pv.
Frans van Berckel
On Wed, 2010-03-10 at 18:24 -0800, David Miller wrote:
> From: Frans van Berckel <fberckel@xs4all.nl>
> Date: Tue, 02 Mar 2010 09:20:39 +0100
>
> > But I wanne get my XVR-1200 supported by the kernel.
>
> Can you get me "prtconf -pv" or "lspci" output with the card
> installed?
>
> I think just adding the matching PCI device ID to the driver should
> allow the card to work just fine.
>
> So if someone can get me the PCI device ID for these other XVR-*
> cards, I can add them to the driver.
[-- Attachment #2: xvr-1000-prtconf-pv.txt --]
[-- Type: text/plain, Size: 36401 bytes --]
System Configuration: Sun Microsystems sun4u
Memory size: 2048 Megabytes
System Peripherals (PROM Nodes):
Node 0xf0029b10
.node: f0029b10
banner-name: 'Sun Blade 2000/1000 (UltraSPARC-III+) '
idprom: 01830003.ba5b86cb.11192003.5b86cb10.00000000.00000000.00000000.00000000
model: 'SUNW,501-6230'
energystar-v3:
scsi-initiator-id: 00000007
stick-frequency: 004c4b40
clock-frequency: 08a48640
breakpoint-trap: 0000007f
#size-cells: 00000002
name: 'SUNW,Sun-Blade-1000'
device_type: 'gptwo'
Node 0xf002ce58
.node: f002ce58
name: 'packages'
Node 0xf00485cc
.node: f00485cc
name: 'SUNW,builtin-drivers'
Node 0xf0053e1c
.node: f0053e1c
disk-write-fix:
name: 'deblocker'
Node 0xf00542f8
.node: f00542f8
name: 'disk-label'
Node 0xf0054c30
.node: f0054c30
iso6429-1983-colors:
name: 'terminal-emulator'
Node 0xf0058be8
.node: f0058be8
name: 'obp-tftp'
Node 0xf0060958
.node: f0060958
source: '/flashprom:'
name: 'dropins'
Node 0xf007d324
.node: f007d324
name: 'kbd-translator'
Node 0xf002cec8
.node: f002cec8
bootargs: 00
bootpath: '/pci@8,600000/SUNW,qlc@4/fp@0,0/disk@w21000004cfa36c64,0:a'
mmu: fff73a78
memory: fff73c78
stdout: fff19420
stdin: fff059c0
stdout-#lines: 00000022
name: 'chosen'
Node 0xf002cf34
.node: f002cf34
version: 'OBP 4.5.21 2003/02/24 17:23'
model: 'SUNW,4.5'
aligned-allocator:
relative-addressing:
name: 'openprom'
Node 0xf002cfc4
.node: f002cfc4
name: 'client-services'
Node 0xf002d06c
.node: f002d06c
test-args:
diag-passes: '1'
enclosure-type: '540-3256-15'
banner-name: 'Sun Blade 2000/1000'
energystar-enabled?: 'true'
pcia-probe-list: '4,1'
pcib-probe-list: '5,6,1,2,3,4'
local-mac-address?: 'false'
fcode-debug?: 'false'
silent-mode?: 'false'
scsi-initiator-id: '7'
oem-logo:
oem-logo?: 'false'
oem-banner:
oem-banner?: 'false'
ansi-terminal?: 'true'
screen-#columns: '80'
screen-#rows: '34'
ttyb-rts-dtr-off: 'false'
ttyb-ignore-cd: 'true'
ttya-rts-dtr-off: 'false'
ttya-ignore-cd: 'true'
ttyb-mode: '19200,8,n,1,-'
ttya-mode: '9600,8,n,1,-'
output-device: 'screen:r1440x900x60'
input-device: 'keyboard'
load-base: '16384'
auto-boot?: 'true'
boot-command: 'boot'
diag-file:
diag-device: 'disk net'
boot-file:
boot-device: 'disk cdrom net'
use-nvramrc?: 'false'
nvramrc:
security-mode: 'none'
security-password:
security-#badlogins: '0'
#power-cycles: '164'
diag-script: 'none'
diag-level: 'min'
diag-switch?: 'false'
error-reset-recovery: 'boot'
name: 'options'
Node 0xf002d0dc
.node: f002d0dc
screen: '/upa@8,480000/SUNW,gfb@0,0'
mouse: '/pci@8,700000/usb@5,3/mouse@2'
keyboard: '/pci@8,700000/usb@5,3/keyboard@1'
disk1: '/pci@8,600000/SUNW,qlc@4/fp@0,0/disk@2,0'
disk0: '/pci@8,600000/SUNW,qlc@4/fp@0,0/disk@1,0'
disk: '/pci@8,600000/SUNW,qlc@4/fp@0,0/disk@1,0'
scsi: '/pci@8,600000/SUNW,qlc@4'
net: '/pci@8,700000/network@5,1:'
cdrom: '/pci@8,700000/scsi@6/disk@6,0:f'
tape: '/pci@8,700000/scsi@6,1/tape@4,0'
tape1: '/pci@8,700000/scsi@6,1/tape@5,0'
tape0: '/pci@8,700000/scsi@6,1/tape@4,0'
beep: '/pci@8,700000/ebus@5/beep@1,32'
floppy: '/pci@8,700000/ebus@5/floppy'
ttyb: '/pci@8,700000/ebus@5/serial@1,400000:b'
ttya: '/pci@8,700000/ebus@5/serial@1,400000:a'
name: 'aliases'
Node 0xf003e110
.node: f003e110
reg: 00000000.00000000.00000000.80000000
available: 00000000.7fe6e000.00000000.0001e000.00000000.7fda8000.00000000.000b6000.00000000.7fd94000.00000000.00010000.00000000.7fd82000.00000000.0000e000.00000000.7f000000.00000000.00c7e000.00000000.00000000.00000000.7effe000
name: 'memory'
Node 0xf003e6f4
.node: f003e6f4
translations: 00000000.fff70000.00000000.00010000.80000000.7ff700b6.00000000.fff64000.00000000.0000c000.80000000.7ff580b6.00000000.fff5e000.00000000.00002000.800007ff.fff8008e.00000000.fff4c000.00000000.00002000.800007ff.fff8008e.00000000.fff4a000.00000000.00002000.800007ff.fff8008e.00000000.fff48000.00000000.00002000.800007ff.ee00208e.00000000.fff46000.00000000.00002000.80000000.7ff540b6.00000000.fff44000.00000000.00002000.800007fe.7e30008e.00000000.fff42000.00000000.00002000.80000000.7effe0b6.00000000.fff40000.00000000.00002000.80000000.7ff500b6.00000000.fff3e000.00000000.00002000.800007fe.7e30008e.00000000.fff3c000.00000000.00002000.800007fe.7e30008e.00000000.fff3a000.00000000.00002000.800007fe.7e00008e.00000000.fff38000.00000000.00002000.800007fe.7e00008e.00000000.fff36000.00000000.00002000.80000000.7ff420b6.00000000.fff34000.00000000.00002000.800007fe.7e00008e.00000000.fff32000.00000000.00002000.80000000.7ff400b6.00000000.fff30000.00000000.00002000.800007fe.7e30008e.00000000.fff2e000.00000000.00002000.800007fe.7e30008e.00000000.fff2c000.00000000.00002000.800007fe.7e72008e.00000000.fff2a000.00000000.00002000.80000000.7ff360b6.00000000.fff28000.00000000.00002000.800007ff.ec00208e.00000000.fff26000.00000000.00002000.800007fe.0012208e.00000000.fff22000.00000000.00004000.80000000.7ff280b6.00000000.fff20000.00000000.00002000.800007f8.0020008e.00000000.fff1e000.00000000.00002000.800007f8.0021008e.00000000.fff1c000.00000000.00002000.800007f8.0080608e.00000000.fff18000.00000000.00004000.80000000.7fda40b6.00000000.fff14000.00000000.00002000.80000400.0440008e.00000000.fff12000.00000000.00002000.80000400.0448008e.00000000.fff10000.00000000.00002000.800007fe.0100008e.00000000.fff0a000.00000000.00006000.80000000.7fe960b6.00000000.fff08000.00000000.00002000.80000000.7ff660b6.00000000.fff04000.00000000.00004000.80000000.7fe9e0b6.00000000.fff00000.00000000.00004000.80000000.7fe920b6.00000000.feffe000.00000000.00002000.80000000.7fe900b6.00000000.fef7e000.00000000.00042000.80000000.7fee40b6.00000000.fef66000.00000000.00018000.800007f8.0082808e.00000000.fef46000.00000000.00020000.800007f8.7000008e.00000000.feef0000.00000000.00010000.80000400.0470008e.00000000.feeee000.00000000.00002000.80000400.0441008e.00000000.feeec000.00000000.00002000.80000400.0440008e.00000000.feee8000.00000000.00004000.80000000.7ff4c0b6.00000000.feed6000.00000000.00010000.80000400.0460008e.00000000.feed4000.00000000.00002000.80000400.0441008e.00000000.feed2000.00000000.00002000.80000400.0440008e.00000000.feece000.00000000.00004000.80000000.7ff480b6.00000000.faecc000.00000000.04000000.800007f8.0400008e.00000000.fadcc000.00000000.00100000.80000000.7fc7e0b6.00000000.f00ce000.00000000.00002000.80000000.7fe9c0b6.00000000.f00cc000.00000000.00002000.80000000.7fea40b6.00000000.f00ca000.00000000.00002000.80000000.7fea60b6.00000000.f00c8000.00000000.00002000.80000000.7fea20b6.00000000.f00c6000.00000000.00002000.80000000.7feac0b6.00000000.f00c4000.00000000.00002000.80000000.7feae0b6.00000000.f00c2000.00000000.00002000.80000000.7fd900b6.00000000.f00c0000.00000000.00002000.80000000.7fd7e0b6.00000000.f00be000.00000000.00002000.80000000.7fd800b6.00000000.f00bc000.00000000.00002000.80000000.7fd920b6.00000000.f00ba000.00000000.00002000.80000000.7fea80b6.00000000.f00b8000.00000000.00002000.80000000.7feaa0b6.00000000.f00b6000.00000000.00002000.80000000.7feb40b6.00000000.f00b4000.00000000.00002000.80000000.7feb00b6.00000000.f00b2000.00000000.00002000.80000000.7feb20b6.00000000.f00b0000.00000000.00002000.80000000.7febc0b6.00000000.f00ae000.00000000.00002000.80000000.7febe0b6.00000000.f00ac000.00000000.00002000.80000000.7feba0b6.00000000.f00aa000.00000000.00002000.80000000.7fec00b6.00000000.f00a8000.00000000.00002000.80000000.7fec20b6.00000000.f00a6000.00000000.00002000.80000000.7fec40b6.00000000.f00a4000.00000000.00002000.80000000.7fed60b6.00000000.f00a2000.00000000.00002000.80000000.7fed80b6.00000000.f00a0000.00000000.00002000.80000000.7feda0b6.00000000.f009e000.00000000.00002000.80000000.7fedc0b6.00000000.f009c000.00000000.00002000.80000000.7fede0b6.00000000.f009a000.00000000.00002000.80000000.7fee00b6.00000000.f0098000.00000000.00002000.80000000.7fee20b6.00000000.f0096000.00000000.00002000.80000000.7ff260b6.00000000.f0094000.00000000.00002000.80000000.7ff2c0b6.00000000.f0092000.00000000.00002000.80000000.7ff2e0b6.00000000.f0090000.00000000.00002000.80000000.7ff300b6.00000000.f008e000.00000000.00002000.80000000.7ff320b6.00000000.f008c000.00000000.00002000.80000000.7ff340b6.00000000.f008a000.00000000.00002000.80000000.7ff560b6.00000000.f0088000.00000000.00002000.80000000.7ff380b6.00000000.f0084000.00000000.00004000.80000000.7ff3a0b6.00000000.f0082000.00000000.00002000.80000000.7ff3e0b6.00000000.f0080000.00000000.00002000.80000000.7ff440b6.00000000.f0000000.00000000.00080000.80000000.7ff800b6.00000000.413ee000.00000000.02c12000.80000000.017ee036.00000000.40000000.00000000.00c00000.80000000.00400036.00000000.00002000.00000000.00bfe000.80000000.00002036
existing: 00000000.00000000.00000800.00000000.fffff800.00000000.00000800.00000000
available: fffff800.00000000.000007fc.00000000.00000001.00000000.000007ff.00000000.00000000.ffff0000.00000000.0000e000.00000000.00000000.00000000.f0000000.00000000.fff16000.00000000.00002000.00000000.fefc0000.00000000.0003e000.00000000.fef00000.00000000.00046000.00000000.feee6000.00000000.00002000.00000000.feecc000.00000000.00002000.00000000.f0800000.00000000.0a5cc000
page-size: 00002000
name: 'virtual-memory'
Node 0xf006bd10
.node: f006bd10
clock-divisors: 00000001.00000002.00000020
sparc-version: 00000009
#dtlb-entries: 00000010
dcache-associativity: 00000004
dcache-line-size: 00000020
dcache-size: 00010000
#itlb-entries: 00000010
icache-associativity: 00000004
icache-line-size: 00000020
icache-size: 00008000
cpuid: 00000000
portid: 00000000
reg: 00000400.00000000.00000000.00010000
device_type: 'cpu'
manufacturer#: 0000003e
implementation#: 00000015
mask#: 00000023
ecache-associativity: 00000002
ecache-line-size: 00000200
ecache-size: 00800000
clock-frequency: 3c7fabc0
name: 'SUNW,UltraSPARC-III+'
Node 0xf006c544
.node: f006c544
memory-layout: 4a303130.30000000.4a303230.32000000.4a303330.34000000.4a303430.36000000.4a303130.31000000.4a303230.33000000.4a303330.35000000.4a303430.37000000.010055aa.55000000.55aa5500.00015a00.55aafffa.95aaffff.ffaa55aa.ffffff79.0292f6f9.e40055aa.55000000.55aa5500.00015a00.55aafffa.95aaffff.ffaa55aa.ffffff79.0292f6f9.e40055aa.55000000.55aa5500.00015a00.55aafffa.95aaffff.ffaa55aa.ffffff79.0292f6f9.e40055aa.55000000.55aa5500.00015a00.55aafffa.95aaffff.ffaa55aa.ffffff79.0292f6f9.e4050505.05797979.63635962.0a171616.160a790a.7e7e7e7e.0a0c0d0e.0f161718.19202122.23202122.23202122.232a2b2c.2d2a2b2c.2d4c4d4e.4f565758.59565758.59565758.60616260.616a6b6c.6d0c0d0e.0f0c0d0e.0f0c0d0e.0f181917.18191718.19202122.232a2b2c.2d2a2b2c.2d4c4d4e.4f4c4d4e.4f4c4d4e.4f565758.59606162.63606162.636a6b6c.6d6a6b6c.6d6a6b6c.6d040404.04787878.d7d7cdd6.098b8a8a.8a097809.7d7d7d7d.09808182.838a8b8c.8d949596.97949596.97949596.979e9fa0.a19e9fa0.a1c0c1c2.c3cacbcc.cdcacbcc.cdcacbcc.d4d5d6d4.d5dedfe0.e1808182.83808182.83808182.838c8d8b.8c8d8b8c.8d949596.979e9fa0.a19e9fa0.a1c0c1c2.c3c0c1c2.c3c0c1c2.c3cacbcc.cdd4d5d6.d7d4d5d6.d7dedfe0.e1dedfe0.e1dedfe0.e1030303.03777777.68685e67.081c1b1b.1b080877.7c7c7c7c.08111213.141b1c1d.1e252627.28252627.28252627.28474849.4a474849.4a515253.545b5c5d.5e5b5c5d.5e5b5c5d.65666765.666f7071.72111213.14111213.14111213.141d1e1c.1d1e1c1d.1e252627.28474849.4a474849.4a515253.54515253.54515253.545b5c5d.5e656667.68656667.686f7071.726f7071.726f7071.72020202.02767676.dcdcd2db.07908f8f.8f077607.7b7b7b7b.07858687.888f9091.92999a9b.9c999a9b.9c999a9b.9cbbbcbd.bebbbcbd.bec5c6c7.c8cfd0d1.d2cfd0d1.d2cfd0d1.d9dadbd9.dae3e4e5.e6858687.88858687.88858687.88919290.91929091.92999a9b.9cbbbcbd.bebbbcbd.bec5c6c7.c8c5c6c7.c8c5c6c7.c8cfd0d1.d2d9dadb.dcd9dadb.dce3e4e5.e6e3e4e5.e6e3e4e5.e600
compatible: 53554e57.2c556c74.72615350.4152432d.4949492c.6d630053.554e572c.6d6300
portid: 00000000
reg: 00000400.00400000.00000000.00000048
device_type: 'memory-controller'
name: 'memory-controller'
Node 0xf006c678
.node: f006c678
available: 81000000.00000000.00000500.00000000.0000fb00.82000000.00000000.0012c000.00000000.002d4000.82000000.00000000.02000000.00000000.7a000000
reg: 00000400.04700000.00000000.00018000.00000400.04410000.00000000.00000050.000007ff.ee000000.00000000.00000100
ranges: 00000000.00000000.00000000.000007ff.ee000000.00000000.01000000.01000000.00000000.00000000.000007ff.ef000000.00000000.01000000.02000000.00000000.00000000.000007fe.00000000.00000001.00000000.03000000.00000000.00000000.000007fe.00000000.00000001.00000000
ino-bitmap: f3fff000.001fecff
interrupt-map: 00000800.00000000.00000000.00000001.f006c678.0000000c.00000800.00000000.00000000.00000002.f006c678.0000000d.00000800.00000000.00000000.00000003.f006c678.0000000e.00000800.00000000.00000000.00000004.f006c678.0000000f.00001000.00000000.00000000.00000001.f006c678.00000010.00001000.00000000.00000000.00000002.f006c678.00000011.00001000.00000000.00000000.00000003.f006c678.00000012.00001000.00000000.00000000.00000004.f006c678.00000013.00001800.00000000.00000000.00000001.f006c678.00000014.00001800.00000000.00000000.00000002.f006c678.00000015.00001800.00000000.00000000.00000003.f006c678.00000016.00001800.00000000.00000000.00000004.f006c678.00000017.00002800.00000000.00000000.00000002.f006c678.0000001d.00002800.00000000.00000000.00000003.f006c678.0000001e.00002800.00000000.00000000.00000004.f006c678.0000001f.00003000.00000000.00000000.00000001.f006c678.00000018.00003000.00000000.00000000.00000002.f006c678.00000019
interrupt-map-mask: 00fff800.00000000.00000000.00000007
#interrupt-cells: 00000001
slot-names: 0000001c.50434920.34005043.49203300.50434920.3200
interrupts: 00000033.00000030.00000031.00000034.00000026
clock-frequency: 01f78a40
bus-range: 00000000.00000000
bus-parity-generated:
no-probe-list: '0'
compatible: 'pci108e,8001'
name: 'pci'
device_type: 'pci'
#address-cells: 00000003
#size-cells: 00000002
implementation#: 0000002a
version#: 00000007
portid: 00000008
Node 0xf007e070
.node: f007e070
interrupt-map: 00000001.0000002e.00000001.f006c678.00000023.00000001.00000030.00000001.f006c678.00000023.00000001.00200000.00000001.f006c678.00000020.00000001.00200000.00000002.f006c678.00000021.00000001.00300070.00000001.f006c678.00000024.00000001.003023f0.00000001.f006c678.00000025.00000001.00300278.00000001.f006c678.0000001c.00000001.00400000.00000001.f006c678.00000022
interrupt-map-mask: 0000001f.00ffffff.00000003
#interrupt-cells: 00000001
ranges: 00000000.00000000.82002810.00000000.7d000000.01000000.00000001.00000000.82002814.00000000.7e000000.00800000
reg: 00002800.00000000.00000000.00000000.00000000.02002810.00000000.00000000.00000000.01000000.02002814.00000000.00000000.00000000.00800000
#size-cells: 00000001
#address-cells: 00000002
name: 'ebus'
max-latency: 00000019
min-grant: 0000000a
class-code: 00068000
revision-id: 00000001
devsel-speed: 00000001
fast-back-to-back:
device-id: 00001100
vendor-id: 0000108e
Node 0xf007f474
.node: f007f474
model: 'SUNW,525-1807'
reg: 00000000.00000000.00200000
version: 4f425020.342e352e.32312032.3030332f.30322f32.34203137.3a323300.504f5354.20342e37.2e342032.3030322f.31322f32.33203137.3a303400
name: 'flashprom'
Node 0xf00800cc
.node: f00800cc
reg: 00000001.00000000.00100000
name: 'bbc'
Node 0xf008015c
.node: f008015c
reg: 00000001.0000000e.0000001b.00000001.00728000.00000004.00000001.0030002e.00000002.00000001.00300600.00000008
compatible: 65627573.2d70706d.0053554e.572c6262.632d7070.6d00
name: 'ppm'
Node 0xf00803b8
.node: f00803b8
interrupts: 00000001
reg: 00000001.0000002e.00000002.00000001.0000002d.00000001
compatible: 'SUNW,bbc-i2c'
#size-cells: 00000000
#address-cells: 00000002
name: 'i2c'
Node 0xf00814d4
.node: f00814d4
reg: 00000001.000000a0
compatible: 'i2c-at24c64'
name: 'dimm-fru'
Node 0xf0081590
.node: f0081590
reg: 00000001.000000a4
compatible: 'i2c-at24c64'
name: 'dimm-fru'
Node 0xf008164c
.node: f008164c
reg: 00000001.000000a8
compatible: 'i2c-at24c64'
name: 'dimm-fru'
Node 0xf0081708
.node: f0081708
reg: 00000001.000000ac
compatible: 'i2c-at24c64'
name: 'dimm-fru'
Node 0xf00817c4
.node: f00817c4
reg: 00000000.000000a0
compatible: 'i2c-at24c64'
device_type: 'nvram'
name: 'nvram'
Node 0xf0081e5c
.node: f0081e5c
device_type: 'idprom'
reg: 00000000.000000a0
name: 'idprom'
Node 0xf00823e0
.node: f00823e0
interrupts: 00000001
reg: 00000001.00000030.00000002
compatible: 'SUNW,bbc-i2c'
#size-cells: 00000000
#address-cells: 00000002
name: 'i2c'
Node 0xf00834f0
.node: f00834f0
reg: 00000000.000000a0
compatible: 'i2c-at24c64'
name: 'cpu-fru'
Node 0xf00835ac
.node: f00835ac
reg: 00000000.00000052
compatible: 'i2c-max1617'
name: 'temperature'
Node 0xf008366c
.node: f008366c
reg: 00000000.00000048
compatible: 'i2c-tda8444'
name: 'fan-control'
Node 0xf008372c
.node: f008372c
reg: 00000000.00000040
compatible: 'i2c-scm001'
name: 'card-reader'
Node 0xf00837ec
.node: f00837ec
reg: 00000000.000000a8
compatible: 'i2c-at24c64'
name: 'motherboard-fru'
Node 0xf0083da0
.node: f0083da0
revision-id: 00000012
reg: 00000000.00000060
compatible: 'i2c-firei'
name: 'i2c-bridge'
Node 0xf0084030
.node: f0084030
reg: 00000001.00000032.00000006
compatible: 'SUNW,bbc-beep'
name: 'beep'
Node 0xf00840f0
.node: f00840f0
model: 'SUNW,CS4231g'
aux2: 'none'
aux1: 'loopback'
interrupts: 00000001.00000002
dma-model: 'eb2dma'
reg: 00000001.00200000.00000100.00000001.00702000.00000010.00000001.00704000.00000010.00000001.00722000.00000004
compatible: 'SUNW,CS4231'
name: 'audio'
Node 0xf00842e8
.node: f00842e8
address: fff30070
reg: 00000001.00300070.00000002
compatible: 'ds1287'
model: 'ds1287'
name: 'rtc'
interrupts: 00000001
Node 0xf0084b80
.node: f0084b80
reg: 00000001.00300600.00000008
compatible: 'ns87317-gpio'
name: 'gpio'
Node 0xf0084e50
.node: f0084e50
address: fff2e700
reg: 00000001.00300700.00000002
compatible: 'ns87317-pmc'
name: 'pmc'
Node 0xf0084ffc
.node: f0084ffc
interrupts: 00000001
status: 'disabled'
reg: 00000001.003023f0.00000008.00000001.00706000.00000010.00000001.00720000.00000004
device_type: 'block'
compatible: 'fdthree'
name: 'floppy'
Node 0xf0086ae0
.node: f0086ae0
reg: 00000001.00300278.00000010.00000001.0030002e.00000002.00000001.00700000.00000010
compatible: 6e733837.3331372d.65637070.00656370.7000
name: 'parallel'
interrupts: 00000001
Node 0xf0086c30
.node: f0086c30
port-b-ignore-cd:
port-a-ignore-cd:
reg: 00000001.00400000.00000080
compatible: 73616238.32353332.00736500
device_type: 'serial'
name: 'serial'
interrupts: 00000001
Node 0xf00ac3c0
.node: f00ac3c0
assigned-addresses: 82002910.00000000.00100000.00000000.00020000.82002930.00000000.00400000.00000000.00400000
shared-pins: 'mii'
interrupts: 00000002
model: 'SUNW,pci-eri'
version: '1.10'
compatible: 70636931.3038652c.31313031.2e310070.63693130.38652c31.31303100.70636963.6c617373.2c303230.30303000.70636963.6c617373.2c303230.3000
device_type: 'network'
address-bits: 00000030
max-frame-size: 00004000
reg: 00002900.00000000.00000000.00000000.00000000.02002910.00000000.00000000.00000000.00008000
name: 'network'
fast-back-to-back:
devsel-speed: 00000001
class-code: 00020000
latency-timer: 00000040
cache-line-size: 00000010
max-latency: 00000005
min-grant: 0000000a
revision-id: 00000001
device-id: 00001101
vendor-id: 0000108e
Node 0xf00b4588
.node: f00b4588
assigned-addresses: 82002a10.00000000.00120000.00000000.00002000.82002a14.00000000.00122000.00000000.00002000.82002a30.00000000.00800000.00000000.00400000
reg: 00002a00.00000000.00000000.00000000.00000000.02002a10.00000000.00000000.00000000.00002000.02002a14.00000000.00000000.00000000.00002000.02002a30.00000000.00000000.00000000.00400000
compatible: 70636931.3038652c.31313032.2e313030.31007063.69313038.652c3131.30320070.6369636c.6173732c.30633030.31300070.6369636c.6173732c.30633030.00
name: 'firewire'
power-managed?:
interrupts: 00000003
fast-back-to-back:
devsel-speed: 00000001
class-code: 000c0010
latency-timer: 00000040
cache-line-size: 00000010
max-latency: 00000005
min-grant: 0000000a
revision-id: 00000001
device-id: 00001102
vendor-id: 0000108e
Node 0xf00b48e0
.node: f00b48e0
assigned-addresses: 82002b10.00000000.01000000.00000000.01000000.82002b30.00000000.00c00000.00000000.00400000
sunw,find-fcode: f00b9c30
maximum-frame#: 0000ffff
reg: 00002b00.00000000.00000000.00000000.00000000.02002b10.00000000.00000000.00000000.01000000
#size-cells: 00000000
#address-cells: 00000001
compatible: 70636931.3038652c.31313033.2e310070.63693130.38652c31.31303300.70636963.6c617373.2c306330.33313000.70636963.6c617373.2c306330.3300
name: 'usb'
interrupts: 00000004
fast-back-to-back:
devsel-speed: 00000001
class-code: 000c0310
latency-timer: 00000040
cache-line-size: 00000010
max-latency: 00000005
min-grant: 0000000a
revision-id: 00000001
device-id: 00001103
vendor-id: 0000108e
Node 0xf00ba94c
.node: f00ba94c
keyboard:
endpoints: '0,1'
compatible: 75736234.33302c35.2e313033.00757362.3433302c.35007573.62696634.33302c63.6c617373.332e312e.31007573.62696634.33302c63.6c617373.332e3100.75736269.66343330.2c636c61.73733300.75736269.662c636c.61737333.2e312e31.00757362.69662c63.6c617373.332e3100.75736269.662c636c.61737333.00
name: 'keyboard'
reg: 00000001
low-speed:
assigned-address: 00000002
Node 0xf00c0070
.node: f00c0070
mouse:
endpoints: '0,1'
compatible: 75736234.33302c31.30302e31.30350075.73623433.302c3130.30007573.62696634.33302c63.6c617373.332e312e.32007573.62696634.33302c63.6c617373.332e3100.75736269.66343330.2c636c61.73733300.75736269.662c636c.61737333.2e312e32.00757362.69662c63.6c617373.332e3100.75736269.662c636c.61737333.00
name: 'mouse'
reg: 00000002
low-speed:
assigned-address: 00000003
Node 0xf00c2284
.node: f00c2284
assigned-addresses: 81003010.00000000.00000300.00000000.00000100.82003014.00000000.00124000.00000000.00002000.82003018.00000000.00126000.00000000.00002000
device_type: 'scsi-2'
clock-frequency: 02625a00
reg: 00003000.00000000.00000000.00000000.00000000.01003010.00000000.00000000.00000000.00000100.02003014.00000000.00000000.00000000.00002000.02003018.00000000.00000000.00000000.00002000
name: 'scsi'
compatible: 70636931.3030302c.662e3337.00706369.31303030.2c660070.6369636c.6173732c.30313030.30300070.6369636c.6173732c.30313030.00
devsel-speed: 00000001
class-code: 00010000
interrupts: 00000001
latency-timer: 00000040
cache-line-size: 00000010
max-latency: 00000040
min-grant: 00000011
revision-id: 00000037
device-id: 0000000f
vendor-id: 00001000
Node 0xf00c68b8
.node: f00c68b8
device_type: 'block'
compatible: 'sd'
name: 'disk'
Node 0xf00c7440
.node: f00c7440
device_type: 'byte'
compatible: 'st'
name: 'tape'
Node 0xf00c81a4
.node: f00c81a4
assigned-addresses: 81003110.00000000.00000400.00000000.00000100.82003114.00000000.00128000.00000000.00002000.82003118.00000000.0012a000.00000000.00002000
device_type: 'scsi-2'
clock-frequency: 02625a00
reg: 00003100.00000000.00000000.00000000.00000000.01003110.00000000.00000000.00000000.00000100.02003114.00000000.00000000.00000000.00002000.02003118.00000000.00000000.00000000.00002000
name: 'scsi'
compatible: 70636931.3030302c.662e3337.00706369.31303030.2c660070.6369636c.6173732c.30313030.30300070.6369636c.6173732c.30313030.00
devsel-speed: 00000001
class-code: 00010000
interrupts: 00000002
latency-timer: 00000040
cache-line-size: 00000010
max-latency: 00000040
min-grant: 00000011
revision-id: 00000037
device-id: 0000000f
vendor-id: 00001000
Node 0xf00cc7d8
.node: f00cc7d8
device_type: 'block'
compatible: 'sd'
name: 'disk'
Node 0xf00cd360
.node: f00cd360
device_type: 'byte'
compatible: 'st'
name: 'tape'
Node 0xf0075220
.node: f0075220
available: 81000000.00000000.00000400.00000000.0000fc00.82000000.00000000.00102000.00000000.0001e000.82000000.00000000.00140000.00000000.7eec0000
ino-bitmap: 0000003f.00000000
interrupt-map: 00000800.00000000.00000000.00000001.f0075220.00000000.00000800.00000000.00000000.00000002.f0075220.00000001.00000800.00000000.00000000.00000003.f0075220.00000002.00000800.00000000.00000000.00000004.f0075220.00000003.00002000.00000000.00000000.00000001.f0075220.00000004
interrupt-map-mask: 00fff800.00000000.00000000.00000007
#interrupt-cells: 00000001
reg: 00000400.04600000.00000000.00018000.00000400.04410000.00000000.00000050.000007ff.ec000000.00000000.00000100
ranges: 00000000.00000000.00000000.000007ff.ec000000.00000000.01000000.01000000.00000000.00000000.000007ff.ed000000.00000000.01000000.02000000.00000000.00000000.000007fd.00000000.00000001.00000000.03000000.00000000.00000000.000007fd.00000000.00000001.00000000
66mhz-capable:
slot-names: 00000002.50434920.3100
interrupts: 00000032.00000030.00000031.00000034.00000027
clock-frequency: 03ef1480
bus-range: 00000000.00000000
bus-parity-generated:
no-probe-list: '0'
compatible: 'pci108e,8001'
name: 'pci'
device_type: 'pci'
#address-cells: 00000003
#size-cells: 00000002
implementation#: 0000002a
version#: 00000007
portid: 00000008
Node 0xf00a6444
.node: f00a6444
assigned-addresses: 81002010.00000000.00000300.00000000.00000100.82002014.00000000.00100000.00000000.00002000.82002030.00000000.00120000.00000000.00020000
port-wwn: 21000003.ba5b86cb
node-wwn: 21000003.ba5b86cb
reg: 00002000.00000000.00000000.00000000.00000000.01002010.00000000.00000000.00000000.00000100.02002014.00000000.00000000.00000000.00001000
compatible: 70636931.3037372c.32323030.2e350070.63693130.37372c32.32303000.70636963.6c617373.2c303130.30303000.70636963.6c617373.2c303130.3000
manufacturer: 'QLGC'
#size-cells: 00000000
#address-cells: 00000002
device_type: 'scsi-fcp'
name: 'SUNW,qlc'
version: 'ISP2200 FC-AL Host Adapter Driver: 1.12 01/01/16'
66mhz-capable:
fast-back-to-back:
devsel-speed: 00000001
class-code: 00010000
interrupts: 00000001
latency-timer: 00000040
cache-line-size: 00000010
max-latency: 00000000
min-grant: 00000040
revision-id: 00000005
device-id: 00002200
vendor-id: 00001077
Node 0xf00aad44
.node: f00aad44
#size-cells: 00000000
#address-cells: 00000004
reg: 00000000.00000000
device_type: 'fp'
name: 'fp'
Node 0xf00ab440
.node: f00ab440
device_type: 'block'
compatible: 'ssd'
name: 'disk'
Node 0xf007c12c
.node: f007c12c
clock-frequency: 07270e00
ranges: 000001c0.00000000.000007f8.00000000.00000002.00000000.000001c2.00000000.000007fa.00000000.00000002.00000000
reg: 00000400.04480000.00000000.00000020.00000400.04706000.00000000.00000010.00000400.04708000.00000000.00000010
#size-cells: 00000002
#address-cells: 00000002
portid: 00000008
compatible: 'upa64s'
power-managed?:
device_type: 'upa'
name: 'upa'
Node 0xf008b73c
.node: f008b73c
width: 00000500
height: 00000400
vertical-frequency: 0000003c
active-video-channel#: 00000002
character-set: 'ISO8859-1'
status: 'okay'
edid-source: 31337733.00686431.3500
edid: 00000000.00000000.00000000.00000000.00000000.00000000.00000000.00000000.00000000.00000000.00000000.00000000.00000000.00000000.00000000.00000000.00000000.00000000.00000000.00000000.00000000.00000000.00000000.00000000.00000000.00000000.00000000.00000000.00000000.00000000.00000000.00000000.00ffffff.ffffff00.26cd0256.e8c90000.29110103.68312078.2a9510a6.5444a125.145054bf.ef80714f.81808140.814f810f.95009040.b3002139.9030621a.274068b0.3600ea40.1100001c.000000ff.00303538.38314d37.41353136.38380000.00fd0037.4b1e5011.000a2020.20202020.000000fc.00504c32.32303157.0a202020.2020004a
#video-channels: 00000002
plink-mfg: 00000001
plink-dev: 00000006
plink-rev: 00000000
daughtercard-present:
encoder-id: 00000002
3dram64-id: 01c08000.01c08000.01c08000.01c08000.01c08000.01c08000.01c08000.01c08000.01c08000.01c08000.01c08000.01c08000.01c08000.01c08000.01c08000.01c08000
3dram64-config: 00000010
xchip-id: 00000001
fbc3-sdram-size: 10000000
fbc3-id: 00000002
cafe-id: 00001101
cafe-mcode: 00000013
cafe-rdram-size: 02000000
cafe-rdram-id: ffffffff.ffffffff.ffffffff.ffffffff
board-type: 00000002
upa-interrupt-slave:
interrupts: 00000005
upa-portid: 00000000
reg: 000001c0.00000000.00000000.00040000.000001c0.00200000.00000000.00002000.000001c0.00210000.00000000.00002000.000001c0.00300000.00000000.00020000.000001c0.00806000.00000000.00002000.000001c0.00828000.00000000.00018000.000001c0.04000000.00000000.04000000.000001c0.08000000.00000000.08000000.000001c0.70000000.00000000.10000000
version: '@(#) gfb.fth 1.15 02/01/28 '
device-name: 'Sun XVR-1000 Graphics Accelerator, model D256'
sunw,lpm-ranges: 00000019.00000019.0000001e.00000021.00000023.00000033.00000028.0000003f
device_type: 'display'
model: 'SUNW,501-5865'
name: 'SUNW,gfb'
Node 0xf007d244
.node: f007d244
portid: 00000008
reg: 00000400.04410050.00000000.00000008
compatible: 6770322d.70706d00.73706d00
name: 'ppm'
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: XVR-500 additional pci ids
2010-02-26 1:55 XVR-500 additional pci ids Dennis Gilmore
` (5 preceding siblings ...)
2010-03-11 8:30 ` Frans van Berckel
@ 2010-03-11 16:16 ` David Miller
2010-03-11 17:58 ` David Miller
` (14 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: David Miller @ 2010-03-11 16:16 UTC (permalink / raw)
To: sparclinux
From: Frans van Berckel <fberckel@xs4all.nl>
Date: Thu, 11 Mar 2010 09:30:31 +0100
> Thanks for asking. Attaching XVR 1000 (SUNW,gfb) prtconf -pv.
We were talking about XVR-1200, and this isn't an XVR-1200, it's not
even a PCI card.
It does occupy a PCI slot because it is so huge, but it actually
operates out of the UPA slot.
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: XVR-500 additional pci ids
2010-02-26 1:55 XVR-500 additional pci ids Dennis Gilmore
` (6 preceding siblings ...)
2010-03-11 16:16 ` David Miller
@ 2010-03-11 17:58 ` David Miller
2010-03-12 7:45 ` Frans van Berckel
` (13 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: David Miller @ 2010-03-11 17:58 UTC (permalink / raw)
To: sparclinux
From: David Miller <davem@davemloft.net>
Date: Thu, 11 Mar 2010 08:16:01 -0800 (PST)
> From: Frans van Berckel <fberckel@xs4all.nl>
> Date: Thu, 11 Mar 2010 09:30:31 +0100
>
>> Thanks for asking. Attaching XVR 1000 (SUNW,gfb) prtconf -pv.
>
> We were talking about XVR-1200, and this isn't an XVR-1200, it's not
> even a PCI card.
>
> It does occupy a PCI slot because it is so huge, but it actually
> operates out of the UPA slot.
Anyways, here is a quick attempt at a driver for this card:
sparc64: Add very basic XVR-1000 framebuffer driver.
Signed-off-by: David S. Miller <davem@davemloft.net>
---
drivers/video/Kconfig | 12 +++
drivers/video/Makefile | 1 +
drivers/video/sunxvr1000.c | 228 ++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 241 insertions(+), 0 deletions(-)
create mode 100644 drivers/video/sunxvr1000.c
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
index 5a5c303..a5755b8 100644
--- a/drivers/video/Kconfig
+++ b/drivers/video/Kconfig
@@ -909,6 +909,18 @@ config FB_XVR2500
mostly initialized the card already. It is treated as a
completely dumb framebuffer device.
+config FB_XVR1000
+ bool "Sun XVR-1000 support"
+ depends on SPARC64
+ select FB_CFB_FILLRECT
+ select FB_CFB_COPYAREA
+ select FB_CFB_IMAGEBLIT
+ help
+ This is the framebuffer device for the Sun XVR-1000 and similar
+ graphics cards. The driver only works on sparc64 systems where
+ the system firmware has mostly initialized the card already. It
+ is treated as a completely dumb framebuffer device.
+
config FB_PVR2
tristate "NEC PowerVR 2 display support"
depends on FB && SH_DREAMCAST
diff --git a/drivers/video/Makefile b/drivers/video/Makefile
index 4ecb30c..8c9a357 100644
--- a/drivers/video/Makefile
+++ b/drivers/video/Makefile
@@ -79,6 +79,7 @@ obj-$(CONFIG_FB_N411) += n411.o
obj-$(CONFIG_FB_HGA) += hgafb.o
obj-$(CONFIG_FB_XVR500) += sunxvr500.o
obj-$(CONFIG_FB_XVR2500) += sunxvr2500.o
+obj-$(CONFIG_FB_XVR1000) += sunxvr1000.o
obj-$(CONFIG_FB_IGA) += igafb.o
obj-$(CONFIG_FB_APOLLO) += dnfb.o
obj-$(CONFIG_FB_Q40) += q40fb.o
diff --git a/drivers/video/sunxvr1000.c b/drivers/video/sunxvr1000.c
new file mode 100644
index 0000000..8066e88
--- /dev/null
+++ b/drivers/video/sunxvr1000.c
@@ -0,0 +1,228 @@
+/* sunxvr1000.c: Sun XVR-1000 driver for sparc64 systems
+ *
+ * Copyright (C) 2010 David S. Miller (davem@davemloft.net)
+ */
+
+#include <linux/module.h>
+#include <linux/kernel.h>
+#include <linux/slab.h>
+#include <linux/fb.h>
+#include <linux/init.h>
+#include <linux/of_device.h>
+
+struct gfb_info {
+ struct fb_info *info;
+
+ char __iomem *fb_base;
+ unsigned long fb_base_phys;
+
+ struct device_node *of_node;
+
+ unsigned int width;
+ unsigned int height;
+ unsigned int depth;
+ unsigned int fb_size;
+
+ u32 pseudo_palette[16];
+};
+
+static int __devinit gfb_get_props(struct gfb_info *gp)
+{
+ gp->width = of_getintprop_default(gp->of_node, "width", 0);
+ gp->height = of_getintprop_default(gp->of_node, "height", 0);
+ gp->depth = of_getintprop_default(gp->of_node, "depth", 32);
+
+ if (!gp->width || !gp->height) {
+ printk(KERN_ERR "gfb: Critical properties missing for %s\n",
+ gp->of_node->full_name);
+ return -EINVAL;
+ }
+
+ return 0;
+}
+
+static int gfb_setcolreg(unsigned regno,
+ unsigned red, unsigned green, unsigned blue,
+ unsigned transp, struct fb_info *info)
+{
+ u32 value;
+
+ if (regno < 16) {
+ red >>= 8;
+ green >>= 8;
+ blue >>= 8;
+
+ value = (blue << 24) | (green << 16) | (red << 8);
+ ((u32 *)info->pseudo_palette)[regno] = value;
+ }
+
+ return 0;
+}
+
+static struct fb_ops gfb_ops = {
+ .owner = THIS_MODULE,
+ .fb_setcolreg = gfb_setcolreg,
+ .fb_fillrect = cfb_fillrect,
+ .fb_copyarea = cfb_copyarea,
+ .fb_imageblit = cfb_imageblit,
+};
+
+static int __devinit gfb_set_fbinfo(struct gfb_info *gp)
+{
+ struct fb_info *info = gp->info;
+ struct fb_var_screeninfo *var = &info->var;
+
+ info->flags = FBINFO_DEFAULT;
+ info->fbops = &gfb_ops;
+ info->screen_base = gp->fb_base;
+ info->screen_size = gp->fb_size;
+
+ info->pseudo_palette = gp->pseudo_palette;
+
+ /* Fill fix common fields */
+ strlcpy(info->fix.id, "gfb", sizeof(info->fix.id));
+ info->fix.smem_start = gp->fb_base_phys;
+ info->fix.smem_len = gp->fb_size;
+ info->fix.type = FB_TYPE_PACKED_PIXELS;
+ if (gp->depth = 32 || gp->depth = 24)
+ info->fix.visual = FB_VISUAL_TRUECOLOR;
+ else
+ info->fix.visual = FB_VISUAL_PSEUDOCOLOR;
+
+ var->xres = gp->width;
+ var->yres = gp->height;
+ var->xres_virtual = var->xres;
+ var->yres_virtual = var->yres;
+ var->bits_per_pixel = gp->depth;
+
+ var->red.offset = 0;
+ var->red.length = 8;
+ var->green.offset = 8;
+ var->green.length = 8;
+ var->blue.offset = 16;
+ var->blue.length = 8;
+ var->transp.offset = 0;
+ var->transp.length = 0;
+
+ if (fb_alloc_cmap(&info->cmap, 256, 0)) {
+ printk(KERN_ERR "gfb: Cannot allocate color map.\n");
+ return -ENOMEM;
+ }
+
+ return 0;
+}
+
+static int __devinit gfb_probe(struct of_device *op,
+ const struct of_device_id *match)
+{
+ struct device_node *dp = op->node;
+ struct fb_info *info;
+ struct gfb_info *gp;
+ int err;
+
+ info = framebuffer_alloc(sizeof(struct gfb_info), &op->dev);
+ if (!info) {
+ printk(KERN_ERR "gfb: Cannot allocate fb_info\n");
+ err = -ENOMEM;
+ goto err_out;
+ }
+
+ gp = info->par;
+ gp->info = info;
+ gp->of_node = dp;
+
+ gp->fb_base_phys = op->resource[6].start;
+
+ err = gfb_get_props(gp);
+ if (err)
+ goto err_release_fb;
+
+ /* Framebuffer length is the same regardless of resolution. */
+ info->fix.line_length = 16384;
+ gp->fb_size = info->fix.line_length * gp->height;
+
+ gp->fb_base = of_ioremap(&op->resource[6], 0,
+ gp->fb_size, "gfb fb");
+ if (!gp->fb_base)
+ goto err_release_fb;
+
+ err = gfb_set_fbinfo(gp);
+ if (err)
+ goto err_unmap_fb;
+
+ printk("gfb: Found device at %s\n", dp->full_name);
+
+ err = register_framebuffer(info);
+ if (err < 0) {
+ printk(KERN_ERR "gfb: Could not register framebuffer %s\n",
+ dp->full_name);
+ goto err_unmap_fb;
+ }
+
+ dev_set_drvdata(&op->dev, info);
+
+ return 0;
+
+err_unmap_fb:
+ of_iounmap(&op->resource[6], gp->fb_base, gp->fb_size);
+
+err_release_fb:
+ framebuffer_release(info);
+
+err_out:
+ return err;
+}
+
+static int __devexit gfb_remove(struct of_device *op)
+{
+ struct fb_info *info = dev_get_drvdata(&op->dev);
+ struct gfb_info *gp = info->par;
+
+ unregister_framebuffer(info);
+
+ iounmap(gp->fb_base);
+
+ of_iounmap(&op->resource[6], gp->fb_base, gp->fb_size);
+
+ framebuffer_release(info);
+
+ dev_set_drvdata(&op->dev, NULL);
+
+ return 0;
+}
+
+static const struct of_device_id gfb_match[] = {
+ {
+ .name = "SUNW,gfb",
+ },
+ {},
+};
+MODULE_DEVICE_TABLE(of, ffb_match);
+
+static struct of_platform_driver gfb_driver = {
+ .name = "gfb",
+ .match_table = gfb_match,
+ .probe = gfb_probe,
+ .remove = __devexit_p(gfb_remove),
+};
+
+static int __init gfb_init(void)
+{
+ if (fb_get_options("gfb", NULL))
+ return -ENODEV;
+
+ return of_register_driver(&gfb_driver, &of_bus_type);
+}
+
+static void __exit gfb_exit(void)
+{
+ of_unregister_driver(&gfb_driver);
+}
+
+module_init(gfb_init);
+module_exit(gfb_exit);
+
+MODULE_DESCRIPTION("framebuffer driver for Sun XVR-1000 graphics");
+MODULE_AUTHOR("David S. Miller <davem@davemloft.net>");
+MODULE_VERSION("1.0");
+MODULE_LICENSE("GPL");
--
1.6.6.1
^ permalink raw reply related [flat|nested] 23+ messages in thread
* Re: XVR-500 additional pci ids
2010-02-26 1:55 XVR-500 additional pci ids Dennis Gilmore
` (7 preceding siblings ...)
2010-03-11 17:58 ` David Miller
@ 2010-03-12 7:45 ` Frans van Berckel
2010-03-12 7:54 ` Frans van Berckel
` (12 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: Frans van Berckel @ 2010-03-12 7:45 UTC (permalink / raw)
To: sparclinux
On Thu, 2010-03-11 at 08:16 -0800, David Miller wrote:
> From: Frans van Berckel <fberckel@xs4all.nl>
> Date: Thu, 11 Mar 2010 09:30:31 +0100
>
> > Thanks for asking. Attaching XVR 1000 (SUNW,gfb) prtconf -pv.
>
> We were talking about XVR-1200, and this isn't an XVR-1200, it's not
> even a PCI card.
>
> It does occupy a PCI slot because it is so huge, but it actually
> operates out of the UPA slot.
That's true ... gonna try to post the XVR-1200 later on as well.
Thanks,
Frans van Berckel
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: XVR-500 additional pci ids
2010-02-26 1:55 XVR-500 additional pci ids Dennis Gilmore
` (8 preceding siblings ...)
2010-03-12 7:45 ` Frans van Berckel
@ 2010-03-12 7:54 ` Frans van Berckel
2010-03-12 8:07 ` David Miller
` (11 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: Frans van Berckel @ 2010-03-12 7:54 UTC (permalink / raw)
To: sparclinux
On Thu, 2010-03-11 at 09:58 -0800, David Miller wrote:
> From: David Miller <davem@davemloft.net>
> Date: Thu, 11 Mar 2010 08:16:01 -0800 (PST)
>
> > From: Frans van Berckel <fberckel@xs4all.nl>
> > Date: Thu, 11 Mar 2010 09:30:31 +0100
> >
> >> Thanks for asking. Attaching XVR 1000 (SUNW,gfb) prtconf -pv.
> >
> > We were talking about XVR-1200, and this isn't an XVR-1200, it's not
> > even a PCI card.
> >
> > It does occupy a PCI slot because it is so huge, but it actually
> > operates out of the UPA slot.
>
> Anyways, here is a quick attempt at a driver for this card:
>
> sparc64: Add very basic XVR-1000 framebuffer driver.
Oh that sound rely nice, wanne say thank you! Gonna test this XVR 1000
patch later on and will report the results.
Frans van Berckel
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: XVR-500 additional pci ids
2010-02-26 1:55 XVR-500 additional pci ids Dennis Gilmore
` (9 preceding siblings ...)
2010-03-12 7:54 ` Frans van Berckel
@ 2010-03-12 8:07 ` David Miller
2010-03-12 8:08 ` David Miller
` (10 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: David Miller @ 2010-03-12 8:07 UTC (permalink / raw)
To: sparclinux
From: Frans van Berckel <fberckel@xs4all.nl>
Date: Fri, 12 Mar 2010 08:45:50 +0100
> On Thu, 2010-03-11 at 08:16 -0800, David Miller wrote:
>> From: Frans van Berckel <fberckel@xs4all.nl>
>> Date: Thu, 11 Mar 2010 09:30:31 +0100
>>
>> > Thanks for asking. Attaching XVR 1000 (SUNW,gfb) prtconf -pv.
>>
>> We were talking about XVR-1200, and this isn't an XVR-1200, it's not
>> even a PCI card.
>>
>> It does occupy a PCI slot because it is so huge, but it actually
>> operates out of the UPA slot.
>
> That's true ... gonna try to post the XVR-1200 later on as well.
Thank you.
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: XVR-500 additional pci ids
2010-02-26 1:55 XVR-500 additional pci ids Dennis Gilmore
` (10 preceding siblings ...)
2010-03-12 8:07 ` David Miller
@ 2010-03-12 8:08 ` David Miller
2010-03-13 10:09 ` Frans van Berckel
` (9 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: David Miller @ 2010-03-12 8:08 UTC (permalink / raw)
To: sparclinux
From: Frans van Berckel <fberckel@xs4all.nl>
Date: Fri, 12 Mar 2010 08:54:39 +0100
>> sparc64: Add very basic XVR-1000 framebuffer driver.
>
> Oh that sound rely nice, wanne say thank you! Gonna test this XVR 1000
> patch later on and will report the results.
I look forward to it :-)
If people have the other expert3d variants in their systems (XVR-600,
etc.) prtconf output would be appreciated.
That way I can make sure the driver at least tries to cover all cases.
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: XVR-500 additional pci ids
2010-02-26 1:55 XVR-500 additional pci ids Dennis Gilmore
` (11 preceding siblings ...)
2010-03-12 8:08 ` David Miller
@ 2010-03-13 10:09 ` Frans van Berckel
2010-03-13 10:29 ` Frans van Berckel
` (8 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: Frans van Berckel @ 2010-03-13 10:09 UTC (permalink / raw)
To: sparclinux
On Fri, 2010-03-12 at 00:08 -0800, David Miller wrote:
> From: Frans van Berckel <fberckel@xs4all.nl>
> Date: Fri, 12 Mar 2010 08:54:39 +0100
>
> >> sparc64: Add very basic XVR-1000 framebuffer driver.
> >
> > Oh that sound rely nice, wanne say thank you! Gonna test this XVR 1000
> > patch later on and will report the results.
>
> I look forward to it :-)
Did i do patch wrong, if the driver is not showing up in menuconfig?
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: XVR-500 additional pci ids
2010-02-26 1:55 XVR-500 additional pci ids Dennis Gilmore
` (12 preceding siblings ...)
2010-03-13 10:09 ` Frans van Berckel
@ 2010-03-13 10:29 ` Frans van Berckel
2010-03-13 11:05 ` Frans van Berckel
` (7 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: Frans van Berckel @ 2010-03-13 10:29 UTC (permalink / raw)
To: sparclinux
On Fri, 2010-03-12 at 00:08 -0800, David Miller wrote:
> From: Frans van Berckel <fberckel@xs4all.nl>
> Date: Fri, 12 Mar 2010 08:54:39 +0100
>
> >> sparc64: Add very basic XVR-1000 framebuffer driver.
> >
> > Oh that sound rely nice, wanne say thank you! Gonna test this XVR 1000
> > patch later on and will report the results.
>
> I look forward to it :-)
Getting a compile error ...
> Arch sparc is not supported with CONFIG_FTRACE_MCOUNT_RECORD at /usr/src/linux-source-2.6-next-git/scripts/recordmcount.pl line 356.
> make[5]: *** [drivers/char/tty_ioctl.o] Error 2
> make[4]: *** [drivers/char] Error 2
> make[3]: *** [drivers] Error 2
On line #280
} elsif ($arch eq "sparc64") {
Does it got to be instead?
} elsif ($arch eq "sparc") {
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: XVR-500 additional pci ids
2010-02-26 1:55 XVR-500 additional pci ids Dennis Gilmore
` (13 preceding siblings ...)
2010-03-13 10:29 ` Frans van Berckel
@ 2010-03-13 11:05 ` Frans van Berckel
2010-03-13 11:48 ` Frans van Berckel
` (6 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: Frans van Berckel @ 2010-03-13 11:05 UTC (permalink / raw)
To: sparclinux
On Fri, 2010-03-12 at 00:08 -0800, David Miller wrote:
> From: Frans van Berckel <fberckel@xs4all.nl>
> Date: Fri, 12 Mar 2010 08:54:39 +0100
>
> >> sparc64: Add very basic XVR-1000 framebuffer driver.
> >
> > Oh that sound rely nice, wanne say thank you! Gonna test this XVR 1000
> > patch later on and will report the results.
>
> I look forward to it :-)
I am not wanne dislike perl in general today, bud is it possible, one of
the scripts is un-setting the LC_ALL value?
It's because i set my environment LC_ALL="C" and perl -V:d_setlocale
echo's d_setlocale='define'; but it's still warning on.
If not it's somewhere in Debian and out of the scoop of this list!
make[3]: Entering directory `/usr/src/linux-source-2.6-next-git'
CHK include/linux/version.h
CHK include/generated/utsrelease.h
CALL scripts/checksyscalls.sh
<stdin>:1527:2: warning: #warning syscall fanotify_init not implemented
<stdin>:1531:2: warning: #warning syscall fanotify_mark not implemented
<stdin>:1535:2: warning: #warning syscall getprlimit not implemented
<stdin>:1539:2: warning: #warning syscall setprlimit not implemented
HOSTCC scripts/genksyms/genksyms.o
SHIPPED scripts/genksyms/lex.c
SHIPPED scripts/genksyms/parse.h
SHIPPED scripts/genksyms/keywords.c
HOSTCC scripts/genksyms/lex.o
SHIPPED scripts/genksyms/parse.c
HOSTCC scripts/genksyms/parse.o
HOSTLD scripts/genksyms/genksyms
CC scripts/mod/empty.o
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "en",
LC_ALL = (unset),
LC_CTYPE = "C",
LC_COLLATE = "C",
LC_MESSANGES = "C",
LC_LANG = "C",
LC_NUMERIC = "C",
LANG = "en"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: XVR-500 additional pci ids
2010-02-26 1:55 XVR-500 additional pci ids Dennis Gilmore
` (14 preceding siblings ...)
2010-03-13 11:05 ` Frans van Berckel
@ 2010-03-13 11:48 ` Frans van Berckel
2010-03-13 17:57 ` Frans van Berckel
` (5 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: Frans van Berckel @ 2010-03-13 11:48 UTC (permalink / raw)
To: sparclinux
On Sat, 2010-03-13 at 11:09 +0100, Frans van Berckel wrote:
> On Fri, 2010-03-12 at 00:08 -0800, David Miller wrote:
> > From: Frans van Berckel <fberckel@xs4all.nl>
> > Date: Fri, 12 Mar 2010 08:54:39 +0100
> >
> > > Oh that sound rely nice, wanne say thank you! Gonna test this XVR 1000
> > > patch later on and will report the results.
> >
> > I look forward to it :-)
>
> Did i do patch wrong, if the driver is not showing up in menuconfig?
Sorry ... that's just me, solved now.
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: XVR-500 additional pci ids
2010-02-26 1:55 XVR-500 additional pci ids Dennis Gilmore
` (15 preceding siblings ...)
2010-03-13 11:48 ` Frans van Berckel
@ 2010-03-13 17:57 ` Frans van Berckel
2010-03-13 18:42 ` Frans van Berckel
` (4 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: Frans van Berckel @ 2010-03-13 17:57 UTC (permalink / raw)
To: sparclinux
[-- Attachment #1: Type: text/plain, Size: 680 bytes --]
On Fri, 2010-03-12 at 00:08 -0800, David Miller wrote:
> From: Frans van Berckel <fberckel@xs4all.nl>
> Date: Fri, 12 Mar 2010 08:54:39 +0100
>
> >> sparc64: Add very basic XVR-1000 framebuffer driver.
> >
> > Oh that sound rely nice, wanne say thank you! Gonna test this XVR 1000
> > patch later on and will report the results.
>
> I look forward to it :-)
It boot's!
[ 0.000000] OF stdout device
is: /upa@8,480000/SUNW,gfb@0,0:r1440x900x60
Next the screen is switching into blue letters, it scrolls on and on, as
expected. At the end it prints a blinking cursor. It freezes the cursor.
But the system goes on and is still accessible with ssh.
Attaching the dmesg ...
[-- Attachment #2: dmesg-sun4u-xvr-1000-build.txt --]
[-- Type: text/plain, Size: 13122 bytes --]
[ 0.000000] PROMLIB: Sun IEEE Boot Prom 'OBP 4.5.21 2003/02/24 17:23'
[ 0.000000] PROMLIB: Root node compatible:
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Linux version 2.6.34-rc1-kernelbuilder-next-20100309+ (root@deblnxsrv251) (gcc version 4.4.3 (Ubuntu 4.4.3-3ubuntu1) ) #1 SMP Sat Mar 13 13:22:22 CET 2010
[ 0.000000] bootconsole [earlyprom0] enabled
[ 0.000000] ARCH: SUN4U
[ 0.000000] Ethernet address: 00:03:ba:5b:86:cb
[ 0.000000] Kernel: Using 2 locked TLB entries for main kernel image.
[ 0.000000] Remapping the kernel... done.
[ 0.000000] OF stdout device is: /upa@8,480000/SUNW,gfb@0,0:r1440x900x60
[ 0.000000] PROM: Built device tree with 67248 bytes of memory.
[ 0.000000] Top of RAM: 0x7fe8c000, Total RAM: 0x7fd6e000
[ 0.000000] Memory hole size: 1MB
[ 0.000000] [0000010000000000-fffff80000c00000] page_structs=131072 node=0 entry=0/0
[ 0.000000] [0000010000000000-fffff80001000000] page_structs=131072 node=0 entry=1/0
[ 0.000000] [0000010000800000-fffff80001400000] page_structs=131072 node=0 entry=2/0
[ 0.000000] [0000010000800000-fffff80001800000] page_structs=131072 node=0 entry=3/0
[ 0.000000] Zone PFN ranges:
[ 0.000000] Normal 0x00000000 -> 0x0003ff46
[ 0.000000] Movable zone start PFN for each node
[ 0.000000] early_node_map[6] active PFN ranges
[ 0.000000] 0: 0x00000000 -> 0x0003f7ff
[ 0.000000] 0: 0x0003f800 -> 0x0003fe3e
[ 0.000000] 0: 0x0003fec0 -> 0x0003fec8
[ 0.000000] 0: 0x0003feca -> 0x0003fed2
[ 0.000000] 0: 0x0003fed4 -> 0x0003ff2f
[ 0.000000] 0: 0x0003ff37 -> 0x0003ff46
[ 0.000000] On node 0 totalpages: 261815
[ 0.000000] Normal zone: 2047 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 259768 pages, LIFO batch:15
[ 0.000000] Booting Linux...
[ 0.000000] PERCPU: Embedded 7 pages/cpu @fffff80001c00000 s25472 r8192 d23680 u4194304
[ 0.000000] pcpu-alloc: s25472 r8192 d23680 u4194304 alloc=1*4194304
[ 0.000000] pcpu-alloc: [0] 0
[ 0.000000] Built 1 zonelists in Node order, mobility grouping on. Total pages: 259768
[ 0.000000] Policy zone: Normal
[ 0.000000] Kernel command line: root=/dev/sda5 ro
[ 0.000000] PID hash table entries: 4096 (order: 2, 32768 bytes)
[ 0.000000] Memory: 2061640k available (4400k kernel code, 1960k data, 352k init) [fffff80000000000,000000007fe8c000]
[ 0.000000] SLUB: Genslabs=15, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=16
[ 0.000000] Hierarchical RCU implementation.
[ 0.000000] NR_IRQS:255
[ 0.000000] clocksource: mult[c8000000] shift[24]
[ 0.000000] clockevent: mult[147ae14] shift[32]
[ 0.000000] Console: colour dummy device 80x25
[ 0.000000] console [tty0] enabled, bootconsole disabled
[ 64.907919] Calibrating delay using timer specific routine.. 10.00 BogoMIPS (lpj=20019)
[ 64.908048] Security Framework initialized
[ 64.908085] SELinux: Disabled at boot.
[ 64.908453] Dentry cache hash table entries: 262144 (order: 8, 2097152 bytes)
[ 64.915461] Inode-cache hash table entries: 131072 (order: 7, 1048576 bytes)
[ 64.918881] Mount-cache hash table entries: 512
[ 64.919420] Initializing cgroup subsys ns
[ 64.919442] Initializing cgroup subsys devices
[ 64.919458] Initializing cgroup subsys freezer
[ 64.919471] Initializing cgroup subsys net_cls
[ 64.919525] ftrace: allocating 14094 entries in 28 pages
[ 64.926441] Brought up 1 CPUs
[ 64.926880] devtmpfs: initialized
[ 64.927444] regulator: core version 0.5
[ 64.927579] NET: Registered protocol family 16
[ 64.930787] Testing NMI watchdog ... OK.
[ 65.010805] Performance events: Supported PMU type is 'ultra3+'
[ 65.011370] /pci@8,700000: SCHIZO PCI Bus Module ver[7:0]
[ 65.011391] /pci@8,700000: PCI IO[7ffef000000] MEM[7fe00000000]
[ 65.015463] PCI: Scanning PBM /pci@8,700000
[ 65.015984] pci 0000:00:06.0: supports D1 D2
[ 65.016047] pci 0000:00:06.1: supports D1 D2
[ 65.016677] /pci@8,600000: SCHIZO PCI Bus Module ver[7:0]
[ 65.016697] /pci@8,600000: PCI IO[7ffed000000] MEM[7fd00000000]
[ 65.020731] PCI: Scanning PBM /pci@8,600000
[ 65.022520] bio: create slab <bio-0> at 0
[ 65.022885] vgaarb: loaded
[ 65.023425] NetLabel: Initializing
[ 65.023442] NetLabel: domain hash size = 128
[ 65.023457] NetLabel: protocols = UNLABELED CIPSOv4
[ 65.023516] NetLabel: unlabeled traffic allowed by default
[ 65.023697] /pci@8,700000/ebus@5/rtc@1,300070: RTC regs at 0x7fe7e300070
[ 65.024096] Switching to clocksource stick
[ 65.030246] NET: Registered protocol family 2
[ 65.030515] IP route cache hash table entries: 65536 (order: 6, 524288 bytes)
[ 65.032508] TCP established hash table entries: 262144 (order: 9, 4194304 bytes)
[ 65.046063] TCP bind hash table entries: 65536 (order: 7, 1048576 bytes)
[ 65.049467] TCP: Hash tables configured (established 262144 bind 65536)
[ 65.049490] TCP reno registered
[ 65.049523] UDP hash table entries: 1024 (order: 2, 32768 bytes)
[ 65.049676] UDP-Lite hash table entries: 1024 (order: 2, 32768 bytes)
[ 65.050062] NET: Registered protocol family 1
[ 65.050163] PCI: CLS 64 bytes, default 64
[ 65.050335] Trying to unpack rootfs image as initramfs...
[ 65.471748] Freeing initrd memory: 8315k freed
[ 65.472988] audit: initializing netlink socket (disabled)
[ 65.473040] type=2000 audit(0.648:1): initialized
[ 65.545468] HugeTLB registered 4 MB page size, pre-allocated 0 pages
[ 65.550558] VFS: Disk quotas dquot_6.5.2
[ 65.550745] Dquot-cache hash table entries: 1024 (order 0, 8192 bytes)
[ 65.552121] fuse init (API version 7.13)
[ 65.552415] msgmni has been set to 4042
[ 65.553300] alg: No test for stdrng (krng)
[ 65.553356] io scheduler noop registered
[ 65.553376] io scheduler deadline registered
[ 65.553617] io scheduler cfq registered (default)
[ 65.554199] gfb: Found device at /upa@8,480000/SUNW,gfb@0,0
[ 65.594553] Console: switching to colour frame buffer device 160x64
[ 65.638376] [drm] Initialized drm 1.1.0 20060810
[ 65.638985] f0086c30: ttyS0 at MMIO 0x7fe7e400000 (irq = 12) is a SAB82532 V3.2
[ 65.639403] f0086c30: ttyS1 at MMIO 0x7fe7e400040 (irq = 12) is a SAB82532 V3.2
[ 65.642905] brd: module loaded
[ 65.644599] loop: module loaded
[ 65.644860] Fixed MDIO Bus: probed
[ 65.645141] sungem.c:v0.98 8/24/03 David S. Miller (davem@redhat.com)
[ 65.646337] PHY ID: 18074c1, addr: 0
[ 65.647187] eth0: Sun GEM (PCI) 10/100/1000BaseT Ethernet 00:03:ba:5b:86:cb
[ 65.647518] eth0: Found Generic MII PHY
[ 65.647743] tun: Universal TUN/TAP device driver, 1.6
[ 65.647983] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[ 65.648654] mice: PS/2 mouse device common for all mice
[ 65.649181] input: Sparc BBC Speaker as /devices/root/f006c678/f007e070/f0084030/input/input0
[ 65.649955] rtc_cmos rtc_cmos: rtc core: registered rtc_cmos as rtc0
[ 65.650272] rtc0: no alarms, 114 bytes nvram
[ 65.651404] TCP cubic registered
[ 65.651568] NET: Registered protocol family 17
[ 65.652070] registered taskstats version 1
[ 65.652538] rtc_cmos rtc_cmos: setting system clock to 2010-03-13 17:24:24 UTC (1268501064)
[ 65.691746] udev: starting version 151
[ 65.937621] SCSI subsystem initialized
[ 66.019562] usbcore: registered new interface driver usbfs
[ 66.019868] usbcore: registered new interface driver hub
[ 66.152338] PCI: Enabling device: (0000:00:06.0), cmd 147
[ 66.153490] sym0: <875> rev 0x37 at pci 0000:00:06.0 irq 16
[ 66.240731] sym0: No NVRAM, ID 7, Fast-20, SE, parity checking
[ 66.248099] sym0: SCSI BUS has been reset.
[ 66.248313] scsi0 : sym-2.2.3
[ 66.270752] QLogic Fibre Channel HBA Driver: 8.03.02-k1
[ 66.271044] PCI: Enabling device: (0001:00:04.0), cmd 3
[ 66.271063] qla2xxx 0001:00:04.0: Found an ISP2200, irq 20, iobase 0x000007fd00100000
[ 66.283977] usbcore: registered new device driver usb
[ 66.290351] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 66.299077] qla2xxx 0001:00:04.0: Configuring PCI space...
[ 66.307746] qla2xxx 0001:00:04.0: Configure NVRAM parameters...
[ 66.410602] qla2xxx 0001:00:04.0: Inconsistent NVRAM detected: checksum=0x0 id=
[ 66.410946] qla2xxx 0001:00:04.0: Falling back to functioning (yet invalid -- WWPN) defaults.
[ 66.428638] qla2xxx 0001:00:04.0: Verifying loaded RISC code...
[ 66.438341] PCI: Enabling device: (0000:00:06.1), cmd 147
[ 66.439509] sym1: <875> rev 0x37 at pci 0000:00:06.1 irq 17
[ 66.535783] sym1: No NVRAM, ID 7, Fast-20, SE, parity checking
[ 66.552491] sym1: SCSI BUS has been reset.
[ 66.562233] scsi2 : sym-2.2.3
[ 66.572617] qla2xxx 0001:00:04.0: firmware: requesting ql2200_fw.bin
[ 66.645274] ohci1394: fw-host0: OHCI-1394 1.0 (PCI): IRQ=[14] MMIO=[7fe00120000-7fe001207ff] Max Packet=[2048] IR/IT contexts=[4/4]
[ 66.661466] ohci_hcd 0000:00:05.3: OHCI Host Controller
[ 66.672576] ohci_hcd 0000:00:05.3: new USB bus registered, assigned bus number 1
[ 66.683961] ohci_hcd 0000:00:05.3: irq 15, io mem 0x7fe01000000
[ 66.752577] hub 1-0:1.0: USB hub found
[ 66.764120] hub 1-0:1.0: 4 ports detected
[ 67.100227] usb 1-1: new low speed USB device using ohci_hcd and address 2
[ 67.312017] input: HID 0430:0100 as /devices/root/f006c678/pci0000:00/0000:00:05.3/usb1/1-1/1-1:1.0/input/input1
[ 67.324761] generic-usb 0003:0430:0100.0001: input,hidraw0: USB HID v1.10 Mouse [HID 0430:0100] on usb-0000:00:05.3-1/input0
[ 67.337848] usbcore: registered new interface driver usbhid
[ 67.351039] usbhid: USB HID core driver
[ 67.420228] usb 1-2: new low speed USB device using ohci_hcd and address 3
[ 67.594671] input: HID 0430:0005 as /devices/root/f006c678/pci0000:00/0000:00:05.3/usb1/1-2/1-2:1.0/input/input2
[ 67.609055] generic-usb 0003:0430:0005.0002: input,hidraw1: USB HID v1.00 Keyboard [HID 0430:0005] on usb-0000:00:05.3-2/input0
[ 67.932445] ieee1394: Host added: ID:BUS[0-00:1023] GUID[0003bafffe5b86cb]
[ 68.044422] eth0: Link is up at 100 Mbps, full-duplex.
[ 71.001376] scsi 0:0:6:0: CD-ROM TOSHIBA DVD-ROM SD-M1401 1007 PQ: 0 ANSI: 2
[ 71.015994] scsi target0:0:6: Beginning Domain Validation
[ 71.032295] scsi target0:0:6: FAST-20 SCSI 20.0 MB/s ST (50 ns, offset 16)
[ 71.048224] scsi target0:0:6: Domain Validation skipping write tests
[ 71.062989] scsi target0:0:6: Ending Domain Validation
[ 73.457807] sr0: scsi3-mmc drive: 40x/40x cd/rw xa/form2 cdda tray
[ 73.472601] Uniform CD-ROM driver Revision: 3.20
[ 73.487495] sr 0:0:6:0: Attached scsi CD-ROM sr0
[ 73.501968] sr 0:0:6:0: Attached scsi generic sg0 type 5
[ 77.420288] qla2xxx 0001:00:04.0: Allocated (252 KB) for firmware dump...
[ 77.560226] qla2xxx 0001:00:04.0: LIP reset occurred (f8e8).
[ 77.575035] scsi1 : qla2xxx
[ 77.590390] qla2xxx 0001:00:04.0:
[ 77.590394] QLogic Fibre Channel HBA Driver: 8.03.02-k1
[ 77.590398] QLogic QLA22xx -
[ 77.590400] ISP2200: PCI (66 MHz) @ 0001:00:04.0 hdma-, host#=1, fw=2.02.08 TP
[ 77.647535] qla2xxx 0001:00:04.0: LIP occurred (f8e8).
[ 77.662023] qla2xxx 0001:00:04.0: LOOP UP detected (1 Gbps).
[ 78.581442] scsi 1:0:0:0: Direct-Access SEAGATE ST336605FSUN36G 0638 PQ: 0 ANSI: 3
[ 78.596840] scsi 1:0:0:0: Attached scsi generic sg1 type 0
[ 78.635907] sd 1:0:0:0: [sda] 71132959 512-byte logical blocks: (36.4 GB/33.9 GiB)
[ 78.653014] sd 1:0:0:0: [sda] Write Protect is off
[ 78.667483] sd 1:0:0:0: [sda] Mode Sense: db 00 10 08
[ 78.671866] sd 1:0:0:0: [sda] Write cache: disabled, read cache: enabled, supports DPO and FUA
[ 78.696847] sda: sda1 sda2 sda3 sda4 sda5 sda6
[ 78.732469] sd 1:0:0:0: [sda] Attached SCSI disk
[ 79.450624] kjournald starting. Commit interval 5 seconds
[ 79.465589] EXT3-fs (sda5): mounted filesystem with ordered data mode
[ 83.596381] Adding 891592k swap on /dev/sda4. Priority:-1 extents:1 across:891592k
[ 83.678536] udev: starting version 151
[ 83.875017] EXT3-fs (sda5): using internal journal
[ 84.549903] kjournald starting. Commit interval 5 seconds
[ 84.561101] EXT3-fs (sda6): using internal journal
[ 84.561121] EXT3-fs (sda6): mounted filesystem with ordered data mode
[ 84.569637] eth0: Link is up at 100 Mbps, full-duplex.
[ 84.569648] eth0: Pause is disabled
[ 84.671821] plymouthd[170]: segfault at 0 ip 00000000f7e3f790 (rpc 00000000f7bd5eb0) sp 00000000ffa213e0 error 30001 in libc-2.11.1.so[f7db0000+168000]
[ 85.209528] NET: Registered protocol family 10
[ 85.210677] lo: Disabled Privacy Extensions
[ 85.527599] RPC: Registered udp transport module.
[ 85.527610] RPC: Registered tcp transport module.
[ 85.527617] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 85.937900] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
[ 86.475976] svc: failed to register lockdv1 RPC service (errno 47).
[ 86.478863] NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
[ 86.487283] NFSD: starting 90-second grace period
[ 95.916219] eth0: no IPv6 routers present
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: XVR-500 additional pci ids
2010-02-26 1:55 XVR-500 additional pci ids Dennis Gilmore
` (16 preceding siblings ...)
2010-03-13 17:57 ` Frans van Berckel
@ 2010-03-13 18:42 ` Frans van Berckel
2010-03-13 19:12 ` David Miller
` (3 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: Frans van Berckel @ 2010-03-13 18:42 UTC (permalink / raw)
To: sparclinux
On Sat, 2010-03-13 at 18:57 +0100, Frans van Berckel wrote:
> On Fri, 2010-03-12 at 00:08 -0800, David Miller wrote:
> >
> > I look forward to it :-)
>
> It boot's!
>
> [ 0.000000] OF stdout device
> is: /upa@8,480000/SUNW,gfb@0,0:r1440x900x60
>
> Next the screen is switching into blue letters, it scrolls on and on, as
> expected. At the end it prints a blinking cursor. It freezes the cursor.
> But the system goes on and is still accessible with ssh.
>
> Attaching the dmesg ...
It does not freeze. It's a init switch but did not install Xorg. With a
Alt-F1 I can switch the consoles and being able to login.
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: XVR-500 additional pci ids
2010-02-26 1:55 XVR-500 additional pci ids Dennis Gilmore
` (17 preceding siblings ...)
2010-03-13 18:42 ` Frans van Berckel
@ 2010-03-13 19:12 ` David Miller
2010-03-13 19:19 ` David Miller
` (2 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: David Miller @ 2010-03-13 19:12 UTC (permalink / raw)
To: sparclinux
From: Frans van Berckel <fberckel@xs4all.nl>
Date: Sat, 13 Mar 2010 18:57:28 +0100
> Next the screen is switching into blue letters, it scrolls on and on, as
> expected. At the end it prints a blinking cursor. It freezes the cursor.
> But the system goes on and is still accessible with ssh.
So once the kernel switches from the PROM console output and
into the framebuffer driver, the characters printed are blue?
What color is the screen background when this happens?
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: XVR-500 additional pci ids
2010-02-26 1:55 XVR-500 additional pci ids Dennis Gilmore
` (18 preceding siblings ...)
2010-03-13 19:12 ` David Miller
@ 2010-03-13 19:19 ` David Miller
2010-03-13 21:33 ` Frans van Berckel
2010-03-14 0:21 ` David Miller
21 siblings, 0 replies; 23+ messages in thread
From: David Miller @ 2010-03-13 19:19 UTC (permalink / raw)
To: sparclinux
From: David Miller <davem@davemloft.net>
Date: Sat, 13 Mar 2010 11:12:41 -0800 (PST)
> From: Frans van Berckel <fberckel@xs4all.nl>
> Date: Sat, 13 Mar 2010 18:57:28 +0100
>
>> Next the screen is switching into blue letters, it scrolls on and on, as
>> expected. At the end it prints a blinking cursor. It freezes the cursor.
>> But the system goes on and is still accessible with ssh.
>
> So once the kernel switches from the PROM console output and
> into the framebuffer driver, the characters printed are blue?
>
> What color is the screen background when this happens?
Meanwhile I think I know what the problem is, please try
this patch on top of what you have:
diff --git a/drivers/video/sunxvr1000.c b/drivers/video/sunxvr1000.c
index 8066e88..a8248c0 100644
--- a/drivers/video/sunxvr1000.c
+++ b/drivers/video/sunxvr1000.c
@@ -52,7 +52,7 @@ static int gfb_setcolreg(unsigned regno,
green >>= 8;
blue >>= 8;
- value = (blue << 24) | (green << 16) | (red << 8);
+ value = (blue << 16) | (green << 8) | red;
((u32 *)info->pseudo_palette)[regno] = value;
}
^ permalink raw reply related [flat|nested] 23+ messages in thread
* Re: XVR-500 additional pci ids
2010-02-26 1:55 XVR-500 additional pci ids Dennis Gilmore
` (19 preceding siblings ...)
2010-03-13 19:19 ` David Miller
@ 2010-03-13 21:33 ` Frans van Berckel
2010-03-14 0:21 ` David Miller
21 siblings, 0 replies; 23+ messages in thread
From: Frans van Berckel @ 2010-03-13 21:33 UTC (permalink / raw)
To: sparclinux
[-- Attachment #1: Type: text/plain, Size: 529 bytes --]
On Sat, 2010-03-13 at 11:19 -0800, David Miller wrote:
> From: David Miller <davem@davemloft.net>
> Date: Sat, 13 Mar 2010 11:12:41 -0800 (PST)
> >
> > So once the kernel switches from the PROM console output and
> > into the framebuffer driver, the characters printed are blue?
> >
> > What color is the screen background when this happens?
>
> Meanwhile I think I know what the problem is, please try
> this patch on top of what you have:
Yes ... {being happy}
sunxvr1000
Acked-by: Frans van Berckel <fberckel@xs4all.nl>
[-- Attachment #2: sunxvr1000.patch --]
[-- Type: text/x-patch, Size: 7866 bytes --]
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
index 5a5c303..a5755b8 100644
--- a/drivers/video/Kconfig
+++ b/drivers/video/Kconfig
@@ -909,6 +909,18 @@ config FB_XVR2500
mostly initialized the card already. It is treated as a
completely dumb framebuffer device.
+config FB_XVR1000
+ bool "Sun XVR-1000 support"
+ depends on SPARC64
+ select FB_CFB_FILLRECT
+ select FB_CFB_COPYAREA
+ select FB_CFB_IMAGEBLIT
+ help
+ This is the framebuffer device for the Sun XVR-1000 and similar
+ graphics cards. The driver only works on sparc64 systems where
+ the system firmware has mostly initialized the card already. It
+ is treated as a completely dumb framebuffer device.
+
config FB_PVR2
tristate "NEC PowerVR 2 display support"
depends on FB && SH_DREAMCAST
diff --git a/drivers/video/Makefile b/drivers/video/Makefile
index 4ecb30c..8c9a357 100644
--- a/drivers/video/Makefile
+++ b/drivers/video/Makefile
@@ -79,6 +79,7 @@ obj-$(CONFIG_FB_N411) += n411.o
obj-$(CONFIG_FB_HGA) += hgafb.o
obj-$(CONFIG_FB_XVR500) += sunxvr500.o
obj-$(CONFIG_FB_XVR2500) += sunxvr2500.o
+obj-$(CONFIG_FB_XVR1000) += sunxvr1000.o
obj-$(CONFIG_FB_IGA) += igafb.o
obj-$(CONFIG_FB_APOLLO) += dnfb.o
obj-$(CONFIG_FB_Q40) += q40fb.o
diff --git a/drivers/video/sunxvr1000.c b/drivers/video/sunxvr1000.c
new file mode 100644
index 0000000..8066e88
--- /dev/null
+++ b/drivers/video/sunxvr1000.c
@@ -0,0 +1,228 @@
+/* sunxvr1000.c: Sun XVR-1000 driver for sparc64 systems
+ *
+ * Copyright (C) 2010 David S. Miller (davem@davemloft.net)
+ */
+
+#include <linux/module.h>
+#include <linux/kernel.h>
+#include <linux/slab.h>
+#include <linux/fb.h>
+#include <linux/init.h>
+#include <linux/of_device.h>
+
+struct gfb_info {
+ struct fb_info *info;
+
+ char __iomem *fb_base;
+ unsigned long fb_base_phys;
+
+ struct device_node *of_node;
+
+ unsigned int width;
+ unsigned int height;
+ unsigned int depth;
+ unsigned int fb_size;
+
+ u32 pseudo_palette[16];
+};
+
+static int __devinit gfb_get_props(struct gfb_info *gp)
+{
+ gp->width = of_getintprop_default(gp->of_node, "width", 0);
+ gp->height = of_getintprop_default(gp->of_node, "height", 0);
+ gp->depth = of_getintprop_default(gp->of_node, "depth", 32);
+
+ if (!gp->width || !gp->height) {
+ printk(KERN_ERR "gfb: Critical properties missing for %s\n",
+ gp->of_node->full_name);
+ return -EINVAL;
+ }
+
+ return 0;
+}
+
+static int gfb_setcolreg(unsigned regno,
+ unsigned red, unsigned green, unsigned blue,
+ unsigned transp, struct fb_info *info)
+{
+ u32 value;
+
+ if (regno < 16) {
+ red >>= 8;
+ green >>= 8;
+ blue >>= 8;
+
+ value = (blue << 16) | (green << 8) | red;
+ ((u32 *)info->pseudo_palette)[regno] = value;
+ }
+
+ return 0;
+}
+
+static struct fb_ops gfb_ops = {
+ .owner = THIS_MODULE,
+ .fb_setcolreg = gfb_setcolreg,
+ .fb_fillrect = cfb_fillrect,
+ .fb_copyarea = cfb_copyarea,
+ .fb_imageblit = cfb_imageblit,
+};
+
+static int __devinit gfb_set_fbinfo(struct gfb_info *gp)
+{
+ struct fb_info *info = gp->info;
+ struct fb_var_screeninfo *var = &info->var;
+
+ info->flags = FBINFO_DEFAULT;
+ info->fbops = &gfb_ops;
+ info->screen_base = gp->fb_base;
+ info->screen_size = gp->fb_size;
+
+ info->pseudo_palette = gp->pseudo_palette;
+
+ /* Fill fix common fields */
+ strlcpy(info->fix.id, "gfb", sizeof(info->fix.id));
+ info->fix.smem_start = gp->fb_base_phys;
+ info->fix.smem_len = gp->fb_size;
+ info->fix.type = FB_TYPE_PACKED_PIXELS;
+ if (gp->depth == 32 || gp->depth == 24)
+ info->fix.visual = FB_VISUAL_TRUECOLOR;
+ else
+ info->fix.visual = FB_VISUAL_PSEUDOCOLOR;
+
+ var->xres = gp->width;
+ var->yres = gp->height;
+ var->xres_virtual = var->xres;
+ var->yres_virtual = var->yres;
+ var->bits_per_pixel = gp->depth;
+
+ var->red.offset = 0;
+ var->red.length = 8;
+ var->green.offset = 8;
+ var->green.length = 8;
+ var->blue.offset = 16;
+ var->blue.length = 8;
+ var->transp.offset = 0;
+ var->transp.length = 0;
+
+ if (fb_alloc_cmap(&info->cmap, 256, 0)) {
+ printk(KERN_ERR "gfb: Cannot allocate color map.\n");
+ return -ENOMEM;
+ }
+
+ return 0;
+}
+
+static int __devinit gfb_probe(struct of_device *op,
+ const struct of_device_id *match)
+{
+ struct device_node *dp = op->node;
+ struct fb_info *info;
+ struct gfb_info *gp;
+ int err;
+
+ info = framebuffer_alloc(sizeof(struct gfb_info), &op->dev);
+ if (!info) {
+ printk(KERN_ERR "gfb: Cannot allocate fb_info\n");
+ err = -ENOMEM;
+ goto err_out;
+ }
+
+ gp = info->par;
+ gp->info = info;
+ gp->of_node = dp;
+
+ gp->fb_base_phys = op->resource[6].start;
+
+ err = gfb_get_props(gp);
+ if (err)
+ goto err_release_fb;
+
+ /* Framebuffer length is the same regardless of resolution. */
+ info->fix.line_length = 16384;
+ gp->fb_size = info->fix.line_length * gp->height;
+
+ gp->fb_base = of_ioremap(&op->resource[6], 0,
+ gp->fb_size, "gfb fb");
+ if (!gp->fb_base)
+ goto err_release_fb;
+
+ err = gfb_set_fbinfo(gp);
+ if (err)
+ goto err_unmap_fb;
+
+ printk("gfb: Found device at %s\n", dp->full_name);
+
+ err = register_framebuffer(info);
+ if (err < 0) {
+ printk(KERN_ERR "gfb: Could not register framebuffer %s\n",
+ dp->full_name);
+ goto err_unmap_fb;
+ }
+
+ dev_set_drvdata(&op->dev, info);
+
+ return 0;
+
+err_unmap_fb:
+ of_iounmap(&op->resource[6], gp->fb_base, gp->fb_size);
+
+err_release_fb:
+ framebuffer_release(info);
+
+err_out:
+ return err;
+}
+
+static int __devexit gfb_remove(struct of_device *op)
+{
+ struct fb_info *info = dev_get_drvdata(&op->dev);
+ struct gfb_info *gp = info->par;
+
+ unregister_framebuffer(info);
+
+ iounmap(gp->fb_base);
+
+ of_iounmap(&op->resource[6], gp->fb_base, gp->fb_size);
+
+ framebuffer_release(info);
+
+ dev_set_drvdata(&op->dev, NULL);
+
+ return 0;
+}
+
+static const struct of_device_id gfb_match[] = {
+ {
+ .name = "SUNW,gfb",
+ },
+ {},
+};
+MODULE_DEVICE_TABLE(of, ffb_match);
+
+static struct of_platform_driver gfb_driver = {
+ .name = "gfb",
+ .match_table = gfb_match,
+ .probe = gfb_probe,
+ .remove = __devexit_p(gfb_remove),
+};
+
+static int __init gfb_init(void)
+{
+ if (fb_get_options("gfb", NULL))
+ return -ENODEV;
+
+ return of_register_driver(&gfb_driver, &of_bus_type);
+}
+
+static void __exit gfb_exit(void)
+{
+ of_unregister_driver(&gfb_driver);
+}
+
+module_init(gfb_init);
+module_exit(gfb_exit);
+
+MODULE_DESCRIPTION("framebuffer driver for Sun XVR-1000 graphics");
+MODULE_AUTHOR("David S. Miller <davem@davemloft.net>");
+MODULE_VERSION("1.0");
+MODULE_LICENSE("GPL");
^ permalink raw reply related [flat|nested] 23+ messages in thread
* Re: XVR-500 additional pci ids
2010-02-26 1:55 XVR-500 additional pci ids Dennis Gilmore
` (20 preceding siblings ...)
2010-03-13 21:33 ` Frans van Berckel
@ 2010-03-14 0:21 ` David Miller
21 siblings, 0 replies; 23+ messages in thread
From: David Miller @ 2010-03-14 0:21 UTC (permalink / raw)
To: sparclinux
From: Frans van Berckel <fberckel@xs4all.nl>
Date: Sat, 13 Mar 2010 22:33:17 +0100
> On Sat, 2010-03-13 at 11:19 -0800, David Miller wrote:
>> From: David Miller <davem@davemloft.net>
>> Date: Sat, 13 Mar 2010 11:12:41 -0800 (PST)
>> >
>> > So once the kernel switches from the PROM console output and
>> > into the framebuffer driver, the characters printed are blue?
>> >
>> > What color is the screen background when this happens?
>>
>> Meanwhile I think I know what the problem is, please try
>> this patch on top of what you have:
>
> Yes ... {being happy}
>
> sunxvr1000
> Acked-by: Frans van Berckel <fberckel@xs4all.nl>
Thanks for testing, I'll push this new driver around.
^ permalink raw reply [flat|nested] 23+ messages in thread
end of thread, other threads:[~2010-03-14 0:21 UTC | newest]
Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-02-26 1:55 XVR-500 additional pci ids Dennis Gilmore
2010-02-26 5:58 ` David Miller
2010-02-27 9:05 ` Frans van Berckel
2010-02-27 9:59 ` David Miller
2010-03-02 8:20 ` Frans van Berckel
2010-03-11 2:24 ` David Miller
2010-03-11 8:30 ` Frans van Berckel
2010-03-11 16:16 ` David Miller
2010-03-11 17:58 ` David Miller
2010-03-12 7:45 ` Frans van Berckel
2010-03-12 7:54 ` Frans van Berckel
2010-03-12 8:07 ` David Miller
2010-03-12 8:08 ` David Miller
2010-03-13 10:09 ` Frans van Berckel
2010-03-13 10:29 ` Frans van Berckel
2010-03-13 11:05 ` Frans van Berckel
2010-03-13 11:48 ` Frans van Berckel
2010-03-13 17:57 ` Frans van Berckel
2010-03-13 18:42 ` Frans van Berckel
2010-03-13 19:12 ` David Miller
2010-03-13 19:19 ` David Miller
2010-03-13 21:33 ` Frans van Berckel
2010-03-14 0:21 ` David Miller
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.