From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julian Margetson Subject: Re: Problems with DRI on Acube Sam460 AMCC 460ex board Date: Wed, 25 Feb 2015 09:25:37 -0400 Message-ID: <54EDCD51.4000601@candw.ms> References: <54E08E06.8060607@candw.ms> <1424045921.3018.4.camel@ellerman.id.au> <54E4EBD7.5000307@candw.ms> <1424304787.22020.4.camel@ellerman.id.au> <54E53E07.60609@candw.ms> <1424314594.22408.1.camel@ellerman.id.au> <54EB253F.9020704@candw.ms> <54EB66C5.2070801@candw.ms> <54EC5CAD.8070402@candw.ms> <54ECC9A3.80700@candw.ms> <54ECDEFD.3050507@candw.ms> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1229850342==" Return-path: Received: from mail-vc0-f175.google.com (mail-vc0-f175.google.com [209.85.220.175]) by gabe.freedesktop.org (Postfix) with ESMTP id 174106E64B for ; Wed, 25 Feb 2015 05:25:43 -0800 (PST) Received: by mail-vc0-f175.google.com with SMTP id hq12so1295663vcb.6 for ; Wed, 25 Feb 2015 05:25:43 -0800 (PST) Received: from [192.168.1.10] ([76.76.182.246]) by mx.google.com with ESMTPSA id ew3sm8222898vdb.4.2015.02.25.05.25.41 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 25 Feb 2015 05:25:42 -0800 (PST) In-Reply-To: <54ECDEFD.3050507@candw.ms> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org This is a multi-part message in MIME format. --===============1229850342== Content-Type: multipart/alternative; boundary="------------040105070403070402070505" This is a multi-part message in MIME format. --------------040105070403070402070505 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit On 2/24/2015 4:28 PM, Julian Margetson wrote: > On 2/24/2015 2:57 PM, Julian Margetson wrote: >> On 2/24/2015 7:12 AM, Julian Margetson wrote: >>> On 2/23/2015 1:43 PM, Julian Margetson wrote: >>>> On 2/23/2015 9:03 AM, Julian Margetson wrote: >>>>> On 2/18/2015 10:56 PM, Michael Ellerman wrote: >>>>>> On Wed, 2015-02-18 at 21:36 -0400, Julian Margetson wrote: >>>>>>> On 2/18/2015 8:13 PM, Michael Ellerman wrote: >>>>>>> >>>>>>>> On Wed, 2015-02-18 at 15:45 -0400, Julian Margetson wrote: >>>>>>>>> On 2/15/2015 8:18 PM, Michael Ellerman wrote: >>>>>>>>> >>>>>>>>>> On Sun, 2015-02-15 at 08:16 -0400, Julian Margetson wrote: >>>>>>>>>>> Hi >>>>>>>>>>> >>>>>>>>>>> I am unable to get any kernel beyond the 3.16 branch working on an >>>>>>>>>>> Acube Sam460ex >>>>>>>>>>> AMCC 460ex based motherboard. Kernel up 3.16.7-ckt6 working. >>>>>>>>>> Does reverting b0345bbc6d09 change anything? >>>>>>>>>> >>>>>>>>>>> [ 6.364350] snd_hda_intel 0001:81:00.1: enabling device (0000 -> 0002) >>>>>>>>>>> [ 6.453794] snd_hda_intel 0001:81:00.1: ppc4xx_setup_msi_irqs: fail mapping irq >>>>>>>>>>> [ 6.487530] Unable to handle kernel paging request for data at address 0x0fa06c7c >>>>>>>>>>> [ 6.495055] Faulting instruction address: 0xc032202c >>>>>>>>>>> [ 6.500033] Vector: 300 (Data Access) at [efa31cf0] >>>>>>>>>>> [ 6.504922] pc: c032202c: __reg_op+0xe8/0x100 >>>>>>>>>>> [ 6.509697] lr: c0014f88: msi_bitmap_free_hwirqs+0x50/0x94 >>>>>>>>>>> [ 6.515600] sp: efa31da0 >>>>>>>>>>> [ 6.518491] msr: 21000 >>>>>>>>>>> [ 6.521112] dar: fa06c7c >>>>>>>>>>> [ 6.523915] dsisr: 0 >>>>>>>>>>> [ 6.526190] current = 0xef8bab00 >>>>>>>>>>> [ 6.529603] pid = 115, comm = kworker/0:1 >>>>>>>>>>> [ 6.534163] enter ? for help >>>>>>>>>>> [ 6.537054] [link register ] c0014f88 msi_bitmap_free_hwirqs+0x50/0x94 >>>>>>>>>>> [ 6.543811] [efa31da0] c0014f78 msi_bitmap_free_hwirqs+0x40/0x94 (unreliable) >>>>>>>>>>> [ 6.551001] [efa31dc0] c001aee8 ppc4xx_setup_msi_irqs+0xac/0xf4 >>>>>>>>>>> [ 6.556973] [efa31e00] c03503a4 pci_enable_msi_range+0x1e0/0x280 >>>>>>>>>>> [ 6.563032] [efa31e40] f92c2f74 azx_probe_work+0xe0/0x57c [snd_hda_intel] >>>>>>>>>>> [ 6.569906] [efa31e80] c0036344 process_one_work+0x1e8/0x2f0 >>>>>>>>>>> [ 6.575627] [efa31eb0] c003677c worker_thread+0x2f4/0x438 >>>>>>>>>>> [ 6.581079] [efa31ef0] c003a3e4 kthread+0xc8/0xcc >>>>>>>>>>> [ 6.585844] [efa31f40] c000aec4 ret_from_kernel_thread+0x5c/0x64 >>>>>>>>>>> [ 6.591910] mon> >>>>>>>>> Managed to do a third git bisect with the following results . >>>>>>>> Great work. >>>>>>>> >>>>>>>>> git bisect bad >>>>>>>>> 9279d3286e10736766edcaf815ae10e00856e448 is the first bad commit >>>>>>>>> commit 9279d3286e10736766edcaf815ae10e00856e448 >>>>>>>>> Author: Rasmus Villemoes >>>>>>>>> Date: Wed Aug 6 16:10:16 2014 -0700 >>>>>>>>> >>>>>>>>> lib: bitmap: change parameter of bitmap_*_region to unsigned >>>>>>>> So the bug is in the 4xx MSI code, and has always been there, in fact I don't >>>>>>>> see how that code has *ever* worked. The commit you bisected to just caused the >>>>>>>> existing bug to cause an oops. >>>>>>>> >>>>>>>> Can you try this? >>>>>>>> >>>>>>>> diff --git a/arch/powerpc/sysdev/ppc4xx_msi.c b/arch/powerpc/sysdev/ppc4xx_msi.c >>>>>>>> index 6e2e6aa378bb..effb5b878a78 100644 >>>>>>>> --- a/arch/powerpc/sysdev/ppc4xx_msi.c >>>>>>>> +++ b/arch/powerpc/sysdev/ppc4xx_msi.c >>>>>>>> @@ -95,11 +95,9 @@ static int ppc4xx_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) >>>>>>>> >>>>>>>> list_for_each_entry(entry, &dev->msi_list, list) { >>>>>>>> int_no = msi_bitmap_alloc_hwirqs(&msi_data->bitmap, 1); >>>>>>>> - if (int_no >= 0) >>>>>>>> - break; >>>>>>>> if (int_no < 0) { >>>>>>>> - pr_debug("%s: fail allocating msi interrupt\n", >>>>>>>> - __func__); >>>>>>>> + pr_warn("%s: fail allocating msi interrupt\n", __func__); >>>>>>>> + return -ENOSPC; >>>>>>>> } >>>>>>>> virq = irq_of_parse_and_map(msi_data->msi_dev, int_no); >>>>>>>> if (virq == NO_IRQ) { >>>>>>>> >>>>>>> Thanks. >>>>>>> This works with 3.17-rc1. Will try with the 3.18 Branch . >>>>>> OK great. >>>>>> >>>>>>> Any ideas why drm is not working ? (It never worked) . >>>>>> No sorry. You might have more luck if you post a new thread to the dri list. >>>>>> >>>>>>> [ 5.809802] Linux agpgart interface v0.103 >>>>>>> [ 6.137893] [drm] Initialized drm 1.1.0 20060810 >>>>>>> [ 6.439872] snd_hda_intel 0001:81:00.1: enabling device (0000 -> 0002) >>>>>>> [ 6.508544] ppc4xx_setup_msi_irqs: fail allocating msi interrupt >>>>>> I'm curious why it's failing to allocate MSIs. Possibly it's just run out. >>>>>> >>>>>> Can you post the output of 'cat /proc/interrupts'? >>>>>> >>>>>> cheers >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> cat /proc/interrupts >>>>> CPU0 >>>>> 18: 0 UIC 11 Edge L2C >>>>> 19: 0 UIC 12 Level snd_ice1724 >>>>> 20: 1 UIC 16 Level >>>>> 21: 306 UIC 17 Level snd_hda_intel >>>>> 22: 12212 UIC 0 Level 0002:00:04.0 >>>>> 25: 619 UIC 6 Level MAL TX EOB >>>>> 26: 937 UIC 7 Level MAL RX EOB >>>>> 27: 0 UIC 3 Level MAL SERR >>>>> 28: 0 UIC 4 Level MAL TX DE >>>>> 31: 0 UIC 5 Level MAL RX DE >>>>> 32: 6607 UIC 29 Level ehci_hcd:usb1 >>>>> 33: 1 UIC 30 Level ohci_hcd:usb2 >>>>> 38: 19 UIC 2 Level IBM IIC >>>>> 39: 0 UIC 3 Level IBM IIC >>>>> 40: 0 UIC 16 Level EMAC >>>>> 44: 0 UIC 0 Edge aerdrv >>>>> 45: 0 UIC 2 Edge aerdrv >>>>> LOC: 117318 Local timer interrupts for timer event device >>>>> LOC: 53 Local timer interrupts for others >>>>> SPU: 0 Spurious interrupts >>>>> PMI: 0 Performance monitoring interrupts >>>>> MCE: 0 Machine check exceptions >>>>> >>>>> More issues with Kernel 4.0.0-rc1 >>>>> >>>>> [ 33.535692] Unable to handle kernel paging request for data at address 0x00000008 >>>>> [ 33.566786] Faulting instruction address: 0xc049db84 >>>>> [ 33.574188] Vector: 300 (Data Access) at [eeb13c20] >>>>> [ 33.579086] pc: c049db84: radeon_audio_enable+0x4/0x18 >>>>> [ 33.584630] lr: c049e2f4: radeon_audio_detect+0x288/0x290 >>>>> [ 33.590429] sp: eeb13cd0 >>>>> [ 33.593310] msr: 29000 >>>>> [ 33.595931] dar: 8 >>>>> [ 33.598207] dsisr: 0 >>>>> [ 33.600480] current = 0xeea93ac0 >>>>> [ 33.603885] pid = 2311, comm = Xorg >>>>> [ 33.607922] enter ? for help >>>>> [ 33.610806] [link register ] c049e2f4 radeon_audio_detect+0x288/0x290 >>>>> [ 33.617469] [eeb13cd0] c049e254 radeon_audio_detect+0x1e8/0x290 (unreliable) >>>>> [ 33.624571] [eeb13d00] c03dfe7c radeon_dvi_detect+0x388/0x3ac >>>>> [ 33.630369] [eeb13d30] c038b9d4 drm_helper_probe_single_connector_modes_merge_bits+0xf4/0x434 >>>>> [ 33.638954] [eeb13d70] c03a7670 drm_mode_getconnector+0xf4/0x334 >>>>> [ 33.645022] [eeb13e10] c039a8c0 drm_ioctl+0x348/0x464 >>>>> [ 33.650135] [eeb13ed0] c00d0ca0 do_vfs_ioctl+0x52c/0x6e8 >>>>> [ 33.655507] [eeb13f20] c00d0e9c SyS_ioctl+0x40/0x68 >>>>> [ 33.660438] [eeb13f40] c000ab04 ret_from_syscall+0x0/0x3c >>>>> [ 33.665896] --- Exception: c01 (System Call) at 6fb1b8dc >>>>> [ 33.671253] SP (bfa56d20) is in userspace >>>>> [ 33.675263] mon> >>>>> [ 35.703835] Oops: Kernel access of bad area, sig: 11 [#1] >>>>> [ 35.709554] PREEMPT Canyonlands >>>>> [ 35.712876] Modules linked in: cfg80211 snd_ice1724 snd_hda_codec_hdmi snd_ak4113 snd_pt2258 snd_ak4114 snd_i2c snd_ice17xx_ak4xxx snd_ak4xxx_adda snd_ac97_codec snd_hda_intel ac97_bus snd_hda_controller snd_rawmidi snd_hda_codec snd_seq_device snd_pcm snd_timer snd >>>>> [ 35.738047] CPU: 0 PID: 2311 Comm: Xorg Not tainted 4.0.0-rc1-Sam460ex #1 >>>>> [ 35.745189] task: eea93ac0 ti: eeb12000 task.ti: eeb12000 >>>>> [ 35.750872] NIP: c049db84 LR: c049e2f4 CTR: 00000000 >>>>> [ 35.756098] REGS: eeb13c20 TRAP: 0300 Not tainted (4.0.0-rc1-Sam460ex) >>>>> [ 35.763241] MSR: 00029000 CR: 24004422 XER: 20000000 >>>>> [ 35.769778] DEAR: 00000008 ESR: 00000000 >>>>> GPR00: c049e254 eeb13cd0 eea93ac0 eaa84000 00000000 0000000f ee0532c0 000190d6 >>>>> GPR08: eab6da00 00000000 00000000 eeb13cb0 28004422 b7a11ff4 b7a87a98 b7a87988 >>>>> GPR16: 00000000 ffffffff 00000000 eeb13e18 eaa08194 eaa08178 00000001 00004000 >>>>> GPR24: 00004000 c071cd28 fffffff2 00000000 eab6c000 eaa84000 eab6da00 eab80400 >>>>> [ 35.804302] NIP [c049db84] radeon_audio_enable+0x4/0x18 >>>>> [ 35.809799] LR [c049e2f4] radeon_audio_detect+0x288/0x290 >>>>> [ 35.815480] Call Trace: >>>>> [ 35.818053] [eeb13cd0] [c049e254] radeon_audio_detect+0x1e8/0x290 (unreliable) >>>>> [ 35.825694] [eeb13d00] [c03dfe7c] radeon_dvi_detect+0x388/0x3ac >>>>> [ 35.831956] [eeb13d30] [c038b9d4] drm_helper_probe_single_connector_modes_merge_bits+0xf4/0x434 >>>>> [ 35.841137] [eeb13d70] [c03a7670] drm_mode_getconnector+0xf4/0x334 >>>>> [ 35.847663] [eeb13e10] [c039a8c0] drm_ioctl+0x348/0x464 >>>>> [ 35.853183] [eeb13ed0] [c00d0ca0] do_vfs_ioctl+0x52c/0x6e8 >>>>> [ 35.858974] [eeb13f20] [c00d0e9c] SyS_ioctl+0x40/0x68 >>>>> [ 35.864307] [eeb13f40] [c000ab04] ret_from_syscall+0x0/0x3c >>>>> [ 35.870196] --- interrupt: c01 at 0x6fb1b8dc >>>>> [ 35.870196] LR = 0x6fb1b800 >>>>> [ 35.877971] Instruction dump: >>>>> [ 35.881106] 8129012c 806a0018 2f890000 419e0018 81290004 2f890000 419e000c 7d2903a6 >>>>> [ 35.889403] 4e800420 38600000 4e800020 81231c70 <81290008> 2f890000 4d9e0020 7d2903a6 >>>>> [ 36.042121] ---[ end trace 3e83f5fa0d05c678 ]--- >>>>> [ 36.046739] >>>>> >>>> With Kernel 3.19 >>>> [ 2.454668] Linux agpgart interface v0.103 >>>> [ 2.458979] [drm] Initialized drm 1.1.0 20060810 >>>> [ 2.463814] [drm] radeon kernel modesetting enabled. >>>> [ 2.469870] [drm] initializing kernel modesetting (TURKS 0x1002:0x6758 0x1682:0x318B). >>>> [ 2.478007] [drm] register mmio base: 0xe90000000 >>>> [ 2.482774] [drm] register mmio size: 131072 >>>> [ 2.665432] ATOM BIOS: TURKS >>>> [ 2.668602] radeon 0001:81:00.0: VRAM: 1024M 0x0000000000000000 - 0x000000003FFFFFFF (1024M used) >>>> [ 2.677521] radeon 0001:81:00.0: GTT: 1024M 0x0000000040000000 - 0x000000007FFFFFFF >>>> [ 2.685201] [drm] Detected VRAM RAM=1024M, BAR=256M >>>> [ 2.690094] [drm] RAM width 128bits DDR >>>> [ 2.694109] [TTM] Zone kernel: Available graphics memory: 379192 kiB >>>> [ 2.700596] [TTM] Zone highmem: Available graphics memory: 1034552 kiB >>>> [ 2.707147] [TTM] Initializing pool allocator >>>> [ 2.711540] [TTM] Initializing DMA pool allocator >>>> [ 2.716359] [drm] radeon: 1024M of VRAM memory ready >>>> [ 2.721355] [drm] radeon: 1024M of GTT memory ready. >>>> [ 2.726395] [drm] Loading TURKS Microcode >>>> [ 2.730457] [drm] Internal thermal controller with fan control >>>> [ 2.741697] [drm] radeon: dpm initialized >>>> [ 2.745907] [drm] GART: num cpu pages 262144, num gpu pages 262144 >>>> [ 2.787690] [drm] PCIE GART of 1024M enabled (table at 0x0000000000274000). >>>> [ 2.794953] radeon 0001:81:00.0: WB enabled >>>> [ 2.799182] radeon 0001:81:00.0: fence driver on ring 0 use gpu addr 0x0000000040000c00 and cpu addr 0xffc01c00 >>>> [ 2.809300] radeon 0001:81:00.0: fence driver on ring 3 use gpu addr 0x0000000040000c0c and cpu addr 0xffc01c0c >>>> [ 2.839260] radeon 0001:81:00.0: fence driver on ring 5 use gpu addr 0x0000000000072118 and cpu addr 0xf9032118 >>>> [ 2.849411] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013). >>>> [ 2.856067] [drm] Driver supports precise vblank timestamp query. >>>> [ 2.862183] radeon 0001:81:00.0: radeon: MSI limited to 32-bit >>>> [ 2.868058] ppc4xx_setup_msi_irqs: fail allocating msi interrupt >>>> [ 2.874153] [drm] radeon: irq initialized. >>>> [ 3.103973] [drm:r600_ring_test] *ERROR* radeon: ring 0 test failed (scratch(0x8504)=0xCAFEDEAD) >>>> [ 3.112806] radeon 0001:81:00.0: disabling GPU acceleration >>>> [ 3.128627] [drm] Radeon Display Connectors >>>> [ 3.133369] [drm] Connector 0: >>>> [ 3.136481] [drm] DP-1 >>>> [ 3.139089] [drm] HPD1 >>>> [ 3.141665] [drm] DDC: 0x6470 0x6470 0x6474 0x6474 0x6478 0x6478 0x647c 0x647c >>>> [ 3.149146] [drm] Encoders: >>>> [ 3.152157] [drm] DFP1: INTERNAL_UNIPHY2 >>>> [ 3.156473] [drm] Connector 1: >>>> [ 3.159570] [drm] HDMI-A-1 >>>> [ 3.162469] [drm] HPD5 >>>> [ 3.165019] [drm] DDC: 0x6480 0x6480 0x6484 0x6484 0x6488 0x6488 0x648c 0x648c >>>> [ 3.172436] [drm] Encoders: >>>> [ 3.175415] [drm] DFP2: INTERNAL_UNIPHY2 >>>> [ 3.179703] [drm] Connector 2: >>>> [ 3.182766] [drm] DVI-I-1 >>>> [ 3.185570] [drm] HPD4 >>>> [ 3.188117] [drm] DDC: 0x6450 0x6450 0x6454 0x6454 0x6458 0x6458 0x645c 0x645c >>>> [ 3.195535] [drm] Encoders: >>>> [ 3.198513] [drm] DFP3: INTERNAL_UNIPHY >>>> [ 3.202706] [drm] CRT1: INTERNAL_KLDSCP_DAC1 >>>> [ 3.352245] [drm] fb mappable at 0x80475000 >>>> [ 3.356458] [drm] vram apper at 0x80000000 >>>> [ 3.360570] [drm] size 8294400 >>>> [ 3.363634] [drm] fb depth is 24 >>>> [ 3.366873] [drm] pitch is 7680 >>>> [ 3.575080] Console: switching to colour frame buffer device 240x67 >>>> [ 3.649278] radeon 0001:81:00.0: fb0: radeondrmfb frame buffer device >>>> [ 3.656071] radeon 0001:81:00.0: registered panic notifier >>>> [ 3.666472] [drm] Initialized radeon 2.40.0 20080528 for 0001:81:00.0 on minor 0 >>>> >>>> >>> >>> Problems with the Gib bisect >>> Kernel wont compile after 10th bisect . >>> >>> drivers/built-in.o: In function `drm_mode_atomic_ioctl': >>> (.text+0x865dc): undefined reference to `__get_user_bad' >>> make: *** [vmlinux] Error 1 >>> root@julian-VirtualBox:/usr/src/linux# git bisect log >>> git bisect start >>> # bad: [c517d838eb7d07bbe9507871fab3931deccff539] Linux 4.0-rc1 >>> git bisect bad c517d838eb7d07bbe9507871fab3931deccff539 >>> # good: [bfa76d49576599a4b9f9b7a71f23d73d6dcff735] Linux 3.19 >>> git bisect good bfa76d49576599a4b9f9b7a71f23d73d6dcff735 >>> # good: [02f1f2170d2831b3233e91091c60a66622f29e82] kernel.h: remove ancient __FUNCTION__ hack >>> git bisect good 02f1f2170d2831b3233e91091c60a66622f29e82 >>> # bad: [796e1c55717e9a6ff5c81b12289ffa1ffd919b6f] Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux >>> git bisect bad 796e1c55717e9a6ff5c81b12289ffa1ffd919b6f >>> # good: [9682ec9692e5ac11c6caebd079324e727b19e7ce] Merge tag 'driver-core-3.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core >>> git bisect good 9682ec9692e5ac11c6caebd079324e727b19e7ce >>> # good: [a9724125ad014decf008d782e60447c811391326] Merge tag 'tty-3.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty >>> git bisect good a9724125ad014decf008d782e60447c811391326 >>> # good: [f43dff0ee00a259f524ce17ba4f8030553c66590] Merge tag 'drm-amdkfd-next-fixes-2015-01-25' of git://people.freedesktop.org/~gabbayo/linux into drm-next >>> git bisect good f43dff0ee00a259f524ce17ba4f8030553c66590 >>> # bad: [cffe1e89dc9bf541a39d9287ced7c5addff07084] drm: sti: HDMI add audio infoframe >>> git bisect bad cffe1e89dc9bf541a39d9287ced7c5addff07084 >>> # good: [2f5b4ef15c60bc5292a3f006c018acb3da53737b] Merge tag 'drm/tegra/for-3.20-rc1' of git://anongit.freedesktop.org/tegra/linux into drm-next >>> git bisect good 2f5b4ef15c60bc5292a3f006c018acb3da53737b >>> # bad: [865844448ce80ccd714793e9ba4140d7ae214229] drm/udl: optimize udl_compress_hline16 (v2) >>> git bisect bad 865844448ce80ccd714793e9ba4140d7ae214229 >>> # bad: [d47df63393ed81977e0f6435988d9cbd70c867f7] drm/panel: simple: Add AVIC TM070DDH03 panel support >>> git bisect bad d47df63393ed81977e0f6435988d9cbd70c867f7 >>> # bad: [9469244d869623e8b54d9f3d4d00737e377af273] drm/atomic: Fix potential use of state after free >>> git bisect bad 9469244d869623e8b54d9f3d4d00737e377af273 >>> >>> >> Kernel 4.0.0-rc1 boots when DVI output used but not when HDMI output >> used. > > > git bisect skip > There are only 'skip'ped commits left to test. > The first bad commit could be any of: > b486e0e6d599b9ca8667fb9a7d49b7383ee963c7 > eab3bbeffd152125ae0f90863b8e9bc8eef49423 > 960cd9d4fef6dd9e235c0e5c0d4ed027f8a48025 > f02ad907cd9e7fe3a6405d2d005840912f1ed258 > 6a425c2a9b37ca3d2c37e3c1cdf973dba53eaa79 > ee0a89cf3c2c550e6d877dda21dd2947afb90cb6 > 92890583627ee2a0518e55b063fcff86826fef96 > 95d6eb3b134e1826ed04cc92b224d93de13e281f > 9469244d869623e8b54d9f3d4d00737e377af273 > We cannot bisect more! > Verified that the problems with the radeon: ring 0 test failed error go back to at least Kernel 3.0.1 --------------040105070403070402070505 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable
On 2/24/2015 4:28 PM, Julian Margetson wrote:
On 2/24/2015 2:57 PM, Julian Margetson wrote:
On 2/24/2015 7:12 AM, Julian Margetson wrote:
On 2/23/2015 1:43 PM, Julian Margetson wrote:
On 2/23/2015 9:03 AM, Julian Margetson wrote:
On 2/18/2015 10:56 PM, Michael Ellerman wrote:
On Wed, 2015-02-18 at 21:36 -0400, Julian =
Margetson wrote:
On 2/18/2015 8:13 PM, Michael Ellerman w=
rote:

