Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 211154
b: refs/heads/master
c: 399f1e3
h: refs/heads/master
v: v3
  • Loading branch information
Ira W. Snyder authored and Linus Torvalds committed Oct 1, 2010
1 parent 25e17bd commit 3c7a264
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 11 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 87400e5406e215e9a1b43cf67794fbb34c15c342
refs/heads/master: 399f1e30ac17b77d383444aff480c7390f5adf2a
2 changes: 0 additions & 2 deletions trunk/kernel/kfifo.c
Original file line number Diff line number Diff line change
Expand Up @@ -365,8 +365,6 @@ static unsigned int setup_sgl(struct __kfifo *fifo, struct scatterlist *sgl,
n = setup_sgl_buf(sgl, fifo->data + off, nents, l);
n += setup_sgl_buf(sgl + n, fifo->data, nents - n, len - l);

if (n)
sg_mark_end(sgl + n - 1);
return n;
}

Expand Down
17 changes: 9 additions & 8 deletions trunk/samples/kfifo/dma-example.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ static int __init example_init(void)
{
int i;
unsigned int ret;
unsigned int nents;
struct scatterlist sg[10];

printk(KERN_INFO "DMA fifo test start\n");
Expand Down Expand Up @@ -61,17 +62,17 @@ static int __init example_init(void)
* byte at the beginning, after the kfifo_skip().
*/
sg_init_table(sg, ARRAY_SIZE(sg));
ret = kfifo_dma_in_prepare(&fifo, sg, ARRAY_SIZE(sg), FIFO_SIZE);
printk(KERN_INFO "DMA sgl entries: %d\n", ret);
if (!ret) {
nents = kfifo_dma_in_prepare(&fifo, sg, ARRAY_SIZE(sg), FIFO_SIZE);
printk(KERN_INFO "DMA sgl entries: %d\n", nents);
if (!nents) {
/* fifo is full and no sgl was created */
printk(KERN_WARNING "error kfifo_dma_in_prepare\n");
return -EIO;
}

/* receive data */
printk(KERN_INFO "scatterlist for receive:\n");
for (i = 0; i < ARRAY_SIZE(sg); i++) {
for (i = 0; i < nents; i++) {
printk(KERN_INFO
"sg[%d] -> "
"page_link 0x%.8lx offset 0x%.8x length 0x%.8x\n",
Expand All @@ -91,16 +92,16 @@ static int __init example_init(void)
kfifo_dma_in_finish(&fifo, ret);

/* Prepare to transmit data, example: 8 bytes */
ret = kfifo_dma_out_prepare(&fifo, sg, ARRAY_SIZE(sg), 8);
printk(KERN_INFO "DMA sgl entries: %d\n", ret);
if (!ret) {
nents = kfifo_dma_out_prepare(&fifo, sg, ARRAY_SIZE(sg), 8);
printk(KERN_INFO "DMA sgl entries: %d\n", nents);
if (!nents) {
/* no data was available and no sgl was created */
printk(KERN_WARNING "error kfifo_dma_out_prepare\n");
return -EIO;
}

printk(KERN_INFO "scatterlist for transmit:\n");
for (i = 0; i < ARRAY_SIZE(sg); i++) {
for (i = 0; i < nents; i++) {
printk(KERN_INFO
"sg[%d] -> "
"page_link 0x%.8lx offset 0x%.8x length 0x%.8x\n",
Expand Down

0 comments on commit 3c7a264

Please sign in to comment.