Hi!

I'd just like to publicly thank you for all your hard work on improving the
DRM2 support. This is something that's been sorely lacking lately.

So, thank you!


-adrian



On 25 August 2013 05:27, Jean-Sebastien Pedron <dumbb...@freebsd.org> wrote:

> Author: dumbbell
> Date: Sun Aug 25 12:27:15 2013
> New Revision: 254853
> URL: http://svnweb.freebsd.org/changeset/base/254853
>
> Log:
>   drm: Import drm_fixed.h from Linux 3.8
>
> Added:
>   head/sys/dev/drm2/drm_fixed.h   (contents, props changed)
>
> Added: head/sys/dev/drm2/drm_fixed.h
>
> ==============================================================================
> --- /dev/null   00:00:00 1970   (empty, because file is newly added)
> +++ head/sys/dev/drm2/drm_fixed.h       Sun Aug 25 12:27:15 2013
>  (r254853)
> @@ -0,0 +1,72 @@
> +/*
> + * Copyright 2009 Red Hat Inc.
> + *
> + * Permission is hereby granted, free of charge, to any person obtaining a
> + * copy of this software and associated documentation files (the
> "Software"),
> + * to deal in the Software without restriction, including without
> limitation
> + * the rights to use, copy, modify, merge, publish, distribute,
> sublicense,
> + * and/or sell copies of the Software, and to permit persons to whom the
> + * Software is furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice shall be
> included in
> + * all copies or substantial portions of the Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT
> SHALL
> + * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES
> OR
> + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
> + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
> + * OTHER DEALINGS IN THE SOFTWARE.
> + *
> + * Authors: Dave Airlie
> + */
> +
> +#include <sys/cdefs.h>
> +__FBSDID("$FreeBSD$");
> +
> +#ifndef DRM_FIXED_H
> +#define DRM_FIXED_H
> +
> +typedef union dfixed {
> +       u32 full;
> +} fixed20_12;
> +
> +
> +#define dfixed_const(A) (u32)(((A) << 12))/*  + ((B + 0.000122)*4096)) */
> +#define dfixed_const_half(A) (u32)(((A) << 12) + 2048)
> +#define dfixed_const_666(A) (u32)(((A) << 12) + 2731)
> +#define dfixed_const_8(A) (u32)(((A) << 12) + 3277)
> +#define dfixed_mul(A, B) ((u64)((u64)(A).full * (B).full + 2048) >> 12)
> +#define dfixed_init(A) { .full = dfixed_const((A)) }
> +#define dfixed_init_half(A) { .full = dfixed_const_half((A)) }
> +#define dfixed_trunc(A) ((A).full >> 12)
> +#define dfixed_frac(A) ((A).full & ((1 << 12) - 1))
> +
> +static inline u32 dfixed_floor(fixed20_12 A)
> +{
> +       u32 non_frac = dfixed_trunc(A);
> +
> +       return dfixed_const(non_frac);
> +}
> +
> +static inline u32 dfixed_ceil(fixed20_12 A)
> +{
> +       u32 non_frac = dfixed_trunc(A);
> +
> +       if (A.full > dfixed_const(non_frac))
> +               return dfixed_const(non_frac + 1);
> +       else
> +               return dfixed_const(non_frac);
> +}
> +
> +static inline u32 dfixed_div(fixed20_12 A, fixed20_12 B)
> +{
> +       u64 tmp = ((u64)A.full << 13);
> +
> +       do_div(tmp, B.full);
> +       tmp += 1;
> +       tmp /= 2;
> +       return lower_32_bits(tmp);
> +}
> +#endif
>
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"

Reply via email to