On Mon, May 30, 2016 at 06:05:57PM +0300, Dmitry Fleytman wrote: > > > On 30 May 2016, at 17:47 PM, Michael S. Tsirkin <m...@redhat.com> wrote: > > > > On Mon, May 30, 2016 at 12:14:26PM +0300, Leonid Bloch wrote: > >> From: Dmitry Fleytman <dmitry.fleyt...@ravellosystems.com> > >> > >> Replace legacy cpu_to_le64w()/le64_to_cpup() > >> calls with stq_le_p()/ldq_le_p(). > >> > >> Signed-off-by: Dmitry Fleytman <dmitry.fleyt...@ravellosystems.com> > >> Signed-off-by: Leonid Bloch <leonid.bl...@ravellosystems.com> > > > > Hi Michael, > > > Could you please add a code comment to clarify what's going on a bit more? > > Something to the point that capabilities are guaranteed to > > be dword-aligned only. > > > > Just to clarify, do you want to add these comments to > pci_set/get_quad functions or to the new DSN-generation function?
pci_set/get_quad > > Also, this isn't a dependency of this patchset I think - > > as far as I could say the only user of this is > > pcie: Introduce function for DSN capability creation > > but that merely accesses a capability, and all callers pass in > > an aligned offset. > > Right, this issue appeared after introduction of DSN generation function. Does DSN generation function pass unaligned offsets? It does not look like it does... > All other callers pass aligned offsets so far. > > Thanks, > Dmitry > > > > >> --- > >> include/hw/pci/pci.h | 4 ++-- > >> 1 file changed, 2 insertions(+), 2 deletions(-) > >> > >> diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h > >> index ef6ba51..ee238ad 100644 > >> --- a/include/hw/pci/pci.h > >> +++ b/include/hw/pci/pci.h > >> @@ -468,13 +468,13 @@ pci_get_long(const uint8_t *config) > >> static inline void > >> pci_set_quad(uint8_t *config, uint64_t val) > >> { > >> - cpu_to_le64w((uint64_t *)config, val); > >> + stq_le_p(config, val); > >> } > >> > >> static inline uint64_t > >> pci_get_quad(const uint8_t *config) > >> { > >> - return le64_to_cpup((const uint64_t *)config); > >> + return ldq_le_p(config); > >> } > >> > >> static inline void > >> -- > >> 2.5.5