aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/sysdev/axonram.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-11-10 20:23:49 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2015-11-10 20:23:49 -0500
commit3419b45039c6b799c974a8019361c045e7ca232c (patch)
tree36a63602036cc50f34fadcbd5d5d8fca94e44297 /arch/powerpc/sysdev/axonram.c
parent01504f5e9e071f1dde1062e3be15f54d4555308f (diff)
parentc1c534609fe8a859f9c8108a5591e6e8a97e34d1 (diff)
Merge branch 'for-4.4/io-poll' of git://git.kernel.dk/linux-block
Pull block IO poll support from Jens Axboe: "Various groups have been doing experimentation around IO polling for (really) fast devices. The code has been reviewed and has been sitting on the side for a few releases, but this is now good enough for coordinated benchmarking and further experimentation. Currently O_DIRECT sync read/write are supported. A framework is in the works that allows scalable stats tracking so we can auto-tune this. And we'll add libaio support as well soon. Fow now, it's an opt-in feature for test purposes" * 'for-4.4/io-poll' of git://git.kernel.dk/linux-block: direct-io: be sure to assign dio->bio_bdev for both paths directio: add block polling support NVMe: add blk polling support block: add block polling support blk-mq: return tag/queue combo in the make_request_fn handlers block: change ->make_request_fn() and users to return a queue cookie
Diffstat (limited to 'arch/powerpc/sysdev/axonram.c')
-rw-r--r--arch/powerpc/sysdev/axonram.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/powerpc/sysdev/axonram.c b/arch/powerpc/sysdev/axonram.c
index d2b79bc336c1..7a399b4d60a0 100644
--- a/arch/powerpc/sysdev/axonram.c
+++ b/arch/powerpc/sysdev/axonram.c
@@ -103,7 +103,7 @@ axon_ram_irq_handler(int irq, void *dev)
103 * axon_ram_make_request - make_request() method for block device 103 * axon_ram_make_request - make_request() method for block device
104 * @queue, @bio: see blk_queue_make_request() 104 * @queue, @bio: see blk_queue_make_request()
105 */ 105 */
106static void 106static blk_qc_t
107axon_ram_make_request(struct request_queue *queue, struct bio *bio) 107axon_ram_make_request(struct request_queue *queue, struct bio *bio)
108{ 108{
109 struct axon_ram_bank *bank = bio->bi_bdev->bd_disk->private_data; 109 struct axon_ram_bank *bank = bio->bi_bdev->bd_disk->private_data;
@@ -120,7 +120,7 @@ axon_ram_make_request(struct request_queue *queue, struct bio *bio)
120 bio_for_each_segment(vec, bio, iter) { 120 bio_for_each_segment(vec, bio, iter) {
121 if (unlikely(phys_mem + vec.bv_len > phys_end)) { 121 if (unlikely(phys_mem + vec.bv_len > phys_end)) {
122 bio_io_error(bio); 122 bio_io_error(bio);
123 return; 123 return BLK_QC_T_NONE;
124 } 124 }
125 125
126 user_mem = page_address(vec.bv_page) + vec.bv_offset; 126 user_mem = page_address(vec.bv_page) + vec.bv_offset;
@@ -133,6 +133,7 @@ axon_ram_make_request(struct request_queue *queue, struct bio *bio)
133 transfered += vec.bv_len; 133 transfered += vec.bv_len;
134 } 134 }
135 bio_endio(bio); 135 bio_endio(bio);
136 return BLK_QC_T_NONE;
136} 137}
137 138
138/** 139/**