aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhilip J Kelleher <pjk1939@linux.vnet.ibm.com>2013-06-18 15:39:44 -0400
committerJens Axboe <axboe@kernel.dk>2013-06-19 07:52:09 -0400
commit7b379cc3785bfa827249a265548a055e934eaaea (patch)
treecb70405d971241d9cc7706325df41c85c2e003b2
parent31a70bb4440c963e69ce210389d8119c70b5c39d (diff)
rsxx: Allow block size to be determined by configuration.
Previously, the block size was determined by whether or not our Hardware could handle 512 byte accesses. Now, all of our Hardware can handle 512 and 4096 block sizes. This fix allows it to be user configurable. Signed-off-by: Philip J Kelleher <pjk1939@linux.vnet.ibm.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
-rw-r--r--drivers/block/rsxx/dev.c20
1 files changed, 1 insertions, 19 deletions
diff --git a/drivers/block/rsxx/dev.c b/drivers/block/rsxx/dev.c
index 604ad2dafa43..1fa7cccd6866 100644
--- a/drivers/block/rsxx/dev.c
+++ b/drivers/block/rsxx/dev.c
@@ -227,24 +227,6 @@ static bool rsxx_discard_supported(struct rsxx_cardinfo *card)
227 return (pci_rev >= RSXX_DISCARD_SUPPORT); 227 return (pci_rev >= RSXX_DISCARD_SUPPORT);
228} 228}
229 229
230static unsigned short rsxx_get_logical_block_size(
231 struct rsxx_cardinfo *card)
232{
233 u32 capabilities = 0;
234 int st;
235
236 st = rsxx_get_card_capabilities(card, &capabilities);
237 if (st)
238 dev_warn(CARD_TO_DEV(card),
239 "Failed reading card capabilities register\n");
240
241 /* Earlier firmware did not have support for 512 byte accesses */
242 if (capabilities & CARD_CAP_SUBPAGE_WRITES)
243 return 512;
244 else
245 return RSXX_HW_BLK_SIZE;
246}
247
248int rsxx_attach_dev(struct rsxx_cardinfo *card) 230int rsxx_attach_dev(struct rsxx_cardinfo *card)
249{ 231{
250 mutex_lock(&card->dev_lock); 232 mutex_lock(&card->dev_lock);
@@ -307,7 +289,7 @@ int rsxx_setup_dev(struct rsxx_cardinfo *card)
307 return -ENOMEM; 289 return -ENOMEM;
308 } 290 }
309 291
310 blk_size = rsxx_get_logical_block_size(card); 292 blk_size = card->config.data.block_size;
311 293
312 blk_queue_make_request(card->queue, rsxx_make_request); 294 blk_queue_make_request(card->queue, rsxx_make_request);
313 blk_queue_bounce_limit(card->queue, BLK_BOUNCE_ANY); 295 blk_queue_bounce_limit(card->queue, BLK_BOUNCE_ANY);