diff options
| -rw-r--r-- | drivers/mtd/chips/cfi_cmdset_0002.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/mtd/chips/cfi_cmdset_0002.c b/drivers/mtd/chips/cfi_cmdset_0002.c index 94bb61e19047..61ea833e0908 100644 --- a/drivers/mtd/chips/cfi_cmdset_0002.c +++ b/drivers/mtd/chips/cfi_cmdset_0002.c | |||
| @@ -282,6 +282,16 @@ static void fixup_s29gl032n_sectors(struct mtd_info *mtd, void *param) | |||
| 282 | } | 282 | } |
| 283 | } | 283 | } |
| 284 | 284 | ||
| 285 | static void fixup_M29W128G_write_buffer(struct mtd_info *mtd, void *param) | ||
| 286 | { | ||
| 287 | struct map_info *map = mtd->priv; | ||
| 288 | struct cfi_private *cfi = map->fldrv_priv; | ||
| 289 | if (cfi->cfiq->BufWriteTimeoutTyp) { | ||
| 290 | pr_warning("Don't use write buffer on ST flash M29W128G\n"); | ||
| 291 | cfi->cfiq->BufWriteTimeoutTyp = 0; | ||
| 292 | } | ||
| 293 | } | ||
| 294 | |||
| 285 | static struct cfi_fixup cfi_fixup_table[] = { | 295 | static struct cfi_fixup cfi_fixup_table[] = { |
| 286 | { CFI_MFR_ATMEL, CFI_ID_ANY, fixup_convert_atmel_pri, NULL }, | 296 | { CFI_MFR_ATMEL, CFI_ID_ANY, fixup_convert_atmel_pri, NULL }, |
| 287 | #ifdef AMD_BOOTLOC_BUG | 297 | #ifdef AMD_BOOTLOC_BUG |
| @@ -298,6 +308,7 @@ static struct cfi_fixup cfi_fixup_table[] = { | |||
| 298 | { CFI_MFR_AMD, 0x1301, fixup_s29gl064n_sectors, NULL, }, | 308 | { CFI_MFR_AMD, 0x1301, fixup_s29gl064n_sectors, NULL, }, |
| 299 | { CFI_MFR_AMD, 0x1a00, fixup_s29gl032n_sectors, NULL, }, | 309 | { CFI_MFR_AMD, 0x1a00, fixup_s29gl032n_sectors, NULL, }, |
| 300 | { CFI_MFR_AMD, 0x1a01, fixup_s29gl032n_sectors, NULL, }, | 310 | { CFI_MFR_AMD, 0x1a01, fixup_s29gl032n_sectors, NULL, }, |
| 311 | { CFI_MFR_ST, 0x227E, fixup_M29W128G_write_buffer, NULL, }, | ||
| 301 | #if !FORCE_WORD_WRITE | 312 | #if !FORCE_WORD_WRITE |
| 302 | { CFI_MFR_ANY, CFI_ID_ANY, fixup_use_write_buffers, NULL, }, | 313 | { CFI_MFR_ANY, CFI_ID_ANY, fixup_use_write_buffers, NULL, }, |
| 303 | #endif | 314 | #endif |
