On May 09 15:14:01, Owain Ainsworth wrote:
> On Sun, May 09, 2010 at 02:54:55PM +0100, Owain Ainsworth wrote:
> > > 
> > > What can I do do test / debug the intagp support (so that I have agp,
> > > so that Xorg has /dev/agp0, so that it can use the intel driver)
> > > on my hardware?
> > 
> > intagp does not currently support the pineview chipset.
> > 
> > I will look at it in a few days. Busy right now.
> 
> Scratch that, i found time.
>
> Now this very much depends on how good the modesetting support in the
> intel driver is for pineview, i sincerely recommend you test with GEM
> and the new driver + this diff. Unfortunately newer intel drivers
> are kernel modesetting only, and thus no bugfixes will be forthcoming
> from upstream if the modesetting isn't right. I won't be able to fix
> any problems in that light without hardware.
> 
> However, this is idle speculation for now, please test this diff:

With the diff below and a kernel configuration of

        include "arch/i386/conf/GENERIC.MP"
        option INTELDRM_GEM

the booting kernel hangs with

        intagp0 at vga1: unknown initialization
        inteldrm0 at vga1: apic 8 int 16 (irq 11)
        drm0 at inteldrm0: couldn't find agp
        uvm_fault(0xd092b940, 0x0, 0, 3) -> e
        kernel: page fault trap, code = 0

Compiling the same patched kernel with the standard GENEREC.MP
config boots fine (see full dmesg below) with

vga1 at pci0 dev 2 function 0 "Intel Pineview Integrated Graphics Controller" 
rev 0x02
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
intagp0 at vga1: unknown initialisation
inteldrm0 at vga1: apic 8 int 16 (irq 11)
drm0 at inteldrm0: couldn't find agp

and continues without hanging.

However, without agp, the original problem (X not running
with the autodetected intel driver) is still there, obviously.

Thanks anyway. Is there anythyng else I should test?
The kernel trap continues all the way up (down) to ddb,
but I don't have a serial port on that machine. Is there another
way to capture the panic, trace, etc?

        Jan



