public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH v2 0/8] assortment of fixes/enhancements
@ 2015-07-08 11:58 Marcel Ziswiler
  2015-07-08 11:58 ` [U-Boot] [PATCH v2 1/8] fs/fs.c: read up to EOF when len would read past EOF Marcel Ziswiler
                   ` (7 more replies)
  0 siblings, 8 replies; 15+ messages in thread
From: Marcel Ziswiler @ 2015-07-08 11:58 UTC (permalink / raw)
  To: u-boot

From: Marcel Ziswiler <marcel.ziswiler@toradex.com>

This patch set is an assortment of fixes/enhancements distilled
straight from our downstream integration work.

Marcel Ziswiler (4):
  net: asix: fix operation without eeprom
  generic-board: allow showing custom board info
  colibri_vf: remove spurious new line
  mtd/nand/ubi: assortment of alignment fixes

Max Krummenacher (3):
  fs/fs.c: read up to EOF when len would read past EOF
  image-fdt.c: store returned error value
  tftp.c: fix CONFIG_TFTP_TSIZE for small files

Stefan Agner (1):
  logos: add Toradex logo

 common/board_info.c          |   2 +-
 common/cmd_ubi.c             |   2 +-
 common/image-fdt.c           |   3 ++-
 drivers/mtd/nand/nand_util.c |   2 +-
 drivers/usb/eth/asix.c       |  32 +++++++++++++++++++++++++++++---
 fs/fs.c                      |   6 ++----
 fs/ubifs/super.c             |   6 ++++--
 fs/ubifs/ubifs.c             |   5 +++--
 include/configs/colibri_vf.h |   1 -
 lib/gzip.c                   |   2 +-
 net/tftp.c                   |   2 ++
 tools/logos/toradex.bmp      | Bin 0 -> 24982 bytes
 12 files changed, 46 insertions(+), 17 deletions(-)
 create mode 100644 tools/logos/toradex.bmp

-- 
1.9.3

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [U-Boot] [PATCH v2 1/8] fs/fs.c: read up to EOF when len would read past EOF
  2015-07-08 11:58 [U-Boot] [PATCH v2 0/8] assortment of fixes/enhancements Marcel Ziswiler
@ 2015-07-08 11:58 ` Marcel Ziswiler
  2015-07-08 11:58 ` [U-Boot] [PATCH v2 2/8] net: asix: fix operation without eeprom Marcel Ziswiler
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 15+ messages in thread
From: Marcel Ziswiler @ 2015-07-08 11:58 UTC (permalink / raw)
  To: u-boot

From: Max Krummenacher <max.krummenacher@toradex.com>

http://lists.denx.de/pipermail/u-boot/2012-September/134347.html
allows for reading files in chunks from the shell.

When this feature is used to read past the end of a file an error
was returned instead of returning the bytes read up to the end of
file. Thus the following fails in the shell:

offset = 0
len = chunksize
do
	read file, offset, len
	write data
until bytes_read < len

The patch changes the behaviour to printing an informational
message and returning the actual read number of bytes aka read(2)
behaviour for convenient use in U-Boot scripts.

Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Marek Vasut <marex@denx.de>
---
Changes in v2: mention read(2) behaviour as suggested by Marek

 fs/fs.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/fs/fs.c b/fs/fs.c
