Re: [V7 01/45] drm: Add helper for conversion from signed-magnitude

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

 





Le 24/02/2025 à 19:50, Alex Hung a écrit :


On 2/24/25 09:07, Louis Chauvet wrote:


Le 20/12/2024 à 05:33, Alex Hung a écrit :
From: Harry Wentland <harry.wentland@xxxxxxx>

CTM values are defined as signed-magnitude values. Add
a helper that converts from CTM signed-magnitude fixed
point value to the twos-complement value used by
drm_fixed.

Signed-off-by: Harry Wentland <harry.wentland@xxxxxxx>

Reviewed-by: Louis Chauvet <louis.chauvet@xxxxxxxxxxx>

Hi Louis,

Thanks for reviewing.

The replies to other patches (2, 3, 5, 6, 7, 9, 10) seem to be empty (I
checked on my inbox and on
https://lore.kernel.org/all/44edbdfb-5e23-4c19-8c80-e7acb8b4930f@xxxxxxx/T/#m2232bab7c543229a057123c5e762bf49c86a4148)

Did you try to send something which didn't go through?

Hi!

Sorry for this, I clearly don't know what happened, they are also empty in my Sent folder...

Sorry for this, I will resend them.
Louis Chauvet


---
   include/drm/drm_fixed.h | 18 ++++++++++++++++++
   1 file changed, 18 insertions(+)

diff --git a/include/drm/drm_fixed.h b/include/drm/drm_fixed.h
index 1922188f00e8..0b44f2f294ce 100644
--- a/include/drm/drm_fixed.h
+++ b/include/drm/drm_fixed.h
@@ -78,6 +78,24 @@ static inline u32 dfixed_div(fixed20_12 A,
fixed20_12 B)
   #define DRM_FIXED_EPSILON    1LL
   #define DRM_FIXED_ALMOST_ONE    (DRM_FIXED_ONE - DRM_FIXED_EPSILON)
+/**
+ * @drm_sm2fixp
+ *
+ * Convert a 1.31.32 signed-magnitude fixed point to 32.32
+ * 2s-complement fixed point
+ *
+ * @return s64 2s-complement fixed point
+ */
+static inline s64 drm_sm2fixp(__u64 a)
+{
+    if ((a & (1LL << 63))) {
+        return -(a & 0x7fffffffffffffffll);
+    } else {
+        return a;
+    }
+
+}
+
   static inline s64 drm_int2fixp(int a)
   {
       return ((s64)a) << DRM_FIXED_POINT;



--
Louis Chauvet, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux