Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753485Ab3HEQTt (ORCPT ); Mon, 5 Aug 2013 12:19:49 -0400 Received: from devils.ext.ti.com ([198.47.26.153]:55581 "EHLO devils.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754424Ab3HEQPx (ORCPT ); Mon, 5 Aug 2013 12:15:53 -0400 From: Joel Fernandes To: Tony Lindgren , Sekhar Nori , Santosh Shilimkar , Sricharan R , Rajendra Nayak , Lokesh Vutla , Matt Porter , Grant Likely , Rob Herring , Vinod Koul , Dan Williams , Mark Brown , Benoit Cousson , Russell King , Arnd Bergmann , Olof Johansson , Balaji TK , Gururaja Hebbar , Chris Ball , Jason Kridner CC: Linux OMAP List , Linux ARM Kernel List , Linux DaVinci Kernel List , Linux Kernel Mailing List , Linux MMC List , Joel Fernandes Subject: [PATCH v3 07/12] dma: edma: Add function to dump a PaRAM set from PaRAM Date: Mon, 5 Aug 2013 11:14:52 -0500 Message-ID: <1375719297-12871-8-git-send-email-joelf@ti.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1375719297-12871-1-git-send-email-joelf@ti.com> References: <1375719297-12871-1-git-send-email-joelf@ti.com> MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1760 Lines: 61 Previously, such a dump function was used but it wasn't reading from the PaRAM, rather just from a edmacc_param structure, we add a helpful function for debugging that directly reads from the PaRAM and gives the current state correctly (including links and interrupt information). Signed-off-by: Joel Fernandes --- drivers/dma/edma.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/drivers/dma/edma.c b/drivers/dma/edma.c index 080d669..a242269 100644 --- a/drivers/dma/edma.c +++ b/drivers/dma/edma.c @@ -102,6 +102,37 @@ static void edma_desc_free(struct virt_dma_desc *vdesc) kfree(container_of(vdesc, struct edma_desc, vdesc)); } +static inline void dump_pset(struct edma_chan *echan, int slot, + struct edmacc_param *pset_unused, int pset_idx) +{ + struct edmacc_param pset_local, *pset; + pset = &pset_local; + + edma_read_slot(slot, pset); + + dev_dbg(echan->vchan.chan.device->dev, + "\n pset[%d]:\n" + " chnum\t%d\n" + " slot\t%d\n" + " opt\t%08x\n" + " src\t%08x\n" + " dst\t%08x\n" + " abcnt\t%08x\n" + " ccnt\t%08x\n" + " bidx\t%08x\n" + " cidx\t%08x\n" + " lkrld\t%08x\n", + pset_idx, echan->ch_num, slot, + pset[0].opt, + pset[0].src, + pset[0].dst, + pset[0].a_b_cnt, + pset[0].ccnt, + pset[0].src_dst_bidx, + pset[0].src_dst_cidx, + pset[0].link_bcntrld); +} + /* Dispatch a queued descriptor to the controller (caller holds lock) */ static void edma_execute(struct edma_chan *echan) { -- 1.7.9.5 -- 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/