Thread (24 messages) 24 messages, 4 authors, 2014-10-20

[PATCH v3 1/3] mtd: nand: gpmi: add gpmi_move_bits function

From: Huang Shijie <hidden>
Date: 2014-09-23 15:04:46
Also in: lkml

On Tue, Sep 23, 2014 at 04:58:22PM +0200, Boris BREZILLON wrote:
On Tue, 23 Sep 2014 22:54:15 +0800
Huang Shijie [off-list ref] wrote:
quoted
On Tue, Sep 23, 2014 at 04:07:34PM +0200, Boris BREZILLON wrote:
quoted
Add a new function to move bits (not bytes) from a memory region to
another one.
This function is similar to memmove except it acts at bit level.
This function is needed to implement GPMI raw access functions, given the
fact that ECC engine does not pad ECC bits to the next byte boundary.
sorry for not comment your v2 patch set.
quoted
Signed-off-by: Boris BREZILLON <redacted>
---
 drivers/mtd/nand/gpmi-nand/gpmi-lib.c  | 88 ++++++++++++++++++++++++++++++++++
 drivers/mtd/nand/gpmi-nand/gpmi-nand.h |  4 ++
 2 files changed, 92 insertions(+)
diff --git a/drivers/mtd/nand/gpmi-nand/gpmi-lib.c b/drivers/mtd/nand/gpmi-nand/gpmi-lib.c
index 87e658c..e2f706a 100644
--- a/drivers/mtd/nand/gpmi-nand/gpmi-lib.c
+++ b/drivers/mtd/nand/gpmi-nand/gpmi-lib.c
@@ -1353,3 +1353,91 @@ int gpmi_read_page(struct gpmi_nand_data *this,
 	set_dma_type(this, DMA_FOR_READ_ECC_PAGE);
 	return start_dma_with_bch_irq(this, desc);
 }
+
+void gpmi_move_bits(u8 *dst, size_t dst_bit_off,
+		    const u8 *src, size_t src_bit_off,
+		    size_t nbits)
we can simplify the code.
Any suggestions ?
quoted
We could use the bytes to replace the @nbits.

The chunk data is always byte aligned.
This function is also used to store ECC bits in the OOB buffer and
these chunk of data are not byte aligned :-).
yes. you are right. I missed it.

could you also comment these two hooks in the patch set.

I hope Brian also can check it, and we can make it more clear about how
to implement them.


thanks
Huang Shijie
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help