lib/memcopy: use glibc version
the kernel's memcpy and memmove is very inefficient. But the glibc version is
quite fast, in some cases it is 10 times faster than the kernel version. So I
introduce some memory copy macros and functions of the glibc to improve the
kernel version's performance.

The strategy of the memory functions is:
1. Copy bytes until the destination pointer is aligned.
2. Copy words in unrolled loops.  If the source and destination are not
   aligned in the same way, use word memory operations, but shift and merge
   two read words before writing.
3. Copy the few remaining bytes.

Signed-off-by: Miao Xie <miaox*******>
lib/string: use glibc version
the performance of memcpy and memmove of the general version is very
inefficient, this patch improved them.

Signed-off-by: Miao Xie <miaox*******>
Revert: arm: tegra: fb: Update fix line_length

Signed-off-by: Xmister <xmisterhu@gmail.com>
Memory optimizations

Signed-off-by: Xmister <xmisterhu@gmail.com>
Memory optimizations

Signed-off-by: Xmister <xmisterhu@gmail.com>
Let's try again optimized RWSEM.

Signed-off-by: Xmister <xmisterhu@gmail.com>
Revert "video: tegra: fb: Configure dc from fb"

This reverts commit 2cba300dc8efad2c6021fca918f63bc683c957d1.

Conflicts:
	drivers/video/tegra/fb.c
Revert "Let's try again optimized RWSEM."

This reverts commit 05c2a5db09f6ea6b9d806f099be006c96d4d26c0.
No benefits.
Prefetch register is not working ok :(

Signed-off-by: Xmister <xmisterhu@gmail.com>
Revert "Memory optimizations"

This reverts commit bbf4c331440f597ac3b05d8823c1c04c8bb7e009.

One day...I'm gonna kill you, git. Seriously.