mtd: nand: fix GET/SET_FEATURES address on 16-bit devices
Brian Norris
computersforpeace at gmail.com
Fri Mar 21 20:20:07 EDT 2014
Hi David,
(BTW, it's nice if $SUBJECT begins with the text '[PATCH]'. I actually
filter mail based on this!)
On Fri, Mar 21, 2014 at 04:05:10PM -0600, David Mosberger wrote:
> linux-next almost works out of the box for us except that GET_FEATURES
> and SET_FEATURES also need byte-addressing.
Thanks a lot for testing linux-next for this! Our recent fixes for x16
buswidths really haven't gotten wide testing.
> With the attached patch,
> our board boots fine (save for on-die ECC patch, which I'll submit
> separately). The only oddity is that the devices is reported as being
> SLC, when it's most definitely not:
>
> nand: 512MiB, SLC, page size: 2048, OOB size: 64
Hmm. What's the part number + vendor? (And the ID bytes, if possible?)
> --david
>
>
>
> GET_FEATURES and SET_FEATURES also need byte-addressing on 16-bit devices.
>
> Signed-off-by: David Mosberger <davidm at egauge.net>
>
> diff --git a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h
> index 0747fef..29a23bb 100644
> --- a/include/linux/mtd/nand.h
> +++ b/include/linux/mtd/nand.h
> @@ -925,7 +929,16 @@ static inline bool nand_is_slc(struct nand_chip *chip)
> */
> static inline int nand_opcode_8bits(unsigned int command)
> {
> - return command == NAND_CMD_READID || command == NAND_CMD_PARAM;
> + switch (command) {
> + case NAND_CMD_READID:
> + case NAND_CMD_PARAM:
> + case NAND_CMD_GET_FEATURES:
> + case NAND_CMD_SET_FEATURES:
> + return 1;
> + default:
> + break;
> + }
> + return 0;
> }
>
> /* return the supported JEDEC features. */
>
Patch looks good. I'll come back to this to test and apply for 3.15, I
hope (feel free to bug me if I don't reply back by 3.15-rc1). But:
Acked-by: Brian Norris <computersforpeace at gmail.com>
Brian
More information about the linux-mtd
mailing list