soc: qcom: smem: Ensure ordering of the allocated entry

The remote cpus might not use locking when looking for smem entries, so
it's important that the header is fully prepared before we mark it as
allocated.

Also, we can drop the wmb() right before we unlock the hwspinlock as
this contains a memory barrier.

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
Merge branch 'drivers/qcom-smem'
soc: qcom: Add device tree binding for SMD

Add device tree binding documentation for the Qualcomm Shared Memory
Device.

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
soc: qcom: Add Shared Memory Driver

This adds the Qualcomm Shared Memory Driver (SMD) providing
communication channels to remote processors, ontop of SMEM.

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
soc: qcom: smd: Expose functions needed to reset an edge

When a remote processor goes down the remoteproc driver needs a way to
tell the smd driver that the edge fell (as there is no explicit
indication of this in smd). So expose a function that can be called on
an edge pointer to close all open channels on that edge.

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
Merge branch 'drivers/qcom-smem'
Merge branch 'drivers/qcom-smd'
soc: qcom: Stub IPCRTR client driver

The IPCRTR channel needs to come up for the pronto block to be happy and
continue communication, so this driver does just that (and dumps
incoming data in the log).

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>