Commit 3303410d authored by H Hartley Sweeten's avatar H Hartley Sweeten Committed by Greg Kroah-Hartman

staging: comedi: mite: tidy up mite_init_ring_descriptors()

Use a local variable for the mite_dma_desc pointer to help clarify
this function.
Signed-off-by: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: default avatarIan Abbott <abbotti@mev.co.uk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent b0af848c
...@@ -516,6 +516,7 @@ int mite_init_ring_descriptors(struct mite_ring *ring, ...@@ -516,6 +516,7 @@ int mite_init_ring_descriptors(struct mite_ring *ring,
unsigned int nbytes) unsigned int nbytes)
{ {
struct comedi_async *async = s->async; struct comedi_async *async = s->async;
struct mite_dma_desc *desc = NULL;
unsigned int n_full_links = nbytes >> PAGE_SHIFT; unsigned int n_full_links = nbytes >> PAGE_SHIFT;
unsigned int remainder = nbytes % PAGE_SIZE; unsigned int remainder = nbytes % PAGE_SIZE;
int i; int i;
...@@ -531,26 +532,23 @@ int mite_init_ring_descriptors(struct mite_ring *ring, ...@@ -531,26 +532,23 @@ int mite_init_ring_descriptors(struct mite_ring *ring,
/* We set the descriptors for all full links. */ /* We set the descriptors for all full links. */
for (i = 0; i < n_full_links; ++i) { for (i = 0; i < n_full_links; ++i) {
ring->descs[i].count = cpu_to_le32(PAGE_SIZE); desc = &ring->descs[i];
ring->descs[i].addr = desc->count = cpu_to_le32(PAGE_SIZE);
cpu_to_le32(async->buf_map->page_list[i].dma_addr); desc->addr = cpu_to_le32(async->buf_map->page_list[i].dma_addr);
ring->descs[i].next = desc->next = cpu_to_le32(ring->dma_addr +
cpu_to_le32(ring->dma_addr + (i + 1) * sizeof(*desc));
(i + 1) * sizeof(struct mite_dma_desc));
} }
/* the last link is either a remainder or was a full link. */ /* the last link is either a remainder or was a full link. */
if (remainder > 0) { if (remainder > 0) {
desc = &ring->descs[i];
/* set the lesser count for the remainder link */ /* set the lesser count for the remainder link */
ring->descs[i].count = cpu_to_le32(remainder); desc->count = cpu_to_le32(remainder);
ring->descs[i].addr = desc->addr = cpu_to_le32(async->buf_map->page_list[i].dma_addr);
cpu_to_le32(async->buf_map->page_list[i].dma_addr);
/* increment i so that assignment below refs last link */
++i;
} }
/* Assign the last link->next to point back to the head of the list. */ /* Assign the last link->next to point back to the head of the list. */
ring->descs[i - 1].next = cpu_to_le32(ring->dma_addr); desc->next = cpu_to_le32(ring->dma_addr);
/* /*
* barrier is meant to insure that all the writes to the dma descriptors * barrier is meant to insure that all the writes to the dma descriptors
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment