On 10/19/2016 06:40 AM, Vignesh R wrote: > Hi, > > On Tuesday 18 October 2016 05:15 PM, Marek Vasut wrote: >> On 10/18/2016 10:23 AM, Vignesh R wrote: >>> >>> >>> On Thursday 06 October 2016 04:49 PM, Vignesh R wrote: >>>> If the write transaction size(write_bytes) is not a multiple of word >>>> length, then issue word length writes till the we reach the dangling >>>> bytes. On the final write, issue byte by byte write to complete the >>>> transaction. This marginally improves write throughput when performing >>>> random sized writes to the flash. >>>> >>>> Signed-off-by: Vignesh R <vigne...@ti.com> >>>> --- >>> >>> Gentle ping... Any comments? >>> >>>> >>>> Tested on K2G GP EVM. >>>> >>>> drivers/spi/cadence_qspi_apb.c | 10 ++++++++-- >>>> 1 file changed, 8 insertions(+), 2 deletions(-) >>>> >>>> diff --git a/drivers/spi/cadence_qspi_apb.c >>>> b/drivers/spi/cadence_qspi_apb.c >>>> index e285d3c1e761..4b891f227243 100644 >>>> --- a/drivers/spi/cadence_qspi_apb.c >>>> +++ b/drivers/spi/cadence_qspi_apb.c >>>> @@ -752,10 +752,16 @@ int cadence_qspi_apb_indirect_write_execute(struct >>>> cadence_spi_platdata *plat, >>>> while (remaining > 0) { >>>> write_bytes = remaining > page_size ? page_size : remaining; >>>> /* Handle non-4-byte aligned access to avoid data abort. */ >>>> - if (((uintptr_t)txbuf % 4) || (write_bytes % 4)) >>>> + if ((uintptr_t)txbuf % 4) { >>>> writesb(plat->ahbbase, txbuf, write_bytes); >>>> - else >>>> + } else { >>>> writesl(plat->ahbbase, txbuf, write_bytes >> 2); >>>> + if (write_bytes % 4) { >>>> + writesb(plat->ahbbase, >>>> + txbuf + rounddown(write_bytes, 4), >>>> + write_bytes % 4); >>>> + } >> >> You can probably pull this block from the else branch. > > Yeah, I guess writesb() can handle zero byte write request I believe.
Hmmmm, good point, in which case this is OK as-is. > With above change, can I have your Acked-by/Reviewed-by? Reviewed-by: Marek Vasut <ma...@denx.de> -- Best regards, Marek Vasut _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot