Skip site navigation (1)Skip section navigation (2)
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>