atomic64 on 32-bit vs 64-bit (was: Re: Add virtio gpu driver.)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jun 26, 2015 at 10:52 PM, Linux Kernel Mailing List
<linux-kernel@xxxxxxxxxxxxxxx> wrote:
> Gitweb:     http://git.kernel.org/linus/;a=commit;h=dc5698e80cf724770283e10414054662bdf6ccfa
> Commit:     dc5698e80cf724770283e10414054662bdf6ccfa
> Parent:     16e3247da7f71f8c31f4330f739f6192a00c8b51
> Refname:    refs/heads/master
> Author:     Dave Airlie <airlied@xxxxxxxxx>
> AuthorDate: Mon Sep 9 10:02:56 2013 +1000
> Committer:  Gerd Hoffmann <kraxel@xxxxxxxxxx>
> CommitDate: Wed Jun 3 14:17:38 2015 +0200
>
>     Add virtio gpu driver.
>
>     This patch adds a kms driver for the virtio gpu.  The xorg modesetting
>     driver can handle the device just fine, the framebuffer for fbcon is
>     there too.
>
>     Qemu patches for the host side are under review currently.
>
>     The pci version of the device comes in two variants: with and without
>     vga compatibility.  The former has a extra memory bar for the vga
>     framebuffer, the later is a pure virtio device.  The only concern for
>     this driver is that in the virtio-vga case we have to kick out the
>     firmware framebuffer.
>
>     Initial revision has only 2d support, 3d (virgl) support requires
>     some more work on the qemu side and will be added later.
>
>     Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx>
>     Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
>     Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>

> --- /dev/null
> +++ b/drivers/gpu/drm/virtio/virtgpu_debugfs.c

> +static int
> +virtio_gpu_debugfs_irq_info(struct seq_file *m, void *data)
> +{
> +       struct drm_info_node *node = (struct drm_info_node *) m->private;
> +       struct virtio_gpu_device *vgdev = node->minor->dev->dev_private;
> +
> +       seq_printf(m, "fence %ld %lld\n",
> +                  atomic64_read(&vgdev->fence_drv.last_seq),
> +                  vgdev->fence_drv.sync_seq);

On m68k (32-bit):

drivers/gpu/drm/virtio/virtgpu_debugfs.c: In function
‘virtio_gpu_debugfs_irq_info’:
drivers/gpu/drm/virtio/virtgpu_debugfs.c:39: warning: format ‘%ld’
expects type ‘long int’, but argument 3 has type ‘long long int’

> --- /dev/null
> +++ b/drivers/gpu/drm/virtio/virtgpu_fence.c

> +static bool virtio_signaled(struct fence *f)
> +{
> +       struct virtio_gpu_fence *fence = to_virtio_fence(f);
> +
> +       if (atomic64_read(&fence->drv->last_seq) >= fence->seq)
> +               return true;

drivers/gpu/drm/virtio/virtgpu_fence.c: In function ‘virtio_timeline_value_str’:
drivers/gpu/drm/virtio/virtgpu_fence.c:64: warning: format ‘%lu’
expects type ‘long unsigned int’, but argument 4 has type ‘long long
int’

interestingly, this was reported almost one year ago:
https://lists.01.org/pipermail/kbuild-all/2014-September/006409.html

Instead of sprinkling casts, is there any good reason why atomic64_read()
and atomic64_t aren't "long long" everywhere, cfr. u64?

Thanks!

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-arch" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux