Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 28 Nov 2015 00:20:45 +0100
From:      Svatopluk Kraus <onwahe@gmail.com>
To:        Karl Denninger <karl@denninger.net>
Cc:        "freebsd-arm@freebsd.org" <freebsd-arm@freebsd.org>
Subject:   Re: Raspberry Pi2 kernel warnings
Message-ID:  <CAFHCsPX8w%2BrJihkXX4SHaV52=08F8BT7VWordx9p2kKx8CYsLw@mail.gmail.com>
In-Reply-To: <5658DB87.5010308@denninger.net>
References:  <56575896.70105@denninger.net> <CAFHCsPW4p9f4aGRffhAgFVgcYTixoJQVR707hhXZmB9B7U9v-A@mail.gmail.com> <5657E4C6.9020609@denninger.net> <56589C6B.8000100@denninger.net> <CAFHCsPUYYs3Kbfi4-tpAz-iah49s-nPyAX-akc71_4s-YMgQbQ@mail.gmail.com> <5658DB87.5010308@denninger.net>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
Well, I cannot imagine now how my patch could be the cause of that
except that sdhci is using dma channel #4 now, but it was #2, which is
said to be used by GPU. And channels used by GPU are not initialized
now. Try to apply the attached fix just to be sure.

FYI, my video playback freezed up after more than 12 hours of playing
today, so there could be some problem in communication with GPU, not
my patch related.



On Fri, Nov 27, 2015 at 11:39 PM, Karl Denninger <karl@denninger.net> wrote:
> Hmmm... or maybe not.
>
> "espeak" (speech synthesizer) hangs in a "S" state with this change in.
> Not sure if it's the cause but it was working before.
>
>
> On 11/27/2015 13:56, Svatopluk Kraus wrote:
>> OK, Thanks.
>>
>> On Fri, Nov 27, 2015 at 7:09 PM, Karl Denninger <karl@denninger.net> wrote:
>>> The patch still looks good -- it ran overnight without any warnings and
>>> is still grinning.
>>>
>>> On 11/26/2015 23:06, Karl Denninger wrote:
>>>> On 11/26/2015 15:20, Svatopluk Kraus wrote:
>>>>> On Thu, Nov 26, 2015 at 8:08 PM, Karl Denninger <karl@denninger.net> wrote:
>>>>>> I'm getting these on a fairly consistent basis on a Pi that is talking
>>>>>> to a Zwave USB stick and a serial USB interface (two instances that both
>>>>>> show up as serial devices):
>>>>>>
>>>>>> bcm_dma0: unused DMA intr CH=3, CS=20f10027
>>>>>> bcm_dma0: unused DMA intr CH=3, CS=20f10027
>>>>>> bcm_dma0: unused DMA intr CH=3, CS=20f10027
>>>>>> bcm_dma0: unused DMA intr CH=3, CS=20f10027
>>>>>> bcm_dma0: unused DMA intr CH=3, CS=20f10027
>>>>>> bcm_dma0: unused DMA intr CH=3, CS=20f10027
>>>>>> bcm_dma0: unused DMA intr CH=3, CS=20f10027
>>>>>> bcm_dma0: unused DMA intr CH=3, CS=20f10027
>>>>>> bcm_dma0: unused DMA intr CH=3, CS=20f10027
>>>>>> bcm_dma0: unused DMA intr CH=3, CS=20f10007
>>>>>> bcm_dma0: unused DMA intr CH=3, CS=20f10027
>>>>>> bcm_dma0: unused DMA intr CH=3, CS=20f10027
>>>>>> bcm_dma0: unused DMA intr CH=3, CS=20f10007
>>>>>> bcm_dma0: unused DMA intr CH=3, CS=20f10027
>>>>>> bcm_dma0: unused DMA intr CH=3, CS=20f10027
>>>>>> bcm_dma0: unused DMA intr CH=3, CS=20f10027
>>>>>> bcm_dma0: unused DMA intr CH=3, CS=20f10007
>>>>>>
>>>>>> They're showing up maybe every half-hour or so.... doesn't appear to be
>>>>>> doing anything bad, other than displaying the message.....
>>>>>>
>>>>> I'm just finished a patch which works well for me. I plan to commit it
>>>>> after some more testing. The patch is attached if you want to test it
>>>>> too.
>>>>>
>>>>> Svatopluk Kraus
>>>>>
>>>> I have the patch loaded on on the Pi that is exhibiting the problem --
>>>> so far looks good.
>>>>
>>> --
>>> Karl Denninger
>>> karl@denninger.net <mailto:karl@denninger.net>
>>> /The Market Ticker/
>>> /[S/MIME encrypted email preferred]/
>
> --
> Karl Denninger
> karl@denninger.net <mailto:karl@denninger.net>
> /The Market Ticker/
> /[S/MIME encrypted email preferred]/

[-- Attachment #2 --]
diff --git a/sys/arm/broadcom/bcm2835/bcm2835_dma.c b/sys/arm/broadcom/bcm2835/bcm2835_dma.c
index 498cec2..afe5485 100644
--- a/sys/arm/broadcom/bcm2835/bcm2835_dma.c
+++ b/sys/arm/broadcom/bcm2835/bcm2835_dma.c
@@ -265,8 +265,10 @@ bcm_dma_init(device_t dev)
 		ch->ch = i;
 		ch->flags = BCM_DMA_CH_UNMAP;
 
-		if ((bcm_dma_channel_mask & (1 << i)) == 0)
+		if ((bcm_dma_channel_mask & (1 << i)) == 0) {
+			bus_write_4(sc->sc_mem, BCM_DMA_CS(i), CS_RESET);
 			continue;
+		}
 
 		err = bus_dmamem_alloc(sc->sc_dma_tag, &cb_virt,
 		    BUS_DMA_WAITOK | BUS_DMA_COHERENT | BUS_DMA_ZERO,

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFHCsPX8w%2BrJihkXX4SHaV52=08F8BT7VWordx9p2kKx8CYsLw>