From: Jon Ringle <jon@ringle.org>
To: joelf@ti.com, vinod.koul@intel.com
Cc: "linux-mmc@vger.kernel.org" <linux-mmc@vger.kernel.org>
Subject: dma changes causes SD card to fail detection
Date: Mon, 3 Mar 2014 01:56:45 -0500 [thread overview]
Message-ID: <CAMwGMjxv4FFtn7Aysctr4AALqmHNn4KJYJZWRK5NA09NFDd5zQ@mail.gmail.com> (raw)
I am porting an arm board from linux-3.10 to linux-3.12 and found that
on linux-3.12 I was no longer able to detect the SD card on the board.
I found that the wait_for_completion(&mrq->completion) call in
drivers/mmc/core/core.c:mmc_wait_for_done() was never returning.
I was able to bisect the problem to the following commit. Could you
please advise as to what to do to resolve this issue?
534070622d2c7fbc5cc929aa93541ccd0ae52ab1 is the first bad commit
commit 534070622d2c7fbc5cc929aa93541ccd0ae52ab1
Author: Joel Fernandes <joelf@ti.com>
Date: Tue Sep 3 10:02:46 2013 -0500
dma: edma: Write out and handle MAX_NR_SG at a given time
Process SG-elements in batches of MAX_NR_SG if they are greater
than MAX_NR_SG. Due to this, at any given time only those many
slots will be used in the given channel no matter how long the
scatter list is. We keep track of how much has been written
inorder to process the next batch of elements in the scatter-list
and detect completion.
For such intermediate transfer completions (one batch of MAX_NR_SG),
make use of pause and resume functions instead of start and stop
when such intermediate transfer is in progress or completed as we
donot want to clear any pending events.
Signed-off-by: Joel Fernandes <joelf@ti.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
I tried reverting this commit, but this results in the compiler
complaining with the following:
drivers/dma/edma.c: In function 'edma_execute':
drivers/dma/edma.c:155:11: error: 'struct edma_desc' has no member
named 'processed'
if (edesc->processed == edesc->pset_nr)
^
drivers/dma/edma.c:156:25: error: 'nslots' undeclared (first use in
this function)
edma_link(echan->slot[nslots-1], echan->ecc->dummy_slot);
^
drivers/dma/edma.c:156:25: note: each undeclared identifier is
reported only once for each function it appears in
drivers/dma/edma.c: At top level:
drivers/dma/edma.c:166:2: error: expected identifier or '(' before 'if'
if (echan->missed) {
^
Thanks,
Jon
reply other threads:[~2014-03-03 6:56 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAMwGMjxv4FFtn7Aysctr4AALqmHNn4KJYJZWRK5NA09NFDd5zQ@mail.gmail.com \
--to=jon@ringle.org \
--cc=joelf@ti.com \
--cc=linux-mmc@vger.kernel.org \
--cc=vinod.koul@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).