index ac0897d..827b143 100644
--- a/fs/fs.c
+++ b/fs/fs.c
@@ -301,10 +301,8 @@ int fs_read(const char *filename, ulong addr, loff_t offset, loff_t len,
 	unmap_sysmem(buf);
 
 	/* If we requested a specific number of bytes, check we got it */
-	if (ret == 0 && len && *actread != len) {
-		printf("** Unable to read file %s **\n", filename);
-		ret = -1;
-	}
+	if (ret == 0 && len && *actread != len)
+		printf("** %s shorter than offset + len **\n", filename);
 	fs_close();
 
 	return ret;
-- 
1.9.3

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [U-Boot] [PATCH v2 2/8] net: asix: fix operation without eeprom
  2015-07-08 11:58 [U-Boot] [PATCH v2 0/8] assortment of fixes/enhancements Marcel Ziswiler
  2015-07-08 11:58 ` [U-Boot] [PATCH v2 1/8] fs/fs.c: read up to EOF when len would read past EOF Marcel Ziswiler
@ 2015-07-08 11:58 ` Marcel Ziswiler
  2015-07-08 12:46   ` Marek Vasut
  2015-07-08 11:58 ` [U-Boot] [PATCH v2 3/8] generic-board: allow showing custom board info Marcel Ziswiler
                   ` (5 subsequent siblings)
  7 siblings, 1 reply; 15+ messages in thread
From: Marcel Ziswiler @ 2015-07-08 11:58 UTC (permalink / raw)
  To: u-boot

From: Marcel Ziswiler <marcel.ziswiler@toradex.com>

This patch fixes operation of our on-board AX88772B chip without EEPROM
but with a ethaddr coming from the regular U-Boot environment. This is
a forward port of some remaining parts initially implemented by
Antmicro.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
---
Changes in v2:
- run it through checkpatch.pl as suggested by Marek and Joe
- cleanup comments and use VID/PID defines as suggested by Marek
- dug out an AX88772 (not B) dongle again and verified operation
- AX88772 (not B) indeed does not work with B modifications
  (e.g. VID/PID based differentiation is indeed required)
- dug out another AX88772B dongle as well and verified operation

 drivers/usb/eth/asix.c | 32 +++++++++++++++++++++++++++++---
 1 file changed, 29 insertions(+), 3 deletions(-)

diff --git a/drivers/usb/eth/asix.c b/drivers/usb/eth/asix.c
index c8697ae..1c2c2d0 100644
--- a/drivers/usb/eth/asix.c
+++ b/drivers/usb/eth/asix.c
@@ -1,6 +1,8 @@
 /*
  * Copyright (c) 2011 The Chromium OS Authors.
  *
+ * Patched for AX88772B by Antmicro Ltd <www.antmicro.com>
+ *
  * SPDX-License-Identifier:	GPL-2.0+
  */
 
@@ -64,8 +66,11 @@
 	 AX_MEDIUM_AC | AX_MEDIUM_RE)
 
 /* AX88772 & AX88178 RX_CTL values */
-#define AX_RX_CTL_SO			0x0080
-#define AX_RX_CTL_AB			0x0008
+#define AX_RX_CTL_RH2M		0x0200	/* 32-bit aligned RX IP header */
+#define AX_RX_CTL_RH1M		0x0100	/* Enable RX header format type 1 */
+#define AX_RX_CTL_SO		0x0080
+#define AX_RX_CTL_AB		0x0008
+#define AX_RX_HEADER_DEFAULT	(AX_RX_CTL_RH1M | AX_RX_CTL_RH2M)
 
 #define AX_DEFAULT_RX_CTL	\
 	(AX_RX_CTL_SO | AX_RX_CTL_AB)
@@ -92,6 +97,9 @@
 #define FLAG_TYPE_AX88772B	(1U << 2)
 #define FLAG_EEPROM_MAC		(1U << 3) /* initial mac address in eeprom */
 
+#define ASIX_USB_VENDOR_ID	0x0b95
+#define AX88772B_USB_PRODUCT_ID	0x772b
+
 /* local vars */
 static int curr_eth_dev; /* index for name of next device detected */
 
@@ -426,7 +434,16 @@ static int asix_init(struct eth_device *eth, bd_t *bd)
 
 	debug("** %s()\n", __func__);
 
-	if (asix_write_rx_ctl(dev, AX_DEFAULT_RX_CTL) < 0)
+	if ((dev->pusb_dev->descriptor.idVendor == ASIX_USB_VENDOR_ID) &&
+	    (dev->pusb_dev->descriptor.idProduct == AX88772B_USB_PRODUCT_ID)) {
+		if (asix_write_rx_ctl(dev, AX_DEFAULT_RX_CTL |
+					   AX_RX_HEADER_DEFAULT) < 0)
+			goto out_err;
+	} else if (asix_write_rx_ctl(dev, AX_DEFAULT_RX_CTL) < 0) {
+		goto out_err;
+	}
+
+	if (asix_write_hwaddr(eth) < 0)
 		goto out_err;
 
 	do {
@@ -447,6 +464,10 @@ static int asix_init(struct eth_device *eth, bd_t *bd)
 		goto out_err;
 	}
 
+	/* Wait some more to avoid timeout on first transfer
+	   (e.g. EHCI timed out on TD - token=0x8008d80) */
+	udelay(25000);
+
 	return 0;
 out_err:
 	return -1;
@@ -533,6 +554,11 @@ static int asix_recv(struct eth_device *eth)
 			return -1;
 		}
 
+		if ((dev->pusb_dev->descriptor.idVendor == ASIX_USB_VENDOR_ID)
+		    && (dev->pusb_dev->descriptor.idProduct ==
+			AX88772B_USB_PRODUCT_ID))
+			buf_ptr += 2;
+
 		/* Notify net stack */
 		net_process_received_packet(buf_ptr + sizeof(packet_len),
 					    packet_len);
-- 
1.9.3

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [U-Boot] [PATCH v2 3/8] generic-board: allow showing custom board info
  2015-07-08 11:58 [U-Boot] [PATCH v2 0/8] assortment of fixes/enhancements Marcel Ziswiler
  2015-07-08 11:58 ` [U-Boot] [PATCH v2 1/8] fs/fs.c: read up to EOF when len would read past EOF Marcel Ziswiler
  2015-07-08 11:58 ` [U-Boot] [PATCH v2 2/8] net: asix: fix operation without eeprom Marcel Ziswiler
@ 2015-07-08 11:58 ` Marcel Ziswiler
  2015-07-08 14:10   ` Simon Glass
  2015-07-08 11:58 ` [U-Boot] [PATCH v2 4/8] logos: add Toradex logo Marcel Ziswiler
                   ` (4 subsequent siblings)
  7 siblings, 1 reply; 15+ messages in thread
From: Marcel Ziswiler @ 2015-07-08 11:58 UTC (permalink / raw)
  To: u-boot

From: Marcel Ziswiler <marcel.ziswiler@toradex.com>

Allow showing custom board info from a checkboard() function being
implemented if CONFIG_CUSTOM_BOARDINFO is specified.  Previously the
device tree model was always displayed not taking any
CONFIG_CUSTOM_BOARDINFO into account.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
---
Changes in v2: reword commit message as requested by Simon

 common/board_info.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/common/board_info.c b/common/board_info.c
index 42d0641..a692f74 100644
--- a/common/board_info.c
+++ b/common/board_info.c
@@ -19,7 +19,7 @@ int __weak checkboard(void)
  */
 int show_board_info(void)
 {
-#ifdef CONFIG_OF_CONTROL
+#if defined(CONFIG_OF_CONTROL) && !defined(CONFIG_CUSTOM_BOARDINFO)
 	DECLARE_GLOBAL_DATA_PTR;
 	const char *model;
 
-- 
1.9.3

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [U-Boot] [PATCH v2 4/8] logos: add Toradex logo
  2015-07-08 11:58 [U-Boot] [PATCH v2 0/8] assortment of fixes/enhancements Marcel Ziswiler
                   ` (2 preceding siblings ...)
  2015-07-08 11:58 ` [U-Boot] [PATCH v2 3/8] generic-board: allow showing custom board info Marcel Ziswiler
@ 2015-07-08 11:58 ` Marcel Ziswiler
  2015-07-08 11:58 ` [U-Boot] [PATCH v2 5/8] colibri_vf: remove spurious new line Marcel Ziswiler
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 15+ messages in thread
From: Marcel Ziswiler @ 2015-07-08 11:58 UTC (permalink / raw)
  To: u-boot

From: Stefan Agner <stefan.agner@toradex.com>

Use the boot loader splash screen from WinCE which matches our
wallpapers position wise. Although the logo is an 8-bit indexed BMP as
well colours looked odd at first in U-Boot. After converting to full
RGB palette and converting back to an indexed BMP using imagemagick
the Logo showed up properly.

$ convert tools/logos/toradex-rgb.bmp -type Palette -colors 256 \
-compress none -verbose BMP3:tools/logos/toradex.bmp

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
---
Changes in v2: none

 tools/logos/toradex.bmp | Bin 0 -> 24982 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 tools/logos/toradex.bmp

diff --git a/tools/logos/toradex.bmp b/tools/logos/toradex.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..3e2dcf23358dd46fc7b1bb0dae70d3ba985606ee
GIT binary patch
literal 24982
zcmeHPy>H~k6(3!0Ppji;#g)jt)k#_{wd9K2#Q*^=NL&Xlg21U<8%UaK+}lmcz@3r8
zfPpKV!nJ|?0|wHjaPQK8fh$)A3?uJj-pr63?s8A3a}M4CL=NZUy*Iyk^WK{wSAYD=
z=YLa_e*aLZ5_0byDD@|}AE+Uf|Mdf<P9y$<Lad;4aB!dw9z0MF;P2q!Z`5EgP!Em{
z)o?ge$H&KN5I<3e=V$8d>`X=FOvUf4RF-9GwOXm?&!4O0&+n+q7w at T?zki_KefM4U
z{`>E%7cX9 at 4?p}+ee}^sYW=T|)$^Ax)NlX&5B0nM{8Rnmzn`m5KKVp_`st_Yv(G+L
zFJHb?UwrX}`tr*!)mLAArM~|9YxT`H->7fD{Z at VV-FNEy@4r_+{P2VN at y8$4Pe1*n
ze*XDq7JPr*Bd|wckH8**|6c?$-BY$WuXH)>+4$GltT&d^Dw`HM`*ot!Z`8f993j0-
z)2$!rUtO!-SQ0X^-mmg*71<5T=*=whD64cerzMc+B?zC=6_$mH3O3tvSK1o<LQ{fn
zB&EG%WnAcLMi@*>T@|n=0S?u4y2i3urHi;E<0ZADLN604a at 3Vdz+-S{=(3z(U(17X
znYN6Qr7kB^4V;ov=iHE?rY_KKnQ&(-KGM5~6zSz0hL2#*Gz!F5#Bx;SV790BUc(Z0
zTv-Oqn?tM$W9kcC%w|iVo9ld5RfuJ#p|YwFOR0^@Y6e(ik%uM7P-H~~<O`ioml`Lh
zi_r+?4k#c_Knq%8Lx*KlVfCBAQpF%dg7c}COP$KqNCS@*)L<ptlZ5j)M9DRW$Uw!Q
z-k5_FV`hXv#kzp!44-Z7RD;q@sjZ_v)g>(yr6y$P3UnRR#$JdDh!I0)kSeB$piwli
zoMCm70SR_rmkN-I^b~gactsR=W&uNkn%r4}ZY+6frZ7y<DoivOB15BQY;7$~)rcVC
z=5Pg7GEf>S2_kA?G+<#9tYAS&ASQ!Xr<WlHmeajtaEYWk$(JBrlH-XCOA}>0*K!x;
z-B at Ca2s%}0dokq%Dw5+IL1Ak-Q^#^bYnnQ9HPUNgiS<~)g3>jFWrb^jJ7eblQ;MrE
z)6qmnQw<9XREmU~Rys%ZlDn0p6HB%TK#rXgjE<WkInxP8Y-?%RH-?(yvgE|o3U36I
zy=0cr7A!*yg!+BllM1CTm$3el0<U1hP{gTT;*zy@$Ga0t=w<Y>oIrxH=TwAO&Jie;
z)Q0qODds^L?T!Li5>?ehFKK<y960gsFE`T__#84?)eHj~bgPJEg^L}M-1!Nw9222k
z#pP!%)Qj!qOy#IJBd}*P@DFTu*<Mn7VrvU*M(zpjCY6j6KCxX*aM5=$>d;GEPKY4c
z%LW6(=k?zrh`(^O6LjJbQQ{RaBrJ{1v)0XWhaD~?jQcR00xyjh7%-bxT%;)~_XILD
z4)U`x!I9$#ZS55Ku~W9hJ-tlHbmll6VMZ|t%HkSRf%G%<R<zp*F|eFocV@;W5!i!g
zoKlE6g)Cw@gLp6pq2%sZduzNZXG>k+1?)ry5jMn^Xzu~;8BGGmm#Aww#h0|+q!!~#
zh|6L4E_wD6s9=nX)w<58B1W(%tX?KylBO^-gk@Fbvl2(-1+b38edRD5!c^it(YUM=
z&?yoTHYX)2pWGqK$-{CAf%pV=G}I6#1ou6-z#`n_PzLusJYp>30La$jzNfJSJwFaq
zKm^)M>pG)S7+EYcbZEv&!Tt+&L*&AU0c{3E`1`wSgXK;f9G3NNJg|BhJ$V&%C8XMV
z5yY1`2fL>_nce%}xkrI(bJujQSb{aBV0~vme{n2hSa*5*<k?fC0MP7vz}YlXXD_cJ
zFydwrm~GgPqq*BDWh79O*iIzw*ceaomteE&$s2sVf}S`gG9i;!-`UHn2#mE=6fev<
zkw?34wneOO$9roR?Wz<c$)x6xJ>k3x3Z=X%$Oek)4R(1N?Q9!%p}udsM_`Y at 9)Udq
zdj$3f>=D=_ut#7g1dfhR;S1NZ)A5s?x@~D3CDUxNSX at uy!IqYx>XUQ^oo}Y;rl8-k
z7=~y_Sua}B_%8Q{<7bywk}ggk??@{yFtzrODuu13q}y2?kiiZ1p`)-cw+LQpOIj5Z
z04l;B4L0~ifuwSd2hyR`rbVrW3!=C<Z1=h5ns&vulJU9VXzr&++q%^1QyNVZ7x);W
zmR56rXErFYa#5q>Jq+MoTP at vA;FTe!r(UZj3!T>|jGMM;$+WZJ`o<&4SvVQNwDa-T
z<7W*d;ql_QMSep;2+PAci{oD_Pqx7=*0e{#Y~UESmGXFnWe&^1b*qhrGv#Iq(lXQf
zlqs~-fQucgCe4oLCl_rfp=8|AJX9RO5?%qd(+Xdqn6weglu&CDsMc6w2RIC|(E3_9
zn0wk#aH6`tJ>lvbX5vjUl#jSe*F-lMxW~s~D6g(|(9AZLL(!`;pQh<#RuBvzw*_+(
zmZ`K}&L?U5^rnV}U}>R*PnL*<;6HbRgItRiH(OT><{=Aezw*Gorfj*<m(`f?!=t9D
zv`Tu}-=Vj$%z3(RCt at N`<^~@zRU5E8F{tF$m83E?KvuA9u^7!vKRaJAM79fBTUv*y
zQRiD0ZB$XO!t+1$)`!pK1Bi7OomuQ!nTto=-Rd<hERE^T{F#NX@i2)7bYm&1BB&ED
zL(ySrEM1MoiGkeCfjT6sOfT=9$c9$VVOq?S>`qM$<r;g}xjT2<LeMKX?e15vX<|8I
z1!=s081cA_>+Z&qhgvy6h#B*+ScX{~va&91Fxx?ENy%`S;1p|o7f&f+Y<=Z6HCt{0
z7w*8k>>Fn`v1EhZig%1j=OJ`r8Ig5d*S!G at Lo}1uI7bOB7DJvd(J7|2Ewtfqz;KLs
z`QWD{yQL=%xKOUIVm7d3ohijsI+3^?1JH>jW7hP>K*ZQN!ZISw53pdZk`LrMX*ro7
zHz?Mqi}b<ffVmiBT5GoD;WUJxD?7K{2fpP~^(Xus1(RJBY;a`FSQ?Nad&Y0BJF)cI
z_+9B^Q)EL}^12i^<hRRdiJIlxNz3m68!8SI3NQ_<qpOC2sW%Tiji349(8cNTv2#TD
zbb4`R7I}PAm2U4g%5JNoHjD<AG_}EZ{R{yu-!3digvC4{FV6&Hxj<BdELbslUQdWt
zK*gKXjkmuxT7e%Z?UWpFsEB9ev?Xpor#<B33l7-Rl|Mds8IH*}D0M7{-Md2uihNQR
zmQ1T<EpcePVsRD+B!e%49r__wt+|S6rBP?Hy||^m=CSoa-}c1J*ezwqN&LfpU7XGn
zGMFqlNXYtR;tuQgfL0w#2F$K_pDP1M1MR|+09%E&)$olHCd860a*zd?)ioPT2EXb~
zZpzI5hd3;~SksrjGhdI<t(T$VGwDTp9}_dsM@#t8l}TdXp=}*Y__z;Jc$v`hFOYl}
zmgJyI8`Ov-ct0V+h~*|0M4%!#0!IQw!d{$BH$g4dNCfP&-kf)5Y^b1i_f0F`B1;RO
zY!foMMT#bpty!xOmTt;@IcWMfVo4FAH&0$~R(QmcCp63gevBf*nXM5PgcH&-$pmcB
zF02L8E_CmOCHWq!{)DB~($cy1{#erJHeyLL_nNS@S`bFk?MD%yB(MVw0T(E1xE|Bu
z5xI7Wg&vW*+Eq>GCcL~rI6{QGg|H0Iu3O_AE_y_a1f*7F&|<lj&8yw5P=9>1n`ReJ
zw7PJ_a$iWnvawt9Nq6PzVY(b-n1Iuq5si7VbNH%Pe6k{w?X9pnmK?1GMLHxG&s$%j
z(*})f$l9EU)rDs^82W8s!E?k|vOUV at fy86-!pOU<adqrRmwfp9NMiR(RLF<pOU9JX
zBKZ?prG^ZGKc#gnISvdiQ`RiDQtV{C(J*k_B&c#^Y*w_LqF^G(f_FrWC9f!7Qad^9
zq1@KY^F2mqY|}oOqcKF|E}fs9d5`pTDX%J$*>&p7V=}$AXKBQ!fhEZqR4v|Bu+lMT
ztx#@AAzpj!!z6k&OsF*xAPwsxW6A2fjTQ~Tclocdfdm@$Ak*P$ayB+1cHNf-maGn~
za|c<P<`jp6A|A9)nr(<@L8Q`!>Jk(MSjZt8Yg{KSM%=k^<5A(GdQ8DhfQZp`Kk_uO
zg=GJu^#+y$4(Ho&@X%xgjEy at tG(z%BxMMSsoedf<akH}z8~_=2W2UGdEtneG*ujri
zcqHy<L74Zsi-8OPd37c3d@G>_mPR7^p{(uB%3u$7%!xwFG_qTm+isjW<YKW2%(4|$
zGk6kT%GpwrmN^U(TJWP2tBz(af;P4xQS))5V)lOH)5Ov!=52i^$WVHFPcB$D!DK_)
zcn217+-)bqoWL#X4j+C=$Vp7cCR)-)5NF!V$Gi<{!nOH%!@+uAYuVgG0z>o0#(%*I
zKhw37FCv*>Ywp|{)fn9<Je(3f<Mjf<0E?lECoN8WXmOi0dorV=JHI$X$vap1`9m4<
z)_YSg@t1d;mJ`;^m``BVy5=K|-0;gN9>?e@!8b5_ztv4LK;BVm3h38(A`LUu at b4cC
z3*$J5vBlEpuLfEa{|9IpLSn{^?F{%e;oN=i0F#g1y1V%`Z7kt8dnQ%IVv)<)lDtWk
z&a&44MDoR=SeeaKWV8^D0I*mVt~PJGOmE9#<+EV64omZv35q*tnIPTyZuW`Z5)f&7
z-0QnZ<Au)qzUx5-0W9t78Nrn9@`m3^6|>cMjrbfb_@#o*NK0+sFpH85hr<%SLUPny
zE|XoV@k7oK<8Ll8?R>UQf{oje5g!dZu{Y;JSgM3SvvA_W*F$cfAp}RVe5D<G(7}wO
z6e)$fZ+uN}v7%n9Vnk}?VW|S2%6PQQi!(p$=S@M~9ErSJ??<%_(ACwm{+}5T?I4zF
z2tNb$lY7fi6UhIL0Gf+Ijq4z<vU*U!B!GoE-C;)X0T){rA4>=yyJ at w83nXkzX3_A8
zHL<%Nj>fWqygWbM5y|ixM_$oHzUW)u&fB58h?8WuMhmOl+nmPNO9K at AHaUbOvk-H-
zE*B{p0Wza?ECHRF&|1}KMT;Vb)I5kuu`n;XMHbOJ?nlSt)6?<s<Nog35(?`jRYx&=
z5R@ieP#6+}Q39>fxM>5Rcrs}hTgJj-f-H;$3}Oild(o;>{w1C^VEN|7>B92OOY%w_
zdFLhp+AEQGeVyJeER(d6*cUDur4n_#KA3t at db_ZcO^xrQ1NkjBvKKI~(CF>L(rs!2
z2-+e!9eV{h?$qTi!_w>wENsEd9?O0z;Wo at c7^!gG3~>69zH_U$O)phkc7Ir6YWyAU
RodMc`0Q`TRs=7z!{{x@?rvLx|

literal 0
HcmV?d00001

-- 
1.9.3

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [U-Boot] [PATCH v2 5/8] colibri_vf: remove spurious new line
  2015-07-08 11:58 [U-Boot] [PATCH v2 0/8] assortment of fixes/enhancements Marcel Ziswiler
                   ` (3 preceding siblings ...)
  2015-07-08 11:58 ` [U-Boot] [PATCH v2 4/8] logos: add Toradex logo Marcel Ziswiler
@ 2015-07-08 11:58 ` Marcel Ziswiler
  2015-07-08 11:58 ` [U-Boot] [PATCH v2 6/8] image-fdt.c: store returned error value Marcel Ziswiler
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 15+ messages in thread
From: Marcel Ziswiler @ 2015-07-08 11:58 UTC (permalink / raw)
  To: u-boot

From: Marcel Ziswiler <marcel.ziswiler@toradex.com>

Remove spurious new line in configuration file.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Tested-by: Marek Vasut <marex@denx.de>
Acked-by: Marek Vasut <marex@denx.de>
---
Changes in v2: none

 include/configs/colibri_vf.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/include/configs/colibri_vf.h b/include/configs/colibri_vf.h
index aff2810..2523f32 100644
--- a/include/configs/colibri_vf.h
+++ b/include/configs/colibri_vf.h
@@ -69,7 +69,6 @@
 				"512k(u-boot-env),"		\
 				"-(ubi)"
 
-
 #define CONFIG_MMC
 #define CONFIG_FSL_ESDHC
 #define CONFIG_SYS_FSL_ESDHC_ADDR	0
-- 
1.9.3

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [U-Boot] [PATCH v2 6/8] image-fdt.c: store returned error value
  2015-07-08 11:58 [U-Boot] [PATCH v2 0/8] assortment of fixes/enhancements Marcel Ziswiler
                   ` (4 preceding siblings ...)
  2015-07-08 11:58 ` [U-Boot] [PATCH v2 5/8] colibri_vf: remove spurious new line Marcel Ziswiler
@ 2015-07-08 11:58 ` Marcel Ziswiler
  2015-07-08 11:58 ` [U-Boot] [PATCH v2 7/8] mtd/nand/ubi: assortment of alignment fixes Marcel Ziswiler
  2015-07-08 11:58 ` [U-Boot] [PATCH v2 8/8] tftp.c: fix CONFIG_TFTP_TSIZE for small files Marcel Ziswiler
  7 siblings, 0 replies; 15+ messages in thread
From: Marcel Ziswiler @ 2015-07-08 11:58 UTC (permalink / raw)
  To: u-boot

From: Max Krummenacher <max.krummenacher@toradex.com>

This fixes the following warning (and the runtime error reporting):
../common/image-fdt.c:491:4: warning: 'fdt_ret' may be used
uninitialized in this function [-Wmaybe-uninitialized]

Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Marek Vasut <marex@denx.de>
Acked-by: Simon Glass <sjg@chromium.org>
---
Changes in v2: run it through checkpatch.pl and replace spaces with tab

 common/image-fdt.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/common/image-fdt.c b/common/image-fdt.c
index 80e3e63..5180a03 100644
--- a/common/image-fdt.c
+++ b/common/image-fdt.c
@@ -492,7 +492,8 @@ int image_setup_libfdt(bootm_headers_t *images, void *blob,
 		}
 	}
 	if (IMAGE_OF_SYSTEM_SETUP) {
-		if (ft_system_setup(blob, gd->bd)) {
+		fdt_ret = ft_system_setup(blob, gd->bd);
+		if (fdt_ret) {
 			printf("ERROR: system-specific fdt fixup failed: %s\n",
 			       fdt_strerror(fdt_ret));
 			goto err;
-- 
1.9.3

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [U-Boot] [PATCH v2 7/8] mtd/nand/ubi: assortment of alignment fixes
  2015-07-08 11:58 [U-Boot] [PATCH v2 0/8] assortment of fixes/enhancements Marcel Ziswiler
                   ` (5 preceding siblings ...)
  2015-07-08 11:58 ` [U-Boot] [PATCH v2 6/8] image-fdt.c: store returned error value Marcel Ziswiler
@ 2015-07-08 11:58 ` Marcel Ziswiler
  2015-07-08 14:10   ` Simon Glass
  2015-07-08 23:25   ` Scott Wood
  2015-07-08 11:58 ` [U-Boot] [PATCH v2 8/8] tftp.c: fix CONFIG_TFTP_TSIZE for small files Marcel Ziswiler
  7 siblings, 2 replies; 15+ messages in thread
From: Marcel Ziswiler @ 2015-07-08 11:58 UTC (permalink / raw)
  To: u-boot

From: Marcel Ziswiler <marcel.ziswiler@toradex.com>

Various U-Boot adoptions/extensions to MTD/NAND/UBI did not take buffer
alignment into account which led to failures of the following form:

ERROR: v7_dcache_inval_range - start address is not aligned - 0x1f7f0108
ERROR: v7_dcache_inval_range - stop address is not aligned - 0x1f7f1108

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
---
Changes in v2: run it through checkpatch.pl and fix long lines

 common/cmd_ubi.c             | 2 +-
 drivers/mtd/nand/nand_util.c | 2 +-
 fs/ubifs/super.c             | 6 ++++--
 fs/ubifs/ubifs.c             | 5 +++--
 lib/gzip.c                   | 2 +-
 5 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/common/cmd_ubi.c b/common/cmd_ubi.c
index cbc10c5..30a1259 100644
--- a/common/cmd_ubi.c
+++ b/common/cmd_ubi.c
@@ -363,7 +363,7 @@ int ubi_volume_read(char *volume, char *buf, size_t size)
 	tbuf_size = vol->usable_leb_size;
 	if (size < tbuf_size)
 		tbuf_size = ALIGN(size, ubi->min_io_size);
-	tbuf = malloc(tbuf_size);
+	tbuf = memalign(ARCH_DMA_MINALIGN, tbuf_size);
 	if (!tbuf) {
 		printf("NO MEM\n");
 		return ENOMEM;
diff --git a/drivers/mtd/nand/nand_util.c b/drivers/mtd/nand/nand_util.c
index ee2c24d..395ba2d 100644
--- a/drivers/mtd/nand/nand_util.c
+++ b/drivers/mtd/nand/nand_util.c
@@ -839,7 +839,7 @@ int nand_torture(nand_info_t *nand, loff_t offset)
 
 	patt_count = ARRAY_SIZE(patterns);
 
-	buf = malloc(nand->erasesize);
+	buf = memalign(ARCH_DMA_MINALIGN, nand->erasesize);
 	if (buf == NULL) {
 		puts("Out of memory for erase block buffer\n");
 		return -ENOMEM;
diff --git a/fs/ubifs/super.c b/fs/ubifs/super.c
index 10f8fff..daa089b 100644
--- a/fs/ubifs/super.c
+++ b/fs/ubifs/super.c
@@ -57,7 +57,8 @@ struct inode *iget_locked(struct super_block *sb, unsigned long ino)
 {
 	struct inode *inode;
 
-	inode = (struct inode *)malloc(sizeof(struct ubifs_inode));
+	inode = (struct inode *)memalign(ARCH_DMA_MINALIGN,
+					 sizeof(struct ubifs_inode));
 	if (inode) {
 		inode->i_ino = ino;
 		inode->i_sb = sb;
@@ -104,7 +105,8 @@ void iput(struct inode *inode)
 	/*
 	 * Allocate and use new inode
 	 */
-	ino = (struct inode *)malloc(sizeof(struct ubifs_inode));
+	ino = (struct inode *)memalign(ARCH_DMA_MINALIGN,
+				       sizeof(struct ubifs_inode));
 	memcpy(ino, inode, sizeof(struct ubifs_inode));
 
 	/*
diff --git a/fs/ubifs/ubifs.c b/fs/ubifs/ubifs.c
index 6dd6174..a0daf3e 100644
--- a/fs/ubifs/ubifs.c
+++ b/fs/ubifs/ubifs.c
@@ -108,7 +108,7 @@ static inline struct crypto_comp *crypto_alloc_comp(const char *alg_name,
 	struct crypto_comp *ptr;
 	int i = 0;
 
-	ptr = malloc(sizeof(struct crypto_comp));
+	ptr = memalign(ARCH_DMA_MINALIGN, sizeof(struct crypto_comp));
 	while (i < UBIFS_COMPR_TYPES_CNT) {
 		comp = ubifs_compressors[i];
 		if (!comp) {
@@ -723,7 +723,8 @@ static int do_readpage(struct ubifs_info *c, struct inode *inode,
 				 * destination area to a multiple of
 				 * UBIFS_BLOCK_SIZE.
 				 */
-				buff = malloc(UBIFS_BLOCK_SIZE);
+				buff = memalign(ARCH_DMA_MINALIGN,
+						UBIFS_BLOCK_SIZE);
 				if (!buff) {
 					printf("%s: Error, malloc fails!\n",
 					       __func__);
diff --git a/lib/gzip.c b/lib/gzip.c
index ff37d4f..2a74411 100644
--- a/lib/gzip.c
+++ b/lib/gzip.c
@@ -25,7 +25,7 @@ static void *zalloc(void *x, unsigned items, unsigned size)
 	size *= items;
 	size = (size + ZALLOC_ALIGNMENT - 1) & ~(ZALLOC_ALIGNMENT - 1);
 
-	p = malloc (size);
+	p = memalign(ARCH_DMA_MINALIGN, size);
 
 	return (p);
 }
-- 
1.9.3

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [U-Boot] [PATCH v2 8/8] tftp.c: fix CONFIG_TFTP_TSIZE for small files
  2015-07-08 11:58 [U-Boot] [PATCH v2 0/8] assortment of fixes/enhancements Marcel Ziswiler
                   ` (6 preceding siblings ...)
  2015-07-08 11:58 ` [U-Boot] [PATCH v2 7/8] mtd/nand/ubi: assortment of alignment fixes Marcel Ziswiler
@ 2015-07-08 11:58 ` Marcel Ziswiler
  7 siblings, 0 replies; 15+ messages in thread
From: Marcel Ziswiler @ 2015-07-08 11:58 UTC (permalink / raw)
  To: u-boot

From: Max Krummenacher <max.krummenacher@toradex.com>

CONFIG_TFTP_TSIZE should limit a tftp downloads progress to 50 '#'
chars. Make this work also for small files.

If the file size is small, i.e. smaller than 2 tftp block sizes the
number of '#' can get much larger. i.e. with a 1 byte file 65000
characters are printed, with a 512 byte file around 500.

When using CONFIG TFTP BLOCKSIZE together with CONFIG_IP_DEFRAG the
issue is more notable.

Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Marek Vasut <marex@denx.de>
---
Changes in v2: run it through checkpatch.pl and fix missing space in
if clause as suggested by Marek

 net/tftp.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/net/tftp.c b/net/tftp.c
index 3e99e73..89be32a 100644
--- a/net/tftp.c
+++ b/net/tftp.c
@@ -249,6 +249,8 @@ static void show_block_marker(void)
 	if (tftp_tsize) {
 		ulong pos = tftp_cur_block * tftp_block_size +
 			tftp_block_wrap_offset;
+		if (pos > tftp_tsize)
+			pos = tftp_tsize;
 
 		while (tftp_tsize_num_hash < pos * 50 / tftp_tsize) {
 			putc('#');
-- 
1.9.3

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [U-Boot] [PATCH v2 2/8] net: asix: fix operation without eeprom
  2015-07-08 11:58 ` [U-Boot] [PATCH v2 2/8] net: asix: fix operation without eeprom Marcel Ziswiler
@ 2015-07-08 12:46   ` Marek Vasut
  0 siblings, 0 replies; 15+ messages in thread
From: Marek Vasut @ 2015-07-08 12:46 UTC (permalink / raw)
  To: u-boot

On Wednesday, July 08, 2015 at 01:58:47 PM, Marcel Ziswiler wrote:
> From: Marcel Ziswiler <marcel.ziswiler@toradex.com>
> 
> This patch fixes operation of our on-board AX88772B chip without EEPROM
> but with a ethaddr coming from the regular U-Boot environment. This is
> a forward port of some remaining parts initially implemented by
> Antmicro.
> 
> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>

Hi!

> ---
> Changes in v2:
> - run it through checkpatch.pl as suggested by Marek and Joe
> - cleanup comments and use VID/PID defines as suggested by Marek
> - dug out an AX88772 (not B) dongle again and verified operation
> - AX88772 (not B) indeed does not work with B modifications
>   (e.g. VID/PID based differentiation is indeed required)
> - dug out another AX88772B dongle as well and verified operation
> 
>  drivers/usb/eth/asix.c | 32 +++++++++++++++++++++++++++++---
>  1 file changed, 29 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/usb/eth/asix.c b/drivers/usb/eth/asix.c
> index c8697ae..1c2c2d0 100644
> --- a/drivers/usb/eth/asix.c
> +++ b/drivers/usb/eth/asix.c
> @@ -1,6 +1,8 @@
>  /*
>   * Copyright (c) 2011 The Chromium OS Authors.
>   *
> + * Patched for AX88772B by Antmicro Ltd <www.antmicro.com>
> + *
>   * SPDX-License-Identifier:	GPL-2.0+
>   */
> 
> @@ -64,8 +66,11 @@
>  	 AX_MEDIUM_AC | AX_MEDIUM_RE)
> 
>  /* AX88772 & AX88178 RX_CTL values */
> -#define AX_RX_CTL_SO			0x0080
> -#define AX_RX_CTL_AB			0x0008
> +#define AX_RX_CTL_RH2M		0x0200	/* 32-bit aligned RX IP header */
> +#define AX_RX_CTL_RH1M		0x0100	/* Enable RX header format type 1 
*/
> +#define AX_RX_CTL_SO		0x0080
> +#define AX_RX_CTL_AB		0x0008
> +#define AX_RX_HEADER_DEFAULT	(AX_RX_CTL_RH1M | AX_RX_CTL_RH2M)
> 
>  #define AX_DEFAULT_RX_CTL	\
>  	(AX_RX_CTL_SO | AX_RX_CTL_AB)
> @@ -92,6 +97,9 @@
>  #define FLAG_TYPE_AX88772B	(1U << 2)
>  #define FLAG_EEPROM_MAC		(1U << 3) /* initial mac address in 
eeprom */
> 
> +#define ASIX_USB_VENDOR_ID	0x0b95
> +#define AX88772B_USB_PRODUCT_ID	0x772b
> +
>  /* local vars */
>  static int curr_eth_dev; /* index for name of next device detected */
> 
> @@ -426,7 +434,16 @@ static int asix_init(struct eth_device *eth, bd_t *bd)
> 
>  	debug("** %s()\n", __func__);
> 
> -	if (asix_write_rx_ctl(dev, AX_DEFAULT_RX_CTL) < 0)
> +	if ((dev->pusb_dev->descriptor.idVendor == ASIX_USB_VENDOR_ID) &&
> +	    (dev->pusb_dev->descriptor.idProduct == AX88772B_USB_PRODUCT_ID)) {

I'd introduce a variable here, like ...

u32 ctl = AX_DEFAULT_RX_CTL;

if (<test the ID here>)
	ctl |= AX_RX_HEADER_DEFAULT;

asix_write....();

That might be more readable, no ? :)

> +		if (asix_write_rx_ctl(dev, AX_DEFAULT_RX_CTL |
> +					   AX_RX_HEADER_DEFAULT) < 0)
> +			goto out_err;
> +	} else if (asix_write_rx_ctl(dev, AX_DEFAULT_RX_CTL) < 0) {
> +		goto out_err;
> +	}
> +
> +	if (asix_write_hwaddr(eth) < 0)
>  		goto out_err;
> 
>  	do {
> @@ -447,6 +464,10 @@ static int asix_init(struct eth_device *eth, bd_t *bd)
>  		goto out_err;
>  	}
> 
> +	/* Wait some more to avoid timeout on first transfer
> +	   (e.g. EHCI timed out on TD - token=0x8008d80) */

Comment style :)

> +	udelay(25000);

mdelay(25); :)

>  	return 0;
>  out_err:
>  	return -1;
> @@ -533,6 +554,11 @@ static int asix_recv(struct eth_device *eth)
>  			return -1;
>  		}
> 
> +		if ((dev->pusb_dev->descriptor.idVendor == ASIX_USB_VENDOR_ID)
> +		    && (dev->pusb_dev->descriptor.idProduct ==
> +			AX88772B_USB_PRODUCT_ID))
> +			buf_ptr += 2;
> +
>  		/* Notify net stack */
>  		net_process_received_packet(buf_ptr + sizeof(packet_len),
>  					    packet_len);

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [U-Boot] [PATCH v2 7/8] mtd/nand/ubi: assortment of alignment fixes
  2015-07-08 11:58 ` [U-Boot] [PATCH v2 7/8] mtd/nand/ubi: assortment of alignment fixes Marcel Ziswiler
@ 2015-07-08 14:10   ` Simon Glass
  2015-07-08 23:25   ` Scott Wood
  1 sibling, 0 replies; 15+ messages in thread
From: Simon Glass @ 2015-07-08 14:10 UTC (permalink / raw)
  To: u-boot

On 8 July 2015 at 05:58, Marcel Ziswiler <marcel@ziswiler.com> wrote:
>
> From: Marcel Ziswiler <marcel.ziswiler@toradex.com>
>
> Various U-Boot adoptions/extensions to MTD/NAND/UBI did not take buffer
> alignment into account which led to failures of the following form:
>
> ERROR: v7_dcache_inval_range - start address is not aligned - 0x1f7f0108
> ERROR: v7_dcache_inval_range - stop address is not aligned - 0x1f7f1108
>
> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
> ---
> Changes in v2: run it through checkpatch.pl and fix long lines
>
>  common/cmd_ubi.c             | 2 +-
>  drivers/mtd/nand/nand_util.c | 2 +-
>  fs/ubifs/super.c             | 6 ++++--
>  fs/ubifs/ubifs.c             | 5 +++--
>  lib/gzip.c                   | 2 +-
>  5 files changed, 10 insertions(+), 7 deletions(-)

Reviewed-by: Simon Glass <sjg@chromium.org>

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [U-Boot] [PATCH v2 3/8] generic-board: allow showing custom board info
  2015-07-08 11:58 ` [U-Boot] [PATCH v2 3/8] generic-board: allow showing custom board info Marcel Ziswiler
@ 2015-07-08 14:10   ` Simon Glass
  0 siblings, 0 replies; 15+ messages in thread
From: Simon Glass @ 2015-07-08 14:10 UTC (permalink / raw)
  To: u-boot

On 8 July 2015 at 05:58, Marcel Ziswiler <marcel@ziswiler.com> wrote:
> From: Marcel Ziswiler <marcel.ziswiler@toradex.com>
>
> Allow showing custom board info from a checkboard() function being
> implemented if CONFIG_CUSTOM_BOARDINFO is specified.  Previously the
> device tree model was always displayed not taking any
> CONFIG_CUSTOM_BOARDINFO into account.
>
> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
> ---
> Changes in v2: reword commit message as requested by Simon
>
>  common/board_info.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Reviewed-by: Simon Glass <sjg@chromium.org>

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [U-Boot] [PATCH v2 7/8] mtd/nand/ubi: assortment of alignment fixes
  2015-07-08 11:58 ` [U-Boot] [PATCH v2 7/8] mtd/nand/ubi: assortment of alignment fixes Marcel Ziswiler
  2015-07-08 14:10   ` Simon Glass
@ 2015-07-08 23:25   ` Scott Wood
  2015-07-09  7:47     ` Marcel Ziswiler
  1 sibling, 1 reply; 15+ messages in thread
From: Scott Wood @ 2015-07-08 23:25 UTC (permalink / raw)
  To: u-boot

On Wed, 2015-07-08 at 13:58 +0200, Marcel Ziswiler wrote:
> From: Marcel Ziswiler <marcel.ziswiler@toradex.com>
> 
> Various U-Boot adoptions/extensions to MTD/NAND/UBI did not take buffer
> alignment into account which led to failures of the following form:
> 
> ERROR: v7_dcache_inval_range - start address is not aligned - 0x1f7f0108
> ERROR: v7_dcache_inval_range - stop address is not aligned - 0x1f7f1108
> 
> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
> ---
> Changes in v2: run it through checkpatch.pl and fix long lines
> 
>  common/cmd_ubi.c             | 2 +-
>  drivers/mtd/nand/nand_util.c | 2 +-
>  fs/ubifs/super.c             | 6 ++++--
>  fs/ubifs/ubifs.c             | 5 +++--
>  lib/gzip.c                   | 2 +-
>  5 files changed, 10 insertions(+), 7 deletions(-)

As per discussion on v1, this isn't enough to guarantee that the stop address 
will be aligned.  There needs to be a wrapper around memalign() that cache-
aligns the size as well.

-Scott

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [U-Boot] [PATCH v2 7/8] mtd/nand/ubi: assortment of alignment fixes
  2015-07-08 23:25   ` Scott Wood
@ 2015-07-09  7:47     ` Marcel Ziswiler
  2015-07-09 20:32       ` Scott Wood
  0 siblings, 1 reply; 15+ messages in thread
From: Marcel Ziswiler @ 2015-07-09  7:47 UTC (permalink / raw)
  To: u-boot

Hi Scott

On Wed, 2015-07-08 at 18:25 -0500, Scott Wood wrote:
>
> As per discussion on v1, this isn't enough to guarantee that the stop address 
> will be aligned.  There needs to be a wrapper around memalign() that cache-
> aligns the size as well.
> 
> -Scott

Sorry, that isn't quite clear to me yet. You're saying I would need to
handle that in this patch?

Looking through the sources I actually found only one single usage of
memalign() which explicitly takes care of this the way you propose:

drivers/usb/host/xhci-mem.c:	ptr = memalign(cacheline_size, ALIGN(size,
cacheline_size));

I'm just wondering about the 107 other places in U-Boot where memalign()
is already used the way I do in this patch.

Wouldn't there need to be an infrastructure solution done to e.g.
memalign() itself?

Cheers

Marcel

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [U-Boot] [PATCH v2 7/8] mtd/nand/ubi: assortment of alignment fixes
  2015-07-09  7:47     ` Marcel Ziswiler
@ 2015-07-09 20:32       ` Scott Wood
  0 siblings, 0 replies; 15+ messages in thread
From: Scott Wood @ 2015-07-09 20:32 UTC (permalink / raw)
  To: u-boot

On Thu, 2015-07-09 at 09:47 +0200, Marcel Ziswiler wrote:
> Hi Scott
> 
> On Wed, 2015-07-08 at 18:25 -0500, Scott Wood wrote:
> > 
> > As per discussion on v1, this isn't enough to guarantee that the stop 
> > address 
> > will be aligned.  There needs to be a wrapper around memalign() that 
> > cache-
> > aligns the size as well.
> > 
> > -Scott
> 
> Sorry, that isn't quite clear to me yet. You're saying I would need to
> handle that in this patch?
> 
> Looking through the sources I actually found only one single usage of
> memalign() which explicitly takes care of this the way you propose:
> 
> drivers/usb/host/xhci-mem.c:  ptr = memalign(cacheline_size, ALIGN(size,
> cacheline_size));
> 
> I'm just wondering about the 107 other places in U-Boot where memalign()
> is already used the way I do in this patch.

I suppose there are enough existing ones that it won't hurt to add more -- 
it's still an improvement over the current situation -- but it'd be good to 
fix it properly before it gets forgotten.

> Wouldn't there need to be an infrastructure solution done to e.g.
> memalign() itself?

No, just a wrapper:

static inline void *malloc_cache_aligned(size_t size)
{
        return memalign(ARCH_DMA_MINALIGN, ALIGN(size, ARCH_DMA_MINALIGN));
}

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2015-07-09 20:32 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-08 11:58 [U-Boot] [PATCH v2 0/8] assortment of fixes/enhancements Marcel Ziswiler
2015-07-08 11:58 ` [U-Boot] [PATCH v2 1/8] fs/fs.c: read up to EOF when len would read past EOF Marcel Ziswiler
2015-07-08 11:58 ` [U-Boot] [PATCH v2 2/8] net: asix: fix operation without eeprom Marcel Ziswiler
2015-07-08 12:46   ` Marek Vasut
2015-07-08 11:58 ` [U-Boot] [PATCH v2 3/8] generic-board: allow showing custom board info Marcel Ziswiler
2015-07-08 14:10   ` Simon Glass
2015-07-08 11:58 ` [U-Boot] [PATCH v2 4/8] logos: add Toradex logo Marcel Ziswiler
2015-07-08 11:58 ` [U-Boot] [PATCH v2 5/8] colibri_vf: remove spurious new line Marcel Ziswiler
2015-07-08 11:58 ` [U-Boot] [PATCH v2 6/8] image-fdt.c: store returned error value Marcel Ziswiler
2015-07-08 11:58 ` [U-Boot] [PATCH v2 7/8] mtd/nand/ubi: assortment of alignment fixes Marcel Ziswiler
2015-07-08 14:10   ` Simon Glass
2015-07-08 23:25   ` Scott Wood
2015-07-09  7:47     ` Marcel Ziswiler
2015-07-09 20:32       ` Scott Wood
2015-07-08 11:58 ` [U-Boot] [PATCH v2 8/8] tftp.c: fix CONFIG_TFTP_TSIZE for small files Marcel Ziswiler

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox