Date: Sat, 14 Jan 2017 06:42:19 +0000 From: Anindya Mukherjee <anindya49@hotmail.com> To: Jung-uk Kim <jkim@FreeBSD.org>, Matthew Macy <mmacy@nextbsd.org> Cc: "freebsd-x11@freebsd.org" <freebsd-x11@freebsd.org> Subject: RE: Crash with radeonkms Message-ID: <BN6PR22MB0802D92DC17A31E779454B96B67B0@BN6PR22MB0802.namprd22.prod.outlook.com> In-Reply-To: <a86082ba-78f8-5ca9-440d-c3677bad31e6@FreeBSD.org> References: <BN6PR22MB080230C1AB38509A1B1884E7B6790@BN6PR22MB0802.namprd22.prod.outlook.com> <BN6PR22MB0802DF955E47C5219CE1348EB6790@BN6PR22MB0802.namprd22.prod.outlook.com> <15994d9f54d.10dcb859e146706.6480944492081388621@nextbsd.org> <BN6PR22MB0802583736833E04615747EFB6780@BN6PR22MB0802.namprd22.prod.outlook.com>, <a86082ba-78f8-5ca9-440d-c3677bad31e6@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi, some updates on testing radeon drivers: I can kldload radeonkms, amdgpu, and i915 now without crashing. amdgpu and i915 cannot find the device, but symbols are being resolved (it'= s a radeon 2400xt) radeonkms from drm-next+patch does load and find the device, but the screen= goes dark immediately. Not sure what's the problem. On my system which has an r600 chip it needs three firmware modules which a= re loaded correctly (or at least the right ones seem to have been loaded): radeonkmsfw_RV610_me.ko radeonkmsfw_RV610_pfp.ko radeonkmsfw_R600_rlc.ko radeonkms.ko Further messages from radeonkms below (in case they are useful). I have a c= opy of the install kernel from CURRENT on the test machine which is able to= load the stock radeonkms and the video switches to a hi-res text mode, so = the stock radeonkms is working fine. I have another identical machine runni= ng 10.3 where X works fine so this is expected I guess. In all cases the sa= me three firmware modules are loaded (drm-next, CURRENT, 10.3). Messages from the patched drm-next radeonkms (screen goes dark): Jan 13 22:13:06 triskelion kernel: info: [drm] Initialized drm 1.1.0 200608= 10 Jan 13 22:13:06 triskelion kernel: drmn0: <Radeon HD 2400 XT> on vgapci0 Jan 13 22:13:06 triskelion kernel: info: [drm] RADEON_IS_PCIE Jan 13 22:13:06 triskelion kernel: info: [drm] initializing kernel modesett= ing (RV610 0x1002:0x94C1 0x1028:0x0D02). Jan 13 22:13:06 triskelion kernel: info: [drm] register mmio base: 0xFE9F00= 00 Jan 13 22:13:06 triskelion kernel: info: [drm] register mmio size: 65536 Jan 13 22:13:06 triskelion kernel: info: [drm] radeon_atrm_get_bios: =3D=3D= =3D> Try ATRM... Jan 13 22:13:06 triskelion kernel: info: [drm] radeon_atrm_get_bios: pci_fi= nd_class() found: 0:1:0:0, vendor=3D1002, device=3D94c1 Jan 13 22:13:06 triskelion kernel: info: [drm] radeon_atrm_get_bios: Get AC= PI device handle Jan 13 22:13:06 triskelion kernel: info: [drm] radeon_acpi_vfct_bios: =3D= =3D=3D> Try VFCT... Jan 13 22:13:06 triskelion kernel: info: [drm] radeon_acpi_vfct_bios: Get "= VFCT" ACPI table Jan 13 22:13:06 triskelion kernel: info: [drm] radeon_acpi_vfct_bios: Faile= d to get "VFCT" table: AE_NOT_FOUND Jan 13 22:13:06 triskelion kernel: info: [drm] igp_read_bios_from_vram: =3D= =3D=3D> Try IGP's VRAM... Jan 13 22:13:06 triskelion kernel: info: [drm] igp_read_bios_from_vram: VRA= M base address: 0xd0000000 Jan 13 22:13:06 triskelion kernel: info: [drm] igp_read_bios_from_vram: Map= address: 0xfffff800d0000000 (262144 bytes) Jan 13 22:13:06 triskelion kernel: info: [drm] igp_read_bios_from_vram: Inc= orrect BIOS signature: 0x0000 Jan 13 22:13:06 triskelion kernel: info: [drm] radeon_read_bios: =3D=3D=3D>= Try PCI Expansion ROM... Jan 13 22:13:06 triskelion kernel: info: [drm] radeon_read_bios: Map addres= s: 0xfffff800000c0000 (131072 bytes) Jan 13 22:13:07 triskelion kernel: info: [drm] ATOM BIOS: 113 Jan 13 22:13:07 triskelion kernel: drmn0: info: VRAM: 256M 0x00000000000000= 00 - 0x000000000FFFFFFF (256M used) Jan 13 22:13:07 triskelion kernel: drmn0: info: GTT: 512M 0x000000001000000= 0 - 0x000000002FFFFFFF Jan 13 22:13:07 triskelion kernel: info: [drm] Detected VRAM RAM=3D256M, BA= R=3D256M Jan 13 22:13:07 triskelion kernel: info: [drm] RAM width 64bits DDR Jan 13 22:13:07 triskelion kernel: [TTM] Zone kernel: Available graphics m= emory: 4110874 kiB Jan 13 22:13:07 triskelion kernel: [TTM] Zone dma32: Available graphics m= emory: 2097152 kiB Jan 13 22:13:07 triskelion kernel: [TTM] Initializing pool allocator Jan 13 22:13:07 triskelion kernel: info: [drm] radeon: 256M of VRAM memory = ready Jan 13 22:13:07 triskelion kernel: info: [drm] radeon: 512M of GTT memory r= eady. Jan 13 22:13:07 triskelion kernel: info: [drm] Supports vblank timestamp ca= ching Rev 1 (10.10.2010). Jan 13 22:13:07 triskelion kernel: info: [drm] Driver supports precise vbla= nk timestamp query. Jan 13 22:13:07 triskelion kernel: info: [drm] MSI enabled 1 message(s) Jan 13 22:13:07 triskelion kernel: drmn0: info: radeon: using MSI. Jan 13 22:13:07 triskelion kernel: info: [drm] radeon: irq initialized. Jan 13 22:13:07 triskelion kernel: info: [drm] GART: num cpu pages 131072, = num gpu pages 131072 Jan 13 22:13:07 triskelion kernel: info: [drm] probing gen 2 caps for devic= e 8086:29b1 =3D 1/0 Jan 13 22:13:07 triskelion kernel: info: [drm] Loading RV610 Microcode Jan 13 22:13:07 triskelion kernel: info: [drm] PCIE GART of 512M enabled (t= able at 0x0000000000040000). Jan 13 22:13:07 triskelion kernel: drmn0: info: WB enabled Jan 13 22:13:07 triskelion kernel: drmn0: info: fence driver on ring 0 use = gpu addr 0x0000000010000c00 and cpu addr 0x0xfffff8002b714c00 Jan 13 22:13:07 triskelion kernel: drmn0: info: fence driver on ring 3 use = gpu addr 0x0000000010000c0c and cpu addr 0x0xfffff8002b714c0c Jan 13 22:13:07 triskelion kernel: info: [drm] ring test on 0 succeeded in = 1 usecs Jan 13 22:13:07 triskelion kernel: info: [drm] ring test on 3 succeeded in = 1 usecs Jan 13 22:13:07 triskelion kernel: info: [drm] ib test on ring 0 succeeded = in 0 usecs Jan 13 22:13:07 triskelion kernel: info: [drm] ib test on ring 3 succeeded = in 0 usecs Jan 13 22:13:07 triskelion kernel: info: [drm] radeon_device_init: Taking o= ver the fictitious range 0xd0000000-0xe0000000 Jan 13 22:13:07 triskelion kernel: radeon_iicbb0 on drmn0 Jan 13 22:13:07 triskelion kernel: iicbus0: <Philips I2C bus> on iicbb0 add= r 0xff Jan 13 22:13:07 triskelion kernel: iic0: <I2C generic I/O> on iicbus0 Jan 13 22:13:07 triskelion kernel: radeon_iicbb1 on drmn0 Jan 13 22:13:07 triskelion kernel: iicbus1: <Philips I2C bus> on iicbb1 add= r 0x0 Jan 13 22:13:07 triskelion kernel: iic1: <I2C generic I/O> on iicbus1 Jan 13 22:13:07 triskelion kernel: radeon_iicbb2 on drmn0 Jan 13 22:13:07 triskelion kernel: iicbus2: <Philips I2C bus> Jan 13 22:13:07 triskelion kernel: on iicbb2 addr 0x0 Jan 13 22:13:07 triskelion kernel: iic2: <I2C generic I/O> on iicbus2 Jan 13 22:13:07 triskelion kernel: radeon_iicbb3 on drmn0 Jan 13 22:13:07 triskelion kernel: iicbus3: <Philips I2C bus> on iicbb3 add= r 0x0 Jan 13 22:13:07 triskelion kernel: iic3: <I2C generic I/O> on iicbus3 Jan 13 22:13:07 triskelion kernel: radeon_iicbb4 on drmn0 Jan 13 22:13:07 triskelion kernel: iicbus4: <Philips I2C bus> on iicbb4 add= r 0x0 Jan 13 22:13:07 triskelion kernel: iic4: <I2C generic I/O> on iicbus4 Jan 13 22:13:07 triskelion kernel: info: [drm] Radeon Display Connectors Jan 13 22:13:07 triskelion kernel: info: [drm] Connector 0: Jan 13 22:13:07 triskelion kernel: info: [drm] DIN-1 Jan 13 22:13:07 triskelion kernel: info: [drm] Encoders: Jan 13 22:13:07 triskelion kernel: info: [drm] TV1: INTERNAL_KLDSCP_DAC= 2 Jan 13 22:13:07 triskelion kernel: info: [drm] Connector 1: Jan 13 22:13:07 triskelion kernel: info: [drm] DVI-I-1 Jan 13 22:13:07 triskelion kernel: info: [drm] HPD2 Jan 13 22:13:07 triskelion kernel: info: [drm] DDC: 0x7e50 0x7e50 0x7e54 = 0x7e54 0x7e58 0x7e58 0x7e5c 0x7e5c Jan 13 22:13:07 triskelion kernel: info: [drm] Encoders: Jan 13 22:13:07 triskelion kernel: info: [drm] CRT2: INTERNAL_KLDSCP_DA= C2 Jan 13 22:13:07 triskelion kernel: info: [drm] DFP1: INTERNAL_KLDSCP_TM= DS1 Jan 13 22:13:07 triskelion kernel: info: [drm] Connector 2: Jan 13 22:13:07 triskelion kernel: info: [drm] DVI-I-2 Jan 13 22:13:07 triskelion kernel: info: [drm] HPD1 Jan 13 22:13:07 triskelion kernel: info: [drm] DDC: 0x7e40 0x7e40 0x7e44 = 0x7e44 0x7e48 0x7e48 0x7e4c 0x7e4c Jan 13 22:13:07 triskelion kernel: info: [drm] Encoders: Jan 13 22:13:07 triskelion kernel: info: [drm] CRT1: INTERNAL_KLDSCP_DA= C1 Jan 13 22:13:07 triskelion kernel: info: [drm] DFP2: INTERNAL_LVTM1 Jan 13 22:13:07 triskelion kernel: info: [drm] Internal thermal controller = with fan control Jan 13 22:13:07 triskelion kernel: info: [drm] radeon: power management ini= tialized Jan 13 22:13:07 triskelion kernel: info: [drm] Connector DIN-1: get mode fr= om tunables: Jan 13 22:13:07 triskelion kernel: info: [drm] - kern.vt.fb.modes.DIN-1 Jan 13 22:13:07 triskelion kernel: info: [drm] - kern.vt.fb.default_mode Jan 13 22:13:07 triskelion kernel: info: [drm] Connector DVI-I-1: get mode = from tunables: Jan 13 22:13:07 triskelion kernel: info: [drm] - kern.vt.fb.modes.DVI-I-1 Jan 13 22:13:07 triskelion kernel: info: [drm] - kern.vt.fb.default_mode Jan 13 22:13:07 triskelion kernel: info: [drm] Connector DVI-I-2: get mode = from tunables: Jan 13 22:13:07 triskelion kernel: info: [drm] - kern.vt.fb.modes.DVI-I-2 Jan 13 22:13:07 triskelion kernel: info: [drm] - kern.vt.fb.default_mode Jan 13 22:13:07 triskelion kernel: info: [drm] fb mappable at 0xD0142000 Jan 13 22:13:07 triskelion kernel: info: [drm] vram apper at 0xD0000000 Jan 13 22:13:07 triskelion kernel: info: [drm] size 5242880 Jan 13 22:13:07 triskelion kernel: info: [drm] fb depth is 24 Jan 13 22:13:07 triskelion kernel: info: [drm] pitch is 5120 Jan 13 22:13:07 triskelion kernel: fbd0 on drmn0 Jan 13 22:13:07 triskelion kernel: VT: Replacing driver "vga" with new "fb"= . Jan 13 22:13:07 triskelion kernel: info: [drm] Initialized radeon 2.29.0 20= 080528 for drmn0 on minor 0 Thanks, Anindya ________________________________________ From: Jung-uk Kim [jkim@FreeBSD.org] Sent: January 13, 2017 8:09 AM To: Anindya Mukherjee; Matthew Macy Cc: freebsd-x11@freebsd.org Subject: Re: Crash with radeonkms On 01/12/2017 23:08, Anindya Mukherjee wrote: > Thanks for the tip! I loaded linuxkpi, drm first, and then tried to load = radeonkms with the following results: > > [drm] Initialized > link_elf_obj: symbol acpi_get_table undefined > linker_load_file: Unsupported file type > > I see a protoype for this function (and others) in sys/compat/linuxkpi/co= mmon/include/acpi/acpifx.h:494. Perhaps all of them are missing? Can we add= a linker script or something similar? Please try this patch. https://patch-diff.githubusercontent.com/raw/FreeBSDDesktop/freebsd-base-gr= aphics/pull/110.diff Jung-uk Kim > Anindya > > ________________________________________ > From: Matthew Macy [mmacy@nextbsd.org] > Sent: January 12, 2017 2:43 PM > To: Anindya Mukherjee > Cc: freebsd-x11@freebsd.org > Subject: RE: Crash with radeonkms > > ---- On Thu, 12 Jan 2017 09:52:21 -0800 Anindya Mukherjee <anindya49@hot= mail.com> wrote ---- > > There seems to be an error while trying to load the "radeonkms" module= (#15). It then tries to unload it, and crashes. > > Correct. It's almost certainly missing symbols. To find out what they are= without crashing your system, load linuxkpi, then load drm, and *then* loa= d radeon. Note that if your hardware is SI or newer it's supported by amdgp= u. > > -M
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BN6PR22MB0802D92DC17A31E779454B96B67B0>