lkml.org 
[lkml]   [2014]   [Sep]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] x86_64: Add memcpy32_toio to write to PCI MMIO
On Tue, Sep 09, 2014 at 10:01:18AM +0200, Clemens Ladisch wrote:
> Subhransu S. Prusty wrote:
> > This is needed because the hardware
>
> Which hardware? Every x86-64 CPU ever built by AMD, Intel, and VIA?
Baytrail and few other SoCs
>
> > does not support 64-bit moveq insructions while writing to PCI MMIO.
>
> > +#ifndef CONFIG_X86_64
> > +#define MEMCPY_TOIO memcpy_toio
> > +#else
> > +#define MEMCPY_TOIO memcpy32_toio
> > +#endif
>
> This does not change any code that uses memcpy_toio().
So the devices cant do 64bit memcpy_toio so we are forced to use 32bit
copies only. This given us such an option
>
> > + for (i = 0; i < count/sizeof(u32); i++)
> > + writel(*src_32++, dst_32++);
>
> This breaks when count is not a multiple of four.
Ah yes, we can fix that

--
~Vinod



\
 
 \ /
  Last update: 2014-09-16 18:41    [W:0.080 / U:0.020 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site