* [Q] is framebuffer console code in 2.5.4x functional ? @ 2002-11-18 12:54 Andrey Panin 2002-11-18 18:11 ` James Simmons 0 siblings, 1 reply; 15+ messages in thread From: Andrey Panin @ 2002-11-18 12:54 UTC (permalink / raw) To: linux-kernel [-- Attachment #1: Type: text/plain, Size: 776 bytes --] Hi all, I'm trying to resurrect SGI Visws support in 2.5 kernels and have two problems: frambuffer console doesn't show anything and legacy device interrupts not working. It's difficult to debug second problem without console :( Framebuffer driver sets needed video mode (checked with monitor's ods) and starts display dma engine successfuly (i can even draw lines on the screen using memset()'s). But the beautifull linux logo doesn't apear and console doesn't show a single pixel. Simple(silly) questions: - is 2.5.4x framebuffer console code really functional ? - if yes, where to start debugging this issue ? Best regards. -- Andrey Panin | Embedded systems software developer pazke@orbita1.ru | PGP key: wwwkeys.eu.pgp.net [-- Attachment #2: Type: application/pgp-signature, Size: 232 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Q] is framebuffer console code in 2.5.4x functional ? 2002-11-18 12:54 [Q] is framebuffer console code in 2.5.4x functional ? Andrey Panin @ 2002-11-18 18:11 ` James Simmons 2002-11-20 9:46 ` Andrey Panin 0 siblings, 1 reply; 15+ messages in thread From: James Simmons @ 2002-11-18 18:11 UTC (permalink / raw) To: Andrey Panin; +Cc: linux-kernel > Framebuffer driver sets needed video mode (checked with monitor's ods) > and starts display dma engine successfuly (i can even draw lines on the > screen using memset()'s). So the driver is functional. I assume also a cat /dev/urandom > /dev/fb works as well. > But the beautifull linux logo doesn't apear and Fixed in the fbdev BK tree. > console doesn't show a single pixel. :-( Can you post your .config file. > Simple(silly) questions: > - is 2.5.4x framebuffer console code really functional ? If the driver has been ported to the new api then yes it works. I did port the SGIVW driver some time ago bit didn't have the hardware to test it. I will be posting a new fbdev patch today against 2.5.48 today. Giev it a try. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Q] is framebuffer console code in 2.5.4x functional ? 2002-11-18 18:11 ` James Simmons @ 2002-11-20 9:46 ` Andrey Panin 2002-11-21 17:24 ` James Simmons 0 siblings, 1 reply; 15+ messages in thread From: Andrey Panin @ 2002-11-20 9:46 UTC (permalink / raw) To: James Simmons; +Cc: linux-kernel [-- Attachment #1.1: Type: text/plain, Size: 1210 bytes --] On Mon, Nov 18, 2002 at 06:11:34PM +0000, James Simmons wrote: > > > Framebuffer driver sets needed video mode (checked with monitor's osd) > > and starts display dma engine successfuly (i can even draw lines on the > > screen using memset()'s). > > So the driver is functional. I assume also a cat /dev/urandom > /dev/fb > works as well. Yes, it fills screen with fancy patterns. > > > But the beautifull linux logo doesn't apear and > > Fixed in the fbdev BK tree. > > > console doesn't show a single pixel. > > :-( Can you post your .config file. Attached. > > > Simple(silly) questions: > > - is 2.5.4x framebuffer console code really functional ? > > If the driver has been ported to the new api then yes it works. I did port > the SGIVW driver some time ago bit didn't have the hardware to test it. I did some changes to sgivwfb.c to make it compilable, patch attached. Can you take a look at it ? > I will be posting a new fbdev patch today against 2.5.48 today. Giev it a > try. Didn't see proposed fbdev patch yet :( -- Andrey Panin | Embedded systems software developer pazke@orbita1.ru | PGP key: wwwkeys.eu.pgp.net [-- Attachment #1.2: config-visws --] [-- Type: text/plain, Size: 18041 bytes --] # # Automatically generated make config: don't edit # CONFIG_X86=y CONFIG_MMU=y CONFIG_SWAP=y CONFIG_UID16=y CONFIG_GENERIC_ISA_DMA=y # # Code maturity level options # CONFIG_EXPERIMENTAL=y # # General setup # CONFIG_NET=y CONFIG_SYSVIPC=y # CONFIG_BSD_PROCESS_ACCT is not set CONFIG_SYSCTL=y # # Loadable module support # CONFIG_MODULES=y # CONFIG_MODVERSIONS is not set CONFIG_KMOD=y # # Processor type and features # # CONFIG_M386 is not set # CONFIG_M486 is not set # CONFIG_M586 is not set # CONFIG_M586TSC is not set # CONFIG_M586MMX is not set # CONFIG_M686 is not set CONFIG_MPENTIUMIII=y # CONFIG_MPENTIUM4 is not set # CONFIG_MGEODE is not set # CONFIG_MK6 is not set # CONFIG_MK7 is not set # CONFIG_MELAN is not set # CONFIG_MCRUSOE is not set # CONFIG_MWINCHIPC6 is not set # CONFIG_MWINCHIP2 is not set # CONFIG_MWINCHIP3D is not set # CONFIG_MCYRIXIII is not set CONFIG_X86_CMPXCHG=y CONFIG_X86_XADD=y CONFIG_X86_L1_CACHE_SHIFT=5 CONFIG_RWSEM_XCHGADD_ALGORITHM=y CONFIG_X86_WP_WORKS_OK=y CONFIG_X86_INVLPG=y CONFIG_X86_BSWAP=y CONFIG_X86_POPAD_OK=y CONFIG_X86_TSC=y CONFIG_X86_GOOD_APIC=y CONFIG_X86_INTEL_USERCOPY=y CONFIG_X86_USE_PPRO_CHECKSUM=y # CONFIG_HUGETLB_PAGE is not set CONFIG_SMP=y CONFIG_PREEMPT=y CONFIG_X86_LOCAL_APIC=y CONFIG_NR_CPUS=4 # CONFIG_X86_NUMA is not set CONFIG_X86_MCE=y # CONFIG_X86_MCE_NONFATAL is not set # CONFIG_X86_MCE_P4THERMAL is not set # CONFIG_CPU_FREQ is not set # CONFIG_TOSHIBA is not set # CONFIG_I8K is not set # CONFIG_MICROCODE is not set # CONFIG_X86_MSR is not set # CONFIG_X86_CPUID is not set # CONFIG_EDD is not set CONFIG_NOHIGHMEM=y # CONFIG_HIGHMEM4G is not set # CONFIG_HIGHMEM64G is not set # CONFIG_MATH_EMULATION is not set CONFIG_MTRR=y CONFIG_HAVE_DEC_LOCK=y # # Power management options (ACPI, APM) # # # ACPI Support # # CONFIG_ACPI is not set # CONFIG_PM is not set # # Bus options (PCI, PCMCIA, EISA, MCA, ISA) # CONFIG_VISWS=y CONFIG_X86_VISWS_APIC=y CONFIG_PCI=y # CONFIG_PCI_GOBIOS is not set # CONFIG_PCI_GODIRECT is not set # CONFIG_PCI_GOANY is not set CONFIG_PCI_DIRECT=y # CONFIG_SCx200 is not set CONFIG_PCI_NAMES=y # CONFIG_ISA is not set # CONFIG_HOTPLUG is not set # # Executable file formats # CONFIG_KCORE_ELF=y # CONFIG_KCORE_AOUT is not set # CONFIG_BINFMT_AOUT is not set CONFIG_BINFMT_ELF=y # CONFIG_BINFMT_MISC is not set # # Memory Technology Devices (MTD) # # CONFIG_MTD is not set # # Parallel port support # CONFIG_PARPORT=m CONFIG_PARPORT_PC=m CONFIG_PARPORT_PC_CML1=m # CONFIG_PARPORT_SERIAL is not set # CONFIG_PARPORT_PC_FIFO is not set # CONFIG_PARPORT_PC_SUPERIO is not set # CONFIG_PARPORT_OTHER is not set CONFIG_PARPORT_1284=y # # Plug and Play configuration # # CONFIG_PNP is not set # # Block devices # CONFIG_BLK_DEV_FD=m # CONFIG_PARIDE is not set # CONFIG_BLK_CPQ_DA is not set # CONFIG_BLK_CPQ_CISS_DA is not set # CONFIG_BLK_DEV_DAC960 is not set # CONFIG_BLK_DEV_UMEM is not set # CONFIG_BLK_DEV_LOOP is not set # CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_RAM is not set # CONFIG_LBD is not set # # ATA/ATAPI/MFM/RLL device support # CONFIG_IDE=y # # IDE, ATA and ATAPI Block devices # CONFIG_BLK_DEV_IDE=y # # Please see Documentation/ide.txt for help/info on IDE drives # # CONFIG_BLK_DEV_HD_IDE is not set # CONFIG_BLK_DEV_HD is not set CONFIG_BLK_DEV_IDEDISK=y CONFIG_IDEDISK_MULTI_MODE=y # CONFIG_IDEDISK_STROKE is not set CONFIG_BLK_DEV_IDECD=m CONFIG_BLK_DEV_IDEFLOPPY=m # CONFIG_BLK_DEV_IDESCSI is not set # CONFIG_IDE_TASK_IOCTL is not set # # IDE chipset support/bugfixes # # CONFIG_BLK_DEV_CMD640 is not set CONFIG_BLK_DEV_IDEPCI=y CONFIG_BLK_DEV_GENERIC=y CONFIG_IDEPCI_SHARE_IRQ=y CONFIG_BLK_DEV_IDEDMA_PCI=y CONFIG_BLK_DEV_IDE_TCQ=y CONFIG_BLK_DEV_IDE_TCQ_DEFAULT=y CONFIG_BLK_DEV_IDE_TCQ_DEPTH=8 # CONFIG_BLK_DEV_OFFBOARD is not set # CONFIG_BLK_DEV_IDEDMA_FORCED is not set CONFIG_IDEDMA_PCI_AUTO=y # CONFIG_IDEDMA_ONLYDISK is not set CONFIG_BLK_DEV_IDEDMA=y # CONFIG_IDEDMA_PCI_WIP is not set CONFIG_BLK_DEV_ADMA=y # CONFIG_BLK_DEV_AEC62XX is not set # CONFIG_BLK_DEV_ALI15X3 is not set # CONFIG_BLK_DEV_AMD74XX is not set # CONFIG_BLK_DEV_CMD64X is not set # CONFIG_BLK_DEV_CY82C693 is not set # CONFIG_BLK_DEV_CS5530 is not set # CONFIG_BLK_DEV_HPT34X is not set # CONFIG_BLK_DEV_HPT366 is not set # CONFIG_BLK_DEV_SC1200 is not set CONFIG_BLK_DEV_PIIX=y # CONFIG_BLK_DEV_NFORCE is not set # CONFIG_BLK_DEV_NS87415 is not set # CONFIG_BLK_DEV_OPTI621 is not set # CONFIG_BLK_DEV_PDC202XX_OLD is not set # CONFIG_BLK_DEV_PDC202XX_NEW is not set # CONFIG_BLK_DEV_RZ1000 is not set # CONFIG_BLK_DEV_SVWKS is not set # CONFIG_BLK_DEV_SIIMAGE is not set # CONFIG_BLK_DEV_SIS5513 is not set # CONFIG_BLK_DEV_SLC90E66 is not set # CONFIG_BLK_DEV_TRM290 is not set # CONFIG_BLK_DEV_VIA82CXXX is not set CONFIG_IDEDMA_AUTO=y # CONFIG_IDEDMA_IVB is not set CONFIG_BLK_DEV_IDE_MODES=y # # SCSI device support # CONFIG_SCSI=y # # SCSI support type (disk, tape, CD-ROM) # CONFIG_BLK_DEV_SD=y # CONFIG_CHR_DEV_ST is not set # CONFIG_CHR_DEV_OSST is not set # CONFIG_BLK_DEV_SR is not set # CONFIG_CHR_DEV_SG is not set # # Some SCSI devices (e.g. CD jukebox) support multiple LUNs # CONFIG_SCSI_MULTI_LUN=y CONFIG_SCSI_REPORT_LUNS=y CONFIG_SCSI_CONSTANTS=y # CONFIG_SCSI_LOGGING is not set # # SCSI low-level drivers # # CONFIG_BLK_DEV_3W_XXXX_RAID is not set # CONFIG_SCSI_ACARD is not set # CONFIG_SCSI_AACRAID is not set # CONFIG_SCSI_AIC7XXX is not set # CONFIG_SCSI_AIC7XXX_OLD is not set # CONFIG_SCSI_DPT_I2O is not set # CONFIG_SCSI_ADVANSYS is not set # CONFIG_SCSI_IN2000 is not set # CONFIG_SCSI_AM53C974 is not set # CONFIG_SCSI_MEGARAID is not set # CONFIG_SCSI_BUSLOGIC is not set # CONFIG_SCSI_CPQFCTS is not set # CONFIG_SCSI_DMX3191D is not set # CONFIG_SCSI_EATA is not set # CONFIG_SCSI_EATA_DMA is not set # CONFIG_SCSI_EATA_PIO is not set # CONFIG_SCSI_FUTURE_DOMAIN is not set # CONFIG_SCSI_GDTH is not set # CONFIG_SCSI_GENERIC_NCR5380 is not set # CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set # CONFIG_SCSI_IPS is not set # CONFIG_SCSI_INITIO is not set # CONFIG_SCSI_INIA100 is not set # CONFIG_SCSI_PPA is not set # CONFIG_SCSI_IMM is not set # CONFIG_SCSI_NCR53C7xx is not set # CONFIG_SCSI_SYM53C8XX_2 is not set # CONFIG_SCSI_NCR53C8XX is not set # CONFIG_SCSI_SYM53C8XX is not set # CONFIG_SCSI_PCI2000 is not set # CONFIG_SCSI_PCI2220I is not set # CONFIG_SCSI_QLOGIC_ISP is not set # CONFIG_SCSI_QLOGIC_FC is not set CONFIG_SCSI_QLOGIC_1280=y # CONFIG_SCSI_DC390T is not set # CONFIG_SCSI_U14_34F is not set # CONFIG_SCSI_NSP32 is not set # CONFIG_SCSI_DEBUG is not set # # Multi-device support (RAID and LVM) # # CONFIG_MD is not set # # Fusion MPT device support # # CONFIG_FUSION is not set # # IEEE 1394 (FireWire) support (EXPERIMENTAL) # # CONFIG_IEEE1394 is not set # # I2O device support # # CONFIG_I2O is not set # # Networking options # CONFIG_PACKET=y # CONFIG_PACKET_MMAP is not set # CONFIG_NETLINK_DEV is not set # CONFIG_NETFILTER is not set # CONFIG_FILTER is not set CONFIG_UNIX=y # CONFIG_NET_KEY is not set CONFIG_INET=y CONFIG_IP_MULTICAST=y # CONFIG_IP_ADVANCED_ROUTER is not set # CONFIG_IP_PNP is not set # CONFIG_NET_IPIP is not set # CONFIG_NET_IPGRE is not set # CONFIG_IP_MROUTE is not set # CONFIG_ARPD is not set # CONFIG_INET_ECN is not set # CONFIG_SYN_COOKIES is not set # CONFIG_INET_AH is not set # CONFIG_INET_ESP is not set # CONFIG_IPV6 is not set # # SCTP Configuration (EXPERIMENTAL) # CONFIG_IPV6_SCTP__=y # CONFIG_IP_SCTP is not set # CONFIG_ATM is not set # CONFIG_VLAN_8021Q is not set # CONFIG_LLC is not set # CONFIG_DECNET is not set # CONFIG_BRIDGE is not set # CONFIG_X25 is not set # CONFIG_LAPB is not set # CONFIG_NET_DIVERT is not set # CONFIG_ECONET is not set # CONFIG_WAN_ROUTER is not set # CONFIG_NET_FASTROUTE is not set # CONFIG_NET_HW_FLOWCONTROL is not set # # QoS and/or fair queueing # # CONFIG_NET_SCHED is not set # # Network testing # # CONFIG_NET_PKTGEN is not set # # Network device support # CONFIG_NETDEVICES=y # # ARCnet devices # # CONFIG_ARCNET is not set # CONFIG_DUMMY is not set # CONFIG_BONDING is not set # CONFIG_EQUALIZER is not set # CONFIG_TUN is not set # CONFIG_ETHERTAP is not set # # Ethernet (10 or 100Mbit) # CONFIG_NET_ETHERNET=y # CONFIG_HAPPYMEAL is not set # CONFIG_SUNGEM is not set # CONFIG_NET_VENDOR_3COM is not set # CONFIG_NET_VENDOR_SMC is not set # CONFIG_NET_VENDOR_RACAL is not set # # Tulip family network device support # # CONFIG_NET_TULIP is not set # CONFIG_HP100 is not set CONFIG_NET_PCI=y # CONFIG_PCNET32 is not set # CONFIG_ADAPTEC_STARFIRE is not set # CONFIG_B44 is not set # CONFIG_DGRS is not set CONFIG_EEPRO100=y # CONFIG_E100 is not set # CONFIG_FEALNX is not set # CONFIG_NATSEMI is not set # CONFIG_NE2K_PCI is not set # CONFIG_8139CP is not set # CONFIG_8139TOO is not set # CONFIG_SIS900 is not set # CONFIG_EPIC100 is not set # CONFIG_SUNDANCE is not set # CONFIG_TLAN is not set # CONFIG_VIA_RHINE is not set # CONFIG_NET_POCKET is not set # # Ethernet (1000 Mbit) # # CONFIG_ACENIC is not set # CONFIG_DL2K is not set # CONFIG_E1000 is not set # CONFIG_NS83820 is not set # CONFIG_HAMACHI is not set # CONFIG_YELLOWFIN is not set # CONFIG_SK98LIN is not set # CONFIG_TIGON3 is not set # CONFIG_FDDI is not set # CONFIG_HIPPI is not set # CONFIG_PLIP is not set # CONFIG_PPP is not set # CONFIG_SLIP is not set # # Wireless LAN (non-hamradio) # # CONFIG_NET_RADIO is not set # # Token Ring devices # # CONFIG_TR is not set # CONFIG_NET_FC is not set # CONFIG_RCPCI is not set # CONFIG_SHAPER is not set # # Wan interfaces # # CONFIG_WAN is not set # # Amateur Radio support # # CONFIG_HAMRADIO is not set # # IrDA (infrared) support # # CONFIG_IRDA is not set # # ISDN subsystem # # CONFIG_ISDN_BOOL is not set # # Telephony Support # # CONFIG_PHONE is not set # # Input device support # CONFIG_INPUT=y # # Userland interfaces # CONFIG_INPUT_MOUSEDEV=y CONFIG_INPUT_MOUSEDEV_PSAUX=y CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 # CONFIG_INPUT_JOYDEV is not set # CONFIG_INPUT_TSDEV is not set # CONFIG_INPUT_EVDEV is not set # CONFIG_INPUT_EVBUG is not set # # Input I/O drivers # # CONFIG_GAMEPORT is not set CONFIG_SOUND_GAMEPORT=y # CONFIG_SERIO is not set # # Input Device Drivers # # CONFIG_INPUT_KEYBOARD is not set # CONFIG_INPUT_MOUSE is not set # CONFIG_INPUT_JOYSTICK is not set # CONFIG_INPUT_TOUCHSCREEN is not set # CONFIG_INPUT_MISC is not set # # Character devices # CONFIG_VT=y CONFIG_VT_CONSOLE=y CONFIG_HW_CONSOLE=y # CONFIG_SERIAL_NONSTANDARD is not set # # Serial drivers # CONFIG_SERIAL_8250=m # CONFIG_SERIAL_8250_EXTENDED is not set # # Non-8250 serial port support # CONFIG_SERIAL_CORE=m CONFIG_UNIX98_PTYS=y CONFIG_UNIX98_PTY_COUNT=256 CONFIG_PRINTER=m # CONFIG_LP_CONSOLE is not set # CONFIG_PPDEV is not set # CONFIG_TIPAR is not set # # I2C support # # CONFIG_I2C is not set # # Mice # # CONFIG_BUSMOUSE is not set # CONFIG_QIC02_TAPE is not set # # Watchdog Cards # # CONFIG_WATCHDOG is not set # CONFIG_INTEL_RNG is not set # CONFIG_AMD_RNG is not set # CONFIG_NVRAM is not set # CONFIG_RTC is not set # CONFIG_GEN_RTC is not set # CONFIG_DTLK is not set # CONFIG_R3964 is not set # CONFIG_APPLICOM is not set # CONFIG_SONYPI is not set # # Ftape, the floppy tape device driver # # CONFIG_FTAPE is not set # CONFIG_AGP is not set # CONFIG_DRM is not set # CONFIG_MWAVE is not set # CONFIG_RAW_DRIVER is not set # # Multimedia devices # # CONFIG_VIDEO_DEV is not set # # File systems # # CONFIG_QUOTA is not set # CONFIG_AUTOFS_FS is not set # CONFIG_AUTOFS4_FS is not set # CONFIG_REISERFS_FS is not set # CONFIG_ADFS_FS is not set # CONFIG_AFFS_FS is not set # CONFIG_HFS_FS is not set # CONFIG_BEFS_FS is not set # CONFIG_BFS_FS is not set # CONFIG_EXT3_FS is not set # CONFIG_JBD is not set CONFIG_FAT_FS=y # CONFIG_MSDOS_FS is not set CONFIG_VFAT_FS=y # CONFIG_EFS_FS is not set # CONFIG_CRAMFS is not set CONFIG_TMPFS=y CONFIG_RAMFS=y CONFIG_ISO9660_FS=m CONFIG_JOLIET=y # CONFIG_ZISOFS is not set # CONFIG_JFS_FS is not set # CONFIG_MINIX_FS is not set # CONFIG_VXFS_FS is not set # CONFIG_NTFS_FS is not set # CONFIG_HPFS_FS is not set CONFIG_PROC_FS=y # CONFIG_DEVFS_FS is not set CONFIG_DEVPTS_FS=y # CONFIG_QNX4FS_FS is not set # CONFIG_ROMFS_FS is not set CONFIG_EXT2_FS=y # CONFIG_EXT2_FS_XATTR is not set # CONFIG_SYSV_FS is not set CONFIG_UDF_FS=m # CONFIG_UDF_RW is not set # CONFIG_UFS_FS is not set # CONFIG_XFS_FS is not set # # Network File Systems # # CONFIG_CODA_FS is not set # CONFIG_INTERMEZZO_FS is not set # CONFIG_NFS_FS is not set # CONFIG_NFSD is not set # CONFIG_EXPORTFS is not set # CONFIG_CIFS is not set # CONFIG_SMB_FS is not set # CONFIG_NCP_FS is not set # CONFIG_AFS_FS is not set # # Partition Types # # CONFIG_PARTITION_ADVANCED is not set CONFIG_MSDOS_PARTITION=y CONFIG_NLS=y # # Native Language Support # CONFIG_NLS_DEFAULT="iso8859-1" CONFIG_NLS_CODEPAGE_437=y # CONFIG_NLS_CODEPAGE_737 is not set # CONFIG_NLS_CODEPAGE_775 is not set # CONFIG_NLS_CODEPAGE_850 is not set # CONFIG_NLS_CODEPAGE_852 is not set # CONFIG_NLS_CODEPAGE_855 is not set # CONFIG_NLS_CODEPAGE_857 is not set # CONFIG_NLS_CODEPAGE_860 is not set # CONFIG_NLS_CODEPAGE_861 is not set # CONFIG_NLS_CODEPAGE_862 is not set # CONFIG_NLS_CODEPAGE_863 is not set # CONFIG_NLS_CODEPAGE_864 is not set # CONFIG_NLS_CODEPAGE_865 is not set CONFIG_NLS_CODEPAGE_866=m # CONFIG_NLS_CODEPAGE_869 is not set # CONFIG_NLS_CODEPAGE_936 is not set # CONFIG_NLS_CODEPAGE_950 is not set # CONFIG_NLS_CODEPAGE_932 is not set # CONFIG_NLS_CODEPAGE_949 is not set # CONFIG_NLS_CODEPAGE_874 is not set # CONFIG_NLS_ISO8859_8 is not set # CONFIG_NLS_CODEPAGE_1250 is not set # CONFIG_NLS_CODEPAGE_1251 is not set CONFIG_NLS_ISO8859_1=y # CONFIG_NLS_ISO8859_2 is not set # CONFIG_NLS_ISO8859_3 is not set # CONFIG_NLS_ISO8859_4 is not set # CONFIG_NLS_ISO8859_5 is not set # CONFIG_NLS_ISO8859_6 is not set # CONFIG_NLS_ISO8859_7 is not set # CONFIG_NLS_ISO8859_9 is not set # CONFIG_NLS_ISO8859_13 is not set # CONFIG_NLS_ISO8859_14 is not set # CONFIG_NLS_ISO8859_15 is not set # CONFIG_NLS_KOI8_R is not set CONFIG_NLS_KOI8_U=m # CONFIG_NLS_UTF8 is not set # # Console drivers # CONFIG_VIDEO_SELECT=y # # Frame-buffer support # CONFIG_FB=y CONFIG_DUMMY_CONSOLE=y # CONFIG_FB_CLGEN is not set # CONFIG_FB_PM2 is not set # CONFIG_FB_CYBER2000 is not set # CONFIG_FB_ATY is not set # CONFIG_FB_VGA16 is not set # CONFIG_FB_VESA is not set # CONFIG_FB_HGA is not set CONFIG_FB_SGIVW=y CONFIG_BUS_I2C=y # CONFIG_FB_RIVA is not set # CONFIG_FB_MATROX is not set # CONFIG_FB_RADEON is not set # CONFIG_FB_ATY128 is not set # CONFIG_FB_SIS is not set # CONFIG_FB_NEOMAGIC is not set # CONFIG_FB_3DFX is not set # CONFIG_FB_VOODOO1 is not set # CONFIG_FB_TRIDENT is not set # CONFIG_FB_PM3 is not set # CONFIG_FB_VIRTUAL is not set # CONFIG_FBCON_ADVANCED is not set CONFIG_FBCON_ACCEL=y # CONFIG_FBCON_FONTWIDTH8_ONLY is not set # CONFIG_FBCON_FONTS is not set CONFIG_FONT_8x8=y CONFIG_FONT_8x16=y # # Sound # CONFIG_SOUND=y # # Open Sound System # CONFIG_SOUND_PRIME=y # CONFIG_SOUND_BT878 is not set # CONFIG_SOUND_CMPCI is not set # CONFIG_SOUND_EMU10K1 is not set # CONFIG_SOUND_FUSION is not set # CONFIG_SOUND_CS4281 is not set # CONFIG_SOUND_ES1370 is not set # CONFIG_SOUND_ES1371 is not set # CONFIG_SOUND_ESSSOLO1 is not set # CONFIG_SOUND_MAESTRO is not set # CONFIG_SOUND_MAESTRO3 is not set # CONFIG_SOUND_ICH is not set # CONFIG_SOUND_RME96XX is not set # CONFIG_SOUND_SONICVIBES is not set CONFIG_SOUND_VWSND=y # CONFIG_SOUND_TRIDENT is not set # CONFIG_SOUND_MSNDCLAS is not set # CONFIG_SOUND_MSNDPIN is not set # CONFIG_SOUND_VIA82CXXX is not set # CONFIG_SOUND_OSS is not set # # Advanced Linux Sound Architecture # # CONFIG_SND is not set # # USB support # CONFIG_USB=y # CONFIG_USB_DEBUG is not set # # Miscellaneous USB options # # CONFIG_USB_DEVICEFS is not set CONFIG_USB_LONG_TIMEOUT=y CONFIG_USB_BANDWIDTH=y # CONFIG_USB_DYNAMIC_MINORS is not set # # USB Host Controller Drivers # # CONFIG_USB_EHCI_HCD is not set # CONFIG_USB_OHCI_HCD is not set CONFIG_USB_UHCI_HCD_ALT=y # # USB Device Class drivers # # CONFIG_USB_AUDIO is not set # CONFIG_USB_BLUETOOTH_TTY is not set # CONFIG_USB_MIDI is not set # CONFIG_USB_ACM is not set # CONFIG_USB_PRINTER is not set # CONFIG_USB_STORAGE is not set # # USB Human Interface Devices (HID) # CONFIG_USB_HID=y CONFIG_USB_HIDINPUT=y # CONFIG_HID_FF is not set # CONFIG_USB_HIDDEV is not set # CONFIG_USB_AIPTEK is not set # CONFIG_USB_WACOM is not set # CONFIG_USB_POWERMATE is not set # CONFIG_USB_XPAD is not set # # USB Imaging devices # # CONFIG_USB_MDC800 is not set # CONFIG_USB_SCANNER is not set # CONFIG_USB_MICROTEK is not set # CONFIG_USB_HPUSBSCSI is not set # # USB Multimedia devices # # CONFIG_USB_DABUSB is not set # # Video4Linux support is needed for USB Multimedia device support # # # USB Network adaptors # # CONFIG_USB_CATC is not set # CONFIG_USB_CDCETHER is not set # CONFIG_USB_KAWETH is not set # CONFIG_USB_PEGASUS is not set # CONFIG_USB_RTL8150 is not set # CONFIG_USB_USBNET is not set # # USB port drivers # # CONFIG_USB_USS720 is not set # # USB Serial Converter support # # CONFIG_USB_SERIAL is not set # # USB Miscellaneous drivers # # CONFIG_USB_TIGL is not set # CONFIG_USB_AUERSWALD is not set # CONFIG_USB_RIO500 is not set # CONFIG_USB_BRLVGER is not set # CONFIG_USB_LCD is not set # # Bluetooth support # # CONFIG_BT is not set # # Profiling support # # CONFIG_PROFILING is not set # # Kernel hacking # CONFIG_DEBUG_KERNEL=y # CONFIG_DEBUG_STACKOVERFLOW is not set # CONFIG_DEBUG_SLAB is not set # CONFIG_DEBUG_IOVIRT is not set # CONFIG_MAGIC_SYSRQ is not set # CONFIG_DEBUG_SPINLOCK is not set CONFIG_KALLSYMS=y # CONFIG_X86_STACK_CHECK is not set CONFIG_IOMMU_DEBUG=y CONFIG_X86_EXTRA_IRQS=y CONFIG_X86_FIND_SMP_CONFIG=y # # Security options # CONFIG_SECURITY_CAPABILITIES=y # # Cryptographic options # # CONFIG_CRYPTO is not set # # Library routines # CONFIG_CRC32=y CONFIG_X86_SMP=y CONFIG_X86_HT=y CONFIG_X86_TRAMPOLINE=y [-- Attachment #1.3: patch-sgivwfb --] [-- Type: text/plain, Size: 5510 bytes --] diff -urN -X /usr/share/dontdiff linux.vanilla/drivers/video/sgivwfb.c linux/drivers/video/sgivwfb.c --- linux.vanilla/drivers/video/sgivwfb.c Sun Sep 1 02:05:12 2002 +++ linux/drivers/video/sgivwfb.c Wed Nov 20 17:55:19 2002 @@ -23,17 +23,18 @@ #include <asm/uaccess.h> #include <linux/fb.h> #include <linux/init.h> +#include <linux/ioport.h> #include <asm/io.h> #include <asm/mtrr.h> #include <video/fbcon.h> #define INCLUDE_TIMING_TABLE_DATA -#define DBE_REG_BASE regs -#include <video/sgivw.h> +#define DBE_REG_BASE default_par.regs +#include <asm/sgi-vwdbe.h> struct sgivw_par { - asregs *regs; + struct asregs *regs; u32 cmap_fifo; u_long timing_num; }; @@ -46,8 +47,8 @@ */ /* set by arch/i386/kernel/setup.c */ -u_long sgivwfb_mem_phys; -u_long sgivwfb_mem_size; +extern unsigned long sgivwfb_mem_phys; +extern unsigned long sgivwfb_mem_size; static struct fb_info fb_info; static struct sgivw_par default_par; @@ -60,7 +61,7 @@ .visual = FB_VISUAL_PSEUDOCOLOR, .mmio_start = DBE_REG_PHYS, .mmio_len = DBE_REG_SIZE, - .accel_flags = FB_ACCEL_NONE + .accel = FB_ACCEL_NONE, }; static struct fb_var_screeninfo sgivwfb_var __initdata = { @@ -226,7 +223,7 @@ static int sgivwfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) { - int err, activate = var->activate; +// int activate = var->activate; struct dbe_timing_info *timing; u_long line_length; u_long min_mode; @@ -240,8 +237,8 @@ if (var->vmode & FB_VMODE_CONUPDATE) { var->vmode |= FB_VMODE_YWRAP; - var->xoffset = display->var.xoffset; - var->yoffset = display->var.yoffset; + var->xoffset = disp.var.xoffset; /* FIXME */ + var->yoffset = disp.var.yoffset; /* FIXME */ } /* XXX FIXME - forcing var's */ @@ -350,7 +346,7 @@ /* Ouch. This breaks the rules but timing_num is only important if you * change a video mode */ - par->timing_num = min_mode; + default_par.timing_num = min_mode; /* XXX ? */ printk(KERN_INFO "sgivwfb: new video mode xres=%d yres=%d bpp=%d\n", var->xres, var->yres, var->bits_per_pixel); @@ -369,7 +365,7 @@ u32 readVal, outputVal; int wholeTilesX, maxPixelsPerTileX; int frmWrite1, frmWrite2, frmWrite3b; - dbe_timing_info_t *currentTiming; /* Current Video Timing */ + struct dbe_timing_info *currentTiming; /* Current Video Timing */ int xpmax, ypmax; // Monitor resolution int bytesPerPixel; // Bytes per pixel @@ -705,11 +675,17 @@ printk(KERN_INFO "sgivwfb: framebuffer at 0x%lx, size %ldk\n", sgivwfb_mem_phys, sgivwfb_mem_size / 1024); - default_par.regs = (asregs *) ioremap_nocache(DBE_REG_PHYS, DBE_REG_SIZE); + if (!request_mem_region(DBE_REG_PHYS, DBE_REG_SIZE, "sgivwfb")) { + printk(KERN_ERR "sgivwfb: couldn't reserve mmio region\n"); + goto fail_request_mem_region; + } + + default_par.regs = (struct asregs *) ioremap_nocache(DBE_REG_PHYS, DBE_REG_SIZE); if (!default_par.regs) { printk(KERN_ERR "sgivwfb: couldn't ioremap registers\n"); goto fail_ioremap_regs; } + #ifdef CONFIG_MTRR mtrr_add((unsigned long) sgivwfb_mem_phys, sgivwfb_mem_size, MTRR_TYPE_WRCOMB, 1); @@ -726,7 +702,7 @@ fb_info.fix = sgivwfb_fix; fb_info.var = sgivwfb_var; fb_info.fbops = &sgivwfb_ops; - fb_info.pseudo_palette = pseudo_palette; + fb_info.pseudo_palette = fb_info.pseudo_palette; fb_info.par = &default_par; fb_info.disp = &disp; fb_info.currcon = -1; @@ -734,51 +710,49 @@ fb_info.updatevar = gen_update_var; fb_info.flags = FBINFO_FLAG_DEFAULT; - fb_info.screen_base = - ioremap_nocache((unsigned long) sgivwfb_mem_phys, - sgivwfb_mem_size); + fb_info.screen_base = ioremap_nocache((unsigned long) sgivwfb_mem_phys, sgivwfb_mem_size); if (!fb_info.screen_base) { printk(KERN_ERR "sgivwfb: couldn't ioremap screen_base\n"); goto fail_ioremap_fbmem; } /* turn on default video mode */ - gen_set_var(&fb_info->var, -1, &fb_info); + gen_set_var(&fb_info.var, -1, &fb_info); if (register_framebuffer(&fb_info) < 0) { - printk(KERN_ERR - "sgivwfb: couldn't register framebuffer\n"); + printk(KERN_ERR "sgivwfb: couldn't register framebuffer\n"); goto fail_register_framebuffer; } - printk(KERN_INFO - "fb%d: Virtual frame buffer device, using %ldK of video memory\n", + printk(KERN_INFO "fb%d: SGI DBE frame buffer device, using %ldK of video memory\n", GET_FB_IDX(fb_info.node), sgivwfb_mem_size >> 10); return 0; - fail_register_framebuffer: +fail_register_framebuffer: iounmap((char *) fb_info.screen_base); - fail_ioremap_fbmem: + +fail_ioremap_fbmem: iounmap(default_par.regs); - fail_ioremap_regs: - return -ENXIO; -} -#ifdef MODULE -MODULE_LICENSE("GPL"); +fail_ioremap_regs: + release_mem_region(DBE_REG_PHYS, DBE_REG_SIZE); -int init_module(void) -{ - return sgivwfb_init(); +fail_request_mem_region: + return -ENXIO; } -void cleanup_module(void) +static void __exit sgivwfb_exit(void) { unregister_framebuffer(&fb_info); dbe_TurnOffDma(); - iounmap(regs); + iounmap(default_par.regs); iounmap(&fb_info.screen_base); } -#endif /* MODULE */ +//module_init(sgivwfb_init); +module_exit(sgivwfb_exit); + +MODULE_AUTHOR("Jeffrey Newquist <newquist@engr.sgi.com>"); +MODULE_DESCRIPTION("SGI DBE frame buffer device"); +MODULE_LICENSE("GPL"); [-- Attachment #2: Type: application/pgp-signature, Size: 232 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Q] is framebuffer console code in 2.5.4x functional ? 2002-11-20 9:46 ` Andrey Panin @ 2002-11-21 17:24 ` James Simmons 2002-11-22 10:02 ` Andrey Panin 0 siblings, 1 reply; 15+ messages in thread From: James Simmons @ 2002-11-21 17:24 UTC (permalink / raw) To: Andrey Panin; +Cc: Linux Kernel Mailing List, Linux Fbdev development list > > > console doesn't show a single pixel. > > > > :-( Can you post your .config file. > > Attached. Hm. Strange. It should work. Can you get serial console working? > I did some changes to sgivwfb.c to make it compilable, patch attached. > Can you take a look at it ? Applied your patch to the BK tree. > > I will be posting a new fbdev patch today against 2.5.48 today. Giev it a > > try. > > Didn't see proposed fbdev patch yet :( Sorry about that. You are not the only one that has asked me. Also I keep getting lots of error reports about drivers being broken. The problem is having enough time. For example I haven't found the time to create this patch. This brings up a serious point which I have been wrestling with. The framebuffer layer has been broken for a long time durning the 2.5.X cycle. The problem is both maintainers of this subsystem, Geert and I, both have very little time to work on it. For both of us we don't work on the framebuffer code for a living. I work with wireless networking cards. I work 8 hours a day on networking code and travel 3 hours total every day to work. Including eating a sleeping and I have at most 1 to 2 hours a day to work on the framebuffer stuff. Weekends I have to do other survial things like buy food. So the framebuffer developement has gone at a snail pace and will continue to do so unless things change. I estimate about 20+ more versions before the framebuffer layer properly works. It pains me that this is happening. I really enjoy working on the framebuffer and console layer. So I have been thinking about what to do ? One which is the most likely is to step down from maintaintership and hope someone else who can devote there full time and energy to it can take over. Will someone else take over? I seriously doubt it. We all have to make a living and that means working on things the linux industry cares about which is only server stuff. So I except the framebuffer layer will go into serious code decay. So the best situtation which I except to happen is that I finish as much as I can for the fbdev layer and then step down. I have tried to look for work locallly (can't really affored to move cross country very few years) relating to the framebuffer layer. In my search I only found one company that seemed interested in this developement, strangeberry (http://www.strangeberry.com). I sent them my resume but never heard from them. As for funding I serious doubt that would happen since it isn't server related. The reality is for proper maintiance of any subsystem you need people hired to solely work to keep it going. Unfortunely the framebuffer layer is one of those few ones that doesn't have that. MS: (n) 1. A debilitating and surprisingly widespread affliction that renders the sufferer barely able to perform the simplest task. 2. A disease. James Simmons [jsimmons@users.sf.net] ____/| fbdev/console/gfx developer \ o.O| http://www.linux-fbdev.org =(_)= http://linuxgfx.sourceforge.net U http://linuxconsole.sourceforge.net ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Q] is framebuffer console code in 2.5.4x functional ? 2002-11-21 17:24 ` James Simmons @ 2002-11-22 10:02 ` Andrey Panin 2002-11-26 23:22 ` Fbdev 2.5.49 BK fixes James Simmons 0 siblings, 1 reply; 15+ messages in thread From: Andrey Panin @ 2002-11-22 10:02 UTC (permalink / raw) To: James Simmons; +Cc: linux-kernel [-- Attachment #1: Type: text/plain, Size: 3598 bytes --] On Thu, Nov 21, 2002 at 05:24:44PM +0000, James Simmons wrote: > > > > > > console doesn't show a single pixel. > > > > > > :-( Can you post your .config file. > > > > Attached. > > Hm. Strange. It should work. Can you get serial console working? Forgot to mention, I've seen message: fbcon_setup: No support for fontwidth 8 in /var/log/dmesg. I found this printk() in fbcon_setup(), but i can't even imagine why it happens. Sorry for not providing full info, but when i wrote first letter my head was full of gory thoughts about visws legacy irq handling :( I can post complete log tomorrow. > > I did some changes to sgivwfb.c to make it compilable, patch attached. > > Can you take a look at it ? > > Applied your patch to the BK tree. Good. > > > I will be posting a new fbdev patch today against 2.5.48 today. Giev it a > > > try. > > > > Didn't see proposed fbdev patch yet :( > > Sorry about that. You are not the only one that has asked me. Also I > keep getting lots of error reports about drivers being broken. The problem > is having enough time. For example I haven't found the time to create this > patch. This brings up a serious point which I have been wrestling with. The > framebuffer layer has been broken for a long time durning the 2.5.X cycle > The problem is both maintainers of this subsystem, Geert and I, both have > very little time to work on it. For both of us we don't work on the > framebuffer code for a living. I work with wireless networking cards. I > work 8 hours a day on networking code and travel 3 hours total every day > to work. Including eating a sleeping and I have at most 1 to 2 hours a day > to work on the framebuffer stuff. Weekends I have to do other survial > things like buy food. So the framebuffer developement has gone at a > snail pace and will continue to do so unless things change. I estimate > about 20+ more versions before the framebuffer layer properly works. > It pains me that this is happening. I really enjoy working on the > framebuffer and console layer. So I have been thinking about what to > do ? One which is the most likely is to step down from maintaintership > and hope someone else who can devote there full time and energy to it > can take over. Will someone else take over? I seriously doubt it. We all > have to make a living and that means working on things the linux industry > cares about which is only server stuff. So I except the framebuffer layer > will go into serious code decay. So the best situtation which I except to > happen is that I finish as much as I can for the fbdev layer and then > step down. > I have tried to look for work locallly (can't really affored to move > cross country very few years) relating to the framebuffer layer. In my > search I only found one company that seemed interested in this developement, > strangeberry (http://www.strangeberry.com). I sent them my resume but > never heard from them. As for funding I serious doubt that would happen > since it isn't server related. The reality is for proper maintiance of any > subsystem you need people hired to solely work to keep it going. > Unfortunely the framebuffer layer is one of those few ones that doesn't > have that. I understand this situation perfectly, looks like it's almost common for developers working in "not so importatnt for servers" subsystems :( -- Andrey Panin | Embedded systems software developer pazke@orbita1.ru | PGP key: wwwkeys.eu.pgp.net [-- Attachment #2: Type: application/pgp-signature, Size: 232 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Fbdev 2.5.49 BK fixes. 2002-11-22 10:02 ` Andrey Panin @ 2002-11-26 23:22 ` James Simmons 2002-11-27 8:44 ` Andrey Panin 2002-11-27 11:04 ` Helge Hafting 0 siblings, 2 replies; 15+ messages in thread From: James Simmons @ 2002-11-26 23:22 UTC (permalink / raw) To: Andrey Panin; +Cc: Linux Kernel Mailing List, Linux Fbdev development list > > Hm. Strange. It should work. Can you get serial console working? > > Forgot to mention, I've seen message: > fbcon_setup: No support for fontwidth 8 > in /var/log/dmesg. > > I found this printk() in fbcon_setup(), but i can't even imagine > why it happens. Perfect. I found the problem and I'm about to commit to BK. I posted the latest patch against 2.5.49 at http://phoenix.infradead.org/~jsimmons/fbdev.diff.gz > I understand this situation perfectly, looks like it's almost common for > developers working in "not so importatnt for servers" subsystems :( :-( Some day that attitude will change. P.S Several drivers have been ported but not all. NVIDIA is still broken but I will fix it tonight. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Fbdev 2.5.49 BK fixes. 2002-11-26 23:22 ` Fbdev 2.5.49 BK fixes James Simmons @ 2002-11-27 8:44 ` Andrey Panin 2002-11-27 17:44 ` James Simmons 2002-11-27 11:04 ` Helge Hafting 1 sibling, 1 reply; 15+ messages in thread From: Andrey Panin @ 2002-11-27 8:44 UTC (permalink / raw) To: James Simmons; +Cc: linux-kernel [-- Attachment #1: Type: text/plain, Size: 1244 bytes --] On Tue, Nov 26, 2002 at 11:22:07PM +0000, James Simmons wrote: > > > > Hm. Strange. It should work. Can you get serial console working? > > > > Forgot to mention, I've seen message: > > fbcon_setup: No support for fontwidth 8 > > in /var/log/dmesg. > > > > I found this printk() in fbcon_setup(), but i can't even imagine > > why it happens. > > Perfect. I found the problem and I'm about to commit to BK. I posted the > latest patch against 2.5.49 at > > > http://phoenix.infradead.org/~jsimmons/fbdev.diff.gz > I see some harmless crap slipped into the patch again :)) Add these file into /home/jsimmons/dontdiff: vmlinux.lds.s gen_init_cpio initramfs_data.cpio.gz I'll test the patch this eveninig. > > I understand this situation perfectly, looks like it's almost common for > > developers working in "not so importatnt for servers" subsystems :( > > :-( Some day that attitude will change. > Lets hope so. > P.S > > Several drivers have been ported but not all. NVIDIA is still broken > but I will fix it tonight. I can test the fix on my riva128. -- Andrey Panin | Embedded systems software developer pazke@orbita1.ru | PGP key: wwwkeys.eu.pgp.net [-- Attachment #2: Type: application/pgp-signature, Size: 232 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Fbdev 2.5.49 BK fixes. 2002-11-27 8:44 ` Andrey Panin @ 2002-11-27 17:44 ` James Simmons 0 siblings, 0 replies; 15+ messages in thread From: James Simmons @ 2002-11-27 17:44 UTC (permalink / raw) To: Andrey Panin; +Cc: linux-kernel > > http://phoenix.infradead.org/~jsimmons/fbdev.diff.gz > > > I see some harmless crap slipped into the patch again :)) > > Add these file into /home/jsimmons/dontdiff: > vmlinux.lds.s > gen_init_cpio > initramfs_data.cpio.gz Oops. Added. > I'll test the patch this eveninig. How did it work for you? > Lets hope so. It will :-) > > Several drivers have been ported but not all. NVIDIA is still broken > > but I will fix it tonight. > > I can test the fix on my riva128. Still broken. I didn't get a chance to port it last night :-( ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Fbdev 2.5.49 BK fixes. 2002-11-26 23:22 ` Fbdev 2.5.49 BK fixes James Simmons 2002-11-27 8:44 ` Andrey Panin @ 2002-11-27 11:04 ` Helge Hafting 2002-11-27 17:49 ` James Simmons 1 sibling, 1 reply; 15+ messages in thread From: Helge Hafting @ 2002-11-27 11:04 UTC (permalink / raw) To: James Simmons, linux-fbdev-devel; +Cc: linux-kernel James Simmons wrote: > Perfect. I found the problem and I'm about to commit to BK. I posted the > latest patch against 2.5.49 at > > http://phoenix.infradead.org/~jsimmons/fbdev.diff.gz I tried this patch, but it crashed during boot. I have a 01:00.0 VGA compatible controller: ATI Technologies Inc 3D Rage Pro AGP 1X/2X (rev 5c) and use this in lilo.conf: image=/boot/2.5.49fb label=2.5.49fb append="video=atyfb:1280x1024-16@85" This got me a 160x64 framebuffer with yellow text on blue background. Nice, but only got about 10 lines before the kernel hung. The disk light got stuck on and there were no response to things like sysrq. The few lines displayed was about the fb, drm, and finally the 3com network adapter. Then nothing more. 2.5.49 without this patch works. I use devfs & preempt, the machine is UP and I use gcc-2.95.4 for compiling. Helge Hafting ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Fbdev 2.5.49 BK fixes. 2002-11-27 11:04 ` Helge Hafting @ 2002-11-27 17:49 ` James Simmons 2002-11-27 18:08 ` Helge Hafting 0 siblings, 1 reply; 15+ messages in thread From: James Simmons @ 2002-11-27 17:49 UTC (permalink / raw) To: Helge Hafting; +Cc: linux-fbdev-devel, linux-kernel > I tried this patch, but it crashed during boot. Any oops info? > I have a > 01:00.0 VGA compatible controller: ATI Technologies Inc 3D Rage Pro AGP > 1X/2X (rev 5c) > > and use this in lilo.conf: > image=/boot/2.5.49fb > label=2.5.49fb > append="video=atyfb:1280x1024-16@85" Hm. Are you using a PPC or ix86 box? I will test this tonight. > This got me a 160x64 framebuffer with yellow text on > blue background. Nice, but only got about 10 lines before > the kernel hung. The disk light got stuck on and there were > no response to things like sysrq. > The few lines displayed was about the fb, drm, and finally > the 3com network adapter. Then nothing more. Sounds like panning flipped put. > 2.5.49 without this patch works. I use devfs & preempt, > the machine is UP and I use gcc-2.95.4 for compiling. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Fbdev 2.5.49 BK fixes. 2002-11-27 17:49 ` James Simmons @ 2002-11-27 18:08 ` Helge Hafting 2002-11-27 23:18 ` James Simmons 0 siblings, 1 reply; 15+ messages in thread From: Helge Hafting @ 2002-11-27 18:08 UTC (permalink / raw) To: James Simmons; +Cc: linux-fbdev-devel, linux-kernel James Simmons wrote: > > > I tried this patch, but it crashed during boot. > > Any oops info? No. The machine froze solid. No oops, no sysrq. The reset button worked. > > > I have a > > 01:00.0 VGA compatible controller: ATI Technologies Inc 3D Rage Pro AGP > > 1X/2X (rev 5c) > > > > and use this in lilo.conf: > > image=/boot/2.5.49fb > > label=2.5.49fb > > append="video=atyfb:1280x1024-16@85" > > Hm. Are you using a PPC or ix86 box? I will test this tonight. i386. Specifically, a pentium II, compiled for pentium II. > > This got me a 160x64 framebuffer with yellow text on > > blue background. Nice, but only got about 10 lines before > > the kernel hung. The disk light got stuck on and there were > > no response to things like sysrq. > > The few lines displayed was about the fb, drm, and finally > > the 3com network adapter. Then nothing more. > > Sounds like panning flipped put. > Perhaps. It didn't look like it ended at the bottom of the screen, but then it might have been panning at the wrong moment. > > 2.5.49 without this patch works. I use devfs & preempt, > > the machine is UP and I use gcc-2.95.4 for compiling. Helge Hafting ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Fbdev 2.5.49 BK fixes. 2002-11-27 18:08 ` Helge Hafting @ 2002-11-27 23:18 ` James Simmons 2002-11-28 8:32 ` Joseph Fannin 2002-11-28 8:35 ` Joseph Fannin 0 siblings, 2 replies; 15+ messages in thread From: James Simmons @ 2002-11-27 23:18 UTC (permalink / raw) To: Helge Hafting; +Cc: linux-fbdev-devel, linux-kernel > No. The machine froze solid. No oops, no sysrq. > The reset button worked. VESA fbdev did this to me. I have no trouble with neofb. Strange??? I will track it down tonight. > > Hm. Are you using a PPC or ix86 box? I will test this tonight. > i386. Specifically, a pentium II, compiled for pentium II. Hm. I have that same card and a similar machine. > Perhaps. It didn't look like it ended at the bottom of the > screen, but then it might have been panning at the wrong moment. I have a MDA monitor and card. So I can setup mdacon and turn on debugging in fbcon and trace threw it. > > > 2.5.49 without this patch works. I use devfs & preempt, > > > the machine is UP and I use gcc-2.95.4 for compiling. > > Helge Hafting > ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Fbdev 2.5.49 BK fixes. 2002-11-27 23:18 ` James Simmons @ 2002-11-28 8:32 ` Joseph Fannin 2002-12-02 21:11 ` [Linux-fbdev-devel] " James Simmons 2002-11-28 8:35 ` Joseph Fannin 1 sibling, 1 reply; 15+ messages in thread From: Joseph Fannin @ 2002-11-28 8:32 UTC (permalink / raw) To: James Simmons; +Cc: linux-kernel, linux-fbdev-devel [-- Attachment #1: Type: text/plain, Size: 1062 bytes --] On Wed, Nov 27, 2002 at 11:18:22PM +0000, James Simmons wrote: > > > No. The machine froze solid. No oops, no sysrq. > > The reset button worked. > > VESA fbdev did this to me. I have no trouble with neofb. Strange??? > I will track it down tonight. aty128fb works for me here with: 01:00.0 VGA compatible controller: ATI Technologies Inc Rage 128 PF/PRO AGP 4x TMDS Thank you! There are a few glitches, but I've been unable to pin down anything serious as the fbdev patch's fault. I'm still playing with things (like Antonio Daplas' patches). I'll give a more full report later. FWIW, the fbdev patch applies with a few minor offsets to 2.5.50 except for the attached patch, which I extracted from bk. So if you apply this patch in *reverse* to a clean 2.5.50 tree, the fbdev patch should then apply okay (patch complained about a reversed hunk in fbcon.c, but it should be harmless, I think.) -- Joseph Fannin jhf@rivenstone.net "Anyone who quotes me in their sig is an idiot." -- Rusty Russell. [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Linux-fbdev-devel] Re: Fbdev 2.5.49 BK fixes. 2002-11-28 8:32 ` Joseph Fannin @ 2002-12-02 21:11 ` James Simmons 0 siblings, 0 replies; 15+ messages in thread From: James Simmons @ 2002-12-02 21:11 UTC (permalink / raw) To: Joseph Fannin; +Cc: linux-kernel, linux-fbdev-devel > aty128fb works for me here with: > > 01:00.0 VGA compatible controller: ATI Technologies Inc Rage 128 PF/PRO AGP 4x TMDS > > Thank you! Great. I made more inprovements with my latest patch. Give it a try. > There are a few glitches, but I've been unable to pin down > anything serious as the fbdev patch's fault. I'm still playing with > things (like Antonio Daplas' patches). I'll give a more full report > later. I just intergrated a bunch of his work. The subsystem is starting to really take shape. > FWIW, the fbdev patch applies with a few minor offsets to 2.5.50 > except for the attached patch, which I extracted from bk. So if you > apply this patch in *reverse* to a clean 2.5.50 tree, the fbdev patch > should then apply okay (patch complained about a reversed hunk in > fbcon.c, but it should be harmless, I think.) I noticed. My new patch fixes that. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Fbdev 2.5.49 BK fixes. 2002-11-27 23:18 ` James Simmons 2002-11-28 8:32 ` Joseph Fannin @ 2002-11-28 8:35 ` Joseph Fannin 1 sibling, 0 replies; 15+ messages in thread From: Joseph Fannin @ 2002-11-28 8:35 UTC (permalink / raw) To: James Simmons; +Cc: linux-kernel, linux-fbdev-devel [-- Attachment #1.1: Type: text/plain, Size: 290 bytes --] Whoops, I forgot to attach the patch. -- Joseph Fannin jhf@rivenstone.net "For future reference - don't anybody else try to send patches as vi scripts, please. Yes, it's manly, but let's face it, so is bungee-jumping with the cord tied to your testicles." -- Linus Torvalds [-- Attachment #1.2: vga16.patch --] [-- Type: text/plain, Size: 7653 bytes --] diff -Nru a/drivers/video/vga16fb.c b/drivers/video/vga16fb.c --- a/drivers/video/vga16fb.c Thu Nov 28 03:03:45 2002 +++ b/drivers/video/vga16fb.c Thu Nov 28 03:03:45 2002 @@ -22,6 +22,7 @@ #include <linux/selection.h> #include <linux/ioport.h> #include <linux/init.h> +#include <linux/interrupt.h> #include <asm/io.h> @@ -81,22 +82,33 @@ /* --------------------------------------------------------------------- */ static struct fb_var_screeninfo vga16fb_defined = { - 640,480,640,480,/* W,H, W, H (virtual) load xres,xres_virtual*/ - 0,0, /* virtual -> visible no offset */ - 4, /* depth -> load bits_per_pixel */ - 0, /* greyscale ? */ - {0,0,0}, /* R */ - {0,0,0}, /* G */ - {0,0,0}, /* B */ - {0,0,0}, /* transparency */ - 0, /* standard pixel format */ - FB_ACTIVATE_NOW, - -1,-1, - 0, - 39721, 48, 16, 39, 8, - 96, 2, 0, /* No sync info */ - FB_VMODE_NONINTERLACED, - {0,0,0,0,0,0} + .xres = 640, + .yres = 480, + .xres_virtual = 640, + .yres_virtual = 480, + .bits_per_pixel = 4, + .activate = FB_ACTIVATE_NOW, + .height = -1, + .width = -1, + .pixclock = 39721, + .left_margin = 48, + .right_margin = 16, + .upper_margin = 39, + .lower_margin = 8, + .hsync_len = 96, + .vsync_len = 2, + .vmode = FB_VMODE_NONINTERLACED, +}; + +static struct fb_fix_screeninfo vga16fb_fix __initdata = { + .id = "VGA16 VGA", + .smem_start = VGA_FB_PHYS, + .smem_len = VGA_FB_PHYS_LEN, + .type = FB_TYPE_VGA_PLANES, + .visual = FB_VISUAL_PSEUDOCOLOR, + .xpanstep = 8, + .ypanstep = 1, + .line_length = 640 / 8, }; static struct display disp; @@ -121,69 +133,22 @@ #endif } -static int vga16fb_update_var(int con, struct fb_info *info) -{ - vga16fb_pan_var(info, &fb_display[con].var); - return 0; -} - -static int vga16fb_get_fix(struct fb_fix_screeninfo *fix, int con, - struct fb_info *info) -{ - struct display *p; - - if (con < 0) - p = &disp; - else - p = fb_display + con; - - memset(fix, 0, sizeof(struct fb_fix_screeninfo)); - strcpy(fix->id,"VGA16 VGA"); - - fix->smem_start = VGA_FB_PHYS; - fix->smem_len = VGA_FB_PHYS_LEN; - fix->type = FB_TYPE_VGA_PLANES; - fix->visual = FB_VISUAL_PSEUDOCOLOR; - fix->xpanstep = 8; - fix->ypanstep = 1; - fix->ywrapstep = 0; - fix->line_length = p->var.xres_virtual / 8; - return 0; -} - -static int vga16fb_get_var(struct fb_var_screeninfo *var, int con, - struct fb_info *info) -{ - if(con==-1) - memcpy(var, &vga16fb_defined, sizeof(struct fb_var_screeninfo)); - else - *var=fb_display[con].var; - return 0; -} - static void vga16fb_set_disp(int con, struct vga16fb_info *info) { - struct fb_fix_screeninfo fix; - struct display *display; - - if (con < 0) - display = &disp; - else - display = fb_display + con; + struct display *display = (con < 0) ? info->fb_info.disp : (fb_display + con); - - vga16fb_get_fix(&fix, con, &info->fb_info); - - display->visual = fix.visual; - display->type = fix.type; - display->type_aux = fix.type_aux; - display->ypanstep = fix.ypanstep; - display->ywrapstep = fix.ywrapstep; - display->line_length = fix.line_length; - display->next_line = fix.line_length; display->can_soft_blank = 1; + display->dispsw_data = NULL; + display->var = info->fb_info.var; display->inverse = 0; + /* + * If we are setting all the virtual consoles, also set + * the defaults used to create new consoles. + */ + if (con < 0 || info->fb_info.var.activate & FB_ACTIVATE_ALL) + info->fb_info.disp->var = info->fb_info.var; + if (info->isVGA) display->dispsw = &fbcon_vga_planes; else @@ -500,13 +465,9 @@ { struct vga16fb_info *info = (struct vga16fb_info*)fb; struct vga16fb_par par; - struct display *display; + struct display *display = (con < 0) ? fb->disp : (fb_display + con); int err; - if (con < 0) - display = fb->disp; - else - display = fb_display + con; if ((err = vga16fb_decode_var(var, &par, info)) != 0) return err; vga16fb_encode_var(var, &par, info); @@ -552,25 +513,6 @@ outb_p(0x20, 0x3C0); /* unblank screen */ } -static int vga16_getcolreg(unsigned regno, unsigned *red, unsigned *green, - unsigned *blue, unsigned *transp, - struct fb_info *fb_info) -{ - /* - * Read a single color register and split it into colors/transparent. - * Return != 0 for invalid regno. - */ - - if (regno >= 16) - return 1; - - *red = palette[regno].red; - *green = palette[regno].green; - *blue = palette[regno].blue; - *transp = 0; - return 0; -} - static void vga16_setpalette(int regno, unsigned red, unsigned green, unsigned blue) { outb(regno, dac_reg); @@ -615,19 +557,6 @@ return 0; } -static int vga16fb_get_cmap(struct fb_cmap *cmap, int kspc, int con, - struct fb_info *info) -{ - if (con == info->currcon) /* current console? */ - return fb_get_cmap(cmap, kspc, vga16_getcolreg, info); - else if (fb_display[con].cmap.len) /* non default colormap? */ - fb_copy_cmap(&fb_display[con].cmap, cmap, kspc ? 0 : 2); - else - fb_copy_cmap(fb_default_cmap(16), - cmap, kspc ? 0 : 2); - return 0; -} - static int vga16fb_pan_display(struct fb_var_screeninfo *var, int con, struct fb_info *info) { @@ -811,10 +740,8 @@ static struct fb_ops vga16fb_ops = { .owner = THIS_MODULE, - .fb_get_fix = vga16fb_get_fix, - .fb_get_var = vga16fb_get_var, .fb_set_var = vga16fb_set_var, - .fb_get_cmap = vga16fb_get_cmap, + .fb_get_cmap = gen_get_cmap, .fb_set_cmap = gen_set_cmap, .fb_setcolreg = vga16fb_setcolreg, .fb_pan_display =vga16fb_pan_display, @@ -839,27 +766,6 @@ return 0; } -static int vga16fb_switch(int con, struct fb_info *fb) -{ - struct vga16fb_par par; - struct vga16fb_info *info = (struct vga16fb_info*)fb; - - /* Do we have to save the colormap? */ - if (fb_display[fb->currcon].cmap.len) - fb_get_cmap(&fb_display[fb->currcon].cmap, 1, vga16_getcolreg, - fb); - - fb->currcon = con; - vga16fb_decode_var(&fb_display[con].var, &par, info); - vga16fb_set_par(&par, info); - vga16fb_set_disp(con, info); - - /* Install new colormap */ - do_install_cmap(con, fb); -/* vga16fb_update_var(con, fb); */ - return 1; -} - int __init vga16fb_init(void) { int i,j; @@ -895,18 +801,21 @@ disp.var = vga16fb_defined; - /* name should not depend on EGA/VGA */ - strcpy(vga16fb.fb_info.modename, "VGA16 VGA"); + strcpy(vga16fb.fb_info.modename, vga16fb_fix.id); vga16fb.fb_info.changevar = NULL; vga16fb.fb_info.node = NODEV; + vga16fb.fb_info.var = vga16fb_defined; + vga16fb.fb_info.fix = vga16fb_fix; vga16fb.fb_info.fbops = &vga16fb_ops; vga16fb.fb_info.screen_base = vga16fb.video_vbase; vga16fb.fb_info.disp=&disp; vga16fb.fb_info.currcon = -1; - vga16fb.fb_info.switch_con=&vga16fb_switch; - vga16fb.fb_info.updatevar=&vga16fb_update_var; + vga16fb.fb_info.switch_con=&gen_switch; + vga16fb.fb_info.updatevar=&gen_update_var; vga16fb.fb_info.flags=FBINFO_FLAG_DEFAULT; vga16fb_set_disp(-1, &vga16fb); + + fb_alloc_cmap(&vga16fb.fb_info.cmap, 16, 0); if (register_framebuffer(&vga16fb.fb_info)<0) { iounmap(vga16fb.video_vbase); [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2002-12-02 21:04 UTC | newest] Thread overview: 15+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2002-11-18 12:54 [Q] is framebuffer console code in 2.5.4x functional ? Andrey Panin 2002-11-18 18:11 ` James Simmons 2002-11-20 9:46 ` Andrey Panin 2002-11-21 17:24 ` James Simmons 2002-11-22 10:02 ` Andrey Panin 2002-11-26 23:22 ` Fbdev 2.5.49 BK fixes James Simmons 2002-11-27 8:44 ` Andrey Panin 2002-11-27 17:44 ` James Simmons 2002-11-27 11:04 ` Helge Hafting 2002-11-27 17:49 ` James Simmons 2002-11-27 18:08 ` Helge Hafting 2002-11-27 23:18 ` James Simmons 2002-11-28 8:32 ` Joseph Fannin 2002-12-02 21:11 ` [Linux-fbdev-devel] " James Simmons 2002-11-28 8:35 ` Joseph Fannin
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox