mtd: nand: denali: remove meaningless writes to read-only registers
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Wed, 22 Mar 2017 20:07:23 +0000 (05:07 +0900)
committerBoris Brezillon <boris.brezillon@free-electrons.com>
Tue, 28 Mar 2017 12:24:44 +0000 (14:24 +0200)
The write accesses to LOGICAL_PAGE_{DATA,SPARE}_SIZE have no effect
because the Denali User's Guide says these registers are read-only.

The hardware automatically multiplies the main/spare size by the
number of devices and update LOGICAL_PAGE_{DATA,SPARE}_SIZE.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
drivers/mtd/nand/denali.c

index b442a3ed9f0f1b472e105f0c9282d76fe8865447..1a2e0638affc54bdc834f76df75ba686decc5eef 100644 (file)
@@ -342,8 +342,6 @@ static void get_samsung_nand_para(struct denali_nand_info *denali,
 
 static void get_toshiba_nand_para(struct denali_nand_info *denali)
 {
-       uint32_t tmp;
-
        /*
         * Workaround to fix a controller bug which reports a wrong
         * spare area size for some kind of Toshiba NAND device
@@ -351,10 +349,6 @@ static void get_toshiba_nand_para(struct denali_nand_info *denali)
        if ((ioread32(denali->flash_reg + DEVICE_MAIN_AREA_SIZE) == 4096) &&
                (ioread32(denali->flash_reg + DEVICE_SPARE_AREA_SIZE) == 64)) {
                iowrite32(216, denali->flash_reg + DEVICE_SPARE_AREA_SIZE);
-               tmp = ioread32(denali->flash_reg + DEVICES_CONNECTED) *
-                       ioread32(denali->flash_reg + DEVICE_SPARE_AREA_SIZE);
-               iowrite32(tmp,
-                               denali->flash_reg + LOGICAL_PAGE_SPARE_SIZE);
 #if SUPPORT_15BITECC
                iowrite32(15, denali->flash_reg + ECC_CORRECTION);
 #elif SUPPORT_8BITECC
@@ -366,22 +360,12 @@ static void get_toshiba_nand_para(struct denali_nand_info *denali)
 static void get_hynix_nand_para(struct denali_nand_info *denali,
                                                        uint8_t device_id)
 {
-       uint32_t main_size, spare_size;
-
        switch (device_id) {
        case 0xD5: /* Hynix H27UAG8T2A, H27UBG8U5A or H27UCG8VFA */
        case 0xD7: /* Hynix H27UDG8VEM, H27UCG8UDM or H27UCG8V5A */
                iowrite32(128, denali->flash_reg + PAGES_PER_BLOCK);
                iowrite32(4096, denali->flash_reg + DEVICE_MAIN_AREA_SIZE);
                iowrite32(224, denali->flash_reg + DEVICE_SPARE_AREA_SIZE);
-               main_size = 4096 *
-                       ioread32(denali->flash_reg + DEVICES_CONNECTED);
-               spare_size = 224 *
-                       ioread32(denali->flash_reg + DEVICES_CONNECTED);
-               iowrite32(main_size,
-                               denali->flash_reg + LOGICAL_PAGE_DATA_SIZE);
-               iowrite32(spare_size,
-                               denali->flash_reg + LOGICAL_PAGE_SPARE_SIZE);
                iowrite32(0, denali->flash_reg + DEVICE_WIDTH);
 #if SUPPORT_15BITECC
                iowrite32(15, denali->flash_reg + ECC_CORRECTION);