From: Philip J Kelleher <[email protected]>

The block size was determined by whether or not our HW could handle
512 accesses or not. So our configuration utility was not able to
change the block size because all of our newer HW can handle 512
accesses.

This patch allows block sizes to be determined by what is defined
in our config space on the card.

Signed-off-by: Philip J Kelleher <[email protected]>
-------------------------------------------------------------------------------


diff -uprN -X linux-block/Documentation/dontdiff 
linux-block-vanilla/drivers/block/rsxx/dev.c 
linux-block/drivers/block/rsxx/dev.c
--- linux-block-vanilla/drivers/block/rsxx/dev.c        2013-05-31 
16:33:27.674030890 -0500
+++ linux-block/drivers/block/rsxx/dev.c        2013-05-31 17:22:48.214019619 
-0500
@@ -227,24 +227,6 @@ static bool rsxx_discard_supported(struc
        return (pci_rev >= RSXX_DISCARD_SUPPORT);
 }
 
-static unsigned short rsxx_get_logical_block_size(
-                                       struct rsxx_cardinfo *card)
-{
-       u32 capabilities = 0;
-       int st;
-
-       st = rsxx_get_card_capabilities(card, &capabilities);
-       if (st)
-               dev_warn(CARD_TO_DEV(card),
-                       "Failed reading card capabilities register\n");
-
-       /* Earlier firmware did not have support for 512 byte accesses */
-       if (capabilities & CARD_CAP_SUBPAGE_WRITES)
-               return 512;
-       else
-               return RSXX_HW_BLK_SIZE;
-}
-
 int rsxx_attach_dev(struct rsxx_cardinfo *card)
 {
        mutex_lock(&card->dev_lock);
@@ -307,7 +289,7 @@ int rsxx_setup_dev(struct rsxx_cardinfo 
                return -ENOMEM;
        }
 
-       blk_size = rsxx_get_logical_block_size(card);
+       blk_size = card->config.data.block_size;
 
        blk_queue_make_request(card->queue, rsxx_make_request);
        blk_queue_bounce_limit(card->queue, BLK_BOUNCE_ANY);

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to