> Index: dev/pci//agp_i810.c
> ===================================================================
> RCS file: /cvs/src/sys/dev/pci/agp_i810.c,v
> retrieving revision 1.61
> diff -u -p -r1.61 agp_i810.c
> --- dev/pci//agp_i810.c       8 Apr 2010 00:23:53 -0000       1.61
> +++ dev/pci//agp_i810.c       9 May 2010 14:04:36 -0000
> @@ -68,7 +68,8 @@ enum {
>       CHIP_I915       = 4,    /* i915G/i915GM */
>       CHIP_I965       = 5,    /* i965/i965GM */
>       CHIP_G33        = 6,    /* G33/Q33/Q35 */
> -     CHIP_G4X        = 7     /* G4X */
> +     CHIP_G4X        = 7,    /* G4X */
> +     CHIP_PINEVIEW   = 8     /* Pineview/Pineview M */
>  };
>  
>  struct agp_i810_softc {
> @@ -181,6 +182,8 @@ agp_i810_get_chiptype(struct pci_attach_
>       case PCI_PRODUCT_INTEL_82G45_IGD_1:
>       case PCI_PRODUCT_INTEL_82G41_IGD_1:
>               return (CHIP_G4X);
> +     case PCI_PRODUCT_INTEL_PINEVIEW_IGC_1:
> +             return (CHIP_PINEVIEW);
>               break;
>       }
>       return (CHIP_NONE);
> @@ -230,6 +233,7 @@ agp_i810_attach(struct device *parent, s
>       switch (isc->chiptype) {
>       case CHIP_I915:
>       case CHIP_G33:
> +     case CHIP_PINEVIEW:
>               gmaddr = AGP_I915_GMADR;
>               mmaddr = AGP_I915_MMADR;
>               memtype = PCI_MAPREG_TYPE_MEM;
> @@ -259,7 +263,8 @@ agp_i810_attach(struct device *parent, s
>               return;
>       }
>  
> -     if (isc->chiptype == CHIP_I915 || isc->chiptype == CHIP_G33) {
> +     if (isc->chiptype == CHIP_I915 || isc->chiptype == CHIP_G33 ||
> +         isc->chiptype == CHIP_PINEVIEW) {
>               isc->gtt_map = vga_pci_bar_map(vga, AGP_I915_GTTADR, 0,
>                   BUS_SPACE_MAP_LINEAR);
>               if (isc->gtt_map == NULL) {
> @@ -392,6 +397,7 @@ agp_i810_attach(struct device *parent, s
>                       }
>                       break;
>               case CHIP_G4X:
> +             case CHIP_PINEVIEW:
>                       /*
>                        * GTT stolen is separate from graphics stolen on
>                        * 4 series hardware. so ignore it in stolen gtt entries
> @@ -787,7 +793,8 @@ intagp_write_gtt(struct agp_i810_softc *
>       if (v != 0) {
>               pte = v | INTEL_ENABLED;
>               /* 965+ can do 36-bit addressing, add in the extra bits */
> -             if (isc->chiptype == CHIP_I965 || isc->chiptype == CHIP_G4X)
> +             if (isc->chiptype == CHIP_I965 || isc->chiptype == CHIP_G4X ||
> +                 isc->chiptype == CHIP_PINEVIEW || isc->chiptype == CHIP_G33)
>                       pte |= (v & 0x0000000f00000000ULL) >> 28;
>       }
>  
> @@ -797,6 +804,7 @@ intagp_write_gtt(struct agp_i810_softc *
>       case CHIP_I915:
>               /* FALLTHROUGH */
>       case CHIP_G33:
> +     case CHIP_PINEVIEW:
>               bus_space_write_4(isc->gtt_map->bst, isc->gtt_map->bsh,
>                   wroff, pte);
>               return;
> Index: dev/pci//drm/i915_drv.c
> ===================================================================
> RCS file: /cvs/src/sys/dev/pci/drm/i915_drv.c,v
> retrieving revision 1.73
> diff -u -p -r1.73 i915_drv.c
> --- dev/pci//drm/i915_drv.c   8 May 2010 21:33:49 -0000       1.73
> +++ dev/pci//drm/i915_drv.c   9 May 2010 14:09:19 -0000
> @@ -257,6 +257,8 @@ const static struct drm_pcidev inteldrm_
>           CHIP_G4X|CHIP_I965|CHIP_I9XX|CHIP_HWS|CHIP_GEN4},
>       {PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82G41_IGD_1,
>           CHIP_G4X|CHIP_I965|CHIP_I9XX|CHIP_HWS|CHIP_GEN4},
> +     {PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_PINEVIEW_IGC_1,
> +         CHIP_G33|CHIP_PINEVIEW|CHIP_M|CHIP_I9XX|CHIP_HWS|CHIP_GEN3},
>       {0, 0, 0}
>  };
>  
> Index: dev/pci//drm/i915_drv.h
> ===================================================================
> RCS file: /cvs/src/sys/dev/pci/drm/i915_drv.h,v
> retrieving revision 1.56
> diff -u -p -r1.56 i915_drv.h
> --- dev/pci//drm/i915_drv.h   8 May 2010 21:33:49 -0000       1.56
> +++ dev/pci//drm/i915_drv.h   9 May 2010 14:07:36 -0000
> @@ -368,6 +368,7 @@ struct inteldrm_file {
>  #define CHIP_GEN3    0x20000
>  #define CHIP_GEN4    0x40000
>  #define CHIP_GEN6    0x80000
> +#define      CHIP_PINEVIEW   0x100000
>  
>  /* flags we use in drm_obj's do_flags */
>  #define I915_ACTIVE          0x0010  /* being used by the gpu. */


OpenBSD 4.7-current (GENERIC.MP) #4: Sun May  9 19:30:08 CEST 2010
    r...@box.stare.cz:/usr/src/sys/arch/i386/compile/GENERIC.MP
RTC BIOS diagnostic error 80<clock_battery>
cpu0: Intel(R) Atom(TM) CPU D510 @ 1.66GHz ("GenuineIntel" 686-class) 1.67 GHz
cpu0: 
FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,SSE3,MWAIT,DS-CPL,TM2,SSSE3,CX16,xTPR,PDCM,MOVBE
real mem  = 1055203328 (1006MB)
avail mem = 1012371456 (965MB)
RTC BIOS diagnostic error 80<clock_battery>
mainbus0 at root
bios0 at mainbus0: AT/286+ BIOS, date 03/08/10, SMBIOS rev. 2.5 @ 0xe4410 (25 
entries)
bios0: vendor Intel Corp. version "MOPNV10J.86A.0175.2010.0308.0620" date 
03/08/2010
bios0: Intel Corporation D510MO
acpi0 at bios0: rev 2
acpi0: tables DSDT FACP APIC MCFG HPET SSDT
acpi0: wakeup devices SLPB(S4) PS2M(S4) PS2K(S4) UAR1(S4) UAR2(S4) P32_(S4) 
ILAN(S4) PEX0(S4) PEX1(S4) PEX2(S4) PEX3(S4) UHC1(S3) UHC2(S3) UHC3(S3) 
UHC4(S3) EHCI(S3) AZAL(S4)
acpitimer0 at acpi0: 3579545 Hz, 24 bits
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: apic clock running at 166MHz
cpu1 at mainbus0: apid 1 (application processor)
cpu1: Intel(R) Atom(TM) CPU D510 @ 1.66GHz ("GenuineIntel" 686-class) 1.67 GHz
cpu1: 
FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,SSE3,MWAIT,DS-CPL,TM2,SSSE3,CX16,xTPR,PDCM,MOVBE
cpu2 at mainbus0: apid 2 (application processor)
cpu2: Intel(R) Atom(TM) CPU D510 @ 1.66GHz ("GenuineIntel" 686-class) 1.67 GHz
cpu2: 
FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,SSE3,MWAIT,DS-CPL,TM2,SSSE3,CX16,xTPR,PDCM,MOVBE
cpu3 at mainbus0: apid 3 (application processor)
cpu3: Intel(R) Atom(TM) CPU D510 @ 1.66GHz ("GenuineIntel" 686-class) 1.67 GHz
cpu3: 
FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,SSE3,MWAIT,DS-CPL,TM2,SSSE3,CX16,xTPR,PDCM,MOVBE
ioapic0 at mainbus0: apid 8 pa 0xfec00000, version 20, 24 pins
ioapic0: misconfigured as apic 0, remapped to apid 8
acpihpet0 at acpi0: 14318179 Hz
acpiprt0 at acpi0: bus 5 (P32_)
acpiprt1 at acpi0: bus 0 (PCI0)
acpiprt2 at acpi0: bus 1 (PEX0)
acpiprt3 at acpi0: bus 2 (PEX1)
acpiprt4 at acpi0: bus 3 (PEX2)
acpiprt5 at acpi0: bus 4 (PEX3)
acpicpu0 at acpi0: C1, PSS
acpicpu1 at acpi0: C1, PSS
acpicpu2 at acpi0: C1, PSS
acpicpu3 at acpi0: C1, PSS
acpibtn0 at acpi0: SLPB
bios0: ROM list: 0xc0000/0xda00! 0xce000/0x1000
pci0 at mainbus0 bus 0: configuration mode 1 (bios)
pchb0 at pci0 dev 0 function 0 "Intel Pineview DMI Bridge" rev 0x02
vga1 at pci0 dev 2 function 0 "Intel Pineview Integrated Graphics Controller" 
rev 0x02
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
intagp0 at vga1: unknown initialisation
inteldrm0 at vga1: apic 8 int 16 (irq 11)
drm0 at inteldrm0: couldn't find agp
azalia0 at pci0 dev 27 function 0 "Intel 82801GB HD Audio" rev 0x01: apic 8 int 
22 (irq 9)
azalia0: codecs: Realtek ALC662
audio0 at azalia0
ppb0 at pci0 dev 28 function 0 "Intel 82801GB PCIE" rev 0x01: apic 8 int 17 
(irq 255)
pci1 at ppb0 bus 1
re0 at pci1 dev 0 function 0 "Realtek 8168" rev 0x03: RTL8168D/8111D (0x2800), 
apic 8 int 16 (irq 11), address 00:27:0e:07:09:9f
rgephy0 at re0 phy 7: RTL8169S/8110S PHY, rev. 2
ppb1 at pci0 dev 28 function 1 "Intel 82801GB PCIE" rev 0x01: apic 8 int 16 
(irq 255)
pci2 at ppb1 bus 2
ppb2 at pci0 dev 28 function 2 "Intel 82801GB PCIE" rev 0x01: apic 8 int 18 
(irq 255)
pci3 at ppb2 bus 3
ppb3 at pci0 dev 28 function 3 "Intel 82801GB PCIE" rev 0x01: apic 8 int 19 
(irq 255)
pci4 at ppb3 bus 4
uhci0 at pci0 dev 29 function 0 "Intel 82801GB USB" rev 0x01: apic 8 int 23 
(irq 10)
uhci1 at pci0 dev 29 function 1 "Intel 82801GB USB" rev 0x01: apic 8 int 19 
(irq 11)
uhci2 at pci0 dev 29 function 2 "Intel 82801GB USB" rev 0x01: apic 8 int 18 
(irq 9)
uhci3 at pci0 dev 29 function 3 "Intel 82801GB USB" rev 0x01: apic 8 int 16 
(irq 11)
ehci0 at pci0 dev 29 function 7 "Intel 82801GB USB" rev 0x01: apic 8 int 23 
(irq 10)
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 "Intel EHCI root hub" rev 2.00/1.00 addr 1
ppb4 at pci0 dev 30 function 0 "Intel 82801BAM Hub-to-PCI" rev 0xe1
pci5 at ppb4 bus 5
pcib0 at pci0 dev 31 function 0 "Intel Tigerpoint LPC Controller" rev 0x01
ahci0 at pci0 dev 31 function 2 "Intel 82801GR AHCI" rev 0x01: apic 8 int 19 
(irq 11), AHCI 1.1
scsibus0 at ahci0: 32 targets
sd0 at scsibus0 targ 0 lun 0: <ATA, WDC WD6400BPVT-0, 01.0> SCSI3 0/direct fixed
sd0: 610480MB, 512 bytes/sec, 1250263728 sec total
ichiic0 at pci0 dev 31 function 3 "Intel 82801GB SMBus" rev 0x01: apic 8 int 19 
(irq 11)
iic0 at ichiic0
spdmem0 at iic0 addr 0x50: 1GB DDR2 SDRAM non-parity PC2-6400CL5
usb1 at uhci0: USB revision 1.0
uhub1 at usb1 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb2 at uhci1: USB revision 1.0
uhub2 at usb2 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb3 at uhci2: USB revision 1.0
uhub3 at usb3 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb4 at uhci3: USB revision 1.0
uhub4 at usb4 "Intel UHCI root hub" rev 1.00/1.00 addr 1
isa0 at pcib0
isadma0 at isa0
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
pckbc0 at isa0 port 0x60/5
pcppi0 at isa0 port 0x61
midi0 at pcppi0: <PC speaker>
spkr0 at pcppi0
lpt0 at isa0 port 0x378/4 irq 7
wbsio0 at isa0 port 0x4e/2: W83627THF rev 0x84
lm1 at wbsio0 port 0x290/8: W83627THF
npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16
mtrr: Pentium Pro MTRR support
uhidev0 at uhub2 port 1 configuration 1 interface 0 "Genius Optical Mouse" rev 
1.10/1.00 addr 2
uhidev0: iclass 3/1
ums0 at uhidev0: 3 buttons, Z dir
wsmouse0 at ums0 mux 0
uhidev1 at uhub2 port 2 configuration 1 interface 0 "Chicony USB Keyboard" rev 
1.10/1.02 addr 3
uhidev1: iclass 3/1
ukbd0 at uhidev1: 8 modifier keys, 6 key codes
wskbd0 at ukbd0: console keyboard, using wsdisplay0
uhidev2 at uhub2 port 2 configuration 1 interface 1 "Chicony USB Keyboard" rev 
1.10/1.02 addr 3
uhidev2: iclass 3/0, 3 report ids
uhid0 at uhidev2 reportid 1: input=1, output=0, feature=0
uhid1 at uhidev2 reportid 2: input=1, output=0, feature=2
uhid2 at uhidev2 reportid 3: input=3, output=0, feature=0
vscsi0 at root
scsibus1 at vscsi0: 256 targets
softraid0 at root
root on sd0a swap on sd0b dump on sd0b

Reply via email to