diff mbox

[2/3] soc: qcom: smd: Use __iowrite32_copy() instead of open-coding it

Message ID 1441071594-15941-3-git-send-email-sboyd@codeaurora.org (mailing list archive)
State New, archived
Headers show

Commit Message

Stephen Boyd Sept. 1, 2015, 1:39 a.m. UTC
We already have a function to do this and it silences some sparse
warnings along the way.

Cc: Bjorn Andersson <bjorn.andersson@sonymobile.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
---
 drivers/soc/qcom/smd.c | 13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)

Comments

Bjorn Andersson Sept. 1, 2015, 4:59 a.m. UTC | #1
On Mon 31 Aug 18:39 PDT 2015, Stephen Boyd wrote:

> We already have a function to do this and it silences some sparse
> warnings along the way.
> 

Didn't know that, thanks. Do you know why there's no equivalent for
transfers in the other direction? Should we hack one up to do the same
simplification in smd_copy_from_fifo()?

Reviewed-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>

Regards,
Bjorn
Stephen Boyd Sept. 1, 2015, 6:03 p.m. UTC | #2
On 08/31, Bjorn Andersson wrote:
> On Mon 31 Aug 18:39 PDT 2015, Stephen Boyd wrote:
> 
> > We already have a function to do this and it silences some sparse
> > warnings along the way.
> > 
> 
> Didn't know that, thanks. Do you know why there's no equivalent for
> transfers in the other direction? Should we hack one up to do the same
> simplification in smd_copy_from_fifo()?

Don't know. We can certainly write one although it would be nice
if we had two users. I'll take a look.
Stephen Boyd Sept. 1, 2015, 8:30 p.m. UTC | #3
On 09/01/2015 11:03 AM, Stephen Boyd wrote:
> On 08/31, Bjorn Andersson wrote:
>> On Mon 31 Aug 18:39 PDT 2015, Stephen Boyd wrote:
>>
>>> We already have a function to do this and it silences some sparse
>>> warnings along the way.
>>>
>> Didn't know that, thanks. Do you know why there's no equivalent for
>> transfers in the other direction? Should we hack one up to do the same
>> simplification in smd_copy_from_fifo()?
> Don't know. We can certainly write one although it would be nice
> if we had two users. I'll take a look.
>

Looks like we can convert smd and bcm47xx_nvram over. Also, we need to
add it or move the readl_relaxed() to a __raw_readl() in
smd_copy_from_fifo() because it's doing byte swapping that we don't want.
diff mbox

Patch

diff --git a/drivers/soc/qcom/smd.c b/drivers/soc/qcom/smd.c
index c16547b85e05..91b7f5668962 100644
--- a/drivers/soc/qcom/smd.c
+++ b/drivers/soc/qcom/smd.c
@@ -371,20 +371,15 @@  static void qcom_smd_channel_set_state(struct qcom_smd_channel *channel,
 /*
  * Copy count bytes of data using 32bit accesses, if that's required.
  */
-static void smd_copy_to_fifo(void __iomem *_dst,
-			     const void *_src,
+static void smd_copy_to_fifo(void __iomem *dst,
+			     const void *src,
 			     size_t count,
 			     bool word_aligned)
 {
-	u32 *dst = (u32 *)_dst;
-	u32 *src = (u32 *)_src;
-
 	if (word_aligned) {
-		count /= sizeof(u32);
-		while (count--)
-			writel_relaxed(*src++, dst++);
+		__iowrite32_copy(dst, src, count / sizeof(u32));
 	} else {
-		memcpy_toio(_dst, _src, count);
+		memcpy_toio(dst, src, count);
 	}
 }