On Wed, 2015-02-18 at 15:45 -0400, Jul=
ian Margetson wrote:
On 2/15/2015 8:18 PM, Michael Ellerm=
an wrote:

On Sun, 2015-02-15 at 08:16 -0400,=
 Julian Margetson wrote:
Hi

I am unable to get any kernel beyond  the 3.16 branch working on an
Acube Sam460ex
 AMCC 460ex based motherboard. Kernel  up 3.16.7-ckt6 working.
Does reverting b0345bbc6d09 change=
 anything?

[    6.364350] snd_hda_intel 000=
1:81:00.1: enabling device (0000 -> 0002)
[    6.453794] snd_hda_intel 0001:81:00.1: ppc4xx_setup_msi_irqs: fail ma=
pping irq
[    6.487530] Unable to handle kernel paging request for data at address=
 0x0fa06c7c
[    6.495055] Faulting instruction address: 0xc032202c
[    6.500033] Vector: 300 (Data Access) at [efa31cf0]
[    6.504922]     pc: c032202c: __reg_op+0xe8/0x100
[    6.509697]     lr: c0014f88: msi_bitmap_free_hwirqs+0x50/0x94
[    6.515600]     sp: efa31da0
[    6.518491]    msr: 21000
[    6.521112]    dar: fa06c7c
[    6.523915]  dsisr: 0
[    6.526190]   current =3D 0xef8bab00
[    6.529603]     pid   =3D 115, comm =3D kworker/0:1
[    6.534163] enter ? for help
[    6.537054] [link register   ] c0014f88 msi_bitmap_free_hwirqs+0x50/0x=
94
[    6.543811] [efa31da0] c0014f78 msi_bitmap_free_hwirqs+0x40/0x94 (unre=
liable)
[    6.551001] [efa31dc0] c001aee8 ppc4xx_setup_msi_irqs+0xac/0xf4
[    6.556973] [efa31e00] c03503a4 pci_enable_msi_range+0x1e0/0x280
[    6.563032] [efa31e40] f92c2f74 azx_probe_work+0xe0/0x57c [snd_hda_int=
el]
[    6.569906] [efa31e80] c0036344 process_one_work+0x1e8/0x2f0
[    6.575627] [efa31eb0] c003677c worker_thread+0x2f4/0x438
[    6.581079] [efa31ef0] c003a3e4 kthread+0xc8/0xcc
[    6.585844] [efa31f40] c000aec4 ret_from_kernel_thread+0x5c/0x64
[    6.591910] mon>  <no input ...>
Managed to do a third git bisect  wi=
th the following results .
Great work.

