12504ba9fSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */ 20c0d06caSMauro Carvalho Chehab /* 30c0d06caSMauro Carvalho Chehab * 40c0d06caSMauro Carvalho Chehab * Copyright (C) 2005 Mike Isely <isely@pobox.com> 50c0d06caSMauro Carvalho Chehab */ 60c0d06caSMauro Carvalho Chehab #ifndef __PVRUSB2_UTIL_H 70c0d06caSMauro Carvalho Chehab #define __PVRUSB2_UTIL_H 80c0d06caSMauro Carvalho Chehab 90c0d06caSMauro Carvalho Chehab #define PVR2_DECOMPOSE_LE(t,i,d) \ 100c0d06caSMauro Carvalho Chehab do { \ 110c0d06caSMauro Carvalho Chehab (t)[i] = (d) & 0xff;\ 120c0d06caSMauro Carvalho Chehab (t)[i+1] = ((d) >> 8) & 0xff;\ 130c0d06caSMauro Carvalho Chehab (t)[i+2] = ((d) >> 16) & 0xff;\ 140c0d06caSMauro Carvalho Chehab (t)[i+3] = ((d) >> 24) & 0xff;\ 150c0d06caSMauro Carvalho Chehab } while(0) 160c0d06caSMauro Carvalho Chehab 170c0d06caSMauro Carvalho Chehab #define PVR2_DECOMPOSE_BE(t,i,d) \ 180c0d06caSMauro Carvalho Chehab do { \ 190c0d06caSMauro Carvalho Chehab (t)[i+3] = (d) & 0xff;\ 200c0d06caSMauro Carvalho Chehab (t)[i+2] = ((d) >> 8) & 0xff;\ 210c0d06caSMauro Carvalho Chehab (t)[i+1] = ((d) >> 16) & 0xff;\ 220c0d06caSMauro Carvalho Chehab (t)[i] = ((d) >> 24) & 0xff;\ 230c0d06caSMauro Carvalho Chehab } while(0) 240c0d06caSMauro Carvalho Chehab 250c0d06caSMauro Carvalho Chehab #define PVR2_COMPOSE_LE(t,i) \ 260c0d06caSMauro Carvalho Chehab ((((u32)((t)[i+3])) << 24) | \ 270c0d06caSMauro Carvalho Chehab (((u32)((t)[i+2])) << 16) | \ 280c0d06caSMauro Carvalho Chehab (((u32)((t)[i+1])) << 8) | \ 290c0d06caSMauro Carvalho Chehab ((u32)((t)[i]))) 300c0d06caSMauro Carvalho Chehab 310c0d06caSMauro Carvalho Chehab #define PVR2_COMPOSE_BE(t,i) \ 320c0d06caSMauro Carvalho Chehab ((((u32)((t)[i])) << 24) | \ 330c0d06caSMauro Carvalho Chehab (((u32)((t)[i+1])) << 16) | \ 340c0d06caSMauro Carvalho Chehab (((u32)((t)[i+2])) << 8) | \ 350c0d06caSMauro Carvalho Chehab ((u32)((t)[i+3]))) 360c0d06caSMauro Carvalho Chehab 370c0d06caSMauro Carvalho Chehab 380c0d06caSMauro Carvalho Chehab #endif /* __PVRUSB2_UTIL_H */ 39