mirror of
https://github.com/team-infusion-developers/android_kernel_samsung_msm8976.git
synced 2024-09-21 03:43:03 +00:00
mtd: msm_nand: Fix wrong uncorrectable error bit check
For the Nand controller on 7x30 and 7x27a, the uncorrectable error bit in the NANDC_BUFFER_STATUS register is changed to BIT(8) from BIT(3) (in legacy targets) due to change in the ECC requirements. Currently, this is handled only in dual nandc mode (default for 7x30 and 7x27a). In case, if only single nandc is used, the uncorrectable bit check is broken and the driver wouldn't detect any ECC errors. Add software version info in platform data to differentiate between the targets that have different register interface. CRs-Fixed: 365433 Change-Id: I3c33ccb0e936e262116dd20798d56530dbae900f Signed-off-by: Sujit Reddy Thumma <sthumma@codeaurora.org> (cherry picked from commit ec9b3250fe233e4ff96b4ad23372df5f8299fc67) Conflicts: arch/arm/mach-msm/devices-9615.c arch/arm/mach-msm/devices-msm7x27a.c arch/arm/mach-msm/devices-msm7x30.c
This commit is contained in:
parent
6f12ab4000
commit
6fcb181016
|
@ -13,6 +13,11 @@
|
|||
struct mtd_partition;
|
||||
struct mtd_info;
|
||||
|
||||
enum sw_version {
|
||||
VERSION_1 = 0,
|
||||
VERSION_2,
|
||||
};
|
||||
|
||||
/*
|
||||
* map_name: the map probe function name
|
||||
* name: flash device name (eg, as used with mtdparts=)
|
||||
|
@ -23,6 +28,7 @@ struct mtd_info;
|
|||
* mmcontrol: method called to enable or disable Sync. Burst Read in OneNAND
|
||||
* parts: optional array of mtd_partitions for static partitioning
|
||||
* nr_parts: number of mtd_partitions for static partitoning
|
||||
* version: software register interface version
|
||||
*/
|
||||
struct flash_platform_data {
|
||||
const char *map_name;
|
||||
|
@ -34,6 +40,7 @@ struct flash_platform_data {
|
|||
void (*mmcontrol)(struct mtd_info *mtd, int sync_read);
|
||||
struct mtd_partition *parts;
|
||||
unsigned int nr_parts;
|
||||
enum sw_version version;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue