Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754499Ab0AZOf6 (ORCPT ); Tue, 26 Jan 2010 09:35:58 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754485Ab0AZOf5 (ORCPT ); Tue, 26 Jan 2010 09:35:57 -0500 Received: from mail-ew0-f219.google.com ([209.85.219.219]:43583 "EHLO mail-ew0-f219.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754116Ab0AZOf4 convert rfc822-to-8bit (ORCPT ); Tue, 26 Jan 2010 09:35:56 -0500 DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; b=oCe1KRbAySGfCd0YEDTE0jo5KHTcJgGB2zjR9QRDqQs1K32NxQp+ewLUrWzuckFDIq zdF8/evPp1yYf+Bl7GqNaLc5fjpazRMKR7TxmZNddq5Q3DhDheIr0gn38C5JGb6zI2b6 YfAvP8P5N28DaTrgqapC3bC42BfZkjYvg/8/g= MIME-Version: 1.0 In-Reply-To: References: <20100115153852.GA13297@localhost.localdomain> <520f0cf11001260610g7380e4c0y4496554e5700564f@mail.gmail.com> Date: Tue, 26 Jan 2010 15:35:54 +0100 X-Google-Sender-Auth: 94b914e1c0fa615a Message-ID: <520f0cf11001260635q421f93bfwb54bbb8d208db7bc@mail.gmail.com> Subject: Re: [OOPS] radeon kms From: John Kacur To: Alex Deucher Cc: Jerome Glisse , Jerome Glisse , Dave Airlie , Thomas Hellstrom , dri-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 7826 Lines: 153 On Tue, Jan 26, 2010 at 3:19 PM, Alex Deucher wrote: > On Tue, Jan 26, 2010 at 9:10 AM, John Kacur wrote: >> On Tue, Jan 26, 2010 at 2:59 PM, Alex Deucher wrote: >>> On Tue, Jan 26, 2010 at 8:21 AM, John Kacur wrote: >>>> >>>> >>>> On Fri, 15 Jan 2010, Jerome Glisse wrote: >>>> >>>>> On Fri, Jan 15, 2010 at 03:47:19PM +0100, John Kacur wrote: >>>>> > >>>>> > >>>>> > On Fri, 15 Jan 2010, John Kacur wrote: >>>>> > >>>>> > > The oops is triggered because I am missing the firmware for >>>>> > > radeon/R700_rlc.bin and >>>>> > > radeon/R600_rlc.bin >>>>> > > >>>>> > > However, I think it should be able to deal with this more gracefully. >>>>> > > >>>>> > > ATOM BIOS: 9498.11.22.6.0.AS03 >>>>> > > [drm] Clocks initialized ! >>>>> > > [drm] Detected VRAM RAM=256M, BAR=256M >>>>> > > [drm] RAM width 128bits DDR >>>>> > > [TTM] Zone ?kernel: Available graphics memory: 3050912 kiB. >>>>> > > [TTM] Zone ? dma32: Available graphics memory: 2097152 kiB. >>>>> > > [drm] radeon: 256M of VRAM memory ready >>>>> > > [drm] radeon: 512M of GTT memory ready. >>>>> > > ? alloc irq_desc for 33 on node -1 >>>>> > > ? alloc kstat_irqs on node -1 >>>>> > > radeon 0000:02:00.0: irq 33 for MSI/MSI-X >>>>> > > [drm] radeon: using MSI. >>>>> > > [drm] radeon: irq initialized. >>>>> > > [drm] GART: num cpu pages 131072, num gpu pages 131072 >>>>> > > [drm] Loading RV730 Microcode >>>>> > > platform radeon_cp.0: firmware: requesting radeon/RV730_pfp.bin >>>>> > > platform radeon_cp.0: firmware: requesting radeon/RV730_me.bin >>>>> > > platform radeon_cp.0: firmware: requesting radeon/R700_rlc.bin >>>>> > > r600_cp: Failed to load firmware "radeon/R700_rlc.bin" >>>>> > > [drm:rv770_startup] *ERROR* Failed to load firmware! >>>>> > > radeon 0000:02:00.0: ffff8801a20b5400 unpin not necessary >>>>> > > BUG: unable to handle kernel NULL pointer dereference at 0000000000000048 >>>>> > > IP: [] ttm_bo_reserve+0x16/0xf8 [ttm] >>>>> > > PGD 1a1a74067 PUD 1a19b8067 PMD 0 >>>>> > > Oops: 0000 [#1] SMP >>>>> > > last sysfs file: /sys/devices/platform/radeon_cp.0/firmware/radeon_cp.0/loading >>>>> > > CPU 4 >>>>> > > Pid: 168, comm: modprobe Not tainted 2.6.33-rc4 #3 EX58-UD3R/EX58-UD3R >>>>> > > RIP: 0010:[] ?[] ttm_bo_reserve+0x16/0xf8 [t >>>>> > > tm] >>>>> > > RSP: 0018:ffff8801a1a8fb68 ?EFLAGS: 00010292 >>>>> > > RAX: ffff880100000000 RBX: 0000000000000000 RCX: 0000000000000000 >>>>> > > RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000048 >>>>> > > RBP: ffff8801a1a8fba8 R08: 0000000000000000 R09: 0000000000000000 >>>>> > > R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000 >>>>> > > R13: ffff8801a8838000 R14: 0000000000000024 R15: 0000000000002000 >>>>> > > FS: ?00007f0f9c6dc700(0000) GS:ffff88002e400000(0000) knlGS:0000000000000000 >>>>> > > CS: ?0010 DS: 0000 ES: 0000 CR0: 000000008005003b >>>>> > > CR2: 0000000000000048 CR3: 00000001a195d000 CR4: 00000000000006e0 >>>>> > > DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 >>>>> > > DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 >>>>> > > Process modprobe (pid: 168, threadinfo ffff8801a1a8e000, task ffff8801a22c0000) >>>>> > > Stack: >>>>> > > ?ffff880100000000 ffff8801a27e2900 ffff8801a1a8fb88 0000000000000000 >>>>> > > <0> 0000000000000000 ffff8801a8838000 0000000000000024 0000000000002000 >>>>> > > <0> ffff8801a1a8fbd8 ffffffffa00ba05b ffff8801a1a8fbd8 ffff8801a27f4000 >>>>> > > Call Trace: >>>>> > > ?[] radeon_bo_reserve.clone.0+0x2a/0x6d [radeon] >>>>> > > ?[] rv770_suspend+0x43/0x69 [radeon] >>>>> > > ?[] rv770_init+0x1a4/0x22d [radeon] >>>>> > > ?[] radeon_device_init+0x27f/0x300 [radeon] >>>>> > > ?[] radeon_driver_load_kms+0xff/0x184 [radeon] >>>>> > > ?[] drm_get_dev+0x3c4/0x4c5 [drm] >>>>> > > ?[] ? pci_match_device+0x22/0xd0 >>>>> > > ?[] radeon_pci_probe+0x15/0x268 [radeon] >>>>> > > ?[] local_pci_probe+0x17/0x1b >>>>> > > ?[] pci_device_probe+0xcd/0xfd >>>>> > > ?[] ? driver_sysfs_add+0x4c/0x71 >>>>> > > ?[] driver_probe_device+0xde/0x1fe >>>>> > > ?[] __driver_attach+0x5d/0x81 >>>>> > > ?[] ? __driver_attach+0x0/0x81 >>>>> > > ?[] bus_for_each_dev+0x59/0x8e >>>>> > > ?[] driver_attach+0x1e/0x20 >>>>> > > ?[] bus_add_driver+0xd8/0x240 >>>>> > > ?[] driver_register+0x9d/0x10e >>>>> > > ?[] __pci_register_driver+0x68/0xd8 >>>>> > > ?[] ? printk+0x41/0x47 >>>>> > > ?[] ? radeon_init+0x0/0xc1 [radeon] >>>>> > > ?[] drm_init+0x75/0xdb [drm] >>>>> > > ?[] ? radeon_init+0x0/0xc1 [radeon] >>>>> > > ?[] radeon_init+0xbf/0xc1 [radeon] >>>>> > > ?[] do_one_initcall+0x5e/0x15e >>>>> > > ?[] sys_init_module+0xd8/0x23a >>>>> > > ?[] system_call_fastpath+0x16/0x1b >>>>> > > Code: 01 00 00 00 31 c0 48 83 c4 38 5b 41 5c 41 5d 41 5e 41 5f c9 c3 55 48 89 e5 >>>>> > > ?41 57 41 56 41 55 41 54 53 48 83 ec 18 0f 1f 44 00 00 <4c> 8b 27 48 89 fb 41 88 >>>>> > > ?f5 41 88 d6 41 88 cf 44 89 45 c8 49 81 >>>>> > > RIP ?[] ttm_bo_reserve+0x16/0xf8 [ttm] >>>>> > > ?RSP >>>>> > > CR2: 0000000000000048 >>>>> > > ---[ end trace 604e2e318733e108 ]--- >>>>> > > udevd-work[166]: '/sbin/modprobe -b pci:v00001002d00009498sv00001043sd00000300bc >>>>> > > 03sc00i00' unexpected exit with status 0x0009 >>>>> > > >>>>> > > >>>>> > >>>>> > I forgot to mention that this is kernel version 2.6.33-rc4. >>>>> > >>>>> > Thanks. >>>>> >>>>> Yes, we didn't paid enough attention to failure path :( Sorry for that >>>>> Fix should be in next rc, patch is: >>>>> http://git.kernel.org/?p=linux/kernel/git/airlied/drm-2.6.git;a=commit;h=30d2d9a54d48e4fefede0389ded1b6fc2d44a522 >>>>> >>>> >>>> I think your fix didn't make it to 2.6.33-rc5 because I'm still oopsing >>>> when I don't grab the firmware from the internet. (instead of merely >>>> reverting to vga mode). >>>> >>>> Furthermore, why is the firmware not shipped with the kernel? >>>> I never needed to fetch firmware for the 2.6.31 kernels and my graphic >>>> card worked fine. >>>> >>>> Am I right to conclude that the license is a problem? >>>> http://people.freedesktop.org/~agd5f/radeon_ucode/LICENSE.radeon >>>> >>>> This is a huge step backwards if we are exchanging a working driver with >>>> what shipped with the linux kernel to one that only works with blobs that >>>> don't ship with the kernel. >>> >>> In general, microcode is slowly being moved out of the kernel and into >>> the Linux firmware tree: >>> http://git.kernel.org/?p=linux/kernel/git/dwmw2/linux-firmware.git;a=tree >>> Eventually all of the radeon microcode will end up out up in that tree. >>> >> >> Okay, but why are R600_rlc.bin ?R700_rlc.bin in particular missing >> from the firmware? >> > > Missing from where? ?We aren't adding any new microcode to the kernel > source and they haven't made it into the firmware tree yet. ?Until > they end up in the firmware tree, you need to grab them from: > http://people.freedesktop.org/~agd5f/radeon_ucode > I meant why are they missing from the firmware tree? What is holding that up? Thanks -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/