git bisect bad
9279d3286e10736766edcaf815ae10e00856e448 is the first bad commit
commit 9279d3286e10736766edcaf815ae10e00856e448
Author: Rasmus Villemoes <linux@rasmusvill=
emoes.dk>
Date:   Wed Aug 6 16:10:16 2014 -0700

    lib: bitmap: change parameter of bitmap_*_region to unsigned
So the bug is in the 4xx MSI code, and=
 has always been there, in fact I don't
see how that code has *ever* worked. The commit you bisected to just caus=
ed the
existing bug to cause an oops.

Can you try this?

diff --git a/arch/powerpc/sysdev/ppc4xx_msi.c b/arch/powerpc/sysdev/ppc4x=
x_msi.c
index 6e2e6aa378bb..effb5b878a78 100644
--- a/arch/powerpc/sysdev/ppc4xx_msi.c
+++ b/arch/powerpc/sysdev/ppc4xx_msi.c
@@ -95,11 +95,9 @@ static int ppc4xx_setup_msi_irqs(struct pci_dev *dev, =
int nvec, int type)
=20
 	list_for_each_entry(entry, &dev->msi_list, list) {
 		int_no =3D msi_bitmap_alloc_hwirqs(&msi_data->bitmap, 1);
-		if (int_no >=3D 0)
-			break;
 		if (int_no < 0) {
-			pr_debug("%s: fail allocating msi interrupt\n",
-					__func__);
+			pr_warn("%s: fail allocating msi interrupt\n", __func__);
+			return -ENOSPC;
 		}
 		virq =3D irq_of_parse_and_map(msi_data->msi_dev, int_no);
 		if (virq =3D=3D NO_IRQ) {

Thanks.
This works with 3.17-rc1. Will try with =
the 3.18 Branch .
OK great.

Any ideas why drm is not  working ? (It =
never worked) .
No sorry. You might have more luck if you =
post a new thread to the dri list.

[    5.809802] Linux agpgart interface v=
0.103
[    6.137893] [drm] Initialized drm 1.1.0 20060810
[    6.439872] snd_hda_intel 0001:81:00.1: enabling device (0000 -> 00=
02)
[    6.508544] ppc4xx_setup_msi_irqs: fail allocating msi interrupt
I'm curious why it's failing to allocate M=
SIs. Possibly it's just run out.

Can you post the output of 'cat /proc/interrupts'?

cheers





cat /proc/interrupts
           CPU0      =20
 18:          0       UIC  11 Edge      L2C
 19:          0       UIC  12 Level     snd_ice1724
 20:          1       UIC  16 Level  =20
 21:        306       UIC  17 Level     snd_hda_intel
 22:      12212       UIC   0 Level     0002:00:04.0
 25:        619       UIC   6 Level     MAL TX EOB
 26:        937       UIC   7 Level     MAL RX EOB
 27:          0       UIC   3 Level     MAL SERR
 28:          0       UIC   4 Level     MAL TX DE
 31:          0       UIC   5 Level     MAL RX DE
 32:       6607       UIC  29 Level     ehci_hcd:usb1
 33:          1       UIC  30 Level     ohci_hcd:usb2
 38:         19       UIC   2 Level     IBM IIC
 39:          0       UIC   3 Level     IBM IIC
 40:          0       UIC  16 Level     EMAC
 44:          0       UIC   0 Edge      aerdrv
 45:          0       UIC   2 Edge      aerdrv
LOC:     117318   Local timer interrupts for timer event device
LOC:         53   Local timer interrupts for others
SPU:          0   Spurious interrupts
PMI:          0   Performance monitoring interrupts
MCE:          0   Machine check exceptions

More issues with Kernel 4.0.0-rc1

[   33.535692] Unable to handle kern=
el paging request for data at address 0x00000008
[   33.566786] Faulting instruction address: 0xc049db84
[   33.574188] Vector: 300 (Data Access) at [eeb13c20]
[   33.579086]     pc: c049db84: radeon_audio_enable+0x4/0x18
[   33.584630]     lr: c049e2f4: radeon_audio_detect+0x288/0x290
[   33.590429]     sp: eeb13cd0
[   33.593310]    msr: 29000
[   33.595931]    dar: 8
[   33.598207]  dsisr: 0
[   33.600480]   current =3D 0xeea93ac0
[   33.603885]     pid   =3D 2311, comm =3D Xorg
[   33.607922] enter ? for help
[   33.610806] [link register   ] c049e2f4 radeon_audio_detect+0x288/0x29=
0
[   33.617469] [eeb13cd0] c049e254 radeon_audio_detect+0x1e8/0x290 (unrel=
iable)
[   33.624571] [eeb13d00] c03dfe7c radeon_dvi_detect+0x388/0x3ac
[   33.630369] [eeb13d30] c038b9d4 drm_helper_probe_single_connector_mode=
s_merge_bits+0xf4/0x434
[   33.638954] [eeb13d70] c03a7670 drm_mode_getconnector+0xf4/0x334
[   33.645022] [eeb13e10] c039a8c0 drm_ioctl+0x348/0x464
[   33.650135] [eeb13ed0] c00d0ca0 do_vfs_ioctl+0x52c/0x6e8
[   33.655507] [eeb13f20] c00d0e9c SyS_ioctl+0x40/0x68
[   33.660438] [eeb13f40] c000ab04 ret_from_syscall+0x0/0x3c
[   33.665896] --- Exception: c01 (System Call) at 6fb1b8dc
[   33.671253] SP (bfa56d20) is in userspace
[   33.675263] mon>  <no input ...>
[   35.703835] Oops: Kernel access of bad area, sig: 11 [#1]
[   35.709554] PREEMPT Canyonlands
[   35.712876] Modules linked in: cfg80211 snd_ice1724 snd_hda_codec_hdmi=
 snd_ak4113 snd_pt2258 snd_ak4114 snd_i2c snd_ice17xx_ak4xxx snd_ak4xxx_a=
dda snd_ac97_codec snd_hda_intel ac97_bus snd_hda_controller snd_rawmidi =
snd_hda_codec snd_seq_device snd_pcm snd_timer snd
[   35.738047] CPU: 0 PID: 2311 Comm: Xorg Not tainted 4.0.0-rc1-Sam460ex=
 #1
[   35.745189] task: eea93ac0 ti: eeb12000 task.ti: eeb12000
[   35.750872] NIP: c049db84 LR: c049e2f4 CTR: 00000000
[   35.756098] REGS: eeb13c20 TRAP: 0300   Not tainted  (4.0.0-rc1-Sam460=
ex)
[   35.763241] MSR: 00029000 <CE,EE,ME>  CR: 24004422  XER: 2000000=
0
[   35.769778] DEAR: 00000008 ESR: 00000000
GPR00: c049e254 eeb13cd0 eea93ac0 eaa84000 00000000 0000000f ee0532c0 000=
190d6
GPR08: eab6da00 00000000 00000000 eeb13cb0 28004422 b7a11ff4 b7a87a98 b7a=
87988
GPR16: 00000000 ffffffff 00000000 eeb13e18 eaa08194 eaa08178 00000001 000=
04000
GPR24: 00004000 c071cd28 fffffff2 00000000 eab6c000 eaa84000 eab6da00 eab=
80400
[   35.804302] NIP [c049db84] radeon_audio_enable+0x4/0x18
[   35.809799] LR [c049e2f4] radeon_audio_detect+0x288/0x290
[   35.815480] Call Trace:
[   35.818053] [eeb13cd0] [c049e254] radeon_audio_detect+0x1e8/0x290 (unr=
eliable)
[   35.825694] [eeb13d00] [c03dfe7c] radeon_dvi_detect+0x388/0x3ac
[   35.831956] [eeb13d30] [c038b9d4] drm_helper_probe_single_connector_mo=
des_merge_bits+0xf4/0x434
[   35.841137] [eeb13d70] [c03a7670] drm_mode_getconnector+0xf4/0x334
[   35.847663] [eeb13e10] [c039a8c0] drm_ioctl+0x348/0x464
[   35.853183] [eeb13ed0] [c00d0ca0] do_vfs_ioctl+0x52c/0x6e8
[   35.858974] [eeb13f20] [c00d0e9c] SyS_ioctl+0x40/0x68
[   35.864307] [eeb13f40] [c000ab04] ret_from_syscall+0x0/0x3c
[   35.870196] --- interrupt: c01 at 0x6fb1b8dc
[   35.870196]     LR =3D 0x6fb1b800
[   35.877971] Instruction dump:
[   35.881106] 8129012c 806a0018 2f890000 419e0018 81290004 2f890000 419e=
000c 7d2903a6
[   35.889403] 4e800420 38600000 4e800020 81231c70 <81290008> 2f890=
000 4d9e0020 7d2903a6
[   36.042121] ---[ end trace 3e83f5fa0d05c678 ]---
[   36.046739]

With Kernel 3.19
[    2.454668] Linux agpgart interface=
 v0.103
[    2.458979] [drm] Initialized drm 1.1.0 20060810
[    2.463814] [drm] radeon kernel modesetting enabled.
[    2.469870] [drm] initializing kernel modesetting (TURKS 0x1002:0x6758=
 0x1682:0x318B).
[    2.478007] [drm] register mmio base: 0xe90000000
[    2.482774] [drm] register mmio size: 131072
[    2.665432] ATOM BIOS: TURKS
[    2.668602] radeon 0001:81:00.0: VRAM: 1024M 0x0000000000000000 - 0x00=
0000003FFFFFFF (1024M used)
[    2.677521] radeon 0001:81:00.0: GTT: 1024M 0x0000000040000000 - 0x000=
000007FFFFFFF
[    2.685201] [drm] Detected VRAM RAM=3D1024M, BAR=3D256M
[    2.690094] [drm] RAM width 128bits DDR
[    2.694109] [TTM] Zone  kernel: Available graphics memory: 379192 kiB
[    2.700596] [TTM] Zone highmem: Available graphics memory: 1034552 kiB
[    2.707147] [TTM] Initializing pool allocator
[    2.711540] [TTM] Initializing DMA pool allocator
[    2.716359] [drm] radeon: 1024M of VRAM memory ready
[    2.721355] [drm] radeon: 1024M of GTT memory ready.
[    2.726395] [drm] Loading TURKS Microcode
[    2.730457] [drm] Internal thermal controller with fan control
[    2.741697] [drm] radeon: dpm initialized
[    2.745907] [drm] GART: num cpu pages 262144, num gpu pages 262144
[    2.787690] [drm] PCIE GART of 1024M enabled (table at 0x0000000000274=
000).
[    2.794953] radeon 0001:81:00.0: WB enabled
[    2.799182] radeon 0001:81:00.0: fence driver on ring 0 use gpu addr 0=
x0000000040000c00 and cpu addr 0xffc01c00
[    2.809300] radeon 0001:81:00.0: fence driver on ring 3 use gpu addr 0=
x0000000040000c0c and cpu addr 0xffc01c0c
[    2.839260] radeon 0001:81:00.0: fence driver on ring 5 use gpu addr 0=
x0000000000072118 and cpu addr 0xf9032118
[    2.849411] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013)=
.
[    2.856067] [drm] Driver supports precise vblank timestamp query.
[    2.862183] radeon 0001:81:00.0: radeon: MSI limited to 32-bit
[    2.868058] ppc4xx_setup_msi_irqs: fail allocating msi interrupt
[    2.874153] [drm] radeon: irq initialized.
[    3.103973] [drm:r600_ring_test] *ERROR* radeon: ring 0 test failed (s=
cratch(0x8504)=3D0xCAFEDEAD)
[    3.112806] radeon 0001:81:00.0: disabling GPU acceleration
[    3.128627] [drm] Radeon Display Connectors
[    3.133369] [drm] Connector 0:
[    3.136481] [drm]   DP-1
[    3.139089] [drm]   HPD1
[    3.141665] [drm]   DDC: 0x6470 0x6470 0x6474 0x6474 0x6478 0x6478 0x6=
47c 0x647c
[    3.149146] [drm]   Encoders:
[    3.152157] [drm]     DFP1: INTERNAL_UNIPHY2
[    3.156473] [drm] Connector 1:
[    3.159570] [drm]   HDMI-A-1
[    3.162469] [drm]   HPD5
[    3.165019] [drm]   DDC: 0x6480 0x6480 0x6484 0x6484 0x6488 0x6488 0x6=
48c 0x648c
[    3.172436] [drm]   Encoders:
[    3.175415] [drm]     DFP2: INTERNAL_UNIPHY2
[    3.179703] [drm] Connector 2:
[    3.182766] [drm]   DVI-I-1
[    3.185570] [drm]   HPD4
[    3.188117] [drm]   DDC: 0x6450 0x6450 0x6454 0x6454 0x6458 0x6458 0x6=
45c 0x645c
[    3.195535] [drm]   Encoders:
[    3.198513] [drm]     DFP3: INTERNAL_UNIPHY
[    3.202706] [drm]     CRT1: INTERNAL_KLDSCP_DAC1
[    3.352245] [drm] fb mappable at 0x80475000
[    3.356458] [drm] vram apper at 0x80000000
[    3.360570] [drm] size 8294400
[    3.363634] [drm] fb depth is 24
[    3.366873] [drm]    pitch is 7680
[    3.575080] Console: switching to colour frame buffer device 240x67
[    3.649278] radeon 0001:81:00.0: fb0: radeondrmfb frame buffer device
[    3.656071] radeon 0001:81:00.0: registered panic notifier
[    3.666472] [drm] Initialized radeon 2.40.0 20080528 for 0001:81:00.0 =
on minor 0



Problems with  the Gib bisect
Kernel wont compile after 10th bisect .

drivers/built-in.o: In function `drm_mode_atomic_ioctl':
(.text+0x865dc): undefined reference to `__get_user_bad'
make: *** [vmlinux] Error 1
root@julian-VirtualBox:/usr/src/linux# git bisect log
git bisect start
# bad: [c517d838eb7d07bbe9507871fab3931deccff539] Linux 4.0-rc1
git bisect bad c517d838eb7d07bbe9507871fab3931deccff539
# good: [bfa76d49576599a4b9f9b7a71f23d73d6dcff735] Linux 3.19
git bisect good bfa76d49576599a4b9f9b7a71f23d73d6dcff735
# good: [02f1f2170d2831b3233e91091c60a66622f29e82] kernel.h: remove ancie=
nt __FUNCTION__ hack
git bisect good 02f1f2170d2831b3233e91091c60a66622f29e82
# bad: [796e1c55717e9a6ff5c81b12289ffa1ffd919b6f] Merge branch 'drm-next'=
 of git://people.freedesktop.org/~airlied/linux
git bisect bad 796e1c55717e9a6ff5c81b12289ffa1ffd919b6f
# good: [9682ec9692e5ac11c6caebd079324e727b19e7ce] Merge tag 'driver-core=
-3.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver=
-core
git bisect good 9682ec9692e5ac11c6caebd079324e727b19e7ce
# good: [a9724125ad014decf008d782e60447c811391326] Merge tag 'tty-3.20-rc=
1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
git bisect good a9724125ad014decf008d782e60447c811391326
# good: [f43dff0ee00a259f524ce17ba4f8030553c66590] Merge tag 'drm-amdkfd-=
next-fixes-2015-01-25' of git://people.freedesktop.org/~gabbayo/linux int=
o drm-next
git bisect good f43dff0ee00a259f524ce17ba4f8030553c66590
# bad: [cffe1e89dc9bf541a39d9287ced7c5addff07084] drm: sti: HDMI add audi=
o infoframe
git bisect bad cffe1e89dc9bf541a39d9287ced7c5addff07084
# good: [2f5b4ef15c60bc5292a3f006c018acb3da53737b] Merge tag 'drm/tegra/f=
or-3.20-rc1' of git://anongit.freedesktop.org/tegra/linux into drm-next
git bisect good 2f5b4ef15c60bc5292a3f006c018acb3da53737b
# bad: [865844448ce80ccd714793e9ba4140d7ae214229] drm/udl: optimize udl_c=
ompress_hline16 (v2)
git bisect bad 865844448ce80ccd714793e9ba4140d7ae214229
# bad: [d47df63393ed81977e0f6435988d9cbd70c867f7] drm/panel: simple: Add =
AVIC TM070DDH03 panel support
git bisect bad d47df63393ed81977e0f6435988d9cbd70c867f7
# bad: [9469244d869623e8b54d9f3d4d00737e377af273] drm/atomic: Fix potenti=
al use of state after free
git bisect bad 9469244d869623e8b54d9f3d4d00737e377af273


Kernel 4.0.0-rc1 boots when=C2=A0 DVI output used but not when HD= MI output used.


 git bisect skip
There are only 'skip'ped commits left to test.
The first bad commit could be any of:
b486e0e6d599b9ca8667fb9a7d49b7383ee963c7
eab3bbeffd152125ae0f90863b8e9bc8eef49423
960cd9d4fef6dd9e235c0e5c0d4ed027f8a48025
f02ad907cd9e7fe3a6405d2d005840912f1ed258
6a425c2a9b37ca3d2c37e3c1cdf973dba53eaa79
ee0a89cf3c2c550e6d877dda21dd2947afb90cb6
92890583627ee2a0518e55b063fcff86826fef96
95d6eb3b134e1826ed04cc92b224d93de13e281f
9469244d869623e8b54d9f3d4d00737e377af273
We cannot bisect more!


Verified that the problems with the
radeon: ring 0 test failed error
go back to at least=C2=A0 Kernel 3.0.1

--------------040105070403070402070505-- --===============1229850342== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK --===============1229850342==--