From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1ItPLe-0007Ej-H7 for qemu-devel@nongnu.org; Sat, 17 Nov 2007 10:12:42 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1ItPLd-0007ED-Ed for qemu-devel@nongnu.org; Sat, 17 Nov 2007 10:12:41 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1ItPLd-0007EA-7T for qemu-devel@nongnu.org; Sat, 17 Nov 2007 10:12:41 -0500 Received: from ug-out-1314.google.com ([66.249.92.168]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1ItPLc-0004u7-KJ for qemu-devel@nongnu.org; Sat, 17 Nov 2007 10:12:40 -0500 Received: by ug-out-1314.google.com with SMTP id m2so722175uge for ; Sat, 17 Nov 2007 07:12:39 -0800 (PST) Message-ID: Date: Sat, 17 Nov 2007 16:12:39 +0100 From: "andrzej zaborowski" Subject: Re: [Qemu-devel] [PATCH] hw/pxa2xx_dma.c In-Reply-To: <473C1717.4040206@gmx.net> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_10363_20377469.1195312359686" References: <473C1717.4040206@gmx.net> Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org ------=_Part_10363_20377469.1195312359686 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi, On 15/11/2007, Thorsten Zitterell wrote: > The following patch fixes the problem that DMA transfers are not performed when > the DCSR_STOPINTR bit is set. > -- > Thorsten > > Index: hw/pxa2xx_dma.c > =================================================================== > RCS file: /sources/qemu/qemu/hw/pxa2xx_dma.c,v > retrieving revision 1.5 > diff -u -r1.5 pxa2xx_dma.c > --- hw/pxa2xx_dma.c 11 Nov 2007 19:47:58 -0000 1.5 > +++ hw/pxa2xx_dma.c 15 Nov 2007 09:28:22 -0000 > @@ -186,7 +186,8 @@ > s->running = 1; > for (c = 0; c < s->channels; c ++) { > ch = &s->chan[c]; > - > + > + ch->state &= ~DCSR_STOPINTR; > while ((ch->state & DCSR_RUN) && !(ch->state & DCSR_STOPINTR)) { > /* Test for pending requests */ > if ((ch->cmd & (DCMD_FLOWSRC | DCMD_FLOWTRG)) && !ch->request) > > Can you check if the following change would make the gumstix NIC work too? In my understanding of the specs it's more correct, but I'm not sure. diff --git a/hw/pxa2xx_dma.c b/hw/pxa2xx_dma.c index 4c60ffd..7067a78 100644 --- a/hw/pxa2xx_dma.c +++ b/hw/pxa2xx_dma.c @@ -342,7 +343,7 @@ static void pxa2xx_dma_write(void *opaque, DCSR_STARTINTR | DCSR_BUSERRINTR)); s->chan[channel].state |= value & 0xfc800000; - if (s->chan[channel].state & DCSR_STOPIRQEN) + if (s->chan[channel].state & (DCSR_STOPIRQEN | DCSR_RUN)) s->chan[channel].state &= ~DCSR_STOPINTR; if (value & DCSR_NODESCFETCH) { @@ -352,7 +353,6 @@ static void pxa2xx_dma_write(void *opaque, } else { /* Descriptor-fetch mode */ if (value & DCSR_RUN) { - s->chan[channel].state &= ~DCSR_STOPINTR; pxa2xx_dma_descriptor_fetch(s, channel); pxa2xx_dma_run(s); } Regards ------=_Part_10363_20377469.1195312359686 Content-Type: text/x-patch; name=pxa-dma-stopintr-clear.patch Content-Transfer-Encoding: base64 X-Attachment-Id: f_f94c5eti Content-Disposition: attachment; filename=pxa-dma-stopintr-clear.patch ZGlmZiAtLWdpdCBhL2h3L3B4YTJ4eF9kbWEuYyBiL2h3L3B4YTJ4eF9kbWEuYwppbmRleCA0YzYw ZmZkLi43MDY3YTc4IDEwMDY0NAotLS0gYS9ody9weGEyeHhfZG1hLmMKKysrIGIvaHcvcHhhMnh4 X2RtYS5jCkBAIC0zNDIsNyArMzQzLDcgQEAgc3RhdGljIHZvaWQgcHhhMnh4X2RtYV93cml0ZSh2 b2lkICpvcGFxdWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgRENTUl9TVEFSVElOVFIgfCBE Q1NSX0JVU0VSUklOVFIpKTsKICAgICAgICAgcy0+Y2hhbltjaGFubmVsXS5zdGF0ZSB8PSB2YWx1 ZSAmIDB4ZmM4MDAwMDA7CiAKLSAgICAgICAgaWYgKHMtPmNoYW5bY2hhbm5lbF0uc3RhdGUgJiBE Q1NSX1NUT1BJUlFFTikKKyAgICAgICAgaWYgKHMtPmNoYW5bY2hhbm5lbF0uc3RhdGUgJiAoRENT Ul9TVE9QSVJRRU4gfCBEQ1NSX1JVTikpCiAgICAgICAgICAgICBzLT5jaGFuW2NoYW5uZWxdLnN0 YXRlICY9IH5EQ1NSX1NUT1BJTlRSOwogCiAgICAgICAgIGlmICh2YWx1ZSAmIERDU1JfTk9ERVND RkVUQ0gpIHsKQEAgLTM1Miw3ICszNTMsNiBAQCBzdGF0aWMgdm9pZCBweGEyeHhfZG1hX3dyaXRl KHZvaWQgKm9wYXF1ZSwKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIC8qIERlc2NyaXB0 b3ItZmV0Y2ggbW9kZSAqLwogICAgICAgICAgICAgaWYgKHZhbHVlICYgRENTUl9SVU4pIHsKLSAg ICAgICAgICAgICAgICBzLT5jaGFuW2NoYW5uZWxdLnN0YXRlICY9IH5EQ1NSX1NUT1BJTlRSOwog ICAgICAgICAgICAgICAgIHB4YTJ4eF9kbWFfZGVzY3JpcHRvcl9mZXRjaChzLCBjaGFubmVsKTsK ICAgICAgICAgICAgICAgICBweGEyeHhfZG1hX3J1bihzKTsKICAgICAgICAgICAgIH0K ------=_Part_10363_20377469.1195312359686--