diff mbox

lightnvm: clear reserved bit on generic addr

Message ID 1462968506-9292-1-git-send-email-javier@cnexlabs.com (mailing list archive)
State New, archived
Headers show

Commit Message

=?UTF-8?q?Javier=20Gonz=C3=A1lez?= May 11, 2016, 12:08 p.m. UTC
When an address is converted from device to generic mode, the reserved
bit needs to be cleared in order to signal that the address points to a
flash block, not to a cacheline on the write buffer.

Signed-off-by: Javier González <javier@cnexlabs.com>
---
 include/linux/lightnvm.h | 3 +++
 1 file changed, 3 insertions(+)

Comments

Matias Bjorling May 25, 2016, 7:11 a.m. UTC | #1
On 05/11/2016 02:08 PM, Javier González wrote:
> When an address is converted from device to generic mode, the reserved
> bit needs to be cleared in order to signal that the address points to a
> flash block, not to a cacheline on the write buffer.
>
> Signed-off-by: Javier González <javier@cnexlabs.com>
> ---
>   include/linux/lightnvm.h | 3 +++
>   1 file changed, 3 insertions(+)
>
> diff --git a/include/linux/lightnvm.h b/include/linux/lightnvm.h
> index 45be892..3d2c380 100644
> --- a/include/linux/lightnvm.h
> +++ b/include/linux/lightnvm.h
> @@ -418,6 +418,9 @@ static inline struct ppa_addr dev_to_generic_addr(struct nvm_dev *dev,
>   	l.g.ch |= (r.ppa >> dev->ppaf.ch_offset) &
>   					(((1 << dev->ppaf.ch_len) - 1));
>
> +	/* On device side, reserved bit is always 0 */
> +	l.g.reserved = 0;
> +
>   	return l;
>   }
>
>

Thanks Javier. Applied for 4.8. I have changed it to l.ppa = 0 and 
updated the description a bit.
--
To unsubscribe from this list: send the line "unsubscribe linux-block" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/include/linux/lightnvm.h b/include/linux/lightnvm.h
index 45be892..3d2c380 100644
--- a/include/linux/lightnvm.h
+++ b/include/linux/lightnvm.h
@@ -418,6 +418,9 @@  static inline struct ppa_addr dev_to_generic_addr(struct nvm_dev *dev,
 	l.g.ch |= (r.ppa >> dev->ppaf.ch_offset) &
 					(((1 << dev->ppaf.ch_len) - 1));
 
+	/* On device side, reserved bit is always 0 */
+	l.g.reserved = 0;
+
 	return l